add human-readable error when unknown pagespec function is called
It used to replace unknown functions with "0" when translating a pagespec. Instead, replace it with a FailReason object. This way, the pagespec will still evaluate as before (possibly successfully if other terminals exist), but a human-readable error will be shown if the result is displayed. Also, an empty pagespec used to be replaced with "0", to avoid a eval error. Also use a FailReason here.master
parent
afc1f1d63f
commit
b4bbddbf3e
|
@ -1729,7 +1729,7 @@ sub pagespec_translate ($) {
|
|||
$code.="IkiWiki::PageSpec::match_$1(\$page, ".safequote($2).", \@_)";
|
||||
}
|
||||
else {
|
||||
$code.=' 0';
|
||||
$code.="IkiWiki::FailReason->new(".safequote(qq{unknown function in pagespec "$word"}).")";
|
||||
}
|
||||
}
|
||||
else {
|
||||
|
@ -1738,7 +1738,7 @@ sub pagespec_translate ($) {
|
|||
}
|
||||
|
||||
if (! length $code) {
|
||||
$code=0;
|
||||
$code="IkiWiki::FailReason->new('empty pagespec')";
|
||||
}
|
||||
|
||||
no warnings;
|
||||
|
|
Loading…
Reference in New Issue