summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/brokenlinks.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2009-10-13 15:15:54 -0400
committerJoey Hess <joey@gnu.kitenet.net>2009-10-13 15:15:54 -0400
commitef7bddbc3693d7abf227100a9a9bc21d186dfada (patch)
tree1072bb7d7c29375b9008b3021bc1d2049eeaecca /IkiWiki/Plugin/brokenlinks.pm
parentf6402d22caeecf481826b60791d84cb53210f686 (diff)
parent046ac5fec5534e10b8e34b96014f936bb151d147 (diff)
Merge branch 'dependency-types'
Conflicts: doc/todo/dependency_types.mdwn
Diffstat (limited to 'IkiWiki/Plugin/brokenlinks.pm')
-rw-r--r--IkiWiki/Plugin/brokenlinks.pm14
1 files changed, 5 insertions, 9 deletions
diff --git a/IkiWiki/Plugin/brokenlinks.pm b/IkiWiki/Plugin/brokenlinks.pm
index eb698b0be..8ee734bf9 100644
--- a/IkiWiki/Plugin/brokenlinks.pm
+++ b/IkiWiki/Plugin/brokenlinks.pm
@@ -23,19 +23,15 @@ sub preprocess (@) {
my %params=@_;
$params{pages}="*" unless defined $params{pages};
- # Needs to update whenever a page is added or removed, so
- # register a dependency.
- add_depends($params{page}, $params{pages});
-
my @broken;
foreach my $link (keys %IkiWiki::brokenlinks) {
next if $link =~ /.*\/\Q$config{discussionpage}\E/i && $config{discussion};
- my @pages;
- foreach my $page (@{$IkiWiki::brokenlinks{$link}}) {
- push @pages, $page
- if pagespec_match($page, $params{pages}, location => $params{page});
- }
+ my @pages=pagespec_match_list($params{page}, $params{pages},
+ list => $IkiWiki::brokenlinks{$link},
+ # needs to update when links on a page change
+ deptype => deptype("links")
+ );
next unless @pages;
my $page=$IkiWiki::brokenlinks{$link}->[0];