aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2010-08-04 08:24:47 -0400
committerJoey Hess <joey@kitenet.net>2010-08-04 08:25:10 -0400
commit5d88146861ac237ac89cbed2e90a985b9c3bfdc2 (patch)
tree9e203f39577dc07fc397f638b5a966efa443739e /IkiWiki.pm
parentc2f2349de4507c8f7bb12926c3c49c917fcf2a06 (diff)
downloadikiwiki-5d88146861ac237ac89cbed2e90a985b9c3bfdc2.tar
ikiwiki-5d88146861ac237ac89cbed2e90a985b9c3bfdc2.tar.gz
Fixes a bug that prevented matching deleted pages when using the page() PageSpec.
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r--IkiWiki.pm15
1 files changed, 9 insertions, 6 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index e08d02922..df8abe2c2 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -2439,13 +2439,16 @@ sub match_internal ($$;@) {
sub match_page ($$;@) {
my $page=shift;
my $match=match_glob($page, shift, @_);
- if ($match && ! (exists $IkiWiki::pagesources{$page}
- && defined IkiWiki::pagetype($IkiWiki::pagesources{$page}))) {
- return IkiWiki::FailReason->new("$page is not a page");
- }
- else {
- return $match;
+ if ($match) {
+ my $source=exists $IkiWiki::pagesources{$page} ?
+ $IkiWiki::pagesources{$page} :
+ $IkiWiki::delpagesources{$page};
+ my $type=defined $source ? IkiWiki::pagetype($source) : undef;
+ if (! defined $type) {
+ return IkiWiki::FailReason->new("$page is not a page");
+ }
}
+ return $match;
}
sub match_link ($$;@) {