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):