diff options
author | Nick Coghlan <ncoghlan@gmail.com> | 2007-11-02 10:09:12 (GMT) |
---|---|---|
committer | Nick Coghlan <ncoghlan@gmail.com> | 2007-11-02 10:09:12 (GMT) |
commit | 3814a911aa6953a5aefbe8150d280d3a20747d6d (patch) | |
tree | f61fd04a3978608907ac3390a057537ca0da51fd /Lib/contextlib.py | |
parent | ac3d429edc5d1488c00c443d860f3e00f6bdd49e (diff) | |
download | cpython-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.py | 4 |
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()") |