foreach my $p (keys %pagesources) {
my $r=$sub->($p, location => $page);
my $i=$r->influences;
+ my $static=$r->influences_static;
foreach my $k (keys %$i) {
+ next unless $r || $static || $k eq $page;
$depends_simple{$page}{lc $k} |= $i->{$k};
}
- last if $r->influences_static;
+ last if $static;
}
$depends{$page}{$pagespec} |= $deptype;
my $r=$sub->($p, %params, location => $page);
error(sprintf(gettext("cannot match pages: %s"), $r))
if $r->isa("IkiWiki::ErrorReason");
+ unless ($r) {
+ $r->remove_influence($p);
+ }
$accum |= $r;
if ($r) {
push @matches, $p;
}
}
+sub remove_influence {
+ my $this=shift;
+ my $torm=shift;
+
+ delete $this->[1]{$torm};
+}
+
package IkiWiki::ErrorReason;
our @ISA = 'IkiWiki::FailReason';
Hmm, commit f2b3d1341447cbf29189ab490daae418fbe5d02d seems
thuroughly wrong. So, what about influence info for other matches
like `!author(foo)` etc? Currently, none is returned, but it should
-be a content influence. (Backlink influence data is ok.)
+be a content influence. (Backlink influence data seems ok.)
+
+----
+
+[[done]] again!