X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=XSUB.h;h=509a1d6b0463c1c6985e12114c563cc1409837a7;hb=5bc28da93666e223bb56098f72517273bc8bcbf9;hp=03892019fb571722a1f4d4cf0c986aef7edcb810;hpb=2c2d71f566f0a758d1486480f45158c0e70ea496;p=p5sagit%2Fp5-mst-13.2.git diff --git a/XSUB.h b/XSUB.h index 0389201..509a1d6 100644 --- a/XSUB.h +++ b/XSUB.h @@ -11,6 +11,9 @@ I32 ax = mark - PL_stack_base + 1; \ I32 items = sp - mark +#define dXSTARG SV * targ = ((PL_op->op_private & OPpENTERSUB_HASTARG) \ + ? PAD_SV(PL_op->op_targ) : sv_newmortal()) + #define XSANY CvXSUBANY(cv) #define dXSI32 I32 ix = XSANY.any_i32 @@ -115,17 +118,14 @@ # include "objXSUB.h" #endif /* PERL_OBJECT || PERL_CAPI */ -#if defined(PERL_CAPI) +#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_NO_GET_CONTEXT) && !defined(PERL_CORE) # undef aTHX # undef aTHX_ -# undef _aTHX -# if defined(PERL_NO_GET_CONTEXT) -# define aTHX my_perl -# else -# define aTHX PERL_GET_INTERP -# endif /* PERL_NO_GET_CONTEXT */ -# define aTHX_ aTHX, -# define _aTHX ,aTHX +# define aTHX PERL_GET_THX +# define aTHX_ aTHX, +#endif + +#if defined(PERL_CAPI) # ifndef NO_XSLOCKS # undef closedir # undef opendir