diff options
author | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-08-25 22:08:03 +0000 |
---|---|---|
committer | joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071> | 2006-08-25 22:08:03 +0000 |
commit | 182c3b0db3aebda8dfb134f4b55a25e3bba9f144 (patch) | |
tree | cee9969ed8241214230ca203546361168afe7ba3 /IkiWiki/Render.pm | |
parent | 6fc3b624f209f71335bed9947eda956e7d118458 (diff) | |
download | ikiwiki-182c3b0db3aebda8dfb134f4b55a25e3bba9f144.tar ikiwiki-182c3b0db3aebda8dfb134f4b55a25e3bba9f144.tar.gz |
use a hash
Diffstat (limited to 'IkiWiki/Render.pm')
-rw-r--r-- | IkiWiki/Render.pm | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/IkiWiki/Render.pm b/IkiWiki/Render.pm index 8e998e8b2..e97f46775 100644 --- a/IkiWiki/Render.pm +++ b/IkiWiki/Render.pm @@ -84,7 +84,7 @@ sub parentlinks ($) { #{{{ return @ret; } #}}} -my @preprocessing; +my %preprocessing; sub preprocess ($$$) { #{{{ my $page=shift; # the page the data comes from my $destpage=shift; # the page the data will appear in (different for inline) @@ -97,7 +97,7 @@ sub preprocess ($$$) { #{{{ if (length $escape) { return "[[$command $params]]"; } - elsif (grep { $_ eq $page } @preprocessing) { + elsif ($preprocessing{$page}) { # Avoid loops of preprocessed pages preprocessing # other pages that preprocess them, etc. return "[[$command would cause preprocessing loop]]"; @@ -129,13 +129,13 @@ sub preprocess ($$$) { #{{{ push @params, $val, ''; } } - push @preprocessing, $page; + $preprocessing{$page}=1; my $ret=$hooks{preprocess}{$command}{call}->( @params, page => $page, destpage => $destpage, ); - pop @preprocessing; + delete $preprocessing{$page}; return $ret; } else { |