From 182c3b0db3aebda8dfb134f4b55a25e3bba9f144 Mon Sep 17 00:00:00 2001
From: joey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Date: Fri, 25 Aug 2006 22:08:03 +0000
Subject: [PATCH] use a hash

---
 IkiWiki/Render.pm | 8 ++++----
 1 file 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 {
-- 
2.39.5