diff options
author | Joey Hess <joey@kitenet.net> | 2010-08-04 08:24:47 -0400 |
---|---|---|
committer | Joey Hess <joey@kitenet.net> | 2010-08-04 08:25:10 -0400 |
commit | 5d88146861ac237ac89cbed2e90a985b9c3bfdc2 (patch) | |
tree | 9e203f39577dc07fc397f638b5a966efa443739e /IkiWiki.pm | |
parent | c2f2349de4507c8f7bb12926c3c49c917fcf2a06 (diff) | |
download | ikiwiki-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.pm | 15 |
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 ($$;@) { |