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).", \@_)";
|
$code.="IkiWiki::PageSpec::match_$1(\$page, ".safequote($2).", \@_)";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$code.=' 0';
|
$code.="IkiWiki::FailReason->new(".safequote(qq{unknown function in pagespec "$word"}).")";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -1738,7 +1738,7 @@ sub pagespec_translate ($) {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! length $code) {
|
if (! length $code) {
|
||||||
$code=0;
|
$code="IkiWiki::FailReason->new('empty pagespec')";
|
||||||
}
|
}
|
||||||
|
|
||||||
no warnings;
|
no warnings;
|
||||||
|
|
Loading…
Reference in New Issue