diff options
author | Simon McVittie <smcv@ http://smcv.pseudorandom.co.uk/> | 2009-08-24 23:16:15 +0100 |
---|---|---|
committer | Simon McVittie <smcv@ http://smcv.pseudorandom.co.uk/> | 2009-08-25 00:31:24 +0100 |
commit | e4cd168ebedd95585290c97ff42234344bfed46c (patch) | |
tree | fee0855aee3d2cad47b946119b6e3413bf16f4cf | |
parent | 7227c2debfeef94b35f7d81f42900aa01820caa3 (diff) |
Allow add_depends to take an arrayref
-rw-r--r-- | IkiWiki.pm | 9 | ||||
-rw-r--r-- | IkiWiki/Plugin/calendar.pm | 4 | ||||
-rw-r--r-- | IkiWiki/Plugin/inline.pm | 4 | ||||
-rw-r--r-- | IkiWiki/Plugin/map.pm | 4 |
4 files changed, 12 insertions, 9 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index 21a74adce..35fee1aa7 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -1730,6 +1730,15 @@ sub add_depends ($$) { my $page=shift; my $pagespec=shift; + if (ref $pagespec eq 'ARRAY') { + foreach my $ps (@$pagespec) { + if (pagespec_valid($ps)) { + $depends{$page}{$ps} = 1; + } + } + return; + } + return unless pagespec_valid($pagespec); $depends{$page}{$pagespec} = 1; diff --git a/IkiWiki/Plugin/calendar.pm b/IkiWiki/Plugin/calendar.pm index 5d16dff75..ce0719404 100644 --- a/IkiWiki/Plugin/calendar.pm +++ b/IkiWiki/Plugin/calendar.pm @@ -212,9 +212,7 @@ EOF add_depends($params{page}, $params{pages}); # Explicitly add all currently linked pages as dependencies, so # that if they are removed, the calendar will be sure to be updated. - foreach my $p (@list) { - add_depends($params{page}, $p); - } + add_depends($params{page}, \@list); return $calendar; } diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index a501566b5..b566d960f 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -251,9 +251,7 @@ sub preprocess_inline (@) { # Explicitly add all currently displayed pages as dependencies, so # that if they are removed or otherwise changed, the inline will be # sure to be updated. - foreach my $p ($#list >= $#feedlist ? @list : @feedlist) { - add_depends($params{page}, $p); - } + add_depends($params{page}, $#list >= $#feedlist ? \@list : \@feedlist); if ($feeds && exists $params{feedpages}) { @feedlist=pagespec_match_list(\@feedlist, $params{feedpages}, location => $params{page}); diff --git a/IkiWiki/Plugin/map.pm b/IkiWiki/Plugin/map.pm index 54146dc46..cc977024d 100644 --- a/IkiWiki/Plugin/map.pm +++ b/IkiWiki/Plugin/map.pm @@ -73,9 +73,7 @@ sub preprocess (@) { add_depends($params{page}, $params{pages}); # Explicitly add all currently shown pages, to detect when pages # are removed. - foreach my $item (keys %mapitems) { - add_depends($params{page}, $item); - } + add_depends($params{page}, [keys %mapitems]); # Create the map. my $parent=""; |