aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@gnu.kitenet.net>2008-12-26 16:11:13 -0500
committerJoey Hess <joey@gnu.kitenet.net>2008-12-26 16:11:13 -0500
commitc4f3d0554a02eba93d94d4c0914f4afddf85274b (patch)
tree1db225e14c4e05d2522ee122ee2845b69e3e83d5 /IkiWiki.pm
parent733c7592b7f7103cc73dc563e827da2a0bab8674 (diff)
parent7da319efc69089662f9635216bbcc48ca53fe606 (diff)
downloadikiwiki-c4f3d0554a02eba93d94d4c0914f4afddf85274b.tar
ikiwiki-c4f3d0554a02eba93d94d4c0914f4afddf85274b.tar.gz
Merge branch 'master' into next
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r--IkiWiki.pm16
1 files changed, 10 insertions, 6 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm
index f6adb360a..e509a7c2f 100644
--- a/IkiWiki.pm
+++ b/IkiWiki.pm
@@ -1536,15 +1536,19 @@ sub run_hooks ($$) {
my $sub=shift;
if (exists $hooks{$type}) {
- my @deferred;
+ my (@first, @middle, @last);
foreach my $id (keys %{$hooks{$type}}) {
- if ($hooks{$type}{$id}{last}) {
- push @deferred, $id;
- next;
+ if ($hooks{$type}{$id}{first}) {
+ push @first, $id;
+ }
+ elsif ($hooks{$type}{$id}{last}) {
+ push @last, $id;
+ }
+ else {
+ push @middle, $id;
}
- $sub->($hooks{$type}{$id}{call});
}
- foreach my $id (@deferred) {
+ foreach my $id (@first, @middle, @last) {
$sub->($hooks{$type}{$id}{call});
}
}