On Tue Jun 26 02:36:59 2007, ptc wrote: > On Thu Sep 21 14:38:40 2006, particle wrote: > > parrot's source is littered with internal_exception() calls, the bulk > > (all?) of which should be converted to real_exception() calls. > > internal exceptions are uncatchable, and might as well be called > > C<exit>. that's bad, ya dig? > > > > there are plenty of examples of calls to real_exception() so it should > > be an easy task for the willing. look in > > F<include/parrot/exceptions.h> for a list of exception constants. > > convert to E_FooError types where possible. > > > > for an example commit of a modification, C<svn diff -c 14680>, or if > > you don't have svn 1.4.0 yet (why not?) C<svn diff -r 14679:14680> > > As of r19331 there are 190 files affected. The complete list I'm > attaching to this ticket. As I get time, I'm going to attack this > ticket directory by directory.
Here is an update as to the current status of this ticket. As of r19821 the only files now affected are outlined as follows: src/thread.c - can't change internal_exception()s to real_exception()s as they occur in pt_check_tid() which returns a Parrot_Interp anyway. src/events.c - I'm not able to change the only occurrence here as it is Win32- specific (I'm on Linux x86) and hence is untestable src/tsq.c - one occurrence in queue_destroy(). Things get tricky very quickly here as the queue_destroy() would also need an interp passed in as an argument, so I decided not to change this one. I can still do it if people want, it's just a bit hairy and likely to not bring much in the end. config/gen/platform/win32/exec.c config/gen/platform/win32/stat.c - I can't test these files as they're win32. They also need the "interpreter" variable renamed to "interp" src/jit/sun4/jit_emit.h src/jit/mips/jit_emit.h src/jit/hppa/jit_emit.h src/jit/alpha/jit_emit.h src/jit/ia64/jit_emit.h src/jit/ppc/jit_emit.h src/jit/arm/jit_emit.h - I can't change or test these since I don't have the right platform. Anyone willing to take this on? src/packfile/pf_items.c - One instance, still needs to be attended to (I'll try to get around to it, but there are a lot of enclosing functions/macros so the change might not be worth it).