X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=cop.h;h=803be293a2a5004fd1052b19e24dd04745a5683a;hb=58a50f6288bdd18f3f469352f83c5e7ade50ee7a;hp=fa1d54d55db2962d7aca065408bcfa991b2028a5;hpb=e336de0d01f30cc4061b6d6a00d11df30fc67cd3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/cop.h b/cop.h index fa1d54d..803be29 100644 --- a/cop.h +++ b/cop.h @@ -285,6 +285,7 @@ struct context { #define G_EVAL 4 /* Assume eval {} around subroutine call. */ #define G_NOARGS 8 /* Don't construct a @_ array. */ #define G_KEEPERR 16 /* Append errors to $@, don't overwrite it */ +#define G_NODEBUG 32 /* Disable debugging at toplevel. */ /* Support for switching (stack and block) contexts. * This ensures magic doesn't invalidate local stack and cx pointers. @@ -297,10 +298,8 @@ struct context { #define SI_SIGNAL 4 #define SI_OVERLOAD 5 #define SI_DESTROY 6 -/* XXX todo #define SI_WARNHOOK 7 #define SI_DIEHOOK 8 -*/ struct stackinfo { AV * si_stack; /* stack for current runlevel */ @@ -357,6 +356,8 @@ typedef struct stackinfo PERL_SI; #define POPSTACK_TO(s) \ STMT_START { \ - while (curstack != s) \ + while (curstack != s) { \ + dounwind(-1); \ POPSTACK(); \ + } \ } STMT_END