X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=cop.h;h=870225ca5ddee852b7e176ddcfbc8df24950ee38;hb=7e107e90b7bd52c7fb110ac98da6bb7ab38e8959;hp=e6fbfe722019ef194d4ee00358e684aa1be94a9a;hpb=3db8f154c4c6e098a5a0bdf7932e8f86fbd2c451;p=p5sagit%2Fp5-mst-13.2.git diff --git a/cop.h b/cop.h index e6fbfe7..870225c 100644 --- a/cop.h +++ b/cop.h @@ -5,6 +5,11 @@ * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. * + * Control ops (cops) are one of the three ops OP_NEXTSTATE, OP_DBSTATE, + * and OP_SETSTATE that (loosely speaking) separate statements. They hold + * imformation important for lexical state and error reporting. At run + * time, PL_curcop is set to point to the most recently executed cop, + * and thus can be used to determine our current state. */ struct cop { @@ -112,7 +117,7 @@ struct block_sub { long olddepth; U8 hasargs; U8 lval; /* XXX merge lval and hasargs? */ - PAD oldcurpad; + PAD *oldcomppad; }; #define PUSHSUB(cx) \ @@ -214,7 +219,7 @@ struct block_loop { OP * last_op; #ifdef USE_ITHREADS void * iterdata; - PAD oldcurpad; + PAD *oldcomppad; #else SV ** itervar; #endif