From c4f124d78a4c6e227f2017452821c95c35544860 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Thu, 17 Jul 2008 13:11:47 -0400 Subject: fix pos setting What was really going on is that expanding a smiley modified the string and reset the match process. Force set pos so it continues on from the expanded smiley. --- IkiWiki/Plugin/smiley.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'IkiWiki/Plugin') diff --git a/IkiWiki/Plugin/smiley.pm b/IkiWiki/Plugin/smiley.pm index 96d7f5900..50f268627 100644 --- a/IkiWiki/Plugin/smiley.pm +++ b/IkiWiki/Plugin/smiley.pm @@ -79,11 +79,12 @@ MATCH: while (m{(?:^|(?<=\s|>))(\\?)$smiley_regexp(?:(?=\s|<)|$)}g) { substr($_, $spos, length($smiley))= htmllink($params{page}, $params{destpage}, $smileys{$smiley}, linktext => $smiley); + pos=$epos+1; } # Breaks out at end, otherwise it will scan through again, # replacing de-escaped ones. - last unless defined pos; + #last unless defined pos; } return $_; -- cgit v1.2.3