X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/c401b6958af7e12c1c2c46f870691bfb0a998fd3..7d1cc3a0209980bdbec59ffd0b6171898a1cc066:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index e08d02922..6fd112960 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -2401,6 +2401,9 @@ package IkiWiki::PageSpec; sub derel ($$) { my $path=shift; my $from=shift; + if ($path eq '.') { + $path = $from; + } if ($path =~ m!^\./!) { $from=~s#/?[^/]+$## if defined $from; @@ -2439,13 +2442,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 ($$;@) {