X-Git-Url: http://git.tremily.us/?a=blobdiff_plain;f=IkiWiki.pm;h=66ae868095ad792360e6459753e9d5f32f15e9c2;hb=19c1b202a4f94f4d627f030161bac45055ac22ec;hp=6fd11296013eef2004dee6dd939c70230eaaf70c;hpb=c4d4cad3befbbd444d094cbeb0b6ebba3910a025;p=ikiwiki.git diff --git a/IkiWiki.pm b/IkiWiki.pm index 6fd112960..66ae86809 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1769,12 +1769,14 @@ sub template_depends ($$;@) { my $page=shift; my ($filename, $tpage, $untrusted)=template_file($name); + if (! defined $filename) { + error(sprintf(gettext("template %s not found"), $name)) + } + if (defined $page && defined $tpage) { add_depends($page, $tpage); } - - return unless defined $filename; - + my @opts=( filter => sub { my $text_ref = shift; @@ -2401,14 +2403,17 @@ package IkiWiki::PageSpec; sub derel ($$) { my $path=shift; my $from=shift; - if ($path eq '.') { - $path = $from; - } - if ($path =~ m!^\./!) { - $from=~s#/?[^/]+$## if defined $from; - $path=~s#^\./##; - $path="$from/$path" if defined $from && length $from; + if ($path =~ m!^\.(/|$)!) { + if ($1) { + $from=~s#/?[^/]+$## if defined $from; + $path=~s#^\./##; + $path="$from/$path" if defined $from && length $from; + } + else { + $path = $from; + $path = "" unless defined $path; + } } return $path;