summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/conditional.pm
diff options
context:
space:
mode:
Diffstat (limited to 'IkiWiki/Plugin/conditional.pm')
-rw-r--r--IkiWiki/Plugin/conditional.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/IkiWiki/Plugin/conditional.pm b/IkiWiki/Plugin/conditional.pm
index 7716fce1b..e787424aa 100644
--- a/IkiWiki/Plugin/conditional.pm
+++ b/IkiWiki/Plugin/conditional.pm
@@ -33,8 +33,8 @@ sub preprocess_if (@) { #{{{
# An optimisation to avoid needless looping over every page
# and adding of dependencies for simple uses of some of the
# tests.
- $params{test} =~ /^\s*\!?\s*(enabled|sourcepage|destpage|included)\((.*)\)\s*$/) {
- add_depends($params{page}, "$params{test} and $params{page}");
+ $params{test} =~ /^([\s\!()]*((enabled|sourcepage|destpage|included)\([^)]*\)|(and|or))[\s\!()]*)+$/) {
+ add_depends($params{page}, "($params{test}) and $params{page}");
$result=pagespec_match($params{page}, $params{test},
location => $params{page},
sourcepage => $params{page},