aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-06-06 02:36:40 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-06-06 02:36:40 -0400
commite40d2a6b2b1bdf677f11cc4a71595acf609d1e75 (patch)
treea6a031cfe88ed26232d0fda73e2844cc41ecc138
parent07b61ec8b6994fac49ba5f0e22397e8fb143bf87 (diff)
downloadikiwiki-e40d2a6b2b1bdf677f11cc4a71595acf609d1e75.tar
ikiwiki-e40d2a6b2b1bdf677f11cc4a71595acf609d1e75.tar.gz
goto: Support being passed a page title that is not a valid page name, to support several cases including mercurial's long user names on the RecentChanges page, and urls with spaces being handled by the 404 plugin.
-rw-r--r--IkiWiki/Plugin/goto.pm6
-rw-r--r--debian/changelog4
-rw-r--r--doc/bugs/goto_with_bad_page_name.mdwn2
3 files changed, 12 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/goto.pm b/IkiWiki/Plugin/goto.pm
index 3f40c5859..2e2dc04a1 100644
--- a/IkiWiki/Plugin/goto.pm
+++ b/IkiWiki/Plugin/goto.pm
@@ -32,6 +32,12 @@ 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
diff --git a/debian/changelog b/debian/changelog
index df4429326..7f8257813 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -14,6 +14,10 @@ ikiwiki (3.15) UNRELEASED; urgency=low
fails for any reason, disable it in the generated file.
Closes: 532001
* pagecount: Fix broken optimisation for * pagespec.
+ * goto: Support being passed a page title that is not a valid page
+ name, to support several cases including mercurial's long user
+ names on the RecentChanges page, and urls with spaces being handled
+ by the 404 plugin.
-- Joey Hess <joeyh@debian.org> Tue, 02 Jun 2009 17:03:41 -0400
diff --git a/doc/bugs/goto_with_bad_page_name.mdwn b/doc/bugs/goto_with_bad_page_name.mdwn
index 722c4e266..bc462c840 100644
--- a/doc/bugs/goto_with_bad_page_name.mdwn
+++ b/doc/bugs/goto_with_bad_page_name.mdwn
@@ -20,4 +20,6 @@ pass it through titlepage if not.
with spaces" to "http://wiki/some_page_with_spaces", if the latter exists.
That seems like a fairly good thing.)
+[[done]]
+
--[[Joey]]