This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncoghlan
Recipients ncoghlan
Date 2012-05-30.11:07:46
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1338376067.22.0.0825835075506.issue14963@psf.upfronthosting.co.za>
In-reply-to
Content
The current implementation of contextlib.ExitStack [1] actually creates a nested series of frames when unwinding the callback stack in an effort to ensure exceptions are chained correctly, just as they would be if using nested with statements.

It would be nice to avoid this overhead by just using the one frame to iterate over the callbacks and handling correct exception chaining directly. This is likely to be a little tricky to get right, though, so the first step would be to set up a test that throws and suppresses a few exceptions and ensures the chaining when using ExitStack matches that when using nested with statements.

[1] http://hg.python.org/cpython/file/94a5bf416e50/Lib/contextlib.py#l227
History
Date User Action Args
2012-05-30 11:07:47ncoghlansetrecipients: + ncoghlan
2012-05-30 11:07:47ncoghlansetmessageid: <1338376067.22.0.0825835075506.issue14963@psf.upfronthosting.co.za>
2012-05-30 11:07:46ncoghlanlinkissue14963 messages
2012-05-30 11:07:46ncoghlancreate