]> git.ipfire.org Git - thirdparty/jinja.git/commitdiff
Write loads in order they were defined
authorArmin Ronacher <armin.ronacher@active-4.com>
Fri, 6 Jan 2017 15:40:41 +0000 (16:40 +0100)
committerArmin Ronacher <armin.ronacher@active-4.com>
Fri, 6 Jan 2017 15:40:41 +0000 (16:40 +0100)
jinja2/compiler.py
jinja2/idtracking.py

index 65ac13e5ba21a385608b0b8a632322cea844b3d8..5cb70b8d176d228c7d2d20227d9c56c68edef159 100644 (file)
@@ -1264,7 +1264,7 @@ class CodeGenerator(NodeVisitor):
 
     def visit_Name(self, node, frame):
         if node.ctx == 'store' and frame.toplevel:
-            if self._assign_stack and node.name[:1] != '_':
+            if self._assign_stack:
                 self._assign_stack[-1].add(node.name)
         ref = frame.symbols.ref(node.name)
 
index f99c568dc69262b16457502ca45cc9fffbb98526..8824dfef373eb17c7e7041e9dc1fa350403c187d 100644 (file)
@@ -1,3 +1,4 @@
+from collections import OrderedDict
 from jinja2.visitor import NodeVisitor
 from jinja2._compat import iteritems
 
@@ -31,7 +32,7 @@ class Symbols(object):
             self.level = parent.level + 1
         self.parent = parent
         self.refs = {}
-        self.loads = {}
+        self.loads = OrderedDict()
         self.stores = set()
 
     def analyze_node(self, node, **kwargs):