X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/64946f91982d85bb301cc9241459939c657d0eb9..ef8a74fbc30b7b49b717afc110e46f49a88cd77d:/IkiWiki/Plugin/autoindex.pm

diff --git a/IkiWiki/Plugin/autoindex.pm b/IkiWiki/Plugin/autoindex.pm
index 0dd76259e..11595e217 100644
--- a/IkiWiki/Plugin/autoindex.pm
+++ b/IkiWiki/Plugin/autoindex.pm
@@ -33,18 +33,19 @@ sub genindex ($) {
 sub refresh () {
 	eval q{use File::Find};
 	error($@) if $@;
+	eval q{use Cwd};
+	error($@) if $@;
+	my $origdir=getcwd();
 
 	my (%pages, %dirs);
 	foreach my $dir ($config{srcdir}, @{$config{underlaydirs}}, $config{underlaydir}) {
-		require File::Spec;
-		$dir=File::Spec->canonpath($dir);
+		chdir($dir) || next;
 
 		find({
 			no_chdir => 1,
 			wanted => sub {
-				my $file=File::Spec->canonpath(decode_utf8($_));
-				return if $file eq $dir;
-				$file=~s/^\Q$dir\E\/?//;
+				my $file=decode_utf8($_);
+				$file=~s/^\.\/?//;
 				return unless length $file;
 				if (IkiWiki::file_pruned($file)) {
 					$File::Find::prune=1;
@@ -61,7 +62,9 @@ sub refresh () {
 					}
 				}
 			}
-		}, $dir);
+		}, '.');
+
+		chdir($origdir) || die "chdir $origdir: $!";
 	}
 	
 	my %deleted;
@@ -114,8 +117,8 @@ sub refresh () {
 		}
 		if ($config{rcs}) {
 			IkiWiki::rcs_commit_staged(
-				gettext("automatic index generation"),
-				undef, undef);
+				message => gettext("automatic index generation"),
+			);
 			IkiWiki::enable_commit_hook();
 		}
 	}