conditional: use pagespec_match_list
parent
769b78df07
commit
f9f7a6e9f3
|
@ -31,8 +31,7 @@ sub preprocess_if (@) {
|
|||
my $result=0;
|
||||
if (! IkiWiki::yesno($params{all}) ||
|
||||
# An optimisation to avoid needless looping over every page
|
||||
# and adding of dependencies for simple uses of some of the
|
||||
# tests.
|
||||
# for simple uses of some of the tests.
|
||||
$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},
|
||||
|
@ -41,17 +40,12 @@ sub preprocess_if (@) {
|
|||
destpage => $params{destpage});
|
||||
}
|
||||
else {
|
||||
add_depends($params{page}, $params{test});
|
||||
|
||||
foreach my $page (keys %pagesources) {
|
||||
if (pagespec_match($page, $params{test},
|
||||
location => $params{page},
|
||||
sourcepage => $params{page},
|
||||
destpage => $params{destpage})) {
|
||||
$result=1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
$result=pagespec_match_list($params{page}, $params{test},
|
||||
# stop after first match
|
||||
num => 1,
|
||||
sourcepage => $params{page},
|
||||
destpage => $params{destpage},
|
||||
);
|
||||
}
|
||||
|
||||
my $ret;
|
||||
|
|
Loading…
Reference in New Issue