From: Bob Rogers <[EMAIL PROTECTED]> Date: Fri, 6 Jan 2006 23:22:19 -0500
If sub A pushes an error handler and then calls B, B can do a 'clear_eh' to get rid of A's handler. This seems to work until B returns, at which point the control stack unwinding done by RetContinuation destroys the rest of the stack looking for the missing handler. The patch detects the problem in clear_eh, and signals a real_exception . . . You could also argue that the stack unwinding in RetContinuation.invoke is broken. I tend to agree, but any such fix would be superceded by an implemention of rezipping. This pop_exception fix might also have to change, but probably only in detail. Just in case this patch is still under consideration, I would like to withdraw it; I think it's better to include it as part of the rezipping-related control stack cleanup (the design rev for which is still in progress). Unless somebody would like to see a patch with just the test cases, both marked 'TODO'? -- Bob Rogers http://rgrjr.dyndns.org/