]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Small optimization for recursive loops
authorArmin Ronacher <armin.ronacher@active-4.com>
Tue, 3 Jan 2017 00:53:33 +0000 (01:53 +0100)
committerArmin Ronacher <armin.ronacher@active-4.com>
Tue, 3 Jan 2017 22:45:30 +0000 (23:45 +0100)
jinja2/compiler.py

index 673dae64b797d2178c963374dd0a1ba30e755d67..162e73ade54e677e856e40e33803068c841a5769 100644 (file)
@@ -942,7 +942,8 @@ class CodeGenerator(NodeVisitor):
         if node.else_:
             self.writeline('%s = 0' % iteration_indicator)
         self.outdent()
-        self.leave_frame(loop_frame)
+        self.leave_frame(loop_frame, with_python_scope=node.recursive
+                         and not node.else_)
 
         if node.else_:
             self.writeline('if %s:' % iteration_indicator)