revert comprehensions to their previous (var-leaking) behaviour
authorStefan Behnel <scoder@users.berlios.de>
Tue, 25 May 2010 06:51:35 +0000 (08:51 +0200)
committerStefan Behnel <scoder@users.berlios.de>
Tue, 25 May 2010 06:51:35 +0000 (08:51 +0200)
Cython/Compiler/ExprNodes.py

index 954fccda8069b87fdf024225f7711f3b7521d68c..d156144764cfe73cc83ce8113d721b0dd6947058 100755 (executable)
@@ -3920,7 +3920,7 @@ class ScopedExprNode(ExprNode):
         pass
 
 
-class ComprehensionNode(ScopedExprNode):
+class ComprehensionNode(ExprNode):    # (ScopedExprNode)
     subexprs = ["target"]
     child_attrs = ["loop", "append"]
 
@@ -3929,16 +3929,18 @@ class ComprehensionNode(ScopedExprNode):
 
     def analyse_declarations(self, env):
         self.append.target = self # this is used in the PyList_Append of the inner loop
-        self.expr_scope = Symtab.GeneratorExpressionScope(env)
-        self.loop.analyse_declarations(self.expr_scope)
+        self.loop.analyse_declarations(env)
+#        self.expr_scope = Symtab.GeneratorExpressionScope(env)
+#        self.loop.analyse_declarations(self.expr_scope)
 
     def analyse_types(self, env):
         self.target.analyse_expressions(env)
         self.type = self.target.type
-
-    def analyse_scoped_expressions(self, env):
         self.loop.analyse_expressions(env)
 
+#    def analyse_scoped_expressions(self, env):
+#        self.loop.analyse_expressions(env)
+
     def may_be_none(self):
         return False