cvsuser 04/11/22 07:40:21
Modified: classes continuation.pmc src inter_run.c t/pmc object-meths.t Log: disable broken exception code Revision Changes Path 1.39 +4 -3 parrot/classes/continuation.pmc Index: continuation.pmc =================================================================== RCS file: /cvs/public/parrot/classes/continuation.pmc,v retrieving revision 1.38 retrieving revision 1.39 diff -u -r1.38 -r1.39 --- continuation.pmc 22 Nov 2004 14:13:06 -0000 1.38 +++ continuation.pmc 22 Nov 2004 15:40:19 -0000 1.39 @@ -1,6 +1,6 @@ /* Copyright: 2001-2003 The Perl Foundation. All Rights Reserved. -$Id: continuation.pmc,v 1.38 2004/11/22 14:13:06 leo Exp $ +$Id: continuation.pmc,v 1.39 2004/11/22 15:40:19 leo Exp $ =head1 NAME @@ -204,8 +204,9 @@ if (Interp_flags_TEST(interpreter, PARROT_TRACE_FLAG)) { PMC *sub = interpreter->ctx.current_sub; STRING *unk = CONST_STRING(interpreter, "(unknown"); - PIO_eprintf(interpreter, "# Back in sub '%Ss'\n#", - sub && PMC_sub(sub)->name ? PMC_sub(sub)->name : unk); + PIO_eprintf(interpreter, "# Back in sub '%Ss'\n", + sub && PMC_sub(sub) && PMC_sub(sub)->name ? + PMC_sub(sub)->name : unk); } if (PMC_struct_val(SELF)) copy_regs(interpreter, caller_regs); 1.22 +9 -2 parrot/src/inter_run.c Index: inter_run.c =================================================================== RCS file: /cvs/public/parrot/src/inter_run.c,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- inter_run.c 22 Nov 2004 13:52:31 -0000 1.21 +++ inter_run.c 22 Nov 2004 15:40:20 -0000 1.22 @@ -1,6 +1,6 @@ /* Copyright: 2001-2003 The Perl Foundation. All Rights Reserved. -$Id: inter_run.c,v 1.21 2004/11/22 13:52:31 leo Exp $ +$Id: inter_run.c,v 1.22 2004/11/22 15:40:20 leo Exp $ =head1 NAME @@ -66,7 +66,14 @@ } } } - if (interpreter->exceptions->runloop_level == + + /* + * XXX this is broken + * - the runloop_level has to be in the interpreter struct + * - the exception loop level must be part of the exception + * handler + */ + if (1 || interpreter->exceptions->runloop_level == interpreter->ctx.runloop_level) { /* if we are coming from an exception and it was thrown deeper * in a nested run loop, we just leave this loop 1.25 +4 -1 parrot/t/pmc/object-meths.t Index: object-meths.t =================================================================== RCS file: /cvs/public/parrot/t/pmc/object-meths.t,v retrieving revision 1.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- object-meths.t 22 Nov 2004 13:52:32 -0000 1.24 +++ object-meths.t 22 Nov 2004 15:40:21 -0000 1.25 @@ -1,6 +1,6 @@ #! perl -w # Copyright: 2001-2003 The Perl Foundation. All Rights Reserved. -# $Id: object-meths.t,v 1.24 2004/11/22 13:52:32 leo Exp $ +# $Id: object-meths.t,v 1.25 2004/11/22 15:40:21 leo Exp $ =head1 NAME @@ -430,6 +430,8 @@ B::foo OUTPUT +SKIP: { + skip("currently broken", 1); output_is(<<'CODE', <<'OUTPUT', "exceptions and different runloops"); _main: newsub P0, .Exception_Handler, eh @@ -459,6 +461,7 @@ in __init back in main OUTPUT +} output_is(<<'CODE', <<'OUTPUT', "fetchmethod"); newclass P3, "Foo"