Mercurial > genshi > mirror
diff genshi/template/eval.py @ 579:2f7f6b70d5b9 trunk
Fix for augmented assignments to local variables. Thanks to Erik Bray for reporting the problem.
author | cmlenz |
---|---|
date | Tue, 31 Jul 2007 21:40:51 +0000 |
parents | c17342ef9efb |
children | 0dc024715f93 |
line wrap: on
line diff
--- a/genshi/template/eval.py +++ b/genshi/template/eval.py @@ -249,7 +249,8 @@ return { '_lookup_name': cls.lookup_name, '_lookup_attr': cls.lookup_attr, - '_lookup_item': cls.lookup_item + '_lookup_item': cls.lookup_item, + 'UndefinedError': UndefinedError } globals = classmethod(globals) @@ -653,7 +654,8 @@ return node def visitAugAssign(self, node): - if isinstance(node.node, ast.Name): + if isinstance(node.node, ast.Name) \ + and node.node.name not in flatten(self.locals[-1]): name = node.node.name node.node = ast.Subscript(ast.Name('data'), 'OP_APPLY', [ast.Const(name)])