summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/Plugin/pagestats.pm11
-rw-r--r--debian/changelog6
2 files changed, 10 insertions, 7 deletions
diff --git a/IkiWiki/Plugin/pagestats.pm b/IkiWiki/Plugin/pagestats.pm
index 874ead7e6..00b919325 100644
--- a/IkiWiki/Plugin/pagestats.pm
+++ b/IkiWiki/Plugin/pagestats.pm
@@ -35,10 +35,13 @@ sub preprocess (@) {
$params{pages}="*" unless defined $params{pages};
my $style = ($params{style} or 'cloud');
- # Needs to update whenever a page is added or removed, so
- # register a dependency.
- add_depends($params{page}, $params{pages});
- add_depends($params{page}, $params{among}) if exists $params{among};
+ # Needs to update whenever a page is added or removed.
+ add_depends($params{page}, $params{pages}, exists => 1);
+ # Also needs to update when any page with links changes,
+ # in case the links point to our displayed pages.
+ # (Amoung limits this further.)
+ add_depends($params{page}, exists $params{among} ? $params{among} : "*",
+ links => 1);
my %counts;
my $max = 0;
diff --git a/debian/changelog b/debian/changelog
index abbd87abc..000203405 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -22,9 +22,9 @@ ikiwiki (3.14159266) UNRELEASED; urgency=low
* inline: Use a presence dependency in quick mode.
* brokenlinks: Use a link dependency.
This makes it much more efficient, only updating when really necessary.
- * orphans: Use a combination of precense and link dependencies.
- This makes it more efficient. It also fixes a longstanding bug,
- where if only a small set of pages were considered by orphans,
+ * orphans, pagestats: Use a combination of precense and link dependencies.
+ This makes them more efficient. It also fixes a longstanding bug,
+ where if only a small set of pages were considered by orphans/pagestats,
changes to links on other pages failed to cause an update.
* Transitive dependencies are now correctly supported.