# $depends_simple{$page}{lc $i} |= $i{$i};
# }
#}
- print STDERR "warning: use of add_depends; influences not tracked\n";
+ print STDERR "warning: use of add_depends by ".caller()."; influences not tracked\n";
$depends{$page}{$pagespec} |= $deptype;
return 1;
if $@ || ! defined $sub;
my @candidates;
- if (exists $params{limit}) {
- @candidates=grep { $params{limit}->($_) } keys %pagesources;
+ if (exists $params{filter}) {
+ @candidates=grep { ! $params{filter}->($_) } keys %pagesources;
}
else {
@candidates=keys %pagesources;
@candidates=reverse(@candidates) if $params{reverse};
+ $depends{$page}{$pagespec} |= ($params{deptype} || $DEPEND_CONTENT);
+
+ # clear params, remainder is passed to pagespec
+ my $num=$params{num};
+ delete @params{qw{num deptype reverse sort filter}};
+
my @matches;
my $firstfail;
my $count=0;
foreach my $p (@candidates) {
- my $r=$sub->($p, location => $page);
+ my $r=$sub->($p, %params, location => $page);
if ($r) {
push @matches, [$p, $r];
- last if defined $params{num} && ++$count == $params{num};
+ last if defined $num && ++$count == $num;
}
elsif (! defined $firstfail) {
$firstfail=$r;
}
}
-
- $depends{$page}{$pagespec} |= ($params{deptype} || $DEPEND_CONTENT);
my @ret;
if (@matches) {