diff options
author | Joey Hess <joey@gnu.kitenet.net> | 2008-12-26 16:11:13 -0500 |
---|---|---|
committer | Joey Hess <joey@gnu.kitenet.net> | 2008-12-26 16:11:13 -0500 |
commit | c4f3d0554a02eba93d94d4c0914f4afddf85274b (patch) | |
tree | 1db225e14c4e05d2522ee122ee2845b69e3e83d5 /IkiWiki.pm | |
parent | 733c7592b7f7103cc73dc563e827da2a0bab8674 (diff) | |
parent | 7da319efc69089662f9635216bbcc48ca53fe606 (diff) | |
download | ikiwiki-c4f3d0554a02eba93d94d4c0914f4afddf85274b.tar ikiwiki-c4f3d0554a02eba93d94d4c0914f4afddf85274b.tar.gz |
Merge branch 'master' into next
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r-- | IkiWiki.pm | 16 |
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}); } } |