diff -r 23d2d4551cfe MoinMoin/PageEditor.py
--- a/MoinMoin/PageEditor.py	Sat Jan 19 12:41:39 2008 +0100
+++ b/MoinMoin/PageEditor.py	Sun Jan 27 21:21:08 2008 +0100
@@ -12,11 +12,12 @@
 
     @copyright: 2000-2004 by Juergen Hermann <jh@web.de>,
                 2005-2007 by MoinMoin:ThomasWaldmann,
-                2007 by MoinMoin:ReimarBauer
+                2007 by MoinMoin:ReimarBauer,
+                2008 by MoinMoin:RafaelWeber
     @license: GNU GPL, see COPYING for details.
 """
 
-import os, time, codecs, errno
+import os, time, codecs, errno, re
 
 
 from MoinMoin import caching, config, user, wikiutil, error
@@ -777,8 +778,9 @@ Try a different name.""") % (wikiutil.es
             if request.dicts.has_dict(userDictPage):
                 variables.update(request.dicts.dict(userDictPage))
 
-        for name in variables:
-            text = text.replace('@%s@' % name, variables[name])
+        pattern = '|'.join([v for k,v in variables.items()])
+        text = re.sub('(?!\{\{\{)@(?P<name>%s)@(?!\}\}\})' % pattern,
+                '\g<name>', text)
         return text
 
     def normalizeText(self, text, **kw):
