X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b0361b8efde26fbf4f3207be6c3c8f39eb16a9f3..8315913a252f9a036f139a1d9541ae1693ef33eb:/IkiWiki/Plugin/goto.pm?ds=sidebyside

diff --git a/IkiWiki/Plugin/goto.pm b/IkiWiki/Plugin/goto.pm
index 7cc8cb484..2e2dc04a1 100644
--- a/IkiWiki/Plugin/goto.pm
+++ b/IkiWiki/Plugin/goto.pm
@@ -32,13 +32,19 @@ sub cgi_goto ($;$) {
 		}
 	}
 
+	# It's possible that $page is not a valid page name;
+	# if so attempt to turn it into one.
+	if ($page !~ /$config{wiki_file_regexp}/) {
+		$page=titlepage($page);
+	}
+
 	IkiWiki::loadindex();
 
 	# If the page is internal (like a comment), see if it has a
 	# permalink. Comments do.
 	if (IkiWiki::isinternal($page) &&
 	    defined $pagestate{$page}{meta}{permalink}) {
-		redirect($q, $pagestate{$page}{meta}{permalink});
+	    	IkiWiki::redirect($q, $pagestate{$page}{meta}{permalink});
 	}
 
 	my $link = bestlink("", $page);
@@ -65,7 +71,7 @@ sub cgi ($) {
 	my $do = $cgi->param('do');
 
 	if (defined $do && ($do eq 'goto' || $do eq 'commenter' ||
-	                       $do eq 'recentchanged_link')) {
+	                       $do eq 'recentchanges_link')) {
 		# goto is the preferred name for this; recentchanges_link and
 		# commenter are for compatibility with any saved URLs
 		cgi_goto($cgi);