The object-being sliced in an assignment to a slice is referenced, not

bound.

When a Yield() node is visited, assign to the generator attribute of
the scope, not the visitor.
This commit is contained in:
Jeremy Hylton 2001-09-14 22:45:57 +00:00
parent 9ee78f7d61
commit 652a22437a
2 changed files with 4 additions and 4 deletions

View File

@ -321,7 +321,7 @@ class SymbolVisitor:
self.visit(n, scope, 0)
def visitSlice(self, node, scope, assign=0):
self.visit(node.expr, scope, assign)
self.visit(node.expr, scope, 0)
if node.lower:
self.visit(node.lower, scope, 0)
if node.upper:
@ -353,7 +353,7 @@ class SymbolVisitor:
# a yield statement signals a generator
def visitYield(self, node, scope):
self.generator = 1
scope.generator = 1
self.visit(node.value, scope)
def sort(l):

View File

@ -321,7 +321,7 @@ class SymbolVisitor:
self.visit(n, scope, 0)
def visitSlice(self, node, scope, assign=0):
self.visit(node.expr, scope, assign)
self.visit(node.expr, scope, 0)
if node.lower:
self.visit(node.lower, scope, 0)
if node.upper:
@ -353,7 +353,7 @@ class SymbolVisitor:
# a yield statement signals a generator
def visitYield(self, node, scope):
self.generator = 1
scope.generator = 1
self.visit(node.value, scope)
def sort(l):