X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/52d9f8e9f38f03efd0b1662f3f2d20ce115ed099..f40fec811d49e3ae14f6042ef8c304979a486df2:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 668de7e93..fc4e044d0 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1106,6 +1106,8 @@ sub add_depends ($$) { #{{{ my $page=shift; my $pagespec=shift; + return unless pagespec_valid($pagespec); + if (! exists $depends{$page}) { $depends{$page}=$pagespec; } @@ -1167,7 +1169,7 @@ sub pagespec_merge ($$) { #{{{ } #}}} sub pagespec_translate ($) { #{{{ - # This assumes that $page is in scope in the function + # This assumes that $page and @params are in scope in the function # that evalulates the translated pagespec code. my $spec=shift; @@ -1234,6 +1236,17 @@ sub pagespec_match ($$;@) { #{{{ return $ret; } #}}} +sub pagespec_valid ($) { #{{{ + my $spec=shift; + + # used by generated code + my $page=""; + my @params; + + eval pagespec_translate($spec); + return ! $@; +} #}}} + package IkiWiki::FailReason; use overload ( #{{{