summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorexarkun <exarkun>2008-07-14 12:27:04 +0000
committerexarkun <exarkun>2008-07-14 12:27:04 +0000
commit1cd653d38b521d1e8ea10410830cf29683a8c09f (patch)
treeb4a2c72b6251112792ffe6cd921ef3824810f546
parentc4e1e56b1f9a8f47438084cd92267bd42155dfee (diff)
downloadpyflakes-1cd653d38b521d1e8ea10410830cf29683a8c09f.tar.gz
Merge pyflakes-nameless-with-2048
Author: exarkun Reviewer: glyph Fixes: #2048 Support `with` without `as` on Python 2.5.
-rw-r--r--pyflakes/checker.py4
-rw-r--r--pyflakes/test/test_other.py13
2 files changed, 16 insertions, 1 deletions
diff --git a/pyflakes/checker.py b/pyflakes/checker.py
index a700fad..6f2adb3 100644
--- a/pyflakes/checker.py
+++ b/pyflakes/checker.py
@@ -206,8 +206,10 @@ class Checker(object):
if isinstance(node.vars, ast.AssTuple):
varNodes = node.vars.nodes
- else:
+ elif node.vars is not None:
varNodes = [node.vars]
+ else:
+ varNodes = []
for varNode in varNodes:
self.addBinding(varNode.lineno, Assignment(varNode.name, varNode))
diff --git a/pyflakes/test/test_other.py b/pyflakes/test/test_other.py
index 3449785..e6ac477 100644
--- a/pyflakes/test/test_other.py
+++ b/pyflakes/test/test_other.py
@@ -91,6 +91,19 @@ class Python25Test(harness.Test):
self.flakes("a = 'moo' if True else bar", m.UndefinedName)
+ def test_withStatementNoNames(self):
+ """
+ No warnings are emitted for using inside or after a nameless C{with}
+ statement a name defined beforehand.
+ """
+ self.flakes('''
+ from __future__ import with_statement
+ bar = None
+ with open("foo"):
+ bar
+ bar
+ ''')
+
def test_withStatementSingleName(self):
"""
No warnings are emitted for using a name defined by a C{with} statement