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