Fixed a bug that caused syntax errors when defining macros or using the
`{% call %}` tag inside loops.
This fixes #323.
--HG--
branch : trunk
diff --git a/jinja2/compiler.py b/jinja2/compiler.py
index 0e74faf..8d605c7 100644
--- a/jinja2/compiler.py
+++ b/jinja2/compiler.py
@@ -551,7 +551,10 @@
if name not in aliases:
to_delete.add('l_' + name)
if to_delete:
- self.writeline('del ' + ', '.join(to_delete))
+ # we cannot use the del statement here because enclosed
+ # scopes can trigger a SyntaxError:
+ # a = 42; b = lambda: a; del a
+ self.writeline(' = '.join(to_delete) + ' = missing')
def function_scoping(self, node, frame, children=None,
find_special=True):