X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=pp.h;h=47a48d57f17e220c6b0c250a4145c78fdc2c1ded;hb=121b77126d4ab6098abde56a8c4175a9704d61b2;hp=c2cf6914ea5e7711d9893963db2cfdace76df8e9;hpb=6e449a3ab1e3bd9d7e138ca681c733e57d4daa49;p=p5sagit%2Fp5-mst-13.2.git diff --git a/pp.h b/pp.h index c2cf691..47a48d5 100644 --- a/pp.h +++ b/pp.h @@ -226,63 +226,53 @@ C. =for apidoc Am|void|mPUSHs|SV* sv Push an SV onto the stack and mortalizes the SV. The stack must have room -for this element. Does not handle 'set' magic. Does not use C. -See also C and C. +for this element. Does not use C. See also C and C. =for apidoc Am|void|PUSHmortal Push a new mortal SV onto the stack. The stack must have room for this -element. Does not handle 'set' magic. Does not use C. See also -C, C and C. +element. Does not use C. See also C, C and C. =for apidoc Am|void|mPUSHp|char* str|STRLEN len Push a string onto the stack. The stack must have room for this element. -The C indicates the length of the string. Handles 'set' magic. Does -not use C. See also C, C and C. +The C indicates the length of the string. Does not use C. +See also C, C and C. =for apidoc Am|void|mPUSHn|NV nv Push a double onto the stack. The stack must have room for this element. -Handles 'set' magic. Does not use C. See also C, C -and C. +Does not use C. See also C, C and C. =for apidoc Am|void|mPUSHi|IV iv Push an integer onto the stack. The stack must have room for this element. -Handles 'set' magic. Does not use C. See also C, C -and C. +Does not use C. See also C, C and C. =for apidoc Am|void|mPUSHu|UV uv Push an unsigned integer onto the stack. The stack must have room for this -element. Handles 'set' magic. Does not use C. See also C, -C and C. +element. Does not use C. See also C, C and C. =for apidoc Am|void|mXPUSHs|SV* sv Push an SV onto the stack, extending the stack if necessary and mortalizes -the SV. Does not handle 'set' magic. Does not use C. See also -C and C. +the SV. Does not use C. See also C and C. =for apidoc Am|void|XPUSHmortal -Push a new mortal SV onto the stack, extending the stack if necessary. Does -not handle 'set' magic. Does not use C. See also C, -C and C. +Push a new mortal SV onto the stack, extending the stack if necessary. +Does not use C. See also C, C and C. =for apidoc Am|void|mXPUSHp|char* str|STRLEN len Push a string onto the stack, extending the stack if necessary. The C -indicates the length of the string. Handles 'set' magic. Does not use -C. See also C, C and C. +indicates the length of the string. Does not use C. See also C, +C and C. =for apidoc Am|void|mXPUSHn|NV nv -Push a double onto the stack, extending the stack if necessary. Handles -'set' magic. Does not use C. See also C, C and -C. +Push a double onto the stack, extending the stack if necessary. +Does not use C. See also C, C and C. =for apidoc Am|void|mXPUSHi|IV iv -Push an integer onto the stack, extending the stack if necessary. Handles -'set' magic. Does not use C. See also C, C and -C. +Push an integer onto the stack, extending the stack if necessary. +Does not use C. See also C, C and C. =for apidoc Am|void|mXPUSHu|UV uv Push an unsigned integer onto the stack, extending the stack if necessary. -Handles 'set' magic. Does not use C. See also C, C -and C. +Does not use C. See also C, C and C. =cut */ @@ -315,17 +305,17 @@ and C. #define mPUSHs(s) PUSHs(sv_2mortal(s)) #define PUSHmortal PUSHs(sv_newmortal()) -#define mPUSHp(p,l) sv_setpvn_mg(PUSHmortal, (p), (l)) -#define mPUSHn(n) sv_setnv_mg(PUSHmortal, (NV)(n)) -#define mPUSHi(i) sv_setiv_mg(PUSHmortal, (IV)(i)) -#define mPUSHu(u) sv_setuv_mg(PUSHmortal, (UV)(u)) +#define mPUSHp(p,l) sv_setpvn(PUSHmortal, (p), (l)) +#define mPUSHn(n) sv_setnv(PUSHmortal, (NV)(n)) +#define mPUSHi(i) sv_setiv(PUSHmortal, (IV)(i)) +#define mPUSHu(u) sv_setuv(PUSHmortal, (UV)(u)) #define mXPUSHs(s) XPUSHs(sv_2mortal(s)) #define XPUSHmortal XPUSHs(sv_newmortal()) -#define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn_mg(PUSHmortal, (p), (l)); } STMT_END -#define mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv_mg(PUSHmortal, (NV)(n)); } STMT_END -#define mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv_mg(PUSHmortal, (IV)(i)); } STMT_END -#define mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv_mg(PUSHmortal, (UV)(u)); } STMT_END +#define mXPUSHp(p,l) STMT_START { EXTEND(sp,1); sv_setpvn(PUSHmortal, (p), (l)); } STMT_END +#define mXPUSHn(n) STMT_START { EXTEND(sp,1); sv_setnv(PUSHmortal, (NV)(n)); } STMT_END +#define mXPUSHi(i) STMT_START { EXTEND(sp,1); sv_setiv(PUSHmortal, (IV)(i)); } STMT_END +#define mXPUSHu(u) STMT_START { EXTEND(sp,1); sv_setuv(PUSHmortal, (UV)(u)); } STMT_END #define SETs(s) (*sp = s) #define SETTARG STMT_START { SvSETMAGIC(TARG); SETs(TARG); } STMT_END