[Patches] fix for bug open/81

Charles G Waldman cgw@fnal.gov
Tue, 9 May 2000 15:06:19 -0500 (CDT)


Guido van Rossum writes:
 > Just wanted to note that I think that I'm not keen on doing
 > PyErr_Fetch() and PyErr_Restore() -- it's slower etc.  Lots of things
 > can cause an indirect call to PyErr_Clear() -- the assumption simply
 > shouldn't be made that one can call anything while an exception is
 > being passed down.  

OK, then how can we fix com_error?  Since a lot of the com_* functions
use PyDict_SetItem, I'm not seeing a good way to get the exception
which is set in com_error to be preserved.  The only other solution I
can think of would require a lot of work modifying compile.c to check
for errors as we go, rather than the way it is now, where you just
check once after compiling.