It appears that the contextmanager implementation (both in the stdlib and as described in the PEP) doesn't correctly handle the case where the generator yields a new value in response to throw(). It responds by suppressing the original exception, but IIRC earlier versions of the PEP threw a RuntimeError for this scenario.
Unless there are any objections, I'd like to restore this by replacing the "return True" that follows the throw(), with: raise RuntimeError("generator didn't stop after throw()") and again, update the PEP accordingly. _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com