aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-01-20 16:30:59 -0500
committerJoey Hess <joey@gnu.kitenet.net>2009-01-20 16:35:18 -0500
commitb4bbddbf3e3d8f188f161098166fb4a27207ad2b (patch)
tree736e7252ce59c726439f669ed4bc49733b1069f9 /IkiWiki.pm
parentafc1f1d63f76bfcfea51ed4c6107d68566c3876e (diff)
downloadikiwiki-b4bbddbf3e3d8f188f161098166fb4a27207ad2b.tar
ikiwiki-b4bbddbf3e3d8f188f161098166fb4a27207ad2b.tar.gz
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.
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r--IkiWiki.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index ca483a111..4d8415ffd 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -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;