X-Git-Url: https://perl5.git.perl.org/perl5.git/blobdiff_plain/5464c1495ed0e2dec7738478e7bb89ce97a68c52..b0269e46d70f4b0ab23ffad2f94b10b64091afa3:/op.h diff --git a/op.h b/op.h index ef093ef..0f54a67 100644 --- a/op.h +++ b/op.h @@ -1,7 +1,7 @@ /* op.h * * Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, - * 2000, 2001, 2002, 2003, 2004, by Larry Wall and others + * 2000, 2001, 2002, 2003, 2004, 2005 by Larry Wall and others * * You may distribute under the terms of either the GNU General Public * License or the Artistic License, as specified in the README file. @@ -109,6 +109,7 @@ Deprecated. Use C instead. /* On OP_DBSTATE, indicates breakpoint * (runtime property) */ /* On OP_AELEMFAST, indiciates pad var */ + /* On OP_REQUIRE, was seen as CORE::require */ /* old names; don't use in new code, but don't break them, either */ #define OPf_LIST OPf_WANT_LIST @@ -184,6 +185,7 @@ Deprecated. Use C instead. #define OPpITER_REVERSED 4 /* for (reverse ...) */ /* Private for OP_CONST */ +#define OPpCONST_NOVER 2 /* no 6; */ #define OPpCONST_SHORTCIRCUIT 4 /* eg the constant 5 in (5 || foo) */ #define OPpCONST_STRICT 8 /* bearword subject to strict 'subs' */ #define OPpCONST_ENTERED 16 /* Has been entered as symbol. */ @@ -330,13 +332,13 @@ struct pmop { # define PmopSTASHPV_set(o,pv) (PmopSTASHPV(o) = savesharedpv(pv)) # define PmopSTASH(o) (PmopSTASHPV(o) \ ? gv_stashpv(PmopSTASHPV(o),GV_ADD) : Nullhv) -# define PmopSTASH_set(o,hv) PmopSTASHPV_set(o, ((hv) ? HvNAME(hv) : Nullch)) +# define PmopSTASH_set(o,hv) PmopSTASHPV_set(o, ((hv) ? HvNAME_get(hv) : Nullch)) # define PmopSTASH_free(o) PerlMemShared_free(PmopSTASHPV(o)) #else # define PmopSTASH(o) ((o)->op_pmstash) # define PmopSTASH_set(o,hv) ((o)->op_pmstash = (hv)) -# define PmopSTASHPV(o) (PmopSTASH(o) ? HvNAME(PmopSTASH(o)) : Nullch) +# define PmopSTASHPV(o) (PmopSTASH(o) ? HvNAME_get(PmopSTASH(o)) : Nullch) /* op_pmstash is not refcounted */ # define PmopSTASHPV_set(o,pv) PmopSTASH_set((o), gv_stashpv(pv,GV_ADD)) # define PmopSTASH_free(o) @@ -505,6 +507,9 @@ struct loop { #define PERL_LOADMOD_NOIMPORT 0x2 #define PERL_LOADMOD_IMPORT_OPS 0x4 +/* used in perly.y */ +#define ref(o, type) doref(o, type, TRUE) + #ifdef USE_REENTRANT_API #include "reentr.h" #endif @@ -516,7 +521,7 @@ struct loop { (var = (OP *) Perl_Slab_Alloc(aTHX_ m,size)) #define FreeOp(p) Perl_Slab_Free(aTHX_ p) #else -#define NewOp(m, var, c, type) Newz(m, var, c, type) +#define NewOp(m, var, c, type) Newxz(var, c, type) #define NewOpSz(m, var, size) \ (var = (OP*)safemalloc(size), memzero(var, size)) #define FreeOp(p) Safefree(p)