X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/4292802ee5f93f7ec7644c5d0a30f7ffeb95e566..db029393f61b358576d21536554ddabcffaef90c:/IkiWiki/Plugin/rename.pm

diff --git a/IkiWiki/Plugin/rename.pm b/IkiWiki/Plugin/rename.pm
index 977c09e67..e871b815d 100644
--- a/IkiWiki/Plugin/rename.pm
+++ b/IkiWiki/Plugin/rename.pm
@@ -108,6 +108,7 @@ sub check_canrename ($$$$$$) {
 			}
 		}
 	});
+	return defined $canrename ? $canrename : 1;
 }
 
 sub rename_form ($$$) {
@@ -125,7 +126,7 @@ sub rename_form ($$$) {
 		method => 'POST',
 		javascript => 0,
 		params => $q,
-		action => $config{cgiurl},
+		action => IkiWiki::cgiurl(),
 		stylesheet => 1,
 		fields => [qw{do page new_name attachment}],
 	);
@@ -349,9 +350,8 @@ sub sessioncgi ($$) {
 				$pagesources{$rename->{src}}=$rename->{destfile};
 			}
 			IkiWiki::rcs_commit_staged(
-				sprintf(gettext("rename %s to %s"), $srcfile, $destfile),
-				$session->param("name"),
-				$session->remote_addr(),
+				message => sprintf(gettext("rename %s to %s"), $srcfile, $destfile),
+				session => $session,
 			) if $config{rcs};
 
 			# Then link fixups.
@@ -567,6 +567,7 @@ sub fixlinks ($$$) {
 		}
 		if ($needfix) {
 			my $file=$pagesources{$page};
+			next unless -e $config{srcdir}."/".$file;
 			my $oldcontent=readfile($config{srcdir}."/".$file);
 			my $content=renamepage_hook($page, $rename->{src}, $rename->{dest}, $oldcontent);
 			if ($oldcontent ne $content) {
@@ -574,11 +575,10 @@ sub fixlinks ($$$) {
 				eval { writefile($file, $config{srcdir}, $content) };
 				next if $@;
 				my $conflict=IkiWiki::rcs_commit(
-					$file,
-					sprintf(gettext("update for rename of %s to %s"), $rename->{srcfile}, $rename->{destfile}),
-					$token,
-					$session->param("name"),
-					$session->remote_addr(),
+					file => $file,
+					message => sprintf(gettext("update for rename of %s to %s"), $rename->{srcfile}, $rename->{destfile}),
+					token => $token,
+					session => $session,
 				);
 				push @fixedlinks, $page if ! defined $conflict;
 			}