| Index: Python/ceval.c |
| =================================================================== |
| --- Python/ceval.c (revision 62647) |
| +++ Python/ceval.c (working copy) |
| @@ -1477,6 +1477,19 @@ |
| "'finally' pops bad exception"); |
| why = WHY_EXCEPTION; |
| } |
| + /* |
| + Make sure the exception state is cleaned up before |
| + the end of an except block. This ensures objects |
| + referenced by the exception state are not kept |
| + alive too long. |
| + See #2507. |
|
jhylton
2008/05/06 12:59:48
We don't have a lot of comments that refer to spec
Antoine Pitrou
2008/05/06 15:19:41
On 2008/05/06 12:59:48, jhylton wrote:
> We don't
|
| + */ |
|
Antoine Pitrou
2008/05/02 22:17:07
Hmm, it looks like I have gone past the 79-column
|
| + if (tstate->frame->f_exc_type != NULL) |
| + reset_exc_info(tstate); |
| + else { |
| + assert(tstate->frame->f_exc_value == NULL); |
| + assert(tstate->frame->f_exc_traceback == NULL); |
|
jhylton
2008/05/06 12:59:48
I'd move the asserts outside of the else. They sh
Antoine Pitrou
2008/05/06 15:19:41
On 2008/05/06 12:59:48, jhylton wrote:
> I'd move
|
| + } |
| Py_DECREF(v); |
| break; |