summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki.pm4
-rw-r--r--debian/changelog6
-rwxr-xr-xt/pagespec_match.t4
3 files changed, 12 insertions, 2 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index 68047b9b9..3802559a5 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -1247,6 +1247,10 @@ sub pagespec_translate ($) { #{{{
}
}
+ if (! length $code) {
+ $code=0;
+ }
+
return eval 'sub { my $page=shift; '.$code.' }';
} #}}}
diff --git a/debian/changelog b/debian/changelog
index b6e477a3c..d851f35f6 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,9 +1,13 @@
-ikiwiki (2.44) UNRELEASED; urgency=low
+ikiwiki (2.44) unstable; urgency=medium
* Bring back the svnrepo setup file option. This is needed for
recentchangediff to work with svn repos.
* Allow libtext-markdown-perl to satisfy dependencies, as a
an alternative to the markdown package.
+ * Correct a bug in pagespec matching, where a empty pagespec matched all
+ pages. This manifested as wikis with no locked pages treating them all as
+ locked. The bug was introduced in version 2.41.
+ * Medium urgency upload due to above fix.
-- Joey Hess <joeyh@debian.org> Thu, 17 Apr 2008 14:33:54 -0400
diff --git a/t/pagespec_match.t b/t/pagespec_match.t
index 038472967..ee255b471 100755
--- a/t/pagespec_match.t
+++ b/t/pagespec_match.t
@@ -1,7 +1,7 @@
#!/usr/bin/perl
use warnings;
use strict;
-use Test::More tests => 52;
+use Test::More tests => 54;
BEGIN { use_ok("IkiWiki"); }
@@ -51,6 +51,8 @@ ok(pagespec_match("examples/softwaresite/bugs/fails_to_frobnicate",
ok(! pagespec_match("foo", "link(./bar)", location => "foo/bar"), "link relative fail");
ok(pagespec_match("bar", "backlink(foo)"), "backlink");
ok(! pagespec_match("quux", "backlink(foo)"), "failed backlink");
+ok(! pagespec_match("bar", ""), "empty pagespec should match nothing");
+ok(! pagespec_match("bar", " "), "blank pagespec should match nothing");
$IkiWiki::pagectime{foo}=1154532692; # Wed Aug 2 11:26 EDT 2006
$IkiWiki::pagectime{bar}=1154532695; # after