diff --git a/pp.h b/pp.h index 4bfdc32f8f6d..6371c1b5b754 100644 --- a/pp.h +++ b/pp.h @@ -568,9 +568,9 @@ Does not use C. See also C>, C> and C>. #define PUSHmortal PUSHs(sv_newmortal()) #define mPUSHp(p,l) PUSHs(newSVpvn_flags((p), (l), SVs_TEMP)) #define mPUSHpvs(s) mPUSHp("" s "", sizeof(s)-1) -#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 mPUSHn(n) mPUSHs(newSVnv((NV)(n))) +#define mPUSHi(i) mPUSHs(newSViv((IV)(i))) +#define mPUSHu(u) mPUSHs(newSVuv((UV)(u))) #define mXPUSHs(s) XPUSHs(sv_2mortal(s)) #define XPUSHmortal XPUSHs(sv_newmortal())