summaryrefslogtreecommitdiffstats
path: root/Lib/contextlib.py
diff options
context:
space:
mode:
authorNick Coghlan <ncoghlan@gmail.com>2007-11-02 10:09:12 (GMT)
committerNick Coghlan <ncoghlan@gmail.com>2007-11-02 10:09:12 (GMT)
commit3814a911aa6953a5aefbe8150d280d3a20747d6d (patch)
treef61fd04a3978608907ac3390a057537ca0da51fd /Lib/contextlib.py
parentac3d429edc5d1488c00c443d860f3e00f6bdd49e (diff)
downloadcpython-3814a911aa6953a5aefbe8150d280d3a20747d6d.zip
cpython-3814a911aa6953a5aefbe8150d280d3a20747d6d.tar.gz
cpython-3814a911aa6953a5aefbe8150d280d3a20747d6d.tar.bz2
Fix for bug 1705170 - contextmanager swallowing StopIteration (2.5 backport candidate)
Diffstat (limited to 'Lib/contextlib.py')
-rw-r--r--Lib/contextlib.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/Lib/contextlib.py b/Lib/contextlib.py
index 4f83ef6..dbd1c57 100644
--- a/Lib/contextlib.py
+++ b/Lib/contextlib.py
@@ -25,6 +25,10 @@ class GeneratorContextManager(object):
else:
raise RuntimeError("generator didn't stop")
else:
+ if value is None:
+ # Need to force instantiation so we can reliably
+ # tell if we get the same exception back
+ value = type()
try:
self.gen.throw(type, value, traceback)
raise RuntimeError("generator didn't stop after throw()")