]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki.pm
add test for link(.)
[ikiwiki.git] / IkiWiki.pm
index e08d02922dca78a96f18b633fc4d27e0dda4d3be..6fd11296013eef2004dee6dd939c70230eaaf70c 100644 (file)
@@ -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 ($$;@) {