don't rely on $@

A malformed pagespec will cause $@ to be set when translated, but if
it is used a second time, the memoization will defeat that check. Better to
check for the result not being defined.
master
Joey Hess 2008-12-17 18:56:32 -05:00
parent 140c0bacba
commit 9f141841ef
1 changed files with 2 additions and 1 deletions

View File

@ -1797,7 +1797,8 @@ sub pagespec_match ($$;@) {
}
my $sub=pagespec_translate($spec);
return IkiWiki::FailReason->new("syntax error in pagespec \"$spec\"") if $@;
return IkiWiki::FailReason->new("syntax error in pagespec \"$spec\"")
if $@ || ! defined $sub;
return $sub->($page, @params);
}