README.win32 Notes about Win32 port
Todo The Wishlist
Todo-5.005 What needs doing before 5.005 release
-XSlock.h Include file for extensions built with PERL_OBJECT defined
XSUB.h Include file for extension subroutines
apollo/netinet/in.h Apollo DomainOS port: C header file frontend
av.c Array value code
vos/vosish.h VOS-specific header file
warning.h The warning numbers
warning.pl Program to write warning.h and lib/warning.pm
-win32/GenCAPI.pl Win32 port for C API with PERL_OBJECT
win32/Makefile Win32 makefile for NMAKE (Visual C++ build)
-win32/TEST Win32 port
-win32/autosplit.pl Win32 port
win32/bin/perlglob.pl Win32 globbing
win32/bin/pl2bat.pl wrap perl scripts into batch files
win32/bin/runperl.pl run perl script via batch file namesake
win32/config_sh.PL Perl code to update Win32 config.sh from Makefile
win32/des_fcrypt.patch Win32 port
win32/dl_win32.xs Win32 port
-win32/genxsdef.pl Win32 port
win32/include/arpa/inet.h Win32 port
win32/include/dirent.h Win32 port
win32/include/netdb.h Win32 port
win32/include/sys/socket.h Win32 port
-win32/makedef.pl Win32 port
+win32/makedef.pl Win32 exports definition file writer
win32/makefile.mk Win32 makefile for DMAKE (BC++, VC++ builds)
-win32/makemain.pl Win32 port
-win32/makeperldef.pl Win32 port
win32/perlglob.c Win32 port
win32/perllib.c Win32 port
win32/pod.mak Win32 port
# define VTBL_amagicelem &PL_vtbl_amagicelem
#endif
-#ifdef PERL_OBJECT
-
+#if defined(PERL_OBJECT) || defined(PERL_CAPI)
# include "perlapi.h"
# include "objXSUB.h"
+#endif /* PERL_OBJECT || PERL_CAPI */
-# undef aTHXo
-# define aTHXo pPerl
-# undef aTHXo_
-# define aTHXo_ aTHXo,
-# undef _aTHXo
-# define _aTHXo ,aTHXo
-
-# ifdef WIN32
-# undef fprintf
-# define fprintf pPerl->fprintf
-# endif /* WIN32 */
-
+#if defined(PERL_CAPI)
+# 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
# ifndef NO_XSLOCKS
# undef closedir
# undef opendir
# define shutdown PerlSock_shutdown
# define socket PerlSock_socket
# define socketpair PerlSock_socketpair
-# ifdef WIN32
-# include "XSlock.h"
-# endif
# endif /* NO_XSLOCKS */
-
-#endif /* PERL_OBJECT */
+#endif /* PERL_CAPI */
+++ /dev/null
-#ifndef __XSlock_h__
-#define __XSlock_h__
-
-class XSLockManager
-{
-public:
- XSLockManager() { InitializeCriticalSection(&cs); };
- ~XSLockManager() { DeleteCriticalSection(&cs); };
- void Enter(void) { EnterCriticalSection(&cs); };
- void Leave(void) { LeaveCriticalSection(&cs); };
-protected:
- CRITICAL_SECTION cs;
-};
-
-XSLockManager g_XSLock;
-
-class XSLock
-{
-public:
- XSLock() { g_XSLock.Enter(); };
- ~XSLock() { g_XSLock.Leave(); };
-};
-
-CPerlObj* pPerl;
-
-#undef dXSARGS
-#define dXSARGS \
- dSP; dMARK; \
- I32 ax = mark - PL_stack_base + 1; \
- I32 items = sp - mark; \
- XSLock localLock; \
- ::pPerl = pPerl
-
-
-#endif
open(BYTERUN_C, ">ext/ByteLoader/byterun.c") or die "ext/ByteLoader/byterun.c: $!";
print BYTERUN_C $c_header, <<'EOT';
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#define NO_XSLOCKS
#define PERL_IN_DEB_C
#include "perl.h"
+#if defined(PERL_IMPLICIT_CONTEXT)
+void
+Perl_deb_nocontext(const char *pat, ...)
+{
+#ifdef DEBUGGING
+ dTHX;
+ va_list args;
+ va_start(args, pat);
+ vdeb(pat, &args);
+ va_end(args);
+#endif /* DEBUGGING */
+}
+#endif
+
void
Perl_deb(pTHX_ const char *pat, ...)
{
#ifdef DEBUGGING
- dTHR;
va_list args;
+ va_start(args, pat);
+ vdeb(pat, &args);
+ va_end(args);
+#endif /* DEBUGGING */
+}
+
+void
+Perl_vdeb(pTHX_ const char *pat, va_list *args)
+{
+#ifdef DEBUGGING
+ dTHR;
register I32 i;
GV* gv = PL_curcop->cop_filegv;
#endif /* USE_THREADS */
for (i=0; i<PL_dlevel; i++)
PerlIO_printf(Perl_debug_log, "%c%c ",PL_debname[i],PL_debdelim[i]);
-
- va_start(args, pat);
- (void) PerlIO_vprintf(Perl_debug_log,pat,args);
- va_end( args );
+ (void) PerlIO_vprintf(Perl_debug_log, pat, *args);
#endif /* DEBUGGING */
}
void
Perl_dump_indent(pTHX_ I32 level, PerlIO *file, const char* pat, ...)
{
- dTHR;
va_list args;
-
va_start(args, pat);
- PerlIO_printf(file, "%*s", level*PL_dumpindent, "");
- PerlIO_vprintf(file, pat, args);
+ dump_vindent(level, file, pat, &args);
va_end(args);
}
void
+Perl_dump_vindent(pTHX_ I32 level, PerlIO *file, const char* pat, va_list *args)
+{
+ dTHR;
+ PerlIO_printf(file, "%*s", level*PL_dumpindent, "");
+ PerlIO_vprintf(file, pat, *args);
+}
+
+void
Perl_dump_all(pTHX)
{
dTHR;
#endif
#define convert Perl_convert
#define croak Perl_croak
+#define vcroak Perl_vcroak
#if defined(PERL_IMPLICIT_CONTEXT)
#define croak_nocontext Perl_croak_nocontext
#define die_nocontext Perl_die_nocontext
+#define deb_nocontext Perl_deb_nocontext
#define form_nocontext Perl_form_nocontext
#define warn_nocontext Perl_warn_nocontext
+#define warner_nocontext Perl_warner_nocontext
#define newSVpvf_nocontext Perl_newSVpvf_nocontext
#define sv_catpvf_nocontext Perl_sv_catpvf_nocontext
#define sv_setpvf_nocontext Perl_sv_setpvf_nocontext
#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext
#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
+#define fprintf_nocontext Perl_fprintf_nocontext
#endif
#define cv_ckproto Perl_cv_ckproto
#define cv_clone Perl_cv_clone
#define get_ppaddr Perl_get_ppaddr
#define cxinc Perl_cxinc
#define deb Perl_deb
+#define vdeb Perl_vdeb
#define deb_growlevel Perl_deb_growlevel
#define debprofdump Perl_debprofdump
#define debop Perl_debop
#define delimcpy Perl_delimcpy
#define deprecate Perl_deprecate
#define die Perl_die
+#define vdie Perl_vdie
#define die_where Perl_die_where
#define dounwind Perl_dounwind
#define do_aexec Perl_do_aexec
#define force_list Perl_force_list
#define fold_constants Perl_fold_constants
#define form Perl_form
+#define vform Perl_vform
#define free_tmps Perl_free_tmps
#define gen_constant_list Perl_gen_constant_list
#if !defined(HAS_GETENV_LEN)
#define newSVpv Perl_newSVpv
#define newSVpvn Perl_newSVpvn
#define newSVpvf Perl_newSVpvf
+#define vnewSVpvf Perl_vnewSVpvf
#define newSVrv Perl_newSVrv
#define newSVsv Perl_newSVsv
#define newUNOP Perl_newUNOP
#define newWHILEOP Perl_newWHILEOP
-#if defined(USE_THREADS)
-#define new_struct_thread Perl_new_struct_thread
-#endif
#define new_stackinfo Perl_new_stackinfo
#define nextargv Perl_nextargv
#define ninstr Perl_ninstr
#define peep Perl_peep
#if defined(PERL_OBJECT)
#else
+#if defined(USE_THREADS)
+#define new_struct_thread Perl_new_struct_thread
+#endif
#endif
#define call_atexit Perl_call_atexit
#define call_argv Perl_call_argv
#define sv_backoff Perl_sv_backoff
#define sv_bless Perl_sv_bless
#define sv_catpvf Perl_sv_catpvf
+#define sv_vcatpvf Perl_sv_vcatpvf
#define sv_catpv Perl_sv_catpv
#define sv_catpvn Perl_sv_catpvn
#define sv_catsv Perl_sv_catsv
#define sv_report_used Perl_sv_report_used
#define sv_reset Perl_sv_reset
#define sv_setpvf Perl_sv_setpvf
+#define sv_vsetpvf Perl_sv_vsetpvf
#define sv_setiv Perl_sv_setiv
#define sv_setpviv Perl_sv_setpviv
#define sv_setuv Perl_sv_setuv
#define vivify_ref Perl_vivify_ref
#define wait4pid Perl_wait4pid
#define warn Perl_warn
+#define vwarn Perl_vwarn
#define warner Perl_warner
+#define vwarner Perl_vwarner
#define watch Perl_watch
#define whichsig Perl_whichsig
#define yyerror Perl_yyerror
#define runops_standard Perl_runops_standard
#define runops_debug Perl_runops_debug
#define sv_catpvf_mg Perl_sv_catpvf_mg
+#define sv_vcatpvf_mg Perl_sv_vcatpvf_mg
#define sv_catpv_mg Perl_sv_catpv_mg
#define sv_catpvn_mg Perl_sv_catpvn_mg
#define sv_catsv_mg Perl_sv_catsv_mg
#define sv_setpvf_mg Perl_sv_setpvf_mg
+#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg
#define sv_setiv_mg Perl_sv_setiv_mg
#define sv_setpviv_mg Perl_sv_setpviv_mg
#define sv_setuv_mg Perl_sv_setuv_mg
#define get_vtbl Perl_get_vtbl
#define pv_display Perl_pv_display
#define dump_indent Perl_dump_indent
+#define dump_vindent Perl_dump_vindent
#define do_gv_dump Perl_do_gv_dump
#define do_gvgv_dump Perl_do_gvgv_dump
#define do_hv_dump Perl_do_hv_dump
#define do_sv_dump Perl_do_sv_dump
#define magic_dump Perl_magic_dump
#define default_protect Perl_default_protect
+#define vdefault_protect Perl_vdefault_protect
#define reginitcolors Perl_reginitcolors
#define sv_2pv_nolen Perl_sv_2pv_nolen
#define sv_pv Perl_sv_pv
#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define mess_alloc S_mess_alloc
-#define do_croak S_do_croak
-#define do_warn S_do_warn
-#define do_die S_do_die
# if defined(LEAKTEST)
#define xstat S_xstat
# endif
#define condpair_magic(a) Perl_condpair_magic(aTHX_ a)
#endif
#define convert(a,b,c) Perl_convert(aTHX_ a,b,c)
+#define vcroak(a,b) Perl_vcroak(aTHX_ a,b)
#if defined(PERL_IMPLICIT_CONTEXT)
#endif
#define cv_ckproto(a,b,c) Perl_cv_ckproto(aTHX_ a,b,c)
#define get_opargs() Perl_get_opargs(aTHX)
#define get_ppaddr() Perl_get_ppaddr(aTHX)
#define cxinc() Perl_cxinc(aTHX)
+#define vdeb(a,b) Perl_vdeb(aTHX_ a,b)
#define deb_growlevel() Perl_deb_growlevel(aTHX)
#define debprofdump() Perl_debprofdump(aTHX)
#define debop(a) Perl_debop(aTHX_ a)
#define debstackptrs() Perl_debstackptrs(aTHX)
#define delimcpy(a,b,c,d,e,f) Perl_delimcpy(aTHX_ a,b,c,d,e,f)
#define deprecate(a) Perl_deprecate(aTHX_ a)
+#define vdie(a,b) Perl_vdie(aTHX_ a,b)
#define die_where(a,b) Perl_die_where(aTHX_ a,b)
#define dounwind(a) Perl_dounwind(aTHX_ a)
#define do_aexec(a,b,c) Perl_do_aexec(aTHX_ a,b,c)
#endif
#define force_list(a) Perl_force_list(aTHX_ a)
#define fold_constants(a) Perl_fold_constants(aTHX_ a)
+#define vform(a,b) Perl_vform(aTHX_ a,b)
#define free_tmps() Perl_free_tmps(aTHX)
#define gen_constant_list(a) Perl_gen_constant_list(aTHX_ a)
#if !defined(HAS_GETENV_LEN)
#define newSVnv(a) Perl_newSVnv(aTHX_ a)
#define newSVpv(a,b) Perl_newSVpv(aTHX_ a,b)
#define newSVpvn(a,b) Perl_newSVpvn(aTHX_ a,b)
+#define vnewSVpvf(a,b) Perl_vnewSVpvf(aTHX_ a,b)
#define newSVrv(a,b) Perl_newSVrv(aTHX_ a,b)
#define newSVsv(a) Perl_newSVsv(aTHX_ a)
#define newUNOP(a,b,c) Perl_newUNOP(aTHX_ a,b,c)
#define newWHILEOP(a,b,c,d,e,f,g) Perl_newWHILEOP(aTHX_ a,b,c,d,e,f,g)
-#if defined(USE_THREADS)
-#define new_struct_thread(a) Perl_new_struct_thread(aTHX_ a)
-#endif
#define new_stackinfo(a,b) Perl_new_stackinfo(aTHX_ a,b)
#define nextargv(a) Perl_nextargv(aTHX_ a)
#define ninstr(a,b,c,d) Perl_ninstr(aTHX_ a,b,c,d)
#define peep(a) Perl_peep(aTHX_ a)
#if defined(PERL_OBJECT)
#else
+#if defined(USE_THREADS)
+#define new_struct_thread(a) Perl_new_struct_thread(aTHX_ a)
+#endif
#endif
#define call_atexit(a,b) Perl_call_atexit(aTHX_ a,b)
#define call_argv(a,b,c) Perl_call_argv(aTHX_ a,b,c)
#define sv_add_arena(a,b,c) Perl_sv_add_arena(aTHX_ a,b,c)
#define sv_backoff(a) Perl_sv_backoff(aTHX_ a)
#define sv_bless(a,b) Perl_sv_bless(aTHX_ a,b)
+#define sv_vcatpvf(a,b,c) Perl_sv_vcatpvf(aTHX_ a,b,c)
#define sv_catpv(a,b) Perl_sv_catpv(aTHX_ a,b)
#define sv_catpvn(a,b,c) Perl_sv_catpvn(aTHX_ a,b,c)
#define sv_catsv(a,b) Perl_sv_catsv(aTHX_ a,b)
#define sv_replace(a,b) Perl_sv_replace(aTHX_ a,b)
#define sv_report_used() Perl_sv_report_used(aTHX)
#define sv_reset(a,b) Perl_sv_reset(aTHX_ a,b)
+#define sv_vsetpvf(a,b,c) Perl_sv_vsetpvf(aTHX_ a,b,c)
#define sv_setiv(a,b) Perl_sv_setiv(aTHX_ a,b)
#define sv_setpviv(a,b) Perl_sv_setpviv(aTHX_ a,b)
#define sv_setuv(a,b) Perl_sv_setuv(aTHX_ a,b)
#define vivify_defelem(a) Perl_vivify_defelem(aTHX_ a)
#define vivify_ref(a,b) Perl_vivify_ref(aTHX_ a,b)
#define wait4pid(a,b,c) Perl_wait4pid(aTHX_ a,b,c)
+#define vwarn(a,b) Perl_vwarn(aTHX_ a,b)
+#define vwarner(a,b,c) Perl_vwarner(aTHX_ a,b,c)
#define watch(a) Perl_watch(aTHX_ a)
#define whichsig(a) Perl_whichsig(aTHX_ a)
#define yyerror(a) Perl_yyerror(aTHX_ a)
#endif
#define runops_standard() Perl_runops_standard(aTHX)
#define runops_debug() Perl_runops_debug(aTHX)
+#define sv_vcatpvf_mg(a,b,c) Perl_sv_vcatpvf_mg(aTHX_ a,b,c)
#define sv_catpv_mg(a,b) Perl_sv_catpv_mg(aTHX_ a,b)
#define sv_catpvn_mg(a,b,c) Perl_sv_catpvn_mg(aTHX_ a,b,c)
#define sv_catsv_mg(a,b) Perl_sv_catsv_mg(aTHX_ a,b)
+#define sv_vsetpvf_mg(a,b,c) Perl_sv_vsetpvf_mg(aTHX_ a,b,c)
#define sv_setiv_mg(a,b) Perl_sv_setiv_mg(aTHX_ a,b)
#define sv_setpviv_mg(a,b) Perl_sv_setpviv_mg(aTHX_ a,b)
#define sv_setuv_mg(a,b) Perl_sv_setuv_mg(aTHX_ a,b)
#define sv_usepvn_mg(a,b,c) Perl_sv_usepvn_mg(aTHX_ a,b,c)
#define get_vtbl(a) Perl_get_vtbl(aTHX_ a)
#define pv_display(a,b,c,d,e) Perl_pv_display(aTHX_ a,b,c,d,e)
+#define dump_vindent(a,b,c,d) Perl_dump_vindent(aTHX_ a,b,c,d)
#define do_gv_dump(a,b,c,d) Perl_do_gv_dump(aTHX_ a,b,c,d)
#define do_gvgv_dump(a,b,c,d) Perl_do_gvgv_dump(aTHX_ a,b,c,d)
#define do_hv_dump(a,b,c,d) Perl_do_hv_dump(aTHX_ a,b,c,d)
#define do_pmop_dump(a,b,c) Perl_do_pmop_dump(aTHX_ a,b,c)
#define do_sv_dump(a,b,c,d,e,f,g) Perl_do_sv_dump(aTHX_ a,b,c,d,e,f,g)
#define magic_dump(a) Perl_magic_dump(aTHX_ a)
+#define vdefault_protect(a,b,c) Perl_vdefault_protect(aTHX_ a,b,c)
#define reginitcolors() Perl_reginitcolors(aTHX)
#define sv_2pv_nolen(a) Perl_sv_2pv_nolen(aTHX_ a)
#define sv_pv(a) Perl_sv_pv(aTHX_ a)
#endif
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define mess_alloc() S_mess_alloc(aTHX)
-#define do_croak(a,b) S_do_croak(aTHX_ a,b)
-#define do_warn(a,b) S_do_warn(aTHX_ a,b)
-#define do_die(a,b) S_do_die(aTHX_ a,b)
# if defined(LEAKTEST)
#define xstat(a) S_xstat(aTHX_ a)
# endif
#define convert Perl_convert
#define Perl_croak CPerlObj::Perl_croak
#define croak Perl_croak
+#define Perl_vcroak CPerlObj::Perl_vcroak
+#define vcroak Perl_vcroak
#if defined(PERL_IMPLICIT_CONTEXT)
#define Perl_croak_nocontext CPerlObj::Perl_croak_nocontext
#define croak_nocontext Perl_croak_nocontext
#define Perl_die_nocontext CPerlObj::Perl_die_nocontext
#define die_nocontext Perl_die_nocontext
+#define Perl_deb_nocontext CPerlObj::Perl_deb_nocontext
+#define deb_nocontext Perl_deb_nocontext
#define Perl_form_nocontext CPerlObj::Perl_form_nocontext
#define form_nocontext Perl_form_nocontext
#define Perl_warn_nocontext CPerlObj::Perl_warn_nocontext
#define warn_nocontext Perl_warn_nocontext
+#define Perl_warner_nocontext CPerlObj::Perl_warner_nocontext
+#define warner_nocontext Perl_warner_nocontext
#define Perl_newSVpvf_nocontext CPerlObj::Perl_newSVpvf_nocontext
#define newSVpvf_nocontext Perl_newSVpvf_nocontext
#define Perl_sv_catpvf_nocontext CPerlObj::Perl_sv_catpvf_nocontext
#define sv_catpvf_mg_nocontext Perl_sv_catpvf_mg_nocontext
#define Perl_sv_setpvf_mg_nocontext CPerlObj::Perl_sv_setpvf_mg_nocontext
#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
+#define Perl_fprintf_nocontext CPerlObj::Perl_fprintf_nocontext
+#define fprintf_nocontext Perl_fprintf_nocontext
#endif
#define Perl_cv_ckproto CPerlObj::Perl_cv_ckproto
#define cv_ckproto Perl_cv_ckproto
#define cxinc Perl_cxinc
#define Perl_deb CPerlObj::Perl_deb
#define deb Perl_deb
+#define Perl_vdeb CPerlObj::Perl_vdeb
+#define vdeb Perl_vdeb
#define Perl_deb_growlevel CPerlObj::Perl_deb_growlevel
#define deb_growlevel Perl_deb_growlevel
#define Perl_debprofdump CPerlObj::Perl_debprofdump
#define deprecate Perl_deprecate
#define Perl_die CPerlObj::Perl_die
#define die Perl_die
+#define Perl_vdie CPerlObj::Perl_vdie
+#define vdie Perl_vdie
#define Perl_die_where CPerlObj::Perl_die_where
#define die_where Perl_die_where
#define Perl_dounwind CPerlObj::Perl_dounwind
#define fold_constants Perl_fold_constants
#define Perl_form CPerlObj::Perl_form
#define form Perl_form
+#define Perl_vform CPerlObj::Perl_vform
+#define vform Perl_vform
#define Perl_free_tmps CPerlObj::Perl_free_tmps
#define free_tmps Perl_free_tmps
#define Perl_gen_constant_list CPerlObj::Perl_gen_constant_list
#define newSVpvn Perl_newSVpvn
#define Perl_newSVpvf CPerlObj::Perl_newSVpvf
#define newSVpvf Perl_newSVpvf
+#define Perl_vnewSVpvf CPerlObj::Perl_vnewSVpvf
+#define vnewSVpvf Perl_vnewSVpvf
#define Perl_newSVrv CPerlObj::Perl_newSVrv
#define newSVrv Perl_newSVrv
#define Perl_newSVsv CPerlObj::Perl_newSVsv
#define newUNOP Perl_newUNOP
#define Perl_newWHILEOP CPerlObj::Perl_newWHILEOP
#define newWHILEOP Perl_newWHILEOP
-#if defined(USE_THREADS)
-#define Perl_new_struct_thread CPerlObj::Perl_new_struct_thread
-#define new_struct_thread Perl_new_struct_thread
-#endif
#define Perl_new_stackinfo CPerlObj::Perl_new_stackinfo
#define new_stackinfo Perl_new_stackinfo
#define Perl_nextargv CPerlObj::Perl_nextargv
#define perl_free CPerlObj::perl_free
#define perl_run CPerlObj::perl_run
#define perl_parse CPerlObj::perl_parse
+#if defined(USE_THREADS)
+#define Perl_new_struct_thread CPerlObj::Perl_new_struct_thread
+#define new_struct_thread Perl_new_struct_thread
+#endif
#endif
#define Perl_call_atexit CPerlObj::Perl_call_atexit
#define call_atexit Perl_call_atexit
#define sv_bless Perl_sv_bless
#define Perl_sv_catpvf CPerlObj::Perl_sv_catpvf
#define sv_catpvf Perl_sv_catpvf
+#define Perl_sv_vcatpvf CPerlObj::Perl_sv_vcatpvf
+#define sv_vcatpvf Perl_sv_vcatpvf
#define Perl_sv_catpv CPerlObj::Perl_sv_catpv
#define sv_catpv Perl_sv_catpv
#define Perl_sv_catpvn CPerlObj::Perl_sv_catpvn
#define sv_reset Perl_sv_reset
#define Perl_sv_setpvf CPerlObj::Perl_sv_setpvf
#define sv_setpvf Perl_sv_setpvf
+#define Perl_sv_vsetpvf CPerlObj::Perl_sv_vsetpvf
+#define sv_vsetpvf Perl_sv_vsetpvf
#define Perl_sv_setiv CPerlObj::Perl_sv_setiv
#define sv_setiv Perl_sv_setiv
#define Perl_sv_setpviv CPerlObj::Perl_sv_setpviv
#define wait4pid Perl_wait4pid
#define Perl_warn CPerlObj::Perl_warn
#define warn Perl_warn
+#define Perl_vwarn CPerlObj::Perl_vwarn
+#define vwarn Perl_vwarn
#define Perl_warner CPerlObj::Perl_warner
#define warner Perl_warner
+#define Perl_vwarner CPerlObj::Perl_vwarner
+#define vwarner Perl_vwarner
#define Perl_watch CPerlObj::Perl_watch
#define watch Perl_watch
#define Perl_whichsig CPerlObj::Perl_whichsig
#define runops_debug Perl_runops_debug
#define Perl_sv_catpvf_mg CPerlObj::Perl_sv_catpvf_mg
#define sv_catpvf_mg Perl_sv_catpvf_mg
+#define Perl_sv_vcatpvf_mg CPerlObj::Perl_sv_vcatpvf_mg
+#define sv_vcatpvf_mg Perl_sv_vcatpvf_mg
#define Perl_sv_catpv_mg CPerlObj::Perl_sv_catpv_mg
#define sv_catpv_mg Perl_sv_catpv_mg
#define Perl_sv_catpvn_mg CPerlObj::Perl_sv_catpvn_mg
#define sv_catsv_mg Perl_sv_catsv_mg
#define Perl_sv_setpvf_mg CPerlObj::Perl_sv_setpvf_mg
#define sv_setpvf_mg Perl_sv_setpvf_mg
+#define Perl_sv_vsetpvf_mg CPerlObj::Perl_sv_vsetpvf_mg
+#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg
#define Perl_sv_setiv_mg CPerlObj::Perl_sv_setiv_mg
#define sv_setiv_mg Perl_sv_setiv_mg
#define Perl_sv_setpviv_mg CPerlObj::Perl_sv_setpviv_mg
#define pv_display Perl_pv_display
#define Perl_dump_indent CPerlObj::Perl_dump_indent
#define dump_indent Perl_dump_indent
+#define Perl_dump_vindent CPerlObj::Perl_dump_vindent
+#define dump_vindent Perl_dump_vindent
#define Perl_do_gv_dump CPerlObj::Perl_do_gv_dump
#define do_gv_dump Perl_do_gv_dump
#define Perl_do_gvgv_dump CPerlObj::Perl_do_gvgv_dump
#define magic_dump Perl_magic_dump
#define Perl_default_protect CPerlObj::Perl_default_protect
#define default_protect Perl_default_protect
+#define Perl_vdefault_protect CPerlObj::Perl_vdefault_protect
+#define vdefault_protect Perl_vdefault_protect
#define Perl_reginitcolors CPerlObj::Perl_reginitcolors
#define reginitcolors Perl_reginitcolors
#define Perl_sv_2pv_nolen CPerlObj::Perl_sv_2pv_nolen
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
#define S_mess_alloc CPerlObj::S_mess_alloc
#define mess_alloc S_mess_alloc
-#define S_do_croak CPerlObj::S_do_croak
-#define do_croak S_do_croak
-#define S_do_warn CPerlObj::S_do_warn
-#define do_warn S_do_warn
-#define S_do_die CPerlObj::S_do_die
-#define do_die S_do_die
# if defined(LEAKTEST)
#define S_xstat CPerlObj::S_xstat
#define xstat S_xstat
an extra argument but grab the context pointer using the macro
dTHX.
*/
-#if defined(PERL_IMPLICIT_CONTEXT)
+#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_OBJECT)
# define croak Perl_croak_nocontext
+# define deb Perl_deb_nocontext
# define die Perl_die_nocontext
# define form Perl_form_nocontext
# define newSVpvf Perl_newSVpvf_nocontext
# define sv_catpvf Perl_sv_catpvf_nocontext
# define sv_setpvf Perl_sv_setpvf_nocontext
# define warn Perl_warn_nocontext
+# define warner Perl_warner_nocontext
# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
#endif
/* undefined symbols, point them back at the usual ones */
# define Perl_croak_nocontext Perl_croak
# define Perl_die_nocontext Perl_die
+# define Perl_deb_nocontext Perl_deb
# define Perl_form_nocontext Perl_form
-# define Perl_newSVpvf_nocontext Perl_newSVpvf
-# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
-# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
+# define Perl_newSVpvf_nocontext Perl_newSVpvf
+# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
+# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
# define Perl_warn_nocontext Perl_warn
+# define Perl_warner_nocontext Perl_warner
# define Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_mg
# define Perl_sv_setpvf_mg_nocontext Perl_sv_setpvf_mg
#endif
sub objxsub_var ($$) {
my ($pfx, $sym) = @_;
- undefine("PL_$sym") . hide("PL_$sym", "(*Perl_${pfx}${sym}_ptr(pPerl))");
+ my $arg = ($pfx eq 'G' ? 'NULL' : 'aTHXo');
+ undefine("PL_$sym") . hide("PL_$sym", "(*Perl_${pfx}${sym}_ptr($arg))");
}
sub embedvar ($) {
an extra argument but grab the context pointer using the macro
dTHX.
*/
-#if defined(PERL_IMPLICIT_CONTEXT)
+#if defined(PERL_IMPLICIT_CONTEXT) && !defined(PERL_OBJECT)
# define croak Perl_croak_nocontext
+# define deb Perl_deb_nocontext
# define die Perl_die_nocontext
# define form Perl_form_nocontext
# define newSVpvf Perl_newSVpvf_nocontext
# define sv_catpvf Perl_sv_catpvf_nocontext
# define sv_setpvf Perl_sv_setpvf_nocontext
# define warn Perl_warn_nocontext
+# define warner Perl_warner_nocontext
# define sv_catpvf_mg Perl_sv_catpvf_mg_nocontext
# define sv_setpvf_mg Perl_sv_setpvf_mg_nocontext
#endif
/* undefined symbols, point them back at the usual ones */
# define Perl_croak_nocontext Perl_croak
# define Perl_die_nocontext Perl_die
+# define Perl_deb_nocontext Perl_deb
# define Perl_form_nocontext Perl_form
-# define Perl_newSVpvf_nocontext Perl_newSVpvf
-# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
-# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
+# define Perl_newSVpvf_nocontext Perl_newSVpvf
+# define Perl_sv_catpvf_nocontext Perl_sv_catpvf
+# define Perl_sv_setpvf_nocontext Perl_sv_setpvf
# define Perl_warn_nocontext Perl_warn
+# define Perl_warner_nocontext Perl_warner
# define Perl_sv_catpvf_mg_nocontext Perl_sv_catpvf_mg
# define Perl_sv_setpvf_mg_nocontext Perl_sv_setpvf_mg
#endif
for $sym (sort keys %thread) {
- print EM multon($sym,'T','PL_curinterp->');
+ print EM multon($sym,'T','PERL_GET_INTERP->');
}
print EM <<'END';
END
for $sym (sort keys %intrp) {
- print EM multon($sym,'I','PL_curinterp->');
+ print EM multon($sym,'I','PERL_GET_INTERP->');
}
print EM <<'END';
/* Functions */
+#if defined(PERL_OBJECT)
+
+/* XXX soon to be eliminated, only a few things in PERLCORE need these now */
+
EOT
walk_table {
print OBX <<'EOT';
+#endif /* PERL_OBJECT */
#endif /* __objXSUB_h__ */
EOT
perlvars.h and thrdvar.h. Any changes made here will be lost!
*/
-#if defined(PERL_OBJECT)
-
/* declare accessor functions for Perl variables */
+#if defined(PERL_OBJECT) || defined (PERL_CAPI)
+
+#if defined(PERL_OBJECT)
+# undef aTHXo
+# define aTHXo pPerl
+# undef aTHXo_
+# define aTHXo_ aTHXo,
+# undef _aTHXo
+# define _aTHXo ,aTHXo
+#endif /* PERL_OBJECT */
+
START_EXTERN_C
#undef PERLVAR
#undef PERLVARA
#undef PERLVARI
#undef PERLVARIC
-#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(void *p);
+#define PERLVAR(v,t) EXTERN_C t* Perl_##v##_ptr(pTHXo);
#define PERLVARA(v,n,t) typedef t PL_##v##_t[n]; \
- EXTERN_C PL_##v##_t* Perl_##v##_ptr(void *p);
+ EXTERN_C PL_##v##_t* Perl_##v##_ptr(pTHXo);
#define PERLVARI(v,t,i) PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v,t)
+#define PERLVARIC(v,t,i) PERLVAR(v, const t)
#include "thrdvar.h"
#include "intrpvar.h"
END_EXTERN_C
-#endif /* PERL_OBJECT */
+#endif /* PERL_OBJECT || PERL_CAPI */
EOT
#undef PERLVARA
#undef PERLVARI
#undef PERLVARIC
-#define PERLVAR(v,t) t* Perl_##v##_ptr(void *p) \
- { return &(((CPerlObj*)p)->PL_##v); }
-#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(void *p) \
- { return &(((CPerlObj*)p)->PL_##v); }
+#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \
+ { return &(aTHXo->PL_##v); }
+#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \
+ { return &(aTHXo->PL_##v); }
#define PERLVARI(v,t,i) PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v,t)
+#define PERLVARIC(v,t,i) PERLVAR(v, const t)
#include "thrdvar.h"
#include "intrpvar.h"
+
+#undef PERLVAR
+#undef PERLVARA
+#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \
+ { return &(PL_##v); }
+#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \
+ { return &(PL_##v); }
#include "perlvars.h"
#undef PERLVAR
EOT
+# functions that take va_list* for implementing vararg functions
+my %vfuncs = qw(
+ Perl_croak Perl_vcroak
+ Perl_warn Perl_vwarn
+ Perl_warner Perl_vwarner
+ Perl_die Perl_vdie
+ Perl_form Perl_vform
+ Perl_deb Perl_vdeb
+ Perl_newSVpvf Perl_vnewSVpvf
+ Perl_sv_setpvf Perl_sv_vsetpvf
+ Perl_sv_setpvf_mg Perl_sv_vsetpvf_mg
+ Perl_sv_catpvf Perl_sv_vcatpvf
+ Perl_sv_catpvf_mg Perl_sv_vcatpvf_mg
+ Perl_dump_indent Perl_dump_vindent
+ Perl_default_protect Perl_vdefault_protect
+);
+
sub emit_func {
- my ($retval,$func,@args) = @_;
+ my ($addcontext, $rettype,$func,@args) = @_;
my @aargs = @args;
for my $a (@aargs) { $a =~ s/^.*\b(\w+)$/$1/ }
- unshift @args, 'void *pPerl';
+ my $ctxarg = '';
+ if (not $addcontext) {
+ $ctxarg = 'pTHXo';
+ $ctxarg .= '_ ' if @args;
+ }
+ my $decl = '';
+ if ($addcontext) {
+ $decl .= " dTHXo;\n";
+ }
local $" = ', ';
- my $return = ($retval =~ /^\s*(void|Free_t|Signal_t)\s*$/ ? '' : 'return ');
- return <<EOT
-$retval
-$func(@args)
+ my $return = ($rettype =~ /^\s*(void|Free_t|Signal_t)\s*$/
+ ? '' : 'return ');
+ my $emitval = '';
+ if (@args and $args[$#args] =~ /\.\.\./) {
+ pop @args;
+ pop @aargs;
+ my $retarg = '';
+ my $ctxfunc = $func;
+ $ctxfunc =~ s/_nocontext$//;
+ return $emitval unless exists $vfuncs{$ctxfunc};
+ if (length $return) {
+ $decl .= " $rettype retval;\n";
+ $retarg .= "retval = ";
+ $return = "\n ${return}retval;\n";
+ }
+ $emitval .= <<EOT
+$rettype
+$func($ctxarg@args)
{
- $return((CPerlObj*)pPerl)->$func(@aargs);
+$decl va_list args;
+ va_start(args, $aargs[$#aargs]);
+ $retarg((CPerlObj*)pPerl)->$vfuncs{$ctxfunc}(@aargs, &args);
+ va_end(args);$return
}
EOT
-
+ }
+ else {
+ $emitval .= <<EOT
+$rettype
+$func($ctxarg@args)
+{
+$decl $return((CPerlObj*)pPerl)->$func(@aargs);
+}
+EOT
+ }
+ $emitval;
}
# XXXX temporary hack
else {
my ($flags,$retval,$func,@args) = @_;
return $ret if exists $skipapi_funcs{$func};
- unless (@args and $args[$#args] =~ /\.\.\./) {
- unless ($flags =~ /s/) {
- $ret .= "\n";
- if ($flags =~ /p/) {
- $ret .= undefine("Perl_$func");
- $ret .= emit_func($retval,"Perl_$func",@args);
- }
- else {
- $ret .= undefine($func);
- $ret .= emit_func($retval,$func,@args);
- }
+ unless ($flags =~ /s/) {
+ $ret .= "\n";
+ my $addctx = 1 if $flags =~ /n/;
+ if ($flags =~ /p/) {
+ $ret .= undefine("Perl_$func");
+ $ret .= emit_func($addctx,$retval,"Perl_$func",@args);
+ }
+ else {
+ $ret .= undefine($func);
+ $ret .= emit_func($addctx,$retval,$func,@args);
}
}
}
print CAPI "\n";
print CAPI undefine("Perl_$sym");
if ($sym =~ /^ck_/) {
- print CAPI emit_func('OP *',"Perl_$sym",'OP *o');
+ print CAPI emit_func(0, 'OP *',"Perl_$sym",'OP *o');
}
else { # pp_foo
- print CAPI emit_func('OP *',"Perl_$sym");
+ print CAPI emit_func(0, 'OP *',"Perl_$sym");
}
}
print CAPI <<'EOT';
+#undef Perl_fprintf_nocontext
+int
+Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
+{
+ dTHXo;
+ va_list(arglist);
+ va_start(arglist, format);
+ return (*pPerl->PL_StdIO->pVprintf)(pPerl->PL_StdIO, stream, format, arglist);
+}
+
END_EXTERN_C
#endif /* PERL_OBJECT */
#endif
p |OP* |convert |I32 optype|I32 flags|OP* o
pr |void |croak |const char* pat|...
+pr |void |vcroak |const char* pat|va_list* args
#if defined(PERL_IMPLICIT_CONTEXT)
npr |void |croak_nocontext|const char* pat|...
np |OP* |die_nocontext |const char* pat|...
+np |void |deb_nocontext |const char* pat|...
np |char* |form_nocontext |const char* pat|...
np |void |warn_nocontext |const char* pat|...
+np |void |warner_nocontext|U32 err|const char* pat|...
np |SV* |newSVpvf_nocontext|const char* pat|...
np |void |sv_catpvf_nocontext|SV* sv|const char* pat|...
np |void |sv_setpvf_nocontext|SV* sv|const char* pat|...
np |void |sv_catpvf_mg_nocontext|SV* sv|const char* pat|...
np |void |sv_setpvf_mg_nocontext|SV* sv|const char* pat|...
+np |int |fprintf_nocontext|PerlIO* stream|const char* fmt|...
#endif
p |void |cv_ckproto |CV* cv|GV* gv|char* p
p |CV* |cv_clone |CV* proto
p |PPADDR_t*|get_ppaddr
p |I32 |cxinc
p |void |deb |const char* pat|...
+p |void |vdeb |const char* pat|va_list* args
p |void |deb_growlevel
p |void |debprofdump
p |I32 |debop |OP* o
|char* fromend|int delim|I32* retlen
p |void |deprecate |char* s
p |OP* |die |const char* pat|...
+p |OP* |vdie |const char* pat|va_list* args
p |OP* |die_where |char* message|STRLEN msglen
p |void |dounwind |I32 cxix
p |bool |do_aexec |SV* really|SV** mark|SV** sp
p |OP* |force_list |OP* arg
p |OP* |fold_constants |OP* arg
p |char* |form |const char* pat|...
+p |char* |vform |const char* pat|va_list* args
p |void |free_tmps
p |OP* |gen_constant_list|OP* o
#if !defined(HAS_GETENV_LEN)
p |SV* |newSVpv |const char* s|STRLEN len
p |SV* |newSVpvn |const char* s|STRLEN len
p |SV* |newSVpvf |const char* pat|...
+p |SV* |vnewSVpvf |const char* pat|va_list* args
p |SV* |newSVrv |SV* rv|const char* classname
p |SV* |newSVsv |SV* old
p |OP* |newUNOP |I32 type|I32 flags|OP* first
p |OP* |newWHILEOP |I32 flags|I32 debuggable|LOOP* loop \
|I32 whileline|OP* expr|OP* block|OP* cont
-#if defined(USE_THREADS)
-p |struct perl_thread*|new_struct_thread|struct perl_thread *t
-#endif
+
p |PERL_SI*|new_stackinfo|I32 stitems|I32 cxitems
p |PerlIO*|nextargv |GV* gv
p |char* |ninstr |const char* big|const char* bigend \
no |int |perl_run |PerlInterpreter* sv_interp
no |int |perl_parse |PerlInterpreter* sv_interp|XSINIT_t xsinit \
|int argc|char** argv|char** env
+#if defined(USE_THREADS)
+p |struct perl_thread* |new_struct_thread|struct perl_thread *t
+#endif
#endif
p |void |call_atexit |ATEXIT_t fn|void *ptr
p |I32 |call_argv |const char* sub_name|I32 flags|char** argv
p |int |sv_backoff |SV* sv
p |SV* |sv_bless |SV* sv|HV* stash
p |void |sv_catpvf |SV* sv|const char* pat|...
+p |void |sv_vcatpvf |SV* sv|const char* pat|va_list* args
p |void |sv_catpv |SV* sv|const char* ptr
p |void |sv_catpvn |SV* sv|const char* ptr|STRLEN len
p |void |sv_catsv |SV* dsv|SV* ssv
p |void |sv_report_used
p |void |sv_reset |char* s|HV* stash
p |void |sv_setpvf |SV* sv|const char* pat|...
+p |void |sv_vsetpvf |SV* sv|const char* pat|va_list* args
p |void |sv_setiv |SV* sv|IV num
p |void |sv_setpviv |SV* sv|IV num
p |void |sv_setuv |SV* sv|UV num
p |void |vivify_ref |SV* sv|U32 to_what
p |I32 |wait4pid |int pid|int* statusp|int flags
p |void |warn |const char* pat|...
+p |void |vwarn |const char* pat|va_list* args
p |void |warner |U32 err|const char* pat|...
+p |void |vwarner |U32 err|const char* pat|va_list* args
p |void |watch |char** addr
p |I32 |whichsig |char* sig
p |int |yyerror |char* s
p |int |runops_standard
p |int |runops_debug
p |void |sv_catpvf_mg |SV *sv|const char* pat|...
+p |void |sv_vcatpvf_mg |SV* sv|const char* pat|va_list* args
p |void |sv_catpv_mg |SV *sv|const char *ptr
p |void |sv_catpvn_mg |SV *sv|const char *ptr|STRLEN len
p |void |sv_catsv_mg |SV *dstr|SV *sstr
p |void |sv_setpvf_mg |SV *sv|const char* pat|...
+p |void |sv_vsetpvf_mg |SV* sv|const char* pat|va_list* args
p |void |sv_setiv_mg |SV *sv|IV i
p |void |sv_setpviv_mg |SV *sv|IV iv
p |void |sv_setuv_mg |SV *sv|UV u
p |char* |pv_display |SV *sv|char *pv|STRLEN cur|STRLEN len \
|STRLEN pvlim
p |void |dump_indent |I32 level|PerlIO *file|const char* pat|...
+p |void |dump_vindent |I32 level|PerlIO *file|const char* pat \
+ |va_list *args
p |void |do_gv_dump |I32 level|PerlIO *file|char *name|GV *sv
p |void |do_gvgv_dump |I32 level|PerlIO *file|char *name|GV *sv
p |void |do_hv_dump |I32 level|PerlIO *file|char *name|HV *sv
|I32 maxnest|bool dumpops|STRLEN pvlim
p |void |magic_dump |MAGIC *mg
p |void* |default_protect|int *excpt|protect_body_t body|...
+p |void* |vdefault_protect|int *excpt|protect_body_t body|va_list *args
p |void |reginitcolors
p |char* |sv_2pv_nolen |SV* sv
p |char* |sv_pv |SV *sv
#if defined(PERL_IN_UTIL_C) || defined(PERL_DECL_PROT)
s |SV* |mess_alloc
-rs |void |do_croak |const char *pat|va_list *args
-s |void |do_warn |const char *pat|va_list *args
-s |OP* |do_die |const char *pat|va_list *args
# if defined(LEAKTEST)
s |void |xstat |int
# endif
/* traditional MULTIPLICITY (intepreter is in a global) */
-#define PL_Sv (PL_curinterp->TSv)
-#define PL_Xpv (PL_curinterp->TXpv)
-#define PL_av_fetch_sv (PL_curinterp->Tav_fetch_sv)
-#define PL_bodytarget (PL_curinterp->Tbodytarget)
-#define PL_bostr (PL_curinterp->Tbostr)
-#define PL_chopset (PL_curinterp->Tchopset)
-#define PL_colors (PL_curinterp->Tcolors)
-#define PL_colorset (PL_curinterp->Tcolorset)
-#define PL_curcop (PL_curinterp->Tcurcop)
-#define PL_curpad (PL_curinterp->Tcurpad)
-#define PL_curpm (PL_curinterp->Tcurpm)
-#define PL_curstack (PL_curinterp->Tcurstack)
-#define PL_curstackinfo (PL_curinterp->Tcurstackinfo)
-#define PL_curstash (PL_curinterp->Tcurstash)
-#define PL_defoutgv (PL_curinterp->Tdefoutgv)
-#define PL_defstash (PL_curinterp->Tdefstash)
-#define PL_delaymagic (PL_curinterp->Tdelaymagic)
-#define PL_dirty (PL_curinterp->Tdirty)
-#define PL_dumpindent (PL_curinterp->Tdumpindent)
-#define PL_extralen (PL_curinterp->Textralen)
-#define PL_firstgv (PL_curinterp->Tfirstgv)
-#define PL_formtarget (PL_curinterp->Tformtarget)
-#define PL_hv_fetch_ent_mh (PL_curinterp->Thv_fetch_ent_mh)
-#define PL_hv_fetch_sv (PL_curinterp->Thv_fetch_sv)
-#define PL_in_eval (PL_curinterp->Tin_eval)
-#define PL_last_in_gv (PL_curinterp->Tlast_in_gv)
-#define PL_lastgotoprobe (PL_curinterp->Tlastgotoprobe)
-#define PL_lastscream (PL_curinterp->Tlastscream)
-#define PL_localizing (PL_curinterp->Tlocalizing)
-#define PL_mainstack (PL_curinterp->Tmainstack)
-#define PL_markstack (PL_curinterp->Tmarkstack)
-#define PL_markstack_max (PL_curinterp->Tmarkstack_max)
-#define PL_markstack_ptr (PL_curinterp->Tmarkstack_ptr)
-#define PL_maxscream (PL_curinterp->Tmaxscream)
-#define PL_modcount (PL_curinterp->Tmodcount)
-#define PL_na (PL_curinterp->Tna)
-#define PL_nrs (PL_curinterp->Tnrs)
-#define PL_ofs (PL_curinterp->Tofs)
-#define PL_ofslen (PL_curinterp->Tofslen)
-#define PL_op (PL_curinterp->Top)
-#define PL_opsave (PL_curinterp->Topsave)
-#define PL_protect (PL_curinterp->Tprotect)
-#define PL_reg_call_cc (PL_curinterp->Treg_call_cc)
-#define PL_reg_curpm (PL_curinterp->Treg_curpm)
-#define PL_reg_eval_set (PL_curinterp->Treg_eval_set)
-#define PL_reg_flags (PL_curinterp->Treg_flags)
-#define PL_reg_ganch (PL_curinterp->Treg_ganch)
-#define PL_reg_magic (PL_curinterp->Treg_magic)
-#define PL_reg_oldcurpm (PL_curinterp->Treg_oldcurpm)
-#define PL_reg_oldpos (PL_curinterp->Treg_oldpos)
-#define PL_reg_oldsaved (PL_curinterp->Treg_oldsaved)
-#define PL_reg_oldsavedlen (PL_curinterp->Treg_oldsavedlen)
-#define PL_reg_re (PL_curinterp->Treg_re)
-#define PL_reg_start_tmp (PL_curinterp->Treg_start_tmp)
-#define PL_reg_start_tmpl (PL_curinterp->Treg_start_tmpl)
-#define PL_reg_starttry (PL_curinterp->Treg_starttry)
-#define PL_reg_sv (PL_curinterp->Treg_sv)
-#define PL_regbol (PL_curinterp->Tregbol)
-#define PL_regcc (PL_curinterp->Tregcc)
-#define PL_regcode (PL_curinterp->Tregcode)
-#define PL_regcomp_parse (PL_curinterp->Tregcomp_parse)
-#define PL_regcomp_rx (PL_curinterp->Tregcomp_rx)
-#define PL_regcompp (PL_curinterp->Tregcompp)
-#define PL_regdata (PL_curinterp->Tregdata)
-#define PL_regdummy (PL_curinterp->Tregdummy)
-#define PL_regendp (PL_curinterp->Tregendp)
-#define PL_regeol (PL_curinterp->Tregeol)
-#define PL_regexecp (PL_curinterp->Tregexecp)
-#define PL_regflags (PL_curinterp->Tregflags)
-#define PL_regfree (PL_curinterp->Tregfree)
-#define PL_regindent (PL_curinterp->Tregindent)
-#define PL_reginput (PL_curinterp->Treginput)
-#define PL_regint_start (PL_curinterp->Tregint_start)
-#define PL_regint_string (PL_curinterp->Tregint_string)
-#define PL_reginterp_cnt (PL_curinterp->Treginterp_cnt)
-#define PL_reglastparen (PL_curinterp->Treglastparen)
-#define PL_regnarrate (PL_curinterp->Tregnarrate)
-#define PL_regnaughty (PL_curinterp->Tregnaughty)
-#define PL_regnpar (PL_curinterp->Tregnpar)
-#define PL_regprecomp (PL_curinterp->Tregprecomp)
-#define PL_regprev (PL_curinterp->Tregprev)
-#define PL_regprogram (PL_curinterp->Tregprogram)
-#define PL_regsawback (PL_curinterp->Tregsawback)
-#define PL_regseen (PL_curinterp->Tregseen)
-#define PL_regsize (PL_curinterp->Tregsize)
-#define PL_regstartp (PL_curinterp->Tregstartp)
-#define PL_regtill (PL_curinterp->Tregtill)
-#define PL_regxend (PL_curinterp->Tregxend)
-#define PL_restartop (PL_curinterp->Trestartop)
-#define PL_retstack (PL_curinterp->Tretstack)
-#define PL_retstack_ix (PL_curinterp->Tretstack_ix)
-#define PL_retstack_max (PL_curinterp->Tretstack_max)
-#define PL_rs (PL_curinterp->Trs)
-#define PL_savestack (PL_curinterp->Tsavestack)
-#define PL_savestack_ix (PL_curinterp->Tsavestack_ix)
-#define PL_savestack_max (PL_curinterp->Tsavestack_max)
-#define PL_scopestack (PL_curinterp->Tscopestack)
-#define PL_scopestack_ix (PL_curinterp->Tscopestack_ix)
-#define PL_scopestack_max (PL_curinterp->Tscopestack_max)
-#define PL_screamfirst (PL_curinterp->Tscreamfirst)
-#define PL_screamnext (PL_curinterp->Tscreamnext)
-#define PL_secondgv (PL_curinterp->Tsecondgv)
-#define PL_seen_evals (PL_curinterp->Tseen_evals)
-#define PL_seen_zerolen (PL_curinterp->Tseen_zerolen)
-#define PL_sortcop (PL_curinterp->Tsortcop)
-#define PL_sortcxix (PL_curinterp->Tsortcxix)
-#define PL_sortstash (PL_curinterp->Tsortstash)
-#define PL_stack_base (PL_curinterp->Tstack_base)
-#define PL_stack_max (PL_curinterp->Tstack_max)
-#define PL_stack_sp (PL_curinterp->Tstack_sp)
-#define PL_start_env (PL_curinterp->Tstart_env)
-#define PL_statbuf (PL_curinterp->Tstatbuf)
-#define PL_statcache (PL_curinterp->Tstatcache)
-#define PL_statgv (PL_curinterp->Tstatgv)
-#define PL_statname (PL_curinterp->Tstatname)
-#define PL_tainted (PL_curinterp->Ttainted)
-#define PL_timesbuf (PL_curinterp->Ttimesbuf)
-#define PL_tmps_floor (PL_curinterp->Ttmps_floor)
-#define PL_tmps_ix (PL_curinterp->Ttmps_ix)
-#define PL_tmps_max (PL_curinterp->Ttmps_max)
-#define PL_tmps_stack (PL_curinterp->Ttmps_stack)
-#define PL_top_env (PL_curinterp->Ttop_env)
-#define PL_toptarget (PL_curinterp->Ttoptarget)
-#define PL_watchaddr (PL_curinterp->Twatchaddr)
-#define PL_watchok (PL_curinterp->Twatchok)
+#define PL_Sv (PERL_GET_INTERP->TSv)
+#define PL_Xpv (PERL_GET_INTERP->TXpv)
+#define PL_av_fetch_sv (PERL_GET_INTERP->Tav_fetch_sv)
+#define PL_bodytarget (PERL_GET_INTERP->Tbodytarget)
+#define PL_bostr (PERL_GET_INTERP->Tbostr)
+#define PL_chopset (PERL_GET_INTERP->Tchopset)
+#define PL_colors (PERL_GET_INTERP->Tcolors)
+#define PL_colorset (PERL_GET_INTERP->Tcolorset)
+#define PL_curcop (PERL_GET_INTERP->Tcurcop)
+#define PL_curpad (PERL_GET_INTERP->Tcurpad)
+#define PL_curpm (PERL_GET_INTERP->Tcurpm)
+#define PL_curstack (PERL_GET_INTERP->Tcurstack)
+#define PL_curstackinfo (PERL_GET_INTERP->Tcurstackinfo)
+#define PL_curstash (PERL_GET_INTERP->Tcurstash)
+#define PL_defoutgv (PERL_GET_INTERP->Tdefoutgv)
+#define PL_defstash (PERL_GET_INTERP->Tdefstash)
+#define PL_delaymagic (PERL_GET_INTERP->Tdelaymagic)
+#define PL_dirty (PERL_GET_INTERP->Tdirty)
+#define PL_dumpindent (PERL_GET_INTERP->Tdumpindent)
+#define PL_extralen (PERL_GET_INTERP->Textralen)
+#define PL_firstgv (PERL_GET_INTERP->Tfirstgv)
+#define PL_formtarget (PERL_GET_INTERP->Tformtarget)
+#define PL_hv_fetch_ent_mh (PERL_GET_INTERP->Thv_fetch_ent_mh)
+#define PL_hv_fetch_sv (PERL_GET_INTERP->Thv_fetch_sv)
+#define PL_in_eval (PERL_GET_INTERP->Tin_eval)
+#define PL_last_in_gv (PERL_GET_INTERP->Tlast_in_gv)
+#define PL_lastgotoprobe (PERL_GET_INTERP->Tlastgotoprobe)
+#define PL_lastscream (PERL_GET_INTERP->Tlastscream)
+#define PL_localizing (PERL_GET_INTERP->Tlocalizing)
+#define PL_mainstack (PERL_GET_INTERP->Tmainstack)
+#define PL_markstack (PERL_GET_INTERP->Tmarkstack)
+#define PL_markstack_max (PERL_GET_INTERP->Tmarkstack_max)
+#define PL_markstack_ptr (PERL_GET_INTERP->Tmarkstack_ptr)
+#define PL_maxscream (PERL_GET_INTERP->Tmaxscream)
+#define PL_modcount (PERL_GET_INTERP->Tmodcount)
+#define PL_na (PERL_GET_INTERP->Tna)
+#define PL_nrs (PERL_GET_INTERP->Tnrs)
+#define PL_ofs (PERL_GET_INTERP->Tofs)
+#define PL_ofslen (PERL_GET_INTERP->Tofslen)
+#define PL_op (PERL_GET_INTERP->Top)
+#define PL_opsave (PERL_GET_INTERP->Topsave)
+#define PL_protect (PERL_GET_INTERP->Tprotect)
+#define PL_reg_call_cc (PERL_GET_INTERP->Treg_call_cc)
+#define PL_reg_curpm (PERL_GET_INTERP->Treg_curpm)
+#define PL_reg_eval_set (PERL_GET_INTERP->Treg_eval_set)
+#define PL_reg_flags (PERL_GET_INTERP->Treg_flags)
+#define PL_reg_ganch (PERL_GET_INTERP->Treg_ganch)
+#define PL_reg_magic (PERL_GET_INTERP->Treg_magic)
+#define PL_reg_oldcurpm (PERL_GET_INTERP->Treg_oldcurpm)
+#define PL_reg_oldpos (PERL_GET_INTERP->Treg_oldpos)
+#define PL_reg_oldsaved (PERL_GET_INTERP->Treg_oldsaved)
+#define PL_reg_oldsavedlen (PERL_GET_INTERP->Treg_oldsavedlen)
+#define PL_reg_re (PERL_GET_INTERP->Treg_re)
+#define PL_reg_start_tmp (PERL_GET_INTERP->Treg_start_tmp)
+#define PL_reg_start_tmpl (PERL_GET_INTERP->Treg_start_tmpl)
+#define PL_reg_starttry (PERL_GET_INTERP->Treg_starttry)
+#define PL_reg_sv (PERL_GET_INTERP->Treg_sv)
+#define PL_regbol (PERL_GET_INTERP->Tregbol)
+#define PL_regcc (PERL_GET_INTERP->Tregcc)
+#define PL_regcode (PERL_GET_INTERP->Tregcode)
+#define PL_regcomp_parse (PERL_GET_INTERP->Tregcomp_parse)
+#define PL_regcomp_rx (PERL_GET_INTERP->Tregcomp_rx)
+#define PL_regcompp (PERL_GET_INTERP->Tregcompp)
+#define PL_regdata (PERL_GET_INTERP->Tregdata)
+#define PL_regdummy (PERL_GET_INTERP->Tregdummy)
+#define PL_regendp (PERL_GET_INTERP->Tregendp)
+#define PL_regeol (PERL_GET_INTERP->Tregeol)
+#define PL_regexecp (PERL_GET_INTERP->Tregexecp)
+#define PL_regflags (PERL_GET_INTERP->Tregflags)
+#define PL_regfree (PERL_GET_INTERP->Tregfree)
+#define PL_regindent (PERL_GET_INTERP->Tregindent)
+#define PL_reginput (PERL_GET_INTERP->Treginput)
+#define PL_regint_start (PERL_GET_INTERP->Tregint_start)
+#define PL_regint_string (PERL_GET_INTERP->Tregint_string)
+#define PL_reginterp_cnt (PERL_GET_INTERP->Treginterp_cnt)
+#define PL_reglastparen (PERL_GET_INTERP->Treglastparen)
+#define PL_regnarrate (PERL_GET_INTERP->Tregnarrate)
+#define PL_regnaughty (PERL_GET_INTERP->Tregnaughty)
+#define PL_regnpar (PERL_GET_INTERP->Tregnpar)
+#define PL_regprecomp (PERL_GET_INTERP->Tregprecomp)
+#define PL_regprev (PERL_GET_INTERP->Tregprev)
+#define PL_regprogram (PERL_GET_INTERP->Tregprogram)
+#define PL_regsawback (PERL_GET_INTERP->Tregsawback)
+#define PL_regseen (PERL_GET_INTERP->Tregseen)
+#define PL_regsize (PERL_GET_INTERP->Tregsize)
+#define PL_regstartp (PERL_GET_INTERP->Tregstartp)
+#define PL_regtill (PERL_GET_INTERP->Tregtill)
+#define PL_regxend (PERL_GET_INTERP->Tregxend)
+#define PL_restartop (PERL_GET_INTERP->Trestartop)
+#define PL_retstack (PERL_GET_INTERP->Tretstack)
+#define PL_retstack_ix (PERL_GET_INTERP->Tretstack_ix)
+#define PL_retstack_max (PERL_GET_INTERP->Tretstack_max)
+#define PL_rs (PERL_GET_INTERP->Trs)
+#define PL_savestack (PERL_GET_INTERP->Tsavestack)
+#define PL_savestack_ix (PERL_GET_INTERP->Tsavestack_ix)
+#define PL_savestack_max (PERL_GET_INTERP->Tsavestack_max)
+#define PL_scopestack (PERL_GET_INTERP->Tscopestack)
+#define PL_scopestack_ix (PERL_GET_INTERP->Tscopestack_ix)
+#define PL_scopestack_max (PERL_GET_INTERP->Tscopestack_max)
+#define PL_screamfirst (PERL_GET_INTERP->Tscreamfirst)
+#define PL_screamnext (PERL_GET_INTERP->Tscreamnext)
+#define PL_secondgv (PERL_GET_INTERP->Tsecondgv)
+#define PL_seen_evals (PERL_GET_INTERP->Tseen_evals)
+#define PL_seen_zerolen (PERL_GET_INTERP->Tseen_zerolen)
+#define PL_sortcop (PERL_GET_INTERP->Tsortcop)
+#define PL_sortcxix (PERL_GET_INTERP->Tsortcxix)
+#define PL_sortstash (PERL_GET_INTERP->Tsortstash)
+#define PL_stack_base (PERL_GET_INTERP->Tstack_base)
+#define PL_stack_max (PERL_GET_INTERP->Tstack_max)
+#define PL_stack_sp (PERL_GET_INTERP->Tstack_sp)
+#define PL_start_env (PERL_GET_INTERP->Tstart_env)
+#define PL_statbuf (PERL_GET_INTERP->Tstatbuf)
+#define PL_statcache (PERL_GET_INTERP->Tstatcache)
+#define PL_statgv (PERL_GET_INTERP->Tstatgv)
+#define PL_statname (PERL_GET_INTERP->Tstatname)
+#define PL_tainted (PERL_GET_INTERP->Ttainted)
+#define PL_timesbuf (PERL_GET_INTERP->Ttimesbuf)
+#define PL_tmps_floor (PERL_GET_INTERP->Ttmps_floor)
+#define PL_tmps_ix (PERL_GET_INTERP->Ttmps_ix)
+#define PL_tmps_max (PERL_GET_INTERP->Ttmps_max)
+#define PL_tmps_stack (PERL_GET_INTERP->Ttmps_stack)
+#define PL_top_env (PERL_GET_INTERP->Ttop_env)
+#define PL_toptarget (PERL_GET_INTERP->Ttoptarget)
+#define PL_watchaddr (PERL_GET_INTERP->Twatchaddr)
+#define PL_watchok (PERL_GET_INTERP->Twatchok)
#endif /* !PERL_IMPLICIT_CONTEXT */
#endif /* !USE_THREADS */
/* These are always per-interpreter if there is more than one */
-#define PL_Argv (PL_curinterp->IArgv)
-#define PL_Cmd (PL_curinterp->ICmd)
-#define PL_DBcv (PL_curinterp->IDBcv)
-#define PL_DBgv (PL_curinterp->IDBgv)
-#define PL_DBline (PL_curinterp->IDBline)
-#define PL_DBsignal (PL_curinterp->IDBsignal)
-#define PL_DBsingle (PL_curinterp->IDBsingle)
-#define PL_DBsub (PL_curinterp->IDBsub)
-#define PL_DBtrace (PL_curinterp->IDBtrace)
-#define PL_Dir (PL_curinterp->IDir)
-#define PL_Env (PL_curinterp->IEnv)
-#define PL_LIO (PL_curinterp->ILIO)
-#define PL_Mem (PL_curinterp->IMem)
-#define PL_Proc (PL_curinterp->IProc)
-#define PL_Sock (PL_curinterp->ISock)
-#define PL_StdIO (PL_curinterp->IStdIO)
-#define PL_amagic_generation (PL_curinterp->Iamagic_generation)
-#define PL_ampergv (PL_curinterp->Iampergv)
-#define PL_an (PL_curinterp->Ian)
-#define PL_archpat_auto (PL_curinterp->Iarchpat_auto)
-#define PL_argvgv (PL_curinterp->Iargvgv)
-#define PL_argvoutgv (PL_curinterp->Iargvoutgv)
-#define PL_basetime (PL_curinterp->Ibasetime)
-#define PL_beginav (PL_curinterp->Ibeginav)
-#define PL_bitcount (PL_curinterp->Ibitcount)
-#define PL_bufend (PL_curinterp->Ibufend)
-#define PL_bufptr (PL_curinterp->Ibufptr)
-#define PL_cddir (PL_curinterp->Icddir)
-#define PL_collation_ix (PL_curinterp->Icollation_ix)
-#define PL_collation_name (PL_curinterp->Icollation_name)
-#define PL_collation_standard (PL_curinterp->Icollation_standard)
-#define PL_collxfrm_base (PL_curinterp->Icollxfrm_base)
-#define PL_collxfrm_mult (PL_curinterp->Icollxfrm_mult)
-#define PL_compcv (PL_curinterp->Icompcv)
-#define PL_compiling (PL_curinterp->Icompiling)
-#define PL_comppad (PL_curinterp->Icomppad)
-#define PL_comppad_name (PL_curinterp->Icomppad_name)
-#define PL_comppad_name_fill (PL_curinterp->Icomppad_name_fill)
-#define PL_comppad_name_floor (PL_curinterp->Icomppad_name_floor)
-#define PL_cop_seqmax (PL_curinterp->Icop_seqmax)
-#define PL_copline (PL_curinterp->Icopline)
-#define PL_cred_mutex (PL_curinterp->Icred_mutex)
-#define PL_cryptseen (PL_curinterp->Icryptseen)
-#define PL_cshlen (PL_curinterp->Icshlen)
-#define PL_cshname (PL_curinterp->Icshname)
-#define PL_curcopdb (PL_curinterp->Icurcopdb)
-#define PL_curstname (PL_curinterp->Icurstname)
-#define PL_curthr (PL_curinterp->Icurthr)
-#define PL_dbargs (PL_curinterp->Idbargs)
-#define PL_debdelim (PL_curinterp->Idebdelim)
-#define PL_debname (PL_curinterp->Idebname)
-#define PL_debstash (PL_curinterp->Idebstash)
-#define PL_debug (PL_curinterp->Idebug)
-#define PL_defgv (PL_curinterp->Idefgv)
-#define PL_diehook (PL_curinterp->Idiehook)
-#define PL_dlevel (PL_curinterp->Idlevel)
-#define PL_dlmax (PL_curinterp->Idlmax)
-#define PL_doextract (PL_curinterp->Idoextract)
-#define PL_doswitches (PL_curinterp->Idoswitches)
-#define PL_dowarn (PL_curinterp->Idowarn)
-#define PL_e_script (PL_curinterp->Ie_script)
-#define PL_efloatbuf (PL_curinterp->Iefloatbuf)
-#define PL_efloatsize (PL_curinterp->Iefloatsize)
-#define PL_egid (PL_curinterp->Iegid)
-#define PL_endav (PL_curinterp->Iendav)
-#define PL_envgv (PL_curinterp->Ienvgv)
-#define PL_errgv (PL_curinterp->Ierrgv)
-#define PL_error_count (PL_curinterp->Ierror_count)
-#define PL_euid (PL_curinterp->Ieuid)
-#define PL_eval_cond (PL_curinterp->Ieval_cond)
-#define PL_eval_mutex (PL_curinterp->Ieval_mutex)
-#define PL_eval_owner (PL_curinterp->Ieval_owner)
-#define PL_eval_root (PL_curinterp->Ieval_root)
-#define PL_eval_start (PL_curinterp->Ieval_start)
-#define PL_evalseq (PL_curinterp->Ievalseq)
-#define PL_exitlist (PL_curinterp->Iexitlist)
-#define PL_exitlistlen (PL_curinterp->Iexitlistlen)
-#define PL_expect (PL_curinterp->Iexpect)
-#define PL_fdpid (PL_curinterp->Ifdpid)
-#define PL_filemode (PL_curinterp->Ifilemode)
-#define PL_filter_debug (PL_curinterp->Ifilter_debug)
-#define PL_forkprocess (PL_curinterp->Iforkprocess)
-#define PL_formfeed (PL_curinterp->Iformfeed)
-#define PL_generation (PL_curinterp->Igeneration)
-#define PL_gensym (PL_curinterp->Igensym)
-#define PL_gid (PL_curinterp->Igid)
-#define PL_glob_index (PL_curinterp->Iglob_index)
-#define PL_globalstash (PL_curinterp->Iglobalstash)
-#define PL_he_root (PL_curinterp->Ihe_root)
-#define PL_hintgv (PL_curinterp->Ihintgv)
-#define PL_hints (PL_curinterp->Ihints)
-#define PL_in_clean_all (PL_curinterp->Iin_clean_all)
-#define PL_in_clean_objs (PL_curinterp->Iin_clean_objs)
-#define PL_in_my (PL_curinterp->Iin_my)
-#define PL_in_my_stash (PL_curinterp->Iin_my_stash)
-#define PL_incgv (PL_curinterp->Iincgv)
-#define PL_initav (PL_curinterp->Iinitav)
-#define PL_inplace (PL_curinterp->Iinplace)
-#define PL_last_lop (PL_curinterp->Ilast_lop)
-#define PL_last_lop_op (PL_curinterp->Ilast_lop_op)
-#define PL_last_swash_hv (PL_curinterp->Ilast_swash_hv)
-#define PL_last_swash_key (PL_curinterp->Ilast_swash_key)
-#define PL_last_swash_klen (PL_curinterp->Ilast_swash_klen)
-#define PL_last_swash_slen (PL_curinterp->Ilast_swash_slen)
-#define PL_last_swash_tmps (PL_curinterp->Ilast_swash_tmps)
-#define PL_last_uni (PL_curinterp->Ilast_uni)
-#define PL_lastfd (PL_curinterp->Ilastfd)
-#define PL_lastsize (PL_curinterp->Ilastsize)
-#define PL_lastspbase (PL_curinterp->Ilastspbase)
-#define PL_laststatval (PL_curinterp->Ilaststatval)
-#define PL_laststype (PL_curinterp->Ilaststype)
-#define PL_leftgv (PL_curinterp->Ileftgv)
-#define PL_lex_brackets (PL_curinterp->Ilex_brackets)
-#define PL_lex_brackstack (PL_curinterp->Ilex_brackstack)
-#define PL_lex_casemods (PL_curinterp->Ilex_casemods)
-#define PL_lex_casestack (PL_curinterp->Ilex_casestack)
-#define PL_lex_defer (PL_curinterp->Ilex_defer)
-#define PL_lex_dojoin (PL_curinterp->Ilex_dojoin)
-#define PL_lex_expect (PL_curinterp->Ilex_expect)
-#define PL_lex_fakebrack (PL_curinterp->Ilex_fakebrack)
-#define PL_lex_formbrack (PL_curinterp->Ilex_formbrack)
-#define PL_lex_inpat (PL_curinterp->Ilex_inpat)
-#define PL_lex_inwhat (PL_curinterp->Ilex_inwhat)
-#define PL_lex_op (PL_curinterp->Ilex_op)
-#define PL_lex_repl (PL_curinterp->Ilex_repl)
-#define PL_lex_starts (PL_curinterp->Ilex_starts)
-#define PL_lex_state (PL_curinterp->Ilex_state)
-#define PL_lex_stuff (PL_curinterp->Ilex_stuff)
-#define PL_lineary (PL_curinterp->Ilineary)
-#define PL_linestart (PL_curinterp->Ilinestart)
-#define PL_linestr (PL_curinterp->Ilinestr)
-#define PL_localpatches (PL_curinterp->Ilocalpatches)
-#define PL_main_cv (PL_curinterp->Imain_cv)
-#define PL_main_root (PL_curinterp->Imain_root)
-#define PL_main_start (PL_curinterp->Imain_start)
-#define PL_malloc_mutex (PL_curinterp->Imalloc_mutex)
-#define PL_max_intro_pending (PL_curinterp->Imax_intro_pending)
-#define PL_maxo (PL_curinterp->Imaxo)
-#define PL_maxsysfd (PL_curinterp->Imaxsysfd)
-#define PL_mess_sv (PL_curinterp->Imess_sv)
-#define PL_min_intro_pending (PL_curinterp->Imin_intro_pending)
-#define PL_minus_F (PL_curinterp->Iminus_F)
-#define PL_minus_a (PL_curinterp->Iminus_a)
-#define PL_minus_c (PL_curinterp->Iminus_c)
-#define PL_minus_l (PL_curinterp->Iminus_l)
-#define PL_minus_n (PL_curinterp->Iminus_n)
-#define PL_minus_p (PL_curinterp->Iminus_p)
-#define PL_modglobal (PL_curinterp->Imodglobal)
-#define PL_multi_close (PL_curinterp->Imulti_close)
-#define PL_multi_end (PL_curinterp->Imulti_end)
-#define PL_multi_open (PL_curinterp->Imulti_open)
-#define PL_multi_start (PL_curinterp->Imulti_start)
-#define PL_multiline (PL_curinterp->Imultiline)
-#define PL_mystrk (PL_curinterp->Imystrk)
-#define PL_nexttoke (PL_curinterp->Inexttoke)
-#define PL_nexttype (PL_curinterp->Inexttype)
-#define PL_nextval (PL_curinterp->Inextval)
-#define PL_nice_chunk (PL_curinterp->Inice_chunk)
-#define PL_nice_chunk_size (PL_curinterp->Inice_chunk_size)
-#define PL_nomemok (PL_curinterp->Inomemok)
-#define PL_nthreads (PL_curinterp->Inthreads)
-#define PL_nthreads_cond (PL_curinterp->Inthreads_cond)
-#define PL_numeric_local (PL_curinterp->Inumeric_local)
-#define PL_numeric_name (PL_curinterp->Inumeric_name)
-#define PL_numeric_radix (PL_curinterp->Inumeric_radix)
-#define PL_numeric_standard (PL_curinterp->Inumeric_standard)
-#define PL_ofmt (PL_curinterp->Iofmt)
-#define PL_oldbufptr (PL_curinterp->Ioldbufptr)
-#define PL_oldlastpm (PL_curinterp->Ioldlastpm)
-#define PL_oldname (PL_curinterp->Ioldname)
-#define PL_oldoldbufptr (PL_curinterp->Ioldoldbufptr)
-#define PL_op_mask (PL_curinterp->Iop_mask)
-#define PL_op_seqmax (PL_curinterp->Iop_seqmax)
-#define PL_origalen (PL_curinterp->Iorigalen)
-#define PL_origargc (PL_curinterp->Iorigargc)
-#define PL_origargv (PL_curinterp->Iorigargv)
-#define PL_origenviron (PL_curinterp->Iorigenviron)
-#define PL_origfilename (PL_curinterp->Iorigfilename)
-#define PL_ors (PL_curinterp->Iors)
-#define PL_orslen (PL_curinterp->Iorslen)
-#define PL_osname (PL_curinterp->Iosname)
-#define PL_pad_reset_pending (PL_curinterp->Ipad_reset_pending)
-#define PL_padix (PL_curinterp->Ipadix)
-#define PL_padix_floor (PL_curinterp->Ipadix_floor)
-#define PL_parsehook (PL_curinterp->Iparsehook)
-#define PL_patchlevel (PL_curinterp->Ipatchlevel)
-#define PL_pending_ident (PL_curinterp->Ipending_ident)
-#define PL_perl_destruct_level (PL_curinterp->Iperl_destruct_level)
-#define PL_perldb (PL_curinterp->Iperldb)
-#define PL_pidstatus (PL_curinterp->Ipidstatus)
-#define PL_preambleav (PL_curinterp->Ipreambleav)
-#define PL_preambled (PL_curinterp->Ipreambled)
-#define PL_preprocess (PL_curinterp->Ipreprocess)
-#define PL_profiledata (PL_curinterp->Iprofiledata)
-#define PL_replgv (PL_curinterp->Ireplgv)
-#define PL_rightgv (PL_curinterp->Irightgv)
-#define PL_rsfp (PL_curinterp->Irsfp)
-#define PL_rsfp_filters (PL_curinterp->Irsfp_filters)
-#define PL_runops (PL_curinterp->Irunops)
-#define PL_sawampersand (PL_curinterp->Isawampersand)
-#define PL_sawstudy (PL_curinterp->Isawstudy)
-#define PL_sawvec (PL_curinterp->Isawvec)
-#define PL_sh_path (PL_curinterp->Ish_path)
-#define PL_siggv (PL_curinterp->Isiggv)
-#define PL_sighandlerp (PL_curinterp->Isighandlerp)
-#define PL_splitstr (PL_curinterp->Isplitstr)
-#define PL_srand_called (PL_curinterp->Isrand_called)
-#define PL_statusvalue (PL_curinterp->Istatusvalue)
-#define PL_statusvalue_vms (PL_curinterp->Istatusvalue_vms)
-#define PL_stdingv (PL_curinterp->Istdingv)
-#define PL_strchop (PL_curinterp->Istrchop)
-#define PL_strtab (PL_curinterp->Istrtab)
-#define PL_strtab_mutex (PL_curinterp->Istrtab_mutex)
-#define PL_sub_generation (PL_curinterp->Isub_generation)
-#define PL_sublex_info (PL_curinterp->Isublex_info)
-#define PL_subline (PL_curinterp->Isubline)
-#define PL_subname (PL_curinterp->Isubname)
-#define PL_sv_arenaroot (PL_curinterp->Isv_arenaroot)
-#define PL_sv_count (PL_curinterp->Isv_count)
-#define PL_sv_mutex (PL_curinterp->Isv_mutex)
-#define PL_sv_no (PL_curinterp->Isv_no)
-#define PL_sv_objcount (PL_curinterp->Isv_objcount)
-#define PL_sv_root (PL_curinterp->Isv_root)
-#define PL_sv_undef (PL_curinterp->Isv_undef)
-#define PL_sv_yes (PL_curinterp->Isv_yes)
-#define PL_svref_mutex (PL_curinterp->Isvref_mutex)
-#define PL_sys_intern (PL_curinterp->Isys_intern)
-#define PL_tainting (PL_curinterp->Itainting)
-#define PL_thisexpr (PL_curinterp->Ithisexpr)
-#define PL_thr_key (PL_curinterp->Ithr_key)
-#define PL_threadnum (PL_curinterp->Ithreadnum)
-#define PL_threads_mutex (PL_curinterp->Ithreads_mutex)
-#define PL_threadsv_names (PL_curinterp->Ithreadsv_names)
-#define PL_thrsv (PL_curinterp->Ithrsv)
-#define PL_tokenbuf (PL_curinterp->Itokenbuf)
-#define PL_uid (PL_curinterp->Iuid)
-#define PL_unsafe (PL_curinterp->Iunsafe)
-#define PL_utf8_alnum (PL_curinterp->Iutf8_alnum)
-#define PL_utf8_alnumc (PL_curinterp->Iutf8_alnumc)
-#define PL_utf8_alpha (PL_curinterp->Iutf8_alpha)
-#define PL_utf8_ascii (PL_curinterp->Iutf8_ascii)
-#define PL_utf8_cntrl (PL_curinterp->Iutf8_cntrl)
-#define PL_utf8_digit (PL_curinterp->Iutf8_digit)
-#define PL_utf8_graph (PL_curinterp->Iutf8_graph)
-#define PL_utf8_lower (PL_curinterp->Iutf8_lower)
-#define PL_utf8_mark (PL_curinterp->Iutf8_mark)
-#define PL_utf8_print (PL_curinterp->Iutf8_print)
-#define PL_utf8_punct (PL_curinterp->Iutf8_punct)
-#define PL_utf8_space (PL_curinterp->Iutf8_space)
-#define PL_utf8_tolower (PL_curinterp->Iutf8_tolower)
-#define PL_utf8_totitle (PL_curinterp->Iutf8_totitle)
-#define PL_utf8_toupper (PL_curinterp->Iutf8_toupper)
-#define PL_utf8_upper (PL_curinterp->Iutf8_upper)
-#define PL_utf8_xdigit (PL_curinterp->Iutf8_xdigit)
-#define PL_uudmap (PL_curinterp->Iuudmap)
-#define PL_warnhook (PL_curinterp->Iwarnhook)
-#define PL_xiv_arenaroot (PL_curinterp->Ixiv_arenaroot)
-#define PL_xiv_root (PL_curinterp->Ixiv_root)
-#define PL_xnv_root (PL_curinterp->Ixnv_root)
-#define PL_xpv_root (PL_curinterp->Ixpv_root)
-#define PL_xrv_root (PL_curinterp->Ixrv_root)
-#define PL_yychar (PL_curinterp->Iyychar)
-#define PL_yydebug (PL_curinterp->Iyydebug)
-#define PL_yyerrflag (PL_curinterp->Iyyerrflag)
-#define PL_yylval (PL_curinterp->Iyylval)
-#define PL_yynerrs (PL_curinterp->Iyynerrs)
-#define PL_yyval (PL_curinterp->Iyyval)
+#define PL_Argv (PERL_GET_INTERP->IArgv)
+#define PL_Cmd (PERL_GET_INTERP->ICmd)
+#define PL_DBcv (PERL_GET_INTERP->IDBcv)
+#define PL_DBgv (PERL_GET_INTERP->IDBgv)
+#define PL_DBline (PERL_GET_INTERP->IDBline)
+#define PL_DBsignal (PERL_GET_INTERP->IDBsignal)
+#define PL_DBsingle (PERL_GET_INTERP->IDBsingle)
+#define PL_DBsub (PERL_GET_INTERP->IDBsub)
+#define PL_DBtrace (PERL_GET_INTERP->IDBtrace)
+#define PL_Dir (PERL_GET_INTERP->IDir)
+#define PL_Env (PERL_GET_INTERP->IEnv)
+#define PL_LIO (PERL_GET_INTERP->ILIO)
+#define PL_Mem (PERL_GET_INTERP->IMem)
+#define PL_Proc (PERL_GET_INTERP->IProc)
+#define PL_Sock (PERL_GET_INTERP->ISock)
+#define PL_StdIO (PERL_GET_INTERP->IStdIO)
+#define PL_amagic_generation (PERL_GET_INTERP->Iamagic_generation)
+#define PL_ampergv (PERL_GET_INTERP->Iampergv)
+#define PL_an (PERL_GET_INTERP->Ian)
+#define PL_archpat_auto (PERL_GET_INTERP->Iarchpat_auto)
+#define PL_argvgv (PERL_GET_INTERP->Iargvgv)
+#define PL_argvoutgv (PERL_GET_INTERP->Iargvoutgv)
+#define PL_basetime (PERL_GET_INTERP->Ibasetime)
+#define PL_beginav (PERL_GET_INTERP->Ibeginav)
+#define PL_bitcount (PERL_GET_INTERP->Ibitcount)
+#define PL_bufend (PERL_GET_INTERP->Ibufend)
+#define PL_bufptr (PERL_GET_INTERP->Ibufptr)
+#define PL_cddir (PERL_GET_INTERP->Icddir)
+#define PL_collation_ix (PERL_GET_INTERP->Icollation_ix)
+#define PL_collation_name (PERL_GET_INTERP->Icollation_name)
+#define PL_collation_standard (PERL_GET_INTERP->Icollation_standard)
+#define PL_collxfrm_base (PERL_GET_INTERP->Icollxfrm_base)
+#define PL_collxfrm_mult (PERL_GET_INTERP->Icollxfrm_mult)
+#define PL_compcv (PERL_GET_INTERP->Icompcv)
+#define PL_compiling (PERL_GET_INTERP->Icompiling)
+#define PL_comppad (PERL_GET_INTERP->Icomppad)
+#define PL_comppad_name (PERL_GET_INTERP->Icomppad_name)
+#define PL_comppad_name_fill (PERL_GET_INTERP->Icomppad_name_fill)
+#define PL_comppad_name_floor (PERL_GET_INTERP->Icomppad_name_floor)
+#define PL_cop_seqmax (PERL_GET_INTERP->Icop_seqmax)
+#define PL_copline (PERL_GET_INTERP->Icopline)
+#define PL_cred_mutex (PERL_GET_INTERP->Icred_mutex)
+#define PL_cryptseen (PERL_GET_INTERP->Icryptseen)
+#define PL_cshlen (PERL_GET_INTERP->Icshlen)
+#define PL_cshname (PERL_GET_INTERP->Icshname)
+#define PL_curcopdb (PERL_GET_INTERP->Icurcopdb)
+#define PL_curstname (PERL_GET_INTERP->Icurstname)
+#define PL_curthr (PERL_GET_INTERP->Icurthr)
+#define PL_dbargs (PERL_GET_INTERP->Idbargs)
+#define PL_debdelim (PERL_GET_INTERP->Idebdelim)
+#define PL_debname (PERL_GET_INTERP->Idebname)
+#define PL_debstash (PERL_GET_INTERP->Idebstash)
+#define PL_debug (PERL_GET_INTERP->Idebug)
+#define PL_defgv (PERL_GET_INTERP->Idefgv)
+#define PL_diehook (PERL_GET_INTERP->Idiehook)
+#define PL_dlevel (PERL_GET_INTERP->Idlevel)
+#define PL_dlmax (PERL_GET_INTERP->Idlmax)
+#define PL_doextract (PERL_GET_INTERP->Idoextract)
+#define PL_doswitches (PERL_GET_INTERP->Idoswitches)
+#define PL_dowarn (PERL_GET_INTERP->Idowarn)
+#define PL_e_script (PERL_GET_INTERP->Ie_script)
+#define PL_efloatbuf (PERL_GET_INTERP->Iefloatbuf)
+#define PL_efloatsize (PERL_GET_INTERP->Iefloatsize)
+#define PL_egid (PERL_GET_INTERP->Iegid)
+#define PL_endav (PERL_GET_INTERP->Iendav)
+#define PL_envgv (PERL_GET_INTERP->Ienvgv)
+#define PL_errgv (PERL_GET_INTERP->Ierrgv)
+#define PL_error_count (PERL_GET_INTERP->Ierror_count)
+#define PL_euid (PERL_GET_INTERP->Ieuid)
+#define PL_eval_cond (PERL_GET_INTERP->Ieval_cond)
+#define PL_eval_mutex (PERL_GET_INTERP->Ieval_mutex)
+#define PL_eval_owner (PERL_GET_INTERP->Ieval_owner)
+#define PL_eval_root (PERL_GET_INTERP->Ieval_root)
+#define PL_eval_start (PERL_GET_INTERP->Ieval_start)
+#define PL_evalseq (PERL_GET_INTERP->Ievalseq)
+#define PL_exitlist (PERL_GET_INTERP->Iexitlist)
+#define PL_exitlistlen (PERL_GET_INTERP->Iexitlistlen)
+#define PL_expect (PERL_GET_INTERP->Iexpect)
+#define PL_fdpid (PERL_GET_INTERP->Ifdpid)
+#define PL_filemode (PERL_GET_INTERP->Ifilemode)
+#define PL_filter_debug (PERL_GET_INTERP->Ifilter_debug)
+#define PL_forkprocess (PERL_GET_INTERP->Iforkprocess)
+#define PL_formfeed (PERL_GET_INTERP->Iformfeed)
+#define PL_generation (PERL_GET_INTERP->Igeneration)
+#define PL_gensym (PERL_GET_INTERP->Igensym)
+#define PL_gid (PERL_GET_INTERP->Igid)
+#define PL_glob_index (PERL_GET_INTERP->Iglob_index)
+#define PL_globalstash (PERL_GET_INTERP->Iglobalstash)
+#define PL_he_root (PERL_GET_INTERP->Ihe_root)
+#define PL_hintgv (PERL_GET_INTERP->Ihintgv)
+#define PL_hints (PERL_GET_INTERP->Ihints)
+#define PL_in_clean_all (PERL_GET_INTERP->Iin_clean_all)
+#define PL_in_clean_objs (PERL_GET_INTERP->Iin_clean_objs)
+#define PL_in_my (PERL_GET_INTERP->Iin_my)
+#define PL_in_my_stash (PERL_GET_INTERP->Iin_my_stash)
+#define PL_incgv (PERL_GET_INTERP->Iincgv)
+#define PL_initav (PERL_GET_INTERP->Iinitav)
+#define PL_inplace (PERL_GET_INTERP->Iinplace)
+#define PL_last_lop (PERL_GET_INTERP->Ilast_lop)
+#define PL_last_lop_op (PERL_GET_INTERP->Ilast_lop_op)
+#define PL_last_swash_hv (PERL_GET_INTERP->Ilast_swash_hv)
+#define PL_last_swash_key (PERL_GET_INTERP->Ilast_swash_key)
+#define PL_last_swash_klen (PERL_GET_INTERP->Ilast_swash_klen)
+#define PL_last_swash_slen (PERL_GET_INTERP->Ilast_swash_slen)
+#define PL_last_swash_tmps (PERL_GET_INTERP->Ilast_swash_tmps)
+#define PL_last_uni (PERL_GET_INTERP->Ilast_uni)
+#define PL_lastfd (PERL_GET_INTERP->Ilastfd)
+#define PL_lastsize (PERL_GET_INTERP->Ilastsize)
+#define PL_lastspbase (PERL_GET_INTERP->Ilastspbase)
+#define PL_laststatval (PERL_GET_INTERP->Ilaststatval)
+#define PL_laststype (PERL_GET_INTERP->Ilaststype)
+#define PL_leftgv (PERL_GET_INTERP->Ileftgv)
+#define PL_lex_brackets (PERL_GET_INTERP->Ilex_brackets)
+#define PL_lex_brackstack (PERL_GET_INTERP->Ilex_brackstack)
+#define PL_lex_casemods (PERL_GET_INTERP->Ilex_casemods)
+#define PL_lex_casestack (PERL_GET_INTERP->Ilex_casestack)
+#define PL_lex_defer (PERL_GET_INTERP->Ilex_defer)
+#define PL_lex_dojoin (PERL_GET_INTERP->Ilex_dojoin)
+#define PL_lex_expect (PERL_GET_INTERP->Ilex_expect)
+#define PL_lex_fakebrack (PERL_GET_INTERP->Ilex_fakebrack)
+#define PL_lex_formbrack (PERL_GET_INTERP->Ilex_formbrack)
+#define PL_lex_inpat (PERL_GET_INTERP->Ilex_inpat)
+#define PL_lex_inwhat (PERL_GET_INTERP->Ilex_inwhat)
+#define PL_lex_op (PERL_GET_INTERP->Ilex_op)
+#define PL_lex_repl (PERL_GET_INTERP->Ilex_repl)
+#define PL_lex_starts (PERL_GET_INTERP->Ilex_starts)
+#define PL_lex_state (PERL_GET_INTERP->Ilex_state)
+#define PL_lex_stuff (PERL_GET_INTERP->Ilex_stuff)
+#define PL_lineary (PERL_GET_INTERP->Ilineary)
+#define PL_linestart (PERL_GET_INTERP->Ilinestart)
+#define PL_linestr (PERL_GET_INTERP->Ilinestr)
+#define PL_localpatches (PERL_GET_INTERP->Ilocalpatches)
+#define PL_main_cv (PERL_GET_INTERP->Imain_cv)
+#define PL_main_root (PERL_GET_INTERP->Imain_root)
+#define PL_main_start (PERL_GET_INTERP->Imain_start)
+#define PL_malloc_mutex (PERL_GET_INTERP->Imalloc_mutex)
+#define PL_max_intro_pending (PERL_GET_INTERP->Imax_intro_pending)
+#define PL_maxo (PERL_GET_INTERP->Imaxo)
+#define PL_maxsysfd (PERL_GET_INTERP->Imaxsysfd)
+#define PL_mess_sv (PERL_GET_INTERP->Imess_sv)
+#define PL_min_intro_pending (PERL_GET_INTERP->Imin_intro_pending)
+#define PL_minus_F (PERL_GET_INTERP->Iminus_F)
+#define PL_minus_a (PERL_GET_INTERP->Iminus_a)
+#define PL_minus_c (PERL_GET_INTERP->Iminus_c)
+#define PL_minus_l (PERL_GET_INTERP->Iminus_l)
+#define PL_minus_n (PERL_GET_INTERP->Iminus_n)
+#define PL_minus_p (PERL_GET_INTERP->Iminus_p)
+#define PL_modglobal (PERL_GET_INTERP->Imodglobal)
+#define PL_multi_close (PERL_GET_INTERP->Imulti_close)
+#define PL_multi_end (PERL_GET_INTERP->Imulti_end)
+#define PL_multi_open (PERL_GET_INTERP->Imulti_open)
+#define PL_multi_start (PERL_GET_INTERP->Imulti_start)
+#define PL_multiline (PERL_GET_INTERP->Imultiline)
+#define PL_mystrk (PERL_GET_INTERP->Imystrk)
+#define PL_nexttoke (PERL_GET_INTERP->Inexttoke)
+#define PL_nexttype (PERL_GET_INTERP->Inexttype)
+#define PL_nextval (PERL_GET_INTERP->Inextval)
+#define PL_nice_chunk (PERL_GET_INTERP->Inice_chunk)
+#define PL_nice_chunk_size (PERL_GET_INTERP->Inice_chunk_size)
+#define PL_nomemok (PERL_GET_INTERP->Inomemok)
+#define PL_nthreads (PERL_GET_INTERP->Inthreads)
+#define PL_nthreads_cond (PERL_GET_INTERP->Inthreads_cond)
+#define PL_numeric_local (PERL_GET_INTERP->Inumeric_local)
+#define PL_numeric_name (PERL_GET_INTERP->Inumeric_name)
+#define PL_numeric_radix (PERL_GET_INTERP->Inumeric_radix)
+#define PL_numeric_standard (PERL_GET_INTERP->Inumeric_standard)
+#define PL_ofmt (PERL_GET_INTERP->Iofmt)
+#define PL_oldbufptr (PERL_GET_INTERP->Ioldbufptr)
+#define PL_oldlastpm (PERL_GET_INTERP->Ioldlastpm)
+#define PL_oldname (PERL_GET_INTERP->Ioldname)
+#define PL_oldoldbufptr (PERL_GET_INTERP->Ioldoldbufptr)
+#define PL_op_mask (PERL_GET_INTERP->Iop_mask)
+#define PL_op_seqmax (PERL_GET_INTERP->Iop_seqmax)
+#define PL_origalen (PERL_GET_INTERP->Iorigalen)
+#define PL_origargc (PERL_GET_INTERP->Iorigargc)
+#define PL_origargv (PERL_GET_INTERP->Iorigargv)
+#define PL_origenviron (PERL_GET_INTERP->Iorigenviron)
+#define PL_origfilename (PERL_GET_INTERP->Iorigfilename)
+#define PL_ors (PERL_GET_INTERP->Iors)
+#define PL_orslen (PERL_GET_INTERP->Iorslen)
+#define PL_osname (PERL_GET_INTERP->Iosname)
+#define PL_pad_reset_pending (PERL_GET_INTERP->Ipad_reset_pending)
+#define PL_padix (PERL_GET_INTERP->Ipadix)
+#define PL_padix_floor (PERL_GET_INTERP->Ipadix_floor)
+#define PL_parsehook (PERL_GET_INTERP->Iparsehook)
+#define PL_patchlevel (PERL_GET_INTERP->Ipatchlevel)
+#define PL_pending_ident (PERL_GET_INTERP->Ipending_ident)
+#define PL_perl_destruct_level (PERL_GET_INTERP->Iperl_destruct_level)
+#define PL_perldb (PERL_GET_INTERP->Iperldb)
+#define PL_pidstatus (PERL_GET_INTERP->Ipidstatus)
+#define PL_preambleav (PERL_GET_INTERP->Ipreambleav)
+#define PL_preambled (PERL_GET_INTERP->Ipreambled)
+#define PL_preprocess (PERL_GET_INTERP->Ipreprocess)
+#define PL_profiledata (PERL_GET_INTERP->Iprofiledata)
+#define PL_replgv (PERL_GET_INTERP->Ireplgv)
+#define PL_rightgv (PERL_GET_INTERP->Irightgv)
+#define PL_rsfp (PERL_GET_INTERP->Irsfp)
+#define PL_rsfp_filters (PERL_GET_INTERP->Irsfp_filters)
+#define PL_runops (PERL_GET_INTERP->Irunops)
+#define PL_sawampersand (PERL_GET_INTERP->Isawampersand)
+#define PL_sawstudy (PERL_GET_INTERP->Isawstudy)
+#define PL_sawvec (PERL_GET_INTERP->Isawvec)
+#define PL_sh_path (PERL_GET_INTERP->Ish_path)
+#define PL_siggv (PERL_GET_INTERP->Isiggv)
+#define PL_sighandlerp (PERL_GET_INTERP->Isighandlerp)
+#define PL_splitstr (PERL_GET_INTERP->Isplitstr)
+#define PL_srand_called (PERL_GET_INTERP->Isrand_called)
+#define PL_statusvalue (PERL_GET_INTERP->Istatusvalue)
+#define PL_statusvalue_vms (PERL_GET_INTERP->Istatusvalue_vms)
+#define PL_stdingv (PERL_GET_INTERP->Istdingv)
+#define PL_strchop (PERL_GET_INTERP->Istrchop)
+#define PL_strtab (PERL_GET_INTERP->Istrtab)
+#define PL_strtab_mutex (PERL_GET_INTERP->Istrtab_mutex)
+#define PL_sub_generation (PERL_GET_INTERP->Isub_generation)
+#define PL_sublex_info (PERL_GET_INTERP->Isublex_info)
+#define PL_subline (PERL_GET_INTERP->Isubline)
+#define PL_subname (PERL_GET_INTERP->Isubname)
+#define PL_sv_arenaroot (PERL_GET_INTERP->Isv_arenaroot)
+#define PL_sv_count (PERL_GET_INTERP->Isv_count)
+#define PL_sv_mutex (PERL_GET_INTERP->Isv_mutex)
+#define PL_sv_no (PERL_GET_INTERP->Isv_no)
+#define PL_sv_objcount (PERL_GET_INTERP->Isv_objcount)
+#define PL_sv_root (PERL_GET_INTERP->Isv_root)
+#define PL_sv_undef (PERL_GET_INTERP->Isv_undef)
+#define PL_sv_yes (PERL_GET_INTERP->Isv_yes)
+#define PL_svref_mutex (PERL_GET_INTERP->Isvref_mutex)
+#define PL_sys_intern (PERL_GET_INTERP->Isys_intern)
+#define PL_tainting (PERL_GET_INTERP->Itainting)
+#define PL_thisexpr (PERL_GET_INTERP->Ithisexpr)
+#define PL_thr_key (PERL_GET_INTERP->Ithr_key)
+#define PL_threadnum (PERL_GET_INTERP->Ithreadnum)
+#define PL_threads_mutex (PERL_GET_INTERP->Ithreads_mutex)
+#define PL_threadsv_names (PERL_GET_INTERP->Ithreadsv_names)
+#define PL_thrsv (PERL_GET_INTERP->Ithrsv)
+#define PL_tokenbuf (PERL_GET_INTERP->Itokenbuf)
+#define PL_uid (PERL_GET_INTERP->Iuid)
+#define PL_unsafe (PERL_GET_INTERP->Iunsafe)
+#define PL_utf8_alnum (PERL_GET_INTERP->Iutf8_alnum)
+#define PL_utf8_alnumc (PERL_GET_INTERP->Iutf8_alnumc)
+#define PL_utf8_alpha (PERL_GET_INTERP->Iutf8_alpha)
+#define PL_utf8_ascii (PERL_GET_INTERP->Iutf8_ascii)
+#define PL_utf8_cntrl (PERL_GET_INTERP->Iutf8_cntrl)
+#define PL_utf8_digit (PERL_GET_INTERP->Iutf8_digit)
+#define PL_utf8_graph (PERL_GET_INTERP->Iutf8_graph)
+#define PL_utf8_lower (PERL_GET_INTERP->Iutf8_lower)
+#define PL_utf8_mark (PERL_GET_INTERP->Iutf8_mark)
+#define PL_utf8_print (PERL_GET_INTERP->Iutf8_print)
+#define PL_utf8_punct (PERL_GET_INTERP->Iutf8_punct)
+#define PL_utf8_space (PERL_GET_INTERP->Iutf8_space)
+#define PL_utf8_tolower (PERL_GET_INTERP->Iutf8_tolower)
+#define PL_utf8_totitle (PERL_GET_INTERP->Iutf8_totitle)
+#define PL_utf8_toupper (PERL_GET_INTERP->Iutf8_toupper)
+#define PL_utf8_upper (PERL_GET_INTERP->Iutf8_upper)
+#define PL_utf8_xdigit (PERL_GET_INTERP->Iutf8_xdigit)
+#define PL_uudmap (PERL_GET_INTERP->Iuudmap)
+#define PL_warnhook (PERL_GET_INTERP->Iwarnhook)
+#define PL_xiv_arenaroot (PERL_GET_INTERP->Ixiv_arenaroot)
+#define PL_xiv_root (PERL_GET_INTERP->Ixiv_root)
+#define PL_xnv_root (PERL_GET_INTERP->Ixnv_root)
+#define PL_xpv_root (PERL_GET_INTERP->Ixpv_root)
+#define PL_xrv_root (PERL_GET_INTERP->Ixrv_root)
+#define PL_yychar (PERL_GET_INTERP->Iyychar)
+#define PL_yydebug (PERL_GET_INTERP->Iyydebug)
+#define PL_yyerrflag (PERL_GET_INTERP->Iyyerrflag)
+#define PL_yylval (PERL_GET_INTERP->Iyylval)
+#define PL_yynerrs (PERL_GET_INTERP->Iyynerrs)
+#define PL_yyval (PERL_GET_INTERP->Iyyval)
#else /* !MULTIPLICITY */
*
*/
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
static void
freadpv(U32 len, void *data, XPV *pv)
{
+ dTHX;
New(666, pv->xpv_pv, len, char);
PerlIO_read((PerlIO*)data, (void*)pv->xpv_pv, len);
pv->xpv_len = len;
* This file is autogenerated from bytecode.pl. Changes made here will be lost.
*/
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#define NO_XSLOCKS
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
* modify it under the same terms as Perl itself.
*/
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#define PERLIO_NOT_STDIO 1
#include "perl.h"
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
#ifdef WIN32
#define _POSIX_
#endif
+
+#define PERL_NO_GET_CONTEXT
+
#include "EXTERN.h"
#define PERLIO_NOT_STDIO 1
#include "perl.h"
#include "XSUB.h"
-#ifdef PERL_OBJECT /* XXX _very_ temporary hacks */
+#if defined(PERL_OBJECT) || defined(PERL_CAPI)
# undef signal
# undef open
# undef setmode
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
static int
my_inet_aton(register const char *cp, struct in_addr *addr)
{
+ dTHX;
register U32 val;
register int base;
register char c;
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
static Signal_t
handle_thread_signal(int sig)
{
+ dTHXo;
unsigned char c = (unsigned char) sig;
/*
* We're not really allowed to call fprintf in a signal handler
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
# define DEBUGGING
#endif
+#define PERL_NO_GET_CONTEXT
#include "EXTERN.h"
#include "perl.h"
#include "XSUB.h"
Perl_condpair_magic
Perl_convert
Perl_croak
+Perl_vcroak
Perl_croak_nocontext
Perl_die_nocontext
+Perl_deb_nocontext
Perl_form_nocontext
Perl_warn_nocontext
+Perl_warner_nocontext
Perl_newSVpvf_nocontext
Perl_sv_catpvf_nocontext
Perl_sv_setpvf_nocontext
Perl_sv_catpvf_mg_nocontext
Perl_sv_setpvf_mg_nocontext
+Perl_fprintf_nocontext
Perl_cv_ckproto
Perl_cv_clone
Perl_cv_const_sv
Perl_get_ppaddr
Perl_cxinc
Perl_deb
+Perl_vdeb
Perl_deb_growlevel
Perl_debprofdump
Perl_debop
Perl_delimcpy
Perl_deprecate
Perl_die
+Perl_vdie
Perl_die_where
Perl_dounwind
Perl_do_aexec
Perl_force_list
Perl_fold_constants
Perl_form
+Perl_vform
Perl_free_tmps
Perl_gen_constant_list
Perl_getenv_len
Perl_newSVpv
Perl_newSVpvn
Perl_newSVpvf
+Perl_vnewSVpvf
Perl_newSVrv
Perl_newSVsv
Perl_newUNOP
Perl_newWHILEOP
-Perl_new_struct_thread
Perl_new_stackinfo
Perl_nextargv
Perl_ninstr
perl_free
perl_run
perl_parse
+Perl_new_struct_thread
Perl_call_atexit
Perl_call_argv
Perl_call_method
Perl_sv_backoff
Perl_sv_bless
Perl_sv_catpvf
+Perl_sv_vcatpvf
Perl_sv_catpv
Perl_sv_catpvn
Perl_sv_catsv
Perl_sv_report_used
Perl_sv_reset
Perl_sv_setpvf
+Perl_sv_vsetpvf
Perl_sv_setiv
Perl_sv_setpviv
Perl_sv_setuv
Perl_vivify_ref
Perl_wait4pid
Perl_warn
+Perl_vwarn
Perl_warner
+Perl_vwarner
Perl_watch
Perl_whichsig
Perl_yyerror
Perl_runops_standard
Perl_runops_debug
Perl_sv_catpvf_mg
+Perl_sv_vcatpvf_mg
Perl_sv_catpv_mg
Perl_sv_catpvn_mg
Perl_sv_catsv_mg
Perl_sv_setpvf_mg
+Perl_sv_vsetpvf_mg
Perl_sv_setiv_mg
Perl_sv_setpviv_mg
Perl_sv_setuv_mg
Perl_get_vtbl
Perl_pv_display
Perl_dump_indent
+Perl_dump_vindent
Perl_do_gv_dump
Perl_do_gvgv_dump
Perl_do_hv_dump
Perl_do_sv_dump
Perl_magic_dump
Perl_default_protect
+Perl_vdefault_protect
Perl_reginitcolors
Perl_sv_2pv_nolen
Perl_sv_pv
{
}
-int
-CPerlObj::fprintf(PerlIO *stream, const char *format, ...)
-{
- va_list(arglist);
- va_start(arglist, format);
- return PerlIO_vprintf(stream, format, arglist);
-}
-
#ifdef WIN32 /* XXX why are these needed? */
bool
Perl_do_exec(char *cmd)
#endif /* WIN32 */
#endif /* PERL_OBJECT */
+
+int
+Perl_fprintf_nocontext(PerlIO *stream, const char *format, ...)
+{
+ dTHX;
+ va_list(arglist);
+ va_start(arglist, format);
+ return PerlIO_vprintf(stream, format, arglist);
+}
#endif /* USE_THREADS */
-#ifdef PERL_OBJECT
-PERLVARI(IMem, IPerlMem*, NULL)
-PERLVARI(IEnv, IPerlEnv*, NULL)
-PERLVARI(IStdIO, IPerlStdIO*, NULL)
-PERLVARI(ILIO, IPerlLIO*, NULL)
-PERLVARI(IDir, IPerlDir*, NULL)
-PERLVARI(ISock, IPerlSock*, NULL)
-PERLVARI(IProc, IPerlProc*, NULL)
+#if defined(PERL_IMPLICIT_SYS)
+PERLVARI(IMem, struct IPerlMem*, NULL)
+PERLVARI(IEnv, struct IPerlEnv*, NULL)
+PERLVARI(IStdIO, struct IPerlStdIO*, NULL)
+PERLVARI(ILIO, struct IPerlLIO*, NULL)
+PERLVARI(IDir, struct IPerlDir*, NULL)
+PERLVARI(ISock, struct IPerlSock*, NULL)
+PERLVARI(IProc, struct IPerlProc*, NULL)
#endif
extern void PerlIO_init (void);
#endif
-#ifdef PERL_OBJECT
+#if defined(PERL_IMPLICIT_SYS)
#ifndef PerlIO
typedef struct _PerlIO PerlIO;
(*PL_StdIO->pSetPtrCnt)(PL_StdIO, (f), (p), (c))
#define PerlIO_setlinebuf(f) \
(*PL_StdIO->pSetlinebuf)(PL_StdIO, (f))
-#define PerlIO_printf fprintf
+#define PerlIO_printf Perl_fprintf_nocontext
#define PerlIO_stdoutf *PL_StdIO->pPrintf
#define PerlIO_vprintf(f,fmt,a) \
(*PL_StdIO->pVprintf)(PL_StdIO, (f),(fmt),a)
#define PerlIO_init() \
(*PL_StdIO->pInit)(PL_StdIO)
#undef init_os_extras
-#define init_os_extras(x) \
+#define init_os_extras() \
(*PL_StdIO->pInitOSExtras)(PL_StdIO)
-#else /* PERL_OBJECT */
+#else /* PERL_IMPLICIT_SYS */
#include "perlsdio.h"
-#endif /* PERL_OBJECT */
+#endif /* PERL_IMPLICIT_SYS */
#ifndef PERLIO_IS_STDIO
#ifdef USE_SFIO
* Interface for directory functions
*/
-#ifdef PERL_OBJECT
+#if defined(PERL_IMPLICIT_SYS)
/* IPerlDir */
struct IPerlDir;
#define PerlDir_tell(dir) \
(*PL_Dir->pTell)(PL_Dir, (dir))
-#else /* PERL_OBJECT */
+#else /* PERL_IMPLICIT_SYS */
#define PerlDir_mkdir(name, mode) Mkdir((name), (mode))
#ifdef VMS
#define PerlDir_seek(dir, loc) seekdir((dir), (loc))
#define PerlDir_tell(dir) telldir((dir))
-#endif /* PERL_OBJECT */
+#endif /* PERL_IMPLICIT_SYS */
/*
Interface for perl environment functions
*/
-#ifdef PERL_OBJECT
+#if defined(PERL_IMPLICIT_SYS)
/* IPerlEnv */
struct IPerlEnv;
(*PL_Env->pSiteLibPath)(PL_Env,(str))
#endif
-#else /* PERL_OBJECT */
+#else /* PERL_IMPLICIT_SYS */
#define PerlEnv_putenv(str) putenv((str))
#define PerlEnv_getenv(str) getenv((str))
#define PerlEnv_os_id() win32_os_id()
#endif
-#endif /* PERL_OBJECT */
+#endif /* PERL_IMPLICIT_SYS */
/*
Interface for perl low-level IO functions
*/
-#ifdef PERL_OBJECT
+#if defined(PERL_IMPLICIT_SYS)
/* IPerlLIO */
struct IPerlLIO;
#define PerlLIO_write(fd, buf, count) \
(*PL_LIO->pWrite)(PL_LIO, (fd), (buf), (count))
-#else /* PERL_OBJECT */
+#else /* PERL_IMPLICIT_SYS */
#define PerlLIO_access(file, mode) access((file), (mode))
#define PerlLIO_chmod(file, mode) chmod((file), (mode))
#define PerlLIO_utime(file, time) utime((file), (time))
#define PerlLIO_write(fd, buf, count) write((fd), (buf), (count))
-#endif /* PERL_OBJECT */
+#endif /* PERL_IMPLICIT_SYS */
/*
Interface for perl memory allocation
*/
-#ifdef PERL_OBJECT
+#if defined(PERL_IMPLICIT_SYS)
/* IPerlMem */
struct IPerlMem;
#define PerlMem_free(buf) \
(*PL_Mem->pFree)(PL_Mem, (buf))
-#else /* PERL_OBJECT */
+#else /* PERL_IMPLICIT_SYS */
#define PerlMem_malloc(size) malloc((size))
#define PerlMem_realloc(buf, size) realloc((buf), (size))
#define PerlMem_free(buf) free((buf))
-#endif /* PERL_OBJECT */
+#endif /* PERL_IMPLICIT_SYS */
/*
Interface for perl process functions
*/
-#ifdef PERL_OBJECT
+#if defined(PERL_IMPLICIT_SYS)
#ifndef Sighandler_t
typedef Signal_t (*Sighandler_t) (int);
(*PL_Proc->pASpawn)(PL_Proc, (m), (c), (a))
#endif
-#else /* PERL_OBJECT */
+#else /* PERL_IMPLICIT_SYS */
#define PerlProc_abort() abort()
#define PerlProc_crypt(c,s) crypt((c), (s))
#ifdef WIN32
#define PerlProc_DynaLoad(f) \
- win32_dynaload(aTHX_ (f))
+ win32_dynaload((f))
#define PerlProc_GetOSError(s,e) \
- win32_str_os_error(aTHX_ (s), (e))
+ win32_str_os_error((s), (e))
#endif
-#endif /* PERL_OBJECT */
+#endif /* PERL_IMPLICIT_SYS */
/*
Interface for perl socket functions
*/
-#ifdef PERL_OBJECT
+#if defined(PERL_IMPLICIT_SYS)
/* PerlSock */
struct IPerlSock;
(*PL_Sock->pClosesocket)(PL_Sock, s)
#endif
-#else /* PERL_OBJECT */
+#else /* PERL_IMPLICIT_SYS */
#define PerlSock_htonl(x) htonl(x)
#define PerlSock_htons(x) htons(x)
#define PerlSock_closesocket(s) closesocket(s)
#endif
-#endif /* PERL_OBJECT */
+#endif /* PERL_IMPLICIT_SYS */
/* Mention
$self->{uc $_} ||= $cflags{$_}
}
- if ($self->{CAPI} && $Is_PERL_OBJECT) {
- $self->{CCFLAGS} =~ s/-DPERL_OBJECT(\s|$)//;
- $self->{CCFLAGS} .= ' -DPERL_CAPI ';
+ if ($Is_PERL_OBJECT) {
+ $self->{CCFLAGS} =~ s/-DPERL_OBJECT(\b|$)/-DPERL_CAPI/g;
if ($Is_Win32 && $Config{'cc'} =~ /^cl.exe/i) {
# Turn off C++ mode of the MSC compiler
$self->{CCFLAGS} =~ s/-TP(\s|$)//;
}
}
- my $xsubpp = $self->{CAPI} ? "xsubpp -object_capi" : "xsubpp";
+ my $xsubpp = "xsubpp";
return qq{
XSUBPPDIR = $xsdir
sub perl_archive
{
my ($self) = @_;
- if($OBJ) {
- if ($self->{CAPI}) {
- return '$(PERL_INC)\perlCAPI$(LIB_EXT)';
- }
- }
return '$(PERL_INC)\\'.$Config{'libperl'};
}
=item CAPI
+[This attribute is obsolete in Perl 5.6. PERL_OBJECT builds are C-compatible
+by default.]
+
Switch to force usage of the Perl C API even when compiling for PERL_OBJECT.
Note that this attribute is passed through to any recursive build,
=head1 SYNOPSIS
-B<xsubpp> [B<-v>] [B<-C++>] [B<-except>] [B<-s pattern>] [B<-prototypes>] [B<-noversioncheck>] [B<-nolinenumbers>] [B<-typemap typemap>] [B<-object_capi>]... file.xs
+B<xsubpp> [B<-v>] [B<-C++>] [B<-except>] [B<-s pattern>] [B<-prototypes>] [B<-noversioncheck>] [B<-nolinenumbers>] [B<-typemap typemap>] ... file.xs
=head1 DESCRIPTION
Prevents the inclusion of `#line' directives in the output.
-=item B<-object_capi>
-
-Compile code as C in a PERL_OBJECT environment.
-
-back
+=back
=head1 ENVIRONMENT
$WantPrototypes = 1, next SWITCH if $flag eq 'prototypes';
$WantVersionChk = 0, next SWITCH if $flag eq 'noversioncheck';
$WantVersionChk = 1, next SWITCH if $flag eq 'versioncheck';
+ # XXX left this in for compat
$WantCAPI = 1, next SWITCH if $flag eq 'object_capi';
$except = " TRY", next SWITCH if $flag eq 'except';
push(@tm,shift), next SWITCH if $flag eq 'typemap';
##endif
EOF
-if ($WantCAPI) {
-print Q<<"EOF";
-##ifdef PERL_CAPI
-#XS(boot__CAPI_entry)
-##else
-EOF
-}
-
print Q<<"EOF";
#XS(boot_$Module_cname)
EOF
-if ($WantCAPI) {
-print Q<<"EOF";
-##endif /* PERL_CAPI */
-EOF
-}
-
print Q<<"EOF";
#[[
# dXSARGS;
#
EOF
-if ($WantCAPI) {
-print Q<<"EOF";
-##ifdef PERL_CAPI
-##define XSCAPI(name) void name(void *pPerl, CV* cv)
-#
-##ifdef __cplusplus
-#extern "C"
-##endif
-#XSCAPI(boot_$Module_cname)
-#[[
-# boot_CAPI_handler(cv, boot__CAPI_entry, pPerl);
-#]]
-##endif /* PERL_CAPI */
-EOF
-}
-
warn("Please specify prototyping behavior for $filename (see perlxs manual)\n")
unless $ProtoUsed ;
&Exit;
# Only ignore "Can't locate" errors from our eval require.
# Other fatal errors (syntax etc) must be reported.
die if $@ && $@ !~ /^Can't locate .*? at \(eval /;
- unless (defined %{"$base\::"}) {
+ unless (%{"$base\::"}) {
require Carp;
Carp::croak("Base class package \"$base\" is empty.\n",
"\t(Perhaps you need to 'use' the module ",
# define dTHX extern int Perl___notused
# define WITH_THX(s) s
# endif
+# ifndef PERL_GET_INTERP
+# define PERL_GET_INTERP PL_curinterp
+# endif
#endif
#ifndef MUTEX_LOCK
#ifdef DEBUGGING
# undef DEBUG_m
-# define DEBUG_m(a) if (PL_curinterp && PL_debug & 128) a
+# define DEBUG_m(a) if (PERL_GET_INTERP && PL_debug & 128) a
#endif
/*
/* Variables */
#undef PL_Argv
-#define PL_Argv (*Perl_IArgv_ptr(pPerl))
+#define PL_Argv (*Perl_IArgv_ptr(aTHXo))
#undef PL_Cmd
-#define PL_Cmd (*Perl_ICmd_ptr(pPerl))
+#define PL_Cmd (*Perl_ICmd_ptr(aTHXo))
#undef PL_DBcv
-#define PL_DBcv (*Perl_IDBcv_ptr(pPerl))
+#define PL_DBcv (*Perl_IDBcv_ptr(aTHXo))
#undef PL_DBgv
-#define PL_DBgv (*Perl_IDBgv_ptr(pPerl))
+#define PL_DBgv (*Perl_IDBgv_ptr(aTHXo))
#undef PL_DBline
-#define PL_DBline (*Perl_IDBline_ptr(pPerl))
+#define PL_DBline (*Perl_IDBline_ptr(aTHXo))
#undef PL_DBsignal
-#define PL_DBsignal (*Perl_IDBsignal_ptr(pPerl))
+#define PL_DBsignal (*Perl_IDBsignal_ptr(aTHXo))
#undef PL_DBsingle
-#define PL_DBsingle (*Perl_IDBsingle_ptr(pPerl))
+#define PL_DBsingle (*Perl_IDBsingle_ptr(aTHXo))
#undef PL_DBsub
-#define PL_DBsub (*Perl_IDBsub_ptr(pPerl))
+#define PL_DBsub (*Perl_IDBsub_ptr(aTHXo))
#undef PL_DBtrace
-#define PL_DBtrace (*Perl_IDBtrace_ptr(pPerl))
+#define PL_DBtrace (*Perl_IDBtrace_ptr(aTHXo))
#undef PL_Dir
-#define PL_Dir (*Perl_IDir_ptr(pPerl))
+#define PL_Dir (*Perl_IDir_ptr(aTHXo))
#undef PL_Env
-#define PL_Env (*Perl_IEnv_ptr(pPerl))
+#define PL_Env (*Perl_IEnv_ptr(aTHXo))
#undef PL_LIO
-#define PL_LIO (*Perl_ILIO_ptr(pPerl))
+#define PL_LIO (*Perl_ILIO_ptr(aTHXo))
#undef PL_Mem
-#define PL_Mem (*Perl_IMem_ptr(pPerl))
+#define PL_Mem (*Perl_IMem_ptr(aTHXo))
#undef PL_Proc
-#define PL_Proc (*Perl_IProc_ptr(pPerl))
+#define PL_Proc (*Perl_IProc_ptr(aTHXo))
#undef PL_Sock
-#define PL_Sock (*Perl_ISock_ptr(pPerl))
+#define PL_Sock (*Perl_ISock_ptr(aTHXo))
#undef PL_StdIO
-#define PL_StdIO (*Perl_IStdIO_ptr(pPerl))
+#define PL_StdIO (*Perl_IStdIO_ptr(aTHXo))
#undef PL_amagic_generation
-#define PL_amagic_generation (*Perl_Iamagic_generation_ptr(pPerl))
+#define PL_amagic_generation (*Perl_Iamagic_generation_ptr(aTHXo))
#undef PL_ampergv
-#define PL_ampergv (*Perl_Iampergv_ptr(pPerl))
+#define PL_ampergv (*Perl_Iampergv_ptr(aTHXo))
#undef PL_an
-#define PL_an (*Perl_Ian_ptr(pPerl))
+#define PL_an (*Perl_Ian_ptr(aTHXo))
#undef PL_archpat_auto
-#define PL_archpat_auto (*Perl_Iarchpat_auto_ptr(pPerl))
+#define PL_archpat_auto (*Perl_Iarchpat_auto_ptr(aTHXo))
#undef PL_argvgv
-#define PL_argvgv (*Perl_Iargvgv_ptr(pPerl))
+#define PL_argvgv (*Perl_Iargvgv_ptr(aTHXo))
#undef PL_argvoutgv
-#define PL_argvoutgv (*Perl_Iargvoutgv_ptr(pPerl))
+#define PL_argvoutgv (*Perl_Iargvoutgv_ptr(aTHXo))
#undef PL_basetime
-#define PL_basetime (*Perl_Ibasetime_ptr(pPerl))
+#define PL_basetime (*Perl_Ibasetime_ptr(aTHXo))
#undef PL_beginav
-#define PL_beginav (*Perl_Ibeginav_ptr(pPerl))
+#define PL_beginav (*Perl_Ibeginav_ptr(aTHXo))
#undef PL_bitcount
-#define PL_bitcount (*Perl_Ibitcount_ptr(pPerl))
+#define PL_bitcount (*Perl_Ibitcount_ptr(aTHXo))
#undef PL_bufend
-#define PL_bufend (*Perl_Ibufend_ptr(pPerl))
+#define PL_bufend (*Perl_Ibufend_ptr(aTHXo))
#undef PL_bufptr
-#define PL_bufptr (*Perl_Ibufptr_ptr(pPerl))
+#define PL_bufptr (*Perl_Ibufptr_ptr(aTHXo))
#undef PL_cddir
-#define PL_cddir (*Perl_Icddir_ptr(pPerl))
+#define PL_cddir (*Perl_Icddir_ptr(aTHXo))
#undef PL_collation_ix
-#define PL_collation_ix (*Perl_Icollation_ix_ptr(pPerl))
+#define PL_collation_ix (*Perl_Icollation_ix_ptr(aTHXo))
#undef PL_collation_name
-#define PL_collation_name (*Perl_Icollation_name_ptr(pPerl))
+#define PL_collation_name (*Perl_Icollation_name_ptr(aTHXo))
#undef PL_collation_standard
-#define PL_collation_standard (*Perl_Icollation_standard_ptr(pPerl))
+#define PL_collation_standard (*Perl_Icollation_standard_ptr(aTHXo))
#undef PL_collxfrm_base
-#define PL_collxfrm_base (*Perl_Icollxfrm_base_ptr(pPerl))
+#define PL_collxfrm_base (*Perl_Icollxfrm_base_ptr(aTHXo))
#undef PL_collxfrm_mult
-#define PL_collxfrm_mult (*Perl_Icollxfrm_mult_ptr(pPerl))
+#define PL_collxfrm_mult (*Perl_Icollxfrm_mult_ptr(aTHXo))
#undef PL_compcv
-#define PL_compcv (*Perl_Icompcv_ptr(pPerl))
+#define PL_compcv (*Perl_Icompcv_ptr(aTHXo))
#undef PL_compiling
-#define PL_compiling (*Perl_Icompiling_ptr(pPerl))
+#define PL_compiling (*Perl_Icompiling_ptr(aTHXo))
#undef PL_comppad
-#define PL_comppad (*Perl_Icomppad_ptr(pPerl))
+#define PL_comppad (*Perl_Icomppad_ptr(aTHXo))
#undef PL_comppad_name
-#define PL_comppad_name (*Perl_Icomppad_name_ptr(pPerl))
+#define PL_comppad_name (*Perl_Icomppad_name_ptr(aTHXo))
#undef PL_comppad_name_fill
-#define PL_comppad_name_fill (*Perl_Icomppad_name_fill_ptr(pPerl))
+#define PL_comppad_name_fill (*Perl_Icomppad_name_fill_ptr(aTHXo))
#undef PL_comppad_name_floor
-#define PL_comppad_name_floor (*Perl_Icomppad_name_floor_ptr(pPerl))
+#define PL_comppad_name_floor (*Perl_Icomppad_name_floor_ptr(aTHXo))
#undef PL_cop_seqmax
-#define PL_cop_seqmax (*Perl_Icop_seqmax_ptr(pPerl))
+#define PL_cop_seqmax (*Perl_Icop_seqmax_ptr(aTHXo))
#undef PL_copline
-#define PL_copline (*Perl_Icopline_ptr(pPerl))
+#define PL_copline (*Perl_Icopline_ptr(aTHXo))
#undef PL_cred_mutex
-#define PL_cred_mutex (*Perl_Icred_mutex_ptr(pPerl))
+#define PL_cred_mutex (*Perl_Icred_mutex_ptr(aTHXo))
#undef PL_cryptseen
-#define PL_cryptseen (*Perl_Icryptseen_ptr(pPerl))
+#define PL_cryptseen (*Perl_Icryptseen_ptr(aTHXo))
#undef PL_cshlen
-#define PL_cshlen (*Perl_Icshlen_ptr(pPerl))
+#define PL_cshlen (*Perl_Icshlen_ptr(aTHXo))
#undef PL_cshname
-#define PL_cshname (*Perl_Icshname_ptr(pPerl))
+#define PL_cshname (*Perl_Icshname_ptr(aTHXo))
#undef PL_curcopdb
-#define PL_curcopdb (*Perl_Icurcopdb_ptr(pPerl))
+#define PL_curcopdb (*Perl_Icurcopdb_ptr(aTHXo))
#undef PL_curstname
-#define PL_curstname (*Perl_Icurstname_ptr(pPerl))
+#define PL_curstname (*Perl_Icurstname_ptr(aTHXo))
#undef PL_curthr
-#define PL_curthr (*Perl_Icurthr_ptr(pPerl))
+#define PL_curthr (*Perl_Icurthr_ptr(aTHXo))
#undef PL_dbargs
-#define PL_dbargs (*Perl_Idbargs_ptr(pPerl))
+#define PL_dbargs (*Perl_Idbargs_ptr(aTHXo))
#undef PL_debdelim
-#define PL_debdelim (*Perl_Idebdelim_ptr(pPerl))
+#define PL_debdelim (*Perl_Idebdelim_ptr(aTHXo))
#undef PL_debname
-#define PL_debname (*Perl_Idebname_ptr(pPerl))
+#define PL_debname (*Perl_Idebname_ptr(aTHXo))
#undef PL_debstash
-#define PL_debstash (*Perl_Idebstash_ptr(pPerl))
+#define PL_debstash (*Perl_Idebstash_ptr(aTHXo))
#undef PL_debug
-#define PL_debug (*Perl_Idebug_ptr(pPerl))
+#define PL_debug (*Perl_Idebug_ptr(aTHXo))
#undef PL_defgv
-#define PL_defgv (*Perl_Idefgv_ptr(pPerl))
+#define PL_defgv (*Perl_Idefgv_ptr(aTHXo))
#undef PL_diehook
-#define PL_diehook (*Perl_Idiehook_ptr(pPerl))
+#define PL_diehook (*Perl_Idiehook_ptr(aTHXo))
#undef PL_dlevel
-#define PL_dlevel (*Perl_Idlevel_ptr(pPerl))
+#define PL_dlevel (*Perl_Idlevel_ptr(aTHXo))
#undef PL_dlmax
-#define PL_dlmax (*Perl_Idlmax_ptr(pPerl))
+#define PL_dlmax (*Perl_Idlmax_ptr(aTHXo))
#undef PL_doextract
-#define PL_doextract (*Perl_Idoextract_ptr(pPerl))
+#define PL_doextract (*Perl_Idoextract_ptr(aTHXo))
#undef PL_doswitches
-#define PL_doswitches (*Perl_Idoswitches_ptr(pPerl))
+#define PL_doswitches (*Perl_Idoswitches_ptr(aTHXo))
#undef PL_dowarn
-#define PL_dowarn (*Perl_Idowarn_ptr(pPerl))
+#define PL_dowarn (*Perl_Idowarn_ptr(aTHXo))
#undef PL_e_script
-#define PL_e_script (*Perl_Ie_script_ptr(pPerl))
+#define PL_e_script (*Perl_Ie_script_ptr(aTHXo))
#undef PL_efloatbuf
-#define PL_efloatbuf (*Perl_Iefloatbuf_ptr(pPerl))
+#define PL_efloatbuf (*Perl_Iefloatbuf_ptr(aTHXo))
#undef PL_efloatsize
-#define PL_efloatsize (*Perl_Iefloatsize_ptr(pPerl))
+#define PL_efloatsize (*Perl_Iefloatsize_ptr(aTHXo))
#undef PL_egid
-#define PL_egid (*Perl_Iegid_ptr(pPerl))
+#define PL_egid (*Perl_Iegid_ptr(aTHXo))
#undef PL_endav
-#define PL_endav (*Perl_Iendav_ptr(pPerl))
+#define PL_endav (*Perl_Iendav_ptr(aTHXo))
#undef PL_envgv
-#define PL_envgv (*Perl_Ienvgv_ptr(pPerl))
+#define PL_envgv (*Perl_Ienvgv_ptr(aTHXo))
#undef PL_errgv
-#define PL_errgv (*Perl_Ierrgv_ptr(pPerl))
+#define PL_errgv (*Perl_Ierrgv_ptr(aTHXo))
#undef PL_error_count
-#define PL_error_count (*Perl_Ierror_count_ptr(pPerl))
+#define PL_error_count (*Perl_Ierror_count_ptr(aTHXo))
#undef PL_euid
-#define PL_euid (*Perl_Ieuid_ptr(pPerl))
+#define PL_euid (*Perl_Ieuid_ptr(aTHXo))
#undef PL_eval_cond
-#define PL_eval_cond (*Perl_Ieval_cond_ptr(pPerl))
+#define PL_eval_cond (*Perl_Ieval_cond_ptr(aTHXo))
#undef PL_eval_mutex
-#define PL_eval_mutex (*Perl_Ieval_mutex_ptr(pPerl))
+#define PL_eval_mutex (*Perl_Ieval_mutex_ptr(aTHXo))
#undef PL_eval_owner
-#define PL_eval_owner (*Perl_Ieval_owner_ptr(pPerl))
+#define PL_eval_owner (*Perl_Ieval_owner_ptr(aTHXo))
#undef PL_eval_root
-#define PL_eval_root (*Perl_Ieval_root_ptr(pPerl))
+#define PL_eval_root (*Perl_Ieval_root_ptr(aTHXo))
#undef PL_eval_start
-#define PL_eval_start (*Perl_Ieval_start_ptr(pPerl))
+#define PL_eval_start (*Perl_Ieval_start_ptr(aTHXo))
#undef PL_evalseq
-#define PL_evalseq (*Perl_Ievalseq_ptr(pPerl))
+#define PL_evalseq (*Perl_Ievalseq_ptr(aTHXo))
#undef PL_exitlist
-#define PL_exitlist (*Perl_Iexitlist_ptr(pPerl))
+#define PL_exitlist (*Perl_Iexitlist_ptr(aTHXo))
#undef PL_exitlistlen
-#define PL_exitlistlen (*Perl_Iexitlistlen_ptr(pPerl))
+#define PL_exitlistlen (*Perl_Iexitlistlen_ptr(aTHXo))
#undef PL_expect
-#define PL_expect (*Perl_Iexpect_ptr(pPerl))
+#define PL_expect (*Perl_Iexpect_ptr(aTHXo))
#undef PL_fdpid
-#define PL_fdpid (*Perl_Ifdpid_ptr(pPerl))
+#define PL_fdpid (*Perl_Ifdpid_ptr(aTHXo))
#undef PL_filemode
-#define PL_filemode (*Perl_Ifilemode_ptr(pPerl))
+#define PL_filemode (*Perl_Ifilemode_ptr(aTHXo))
#undef PL_filter_debug
-#define PL_filter_debug (*Perl_Ifilter_debug_ptr(pPerl))
+#define PL_filter_debug (*Perl_Ifilter_debug_ptr(aTHXo))
#undef PL_forkprocess
-#define PL_forkprocess (*Perl_Iforkprocess_ptr(pPerl))
+#define PL_forkprocess (*Perl_Iforkprocess_ptr(aTHXo))
#undef PL_formfeed
-#define PL_formfeed (*Perl_Iformfeed_ptr(pPerl))
+#define PL_formfeed (*Perl_Iformfeed_ptr(aTHXo))
#undef PL_generation
-#define PL_generation (*Perl_Igeneration_ptr(pPerl))
+#define PL_generation (*Perl_Igeneration_ptr(aTHXo))
#undef PL_gensym
-#define PL_gensym (*Perl_Igensym_ptr(pPerl))
+#define PL_gensym (*Perl_Igensym_ptr(aTHXo))
#undef PL_gid
-#define PL_gid (*Perl_Igid_ptr(pPerl))
+#define PL_gid (*Perl_Igid_ptr(aTHXo))
#undef PL_glob_index
-#define PL_glob_index (*Perl_Iglob_index_ptr(pPerl))
+#define PL_glob_index (*Perl_Iglob_index_ptr(aTHXo))
#undef PL_globalstash
-#define PL_globalstash (*Perl_Iglobalstash_ptr(pPerl))
+#define PL_globalstash (*Perl_Iglobalstash_ptr(aTHXo))
#undef PL_he_root
-#define PL_he_root (*Perl_Ihe_root_ptr(pPerl))
+#define PL_he_root (*Perl_Ihe_root_ptr(aTHXo))
#undef PL_hintgv
-#define PL_hintgv (*Perl_Ihintgv_ptr(pPerl))
+#define PL_hintgv (*Perl_Ihintgv_ptr(aTHXo))
#undef PL_hints
-#define PL_hints (*Perl_Ihints_ptr(pPerl))
+#define PL_hints (*Perl_Ihints_ptr(aTHXo))
#undef PL_in_clean_all
-#define PL_in_clean_all (*Perl_Iin_clean_all_ptr(pPerl))
+#define PL_in_clean_all (*Perl_Iin_clean_all_ptr(aTHXo))
#undef PL_in_clean_objs
-#define PL_in_clean_objs (*Perl_Iin_clean_objs_ptr(pPerl))
+#define PL_in_clean_objs (*Perl_Iin_clean_objs_ptr(aTHXo))
#undef PL_in_my
-#define PL_in_my (*Perl_Iin_my_ptr(pPerl))
+#define PL_in_my (*Perl_Iin_my_ptr(aTHXo))
#undef PL_in_my_stash
-#define PL_in_my_stash (*Perl_Iin_my_stash_ptr(pPerl))
+#define PL_in_my_stash (*Perl_Iin_my_stash_ptr(aTHXo))
#undef PL_incgv
-#define PL_incgv (*Perl_Iincgv_ptr(pPerl))
+#define PL_incgv (*Perl_Iincgv_ptr(aTHXo))
#undef PL_initav
-#define PL_initav (*Perl_Iinitav_ptr(pPerl))
+#define PL_initav (*Perl_Iinitav_ptr(aTHXo))
#undef PL_inplace
-#define PL_inplace (*Perl_Iinplace_ptr(pPerl))
+#define PL_inplace (*Perl_Iinplace_ptr(aTHXo))
#undef PL_last_lop
-#define PL_last_lop (*Perl_Ilast_lop_ptr(pPerl))
+#define PL_last_lop (*Perl_Ilast_lop_ptr(aTHXo))
#undef PL_last_lop_op
-#define PL_last_lop_op (*Perl_Ilast_lop_op_ptr(pPerl))
+#define PL_last_lop_op (*Perl_Ilast_lop_op_ptr(aTHXo))
#undef PL_last_swash_hv
-#define PL_last_swash_hv (*Perl_Ilast_swash_hv_ptr(pPerl))
+#define PL_last_swash_hv (*Perl_Ilast_swash_hv_ptr(aTHXo))
#undef PL_last_swash_key
-#define PL_last_swash_key (*Perl_Ilast_swash_key_ptr(pPerl))
+#define PL_last_swash_key (*Perl_Ilast_swash_key_ptr(aTHXo))
#undef PL_last_swash_klen
-#define PL_last_swash_klen (*Perl_Ilast_swash_klen_ptr(pPerl))
+#define PL_last_swash_klen (*Perl_Ilast_swash_klen_ptr(aTHXo))
#undef PL_last_swash_slen
-#define PL_last_swash_slen (*Perl_Ilast_swash_slen_ptr(pPerl))
+#define PL_last_swash_slen (*Perl_Ilast_swash_slen_ptr(aTHXo))
#undef PL_last_swash_tmps
-#define PL_last_swash_tmps (*Perl_Ilast_swash_tmps_ptr(pPerl))
+#define PL_last_swash_tmps (*Perl_Ilast_swash_tmps_ptr(aTHXo))
#undef PL_last_uni
-#define PL_last_uni (*Perl_Ilast_uni_ptr(pPerl))
+#define PL_last_uni (*Perl_Ilast_uni_ptr(aTHXo))
#undef PL_lastfd
-#define PL_lastfd (*Perl_Ilastfd_ptr(pPerl))
+#define PL_lastfd (*Perl_Ilastfd_ptr(aTHXo))
#undef PL_lastsize
-#define PL_lastsize (*Perl_Ilastsize_ptr(pPerl))
+#define PL_lastsize (*Perl_Ilastsize_ptr(aTHXo))
#undef PL_lastspbase
-#define PL_lastspbase (*Perl_Ilastspbase_ptr(pPerl))
+#define PL_lastspbase (*Perl_Ilastspbase_ptr(aTHXo))
#undef PL_laststatval
-#define PL_laststatval (*Perl_Ilaststatval_ptr(pPerl))
+#define PL_laststatval (*Perl_Ilaststatval_ptr(aTHXo))
#undef PL_laststype
-#define PL_laststype (*Perl_Ilaststype_ptr(pPerl))
+#define PL_laststype (*Perl_Ilaststype_ptr(aTHXo))
#undef PL_leftgv
-#define PL_leftgv (*Perl_Ileftgv_ptr(pPerl))
+#define PL_leftgv (*Perl_Ileftgv_ptr(aTHXo))
#undef PL_lex_brackets
-#define PL_lex_brackets (*Perl_Ilex_brackets_ptr(pPerl))
+#define PL_lex_brackets (*Perl_Ilex_brackets_ptr(aTHXo))
#undef PL_lex_brackstack
-#define PL_lex_brackstack (*Perl_Ilex_brackstack_ptr(pPerl))
+#define PL_lex_brackstack (*Perl_Ilex_brackstack_ptr(aTHXo))
#undef PL_lex_casemods
-#define PL_lex_casemods (*Perl_Ilex_casemods_ptr(pPerl))
+#define PL_lex_casemods (*Perl_Ilex_casemods_ptr(aTHXo))
#undef PL_lex_casestack
-#define PL_lex_casestack (*Perl_Ilex_casestack_ptr(pPerl))
+#define PL_lex_casestack (*Perl_Ilex_casestack_ptr(aTHXo))
#undef PL_lex_defer
-#define PL_lex_defer (*Perl_Ilex_defer_ptr(pPerl))
+#define PL_lex_defer (*Perl_Ilex_defer_ptr(aTHXo))
#undef PL_lex_dojoin
-#define PL_lex_dojoin (*Perl_Ilex_dojoin_ptr(pPerl))
+#define PL_lex_dojoin (*Perl_Ilex_dojoin_ptr(aTHXo))
#undef PL_lex_expect
-#define PL_lex_expect (*Perl_Ilex_expect_ptr(pPerl))
+#define PL_lex_expect (*Perl_Ilex_expect_ptr(aTHXo))
#undef PL_lex_fakebrack
-#define PL_lex_fakebrack (*Perl_Ilex_fakebrack_ptr(pPerl))
+#define PL_lex_fakebrack (*Perl_Ilex_fakebrack_ptr(aTHXo))
#undef PL_lex_formbrack
-#define PL_lex_formbrack (*Perl_Ilex_formbrack_ptr(pPerl))
+#define PL_lex_formbrack (*Perl_Ilex_formbrack_ptr(aTHXo))
#undef PL_lex_inpat
-#define PL_lex_inpat (*Perl_Ilex_inpat_ptr(pPerl))
+#define PL_lex_inpat (*Perl_Ilex_inpat_ptr(aTHXo))
#undef PL_lex_inwhat
-#define PL_lex_inwhat (*Perl_Ilex_inwhat_ptr(pPerl))
+#define PL_lex_inwhat (*Perl_Ilex_inwhat_ptr(aTHXo))
#undef PL_lex_op
-#define PL_lex_op (*Perl_Ilex_op_ptr(pPerl))
+#define PL_lex_op (*Perl_Ilex_op_ptr(aTHXo))
#undef PL_lex_repl
-#define PL_lex_repl (*Perl_Ilex_repl_ptr(pPerl))
+#define PL_lex_repl (*Perl_Ilex_repl_ptr(aTHXo))
#undef PL_lex_starts
-#define PL_lex_starts (*Perl_Ilex_starts_ptr(pPerl))
+#define PL_lex_starts (*Perl_Ilex_starts_ptr(aTHXo))
#undef PL_lex_state
-#define PL_lex_state (*Perl_Ilex_state_ptr(pPerl))
+#define PL_lex_state (*Perl_Ilex_state_ptr(aTHXo))
#undef PL_lex_stuff
-#define PL_lex_stuff (*Perl_Ilex_stuff_ptr(pPerl))
+#define PL_lex_stuff (*Perl_Ilex_stuff_ptr(aTHXo))
#undef PL_lineary
-#define PL_lineary (*Perl_Ilineary_ptr(pPerl))
+#define PL_lineary (*Perl_Ilineary_ptr(aTHXo))
#undef PL_linestart
-#define PL_linestart (*Perl_Ilinestart_ptr(pPerl))
+#define PL_linestart (*Perl_Ilinestart_ptr(aTHXo))
#undef PL_linestr
-#define PL_linestr (*Perl_Ilinestr_ptr(pPerl))
+#define PL_linestr (*Perl_Ilinestr_ptr(aTHXo))
#undef PL_localpatches
-#define PL_localpatches (*Perl_Ilocalpatches_ptr(pPerl))
+#define PL_localpatches (*Perl_Ilocalpatches_ptr(aTHXo))
#undef PL_main_cv
-#define PL_main_cv (*Perl_Imain_cv_ptr(pPerl))
+#define PL_main_cv (*Perl_Imain_cv_ptr(aTHXo))
#undef PL_main_root
-#define PL_main_root (*Perl_Imain_root_ptr(pPerl))
+#define PL_main_root (*Perl_Imain_root_ptr(aTHXo))
#undef PL_main_start
-#define PL_main_start (*Perl_Imain_start_ptr(pPerl))
+#define PL_main_start (*Perl_Imain_start_ptr(aTHXo))
#undef PL_malloc_mutex
-#define PL_malloc_mutex (*Perl_Imalloc_mutex_ptr(pPerl))
+#define PL_malloc_mutex (*Perl_Imalloc_mutex_ptr(aTHXo))
#undef PL_max_intro_pending
-#define PL_max_intro_pending (*Perl_Imax_intro_pending_ptr(pPerl))
+#define PL_max_intro_pending (*Perl_Imax_intro_pending_ptr(aTHXo))
#undef PL_maxo
-#define PL_maxo (*Perl_Imaxo_ptr(pPerl))
+#define PL_maxo (*Perl_Imaxo_ptr(aTHXo))
#undef PL_maxsysfd
-#define PL_maxsysfd (*Perl_Imaxsysfd_ptr(pPerl))
+#define PL_maxsysfd (*Perl_Imaxsysfd_ptr(aTHXo))
#undef PL_mess_sv
-#define PL_mess_sv (*Perl_Imess_sv_ptr(pPerl))
+#define PL_mess_sv (*Perl_Imess_sv_ptr(aTHXo))
#undef PL_min_intro_pending
-#define PL_min_intro_pending (*Perl_Imin_intro_pending_ptr(pPerl))
+#define PL_min_intro_pending (*Perl_Imin_intro_pending_ptr(aTHXo))
#undef PL_minus_F
-#define PL_minus_F (*Perl_Iminus_F_ptr(pPerl))
+#define PL_minus_F (*Perl_Iminus_F_ptr(aTHXo))
#undef PL_minus_a
-#define PL_minus_a (*Perl_Iminus_a_ptr(pPerl))
+#define PL_minus_a (*Perl_Iminus_a_ptr(aTHXo))
#undef PL_minus_c
-#define PL_minus_c (*Perl_Iminus_c_ptr(pPerl))
+#define PL_minus_c (*Perl_Iminus_c_ptr(aTHXo))
#undef PL_minus_l
-#define PL_minus_l (*Perl_Iminus_l_ptr(pPerl))
+#define PL_minus_l (*Perl_Iminus_l_ptr(aTHXo))
#undef PL_minus_n
-#define PL_minus_n (*Perl_Iminus_n_ptr(pPerl))
+#define PL_minus_n (*Perl_Iminus_n_ptr(aTHXo))
#undef PL_minus_p
-#define PL_minus_p (*Perl_Iminus_p_ptr(pPerl))
+#define PL_minus_p (*Perl_Iminus_p_ptr(aTHXo))
#undef PL_modglobal
-#define PL_modglobal (*Perl_Imodglobal_ptr(pPerl))
+#define PL_modglobal (*Perl_Imodglobal_ptr(aTHXo))
#undef PL_multi_close
-#define PL_multi_close (*Perl_Imulti_close_ptr(pPerl))
+#define PL_multi_close (*Perl_Imulti_close_ptr(aTHXo))
#undef PL_multi_end
-#define PL_multi_end (*Perl_Imulti_end_ptr(pPerl))
+#define PL_multi_end (*Perl_Imulti_end_ptr(aTHXo))
#undef PL_multi_open
-#define PL_multi_open (*Perl_Imulti_open_ptr(pPerl))
+#define PL_multi_open (*Perl_Imulti_open_ptr(aTHXo))
#undef PL_multi_start
-#define PL_multi_start (*Perl_Imulti_start_ptr(pPerl))
+#define PL_multi_start (*Perl_Imulti_start_ptr(aTHXo))
#undef PL_multiline
-#define PL_multiline (*Perl_Imultiline_ptr(pPerl))
+#define PL_multiline (*Perl_Imultiline_ptr(aTHXo))
#undef PL_mystrk
-#define PL_mystrk (*Perl_Imystrk_ptr(pPerl))
+#define PL_mystrk (*Perl_Imystrk_ptr(aTHXo))
#undef PL_nexttoke
-#define PL_nexttoke (*Perl_Inexttoke_ptr(pPerl))
+#define PL_nexttoke (*Perl_Inexttoke_ptr(aTHXo))
#undef PL_nexttype
-#define PL_nexttype (*Perl_Inexttype_ptr(pPerl))
+#define PL_nexttype (*Perl_Inexttype_ptr(aTHXo))
#undef PL_nextval
-#define PL_nextval (*Perl_Inextval_ptr(pPerl))
+#define PL_nextval (*Perl_Inextval_ptr(aTHXo))
#undef PL_nice_chunk
-#define PL_nice_chunk (*Perl_Inice_chunk_ptr(pPerl))
+#define PL_nice_chunk (*Perl_Inice_chunk_ptr(aTHXo))
#undef PL_nice_chunk_size
-#define PL_nice_chunk_size (*Perl_Inice_chunk_size_ptr(pPerl))
+#define PL_nice_chunk_size (*Perl_Inice_chunk_size_ptr(aTHXo))
#undef PL_nomemok
-#define PL_nomemok (*Perl_Inomemok_ptr(pPerl))
+#define PL_nomemok (*Perl_Inomemok_ptr(aTHXo))
#undef PL_nthreads
-#define PL_nthreads (*Perl_Inthreads_ptr(pPerl))
+#define PL_nthreads (*Perl_Inthreads_ptr(aTHXo))
#undef PL_nthreads_cond
-#define PL_nthreads_cond (*Perl_Inthreads_cond_ptr(pPerl))
+#define PL_nthreads_cond (*Perl_Inthreads_cond_ptr(aTHXo))
#undef PL_numeric_local
-#define PL_numeric_local (*Perl_Inumeric_local_ptr(pPerl))
+#define PL_numeric_local (*Perl_Inumeric_local_ptr(aTHXo))
#undef PL_numeric_name
-#define PL_numeric_name (*Perl_Inumeric_name_ptr(pPerl))
+#define PL_numeric_name (*Perl_Inumeric_name_ptr(aTHXo))
#undef PL_numeric_radix
-#define PL_numeric_radix (*Perl_Inumeric_radix_ptr(pPerl))
+#define PL_numeric_radix (*Perl_Inumeric_radix_ptr(aTHXo))
#undef PL_numeric_standard
-#define PL_numeric_standard (*Perl_Inumeric_standard_ptr(pPerl))
+#define PL_numeric_standard (*Perl_Inumeric_standard_ptr(aTHXo))
#undef PL_ofmt
-#define PL_ofmt (*Perl_Iofmt_ptr(pPerl))
+#define PL_ofmt (*Perl_Iofmt_ptr(aTHXo))
#undef PL_oldbufptr
-#define PL_oldbufptr (*Perl_Ioldbufptr_ptr(pPerl))
+#define PL_oldbufptr (*Perl_Ioldbufptr_ptr(aTHXo))
#undef PL_oldlastpm
-#define PL_oldlastpm (*Perl_Ioldlastpm_ptr(pPerl))
+#define PL_oldlastpm (*Perl_Ioldlastpm_ptr(aTHXo))
#undef PL_oldname
-#define PL_oldname (*Perl_Ioldname_ptr(pPerl))
+#define PL_oldname (*Perl_Ioldname_ptr(aTHXo))
#undef PL_oldoldbufptr
-#define PL_oldoldbufptr (*Perl_Ioldoldbufptr_ptr(pPerl))
+#define PL_oldoldbufptr (*Perl_Ioldoldbufptr_ptr(aTHXo))
#undef PL_op_mask
-#define PL_op_mask (*Perl_Iop_mask_ptr(pPerl))
+#define PL_op_mask (*Perl_Iop_mask_ptr(aTHXo))
#undef PL_op_seqmax
-#define PL_op_seqmax (*Perl_Iop_seqmax_ptr(pPerl))
+#define PL_op_seqmax (*Perl_Iop_seqmax_ptr(aTHXo))
#undef PL_origalen
-#define PL_origalen (*Perl_Iorigalen_ptr(pPerl))
+#define PL_origalen (*Perl_Iorigalen_ptr(aTHXo))
#undef PL_origargc
-#define PL_origargc (*Perl_Iorigargc_ptr(pPerl))
+#define PL_origargc (*Perl_Iorigargc_ptr(aTHXo))
#undef PL_origargv
-#define PL_origargv (*Perl_Iorigargv_ptr(pPerl))
+#define PL_origargv (*Perl_Iorigargv_ptr(aTHXo))
#undef PL_origenviron
-#define PL_origenviron (*Perl_Iorigenviron_ptr(pPerl))
+#define PL_origenviron (*Perl_Iorigenviron_ptr(aTHXo))
#undef PL_origfilename
-#define PL_origfilename (*Perl_Iorigfilename_ptr(pPerl))
+#define PL_origfilename (*Perl_Iorigfilename_ptr(aTHXo))
#undef PL_ors
-#define PL_ors (*Perl_Iors_ptr(pPerl))
+#define PL_ors (*Perl_Iors_ptr(aTHXo))
#undef PL_orslen
-#define PL_orslen (*Perl_Iorslen_ptr(pPerl))
+#define PL_orslen (*Perl_Iorslen_ptr(aTHXo))
#undef PL_osname
-#define PL_osname (*Perl_Iosname_ptr(pPerl))
+#define PL_osname (*Perl_Iosname_ptr(aTHXo))
#undef PL_pad_reset_pending
-#define PL_pad_reset_pending (*Perl_Ipad_reset_pending_ptr(pPerl))
+#define PL_pad_reset_pending (*Perl_Ipad_reset_pending_ptr(aTHXo))
#undef PL_padix
-#define PL_padix (*Perl_Ipadix_ptr(pPerl))
+#define PL_padix (*Perl_Ipadix_ptr(aTHXo))
#undef PL_padix_floor
-#define PL_padix_floor (*Perl_Ipadix_floor_ptr(pPerl))
+#define PL_padix_floor (*Perl_Ipadix_floor_ptr(aTHXo))
#undef PL_parsehook
-#define PL_parsehook (*Perl_Iparsehook_ptr(pPerl))
+#define PL_parsehook (*Perl_Iparsehook_ptr(aTHXo))
#undef PL_patchlevel
-#define PL_patchlevel (*Perl_Ipatchlevel_ptr(pPerl))
+#define PL_patchlevel (*Perl_Ipatchlevel_ptr(aTHXo))
#undef PL_pending_ident
-#define PL_pending_ident (*Perl_Ipending_ident_ptr(pPerl))
+#define PL_pending_ident (*Perl_Ipending_ident_ptr(aTHXo))
#undef PL_perl_destruct_level
-#define PL_perl_destruct_level (*Perl_Iperl_destruct_level_ptr(pPerl))
+#define PL_perl_destruct_level (*Perl_Iperl_destruct_level_ptr(aTHXo))
#undef PL_perldb
-#define PL_perldb (*Perl_Iperldb_ptr(pPerl))
+#define PL_perldb (*Perl_Iperldb_ptr(aTHXo))
#undef PL_pidstatus
-#define PL_pidstatus (*Perl_Ipidstatus_ptr(pPerl))
+#define PL_pidstatus (*Perl_Ipidstatus_ptr(aTHXo))
#undef PL_preambleav
-#define PL_preambleav (*Perl_Ipreambleav_ptr(pPerl))
+#define PL_preambleav (*Perl_Ipreambleav_ptr(aTHXo))
#undef PL_preambled
-#define PL_preambled (*Perl_Ipreambled_ptr(pPerl))
+#define PL_preambled (*Perl_Ipreambled_ptr(aTHXo))
#undef PL_preprocess
-#define PL_preprocess (*Perl_Ipreprocess_ptr(pPerl))
+#define PL_preprocess (*Perl_Ipreprocess_ptr(aTHXo))
#undef PL_profiledata
-#define PL_profiledata (*Perl_Iprofiledata_ptr(pPerl))
+#define PL_profiledata (*Perl_Iprofiledata_ptr(aTHXo))
#undef PL_replgv
-#define PL_replgv (*Perl_Ireplgv_ptr(pPerl))
+#define PL_replgv (*Perl_Ireplgv_ptr(aTHXo))
#undef PL_rightgv
-#define PL_rightgv (*Perl_Irightgv_ptr(pPerl))
+#define PL_rightgv (*Perl_Irightgv_ptr(aTHXo))
#undef PL_rsfp
-#define PL_rsfp (*Perl_Irsfp_ptr(pPerl))
+#define PL_rsfp (*Perl_Irsfp_ptr(aTHXo))
#undef PL_rsfp_filters
-#define PL_rsfp_filters (*Perl_Irsfp_filters_ptr(pPerl))
+#define PL_rsfp_filters (*Perl_Irsfp_filters_ptr(aTHXo))
#undef PL_runops
-#define PL_runops (*Perl_Irunops_ptr(pPerl))
+#define PL_runops (*Perl_Irunops_ptr(aTHXo))
#undef PL_sawampersand
-#define PL_sawampersand (*Perl_Isawampersand_ptr(pPerl))
+#define PL_sawampersand (*Perl_Isawampersand_ptr(aTHXo))
#undef PL_sawstudy
-#define PL_sawstudy (*Perl_Isawstudy_ptr(pPerl))
+#define PL_sawstudy (*Perl_Isawstudy_ptr(aTHXo))
#undef PL_sawvec
-#define PL_sawvec (*Perl_Isawvec_ptr(pPerl))
+#define PL_sawvec (*Perl_Isawvec_ptr(aTHXo))
#undef PL_sh_path
-#define PL_sh_path (*Perl_Ish_path_ptr(pPerl))
+#define PL_sh_path (*Perl_Ish_path_ptr(aTHXo))
#undef PL_siggv
-#define PL_siggv (*Perl_Isiggv_ptr(pPerl))
+#define PL_siggv (*Perl_Isiggv_ptr(aTHXo))
#undef PL_sighandlerp
-#define PL_sighandlerp (*Perl_Isighandlerp_ptr(pPerl))
+#define PL_sighandlerp (*Perl_Isighandlerp_ptr(aTHXo))
#undef PL_splitstr
-#define PL_splitstr (*Perl_Isplitstr_ptr(pPerl))
+#define PL_splitstr (*Perl_Isplitstr_ptr(aTHXo))
#undef PL_srand_called
-#define PL_srand_called (*Perl_Isrand_called_ptr(pPerl))
+#define PL_srand_called (*Perl_Isrand_called_ptr(aTHXo))
#undef PL_statusvalue
-#define PL_statusvalue (*Perl_Istatusvalue_ptr(pPerl))
+#define PL_statusvalue (*Perl_Istatusvalue_ptr(aTHXo))
#undef PL_statusvalue_vms
-#define PL_statusvalue_vms (*Perl_Istatusvalue_vms_ptr(pPerl))
+#define PL_statusvalue_vms (*Perl_Istatusvalue_vms_ptr(aTHXo))
#undef PL_stdingv
-#define PL_stdingv (*Perl_Istdingv_ptr(pPerl))
+#define PL_stdingv (*Perl_Istdingv_ptr(aTHXo))
#undef PL_strchop
-#define PL_strchop (*Perl_Istrchop_ptr(pPerl))
+#define PL_strchop (*Perl_Istrchop_ptr(aTHXo))
#undef PL_strtab
-#define PL_strtab (*Perl_Istrtab_ptr(pPerl))
+#define PL_strtab (*Perl_Istrtab_ptr(aTHXo))
#undef PL_strtab_mutex
-#define PL_strtab_mutex (*Perl_Istrtab_mutex_ptr(pPerl))
+#define PL_strtab_mutex (*Perl_Istrtab_mutex_ptr(aTHXo))
#undef PL_sub_generation
-#define PL_sub_generation (*Perl_Isub_generation_ptr(pPerl))
+#define PL_sub_generation (*Perl_Isub_generation_ptr(aTHXo))
#undef PL_sublex_info
-#define PL_sublex_info (*Perl_Isublex_info_ptr(pPerl))
+#define PL_sublex_info (*Perl_Isublex_info_ptr(aTHXo))
#undef PL_subline
-#define PL_subline (*Perl_Isubline_ptr(pPerl))
+#define PL_subline (*Perl_Isubline_ptr(aTHXo))
#undef PL_subname
-#define PL_subname (*Perl_Isubname_ptr(pPerl))
+#define PL_subname (*Perl_Isubname_ptr(aTHXo))
#undef PL_sv_arenaroot
-#define PL_sv_arenaroot (*Perl_Isv_arenaroot_ptr(pPerl))
+#define PL_sv_arenaroot (*Perl_Isv_arenaroot_ptr(aTHXo))
#undef PL_sv_count
-#define PL_sv_count (*Perl_Isv_count_ptr(pPerl))
+#define PL_sv_count (*Perl_Isv_count_ptr(aTHXo))
#undef PL_sv_mutex
-#define PL_sv_mutex (*Perl_Isv_mutex_ptr(pPerl))
+#define PL_sv_mutex (*Perl_Isv_mutex_ptr(aTHXo))
#undef PL_sv_no
-#define PL_sv_no (*Perl_Isv_no_ptr(pPerl))
+#define PL_sv_no (*Perl_Isv_no_ptr(aTHXo))
#undef PL_sv_objcount
-#define PL_sv_objcount (*Perl_Isv_objcount_ptr(pPerl))
+#define PL_sv_objcount (*Perl_Isv_objcount_ptr(aTHXo))
#undef PL_sv_root
-#define PL_sv_root (*Perl_Isv_root_ptr(pPerl))
+#define PL_sv_root (*Perl_Isv_root_ptr(aTHXo))
#undef PL_sv_undef
-#define PL_sv_undef (*Perl_Isv_undef_ptr(pPerl))
+#define PL_sv_undef (*Perl_Isv_undef_ptr(aTHXo))
#undef PL_sv_yes
-#define PL_sv_yes (*Perl_Isv_yes_ptr(pPerl))
+#define PL_sv_yes (*Perl_Isv_yes_ptr(aTHXo))
#undef PL_svref_mutex
-#define PL_svref_mutex (*Perl_Isvref_mutex_ptr(pPerl))
+#define PL_svref_mutex (*Perl_Isvref_mutex_ptr(aTHXo))
#undef PL_sys_intern
-#define PL_sys_intern (*Perl_Isys_intern_ptr(pPerl))
+#define PL_sys_intern (*Perl_Isys_intern_ptr(aTHXo))
#undef PL_tainting
-#define PL_tainting (*Perl_Itainting_ptr(pPerl))
+#define PL_tainting (*Perl_Itainting_ptr(aTHXo))
#undef PL_thisexpr
-#define PL_thisexpr (*Perl_Ithisexpr_ptr(pPerl))
+#define PL_thisexpr (*Perl_Ithisexpr_ptr(aTHXo))
#undef PL_thr_key
-#define PL_thr_key (*Perl_Ithr_key_ptr(pPerl))
+#define PL_thr_key (*Perl_Ithr_key_ptr(aTHXo))
#undef PL_threadnum
-#define PL_threadnum (*Perl_Ithreadnum_ptr(pPerl))
+#define PL_threadnum (*Perl_Ithreadnum_ptr(aTHXo))
#undef PL_threads_mutex
-#define PL_threads_mutex (*Perl_Ithreads_mutex_ptr(pPerl))
+#define PL_threads_mutex (*Perl_Ithreads_mutex_ptr(aTHXo))
#undef PL_threadsv_names
-#define PL_threadsv_names (*Perl_Ithreadsv_names_ptr(pPerl))
+#define PL_threadsv_names (*Perl_Ithreadsv_names_ptr(aTHXo))
#undef PL_thrsv
-#define PL_thrsv (*Perl_Ithrsv_ptr(pPerl))
+#define PL_thrsv (*Perl_Ithrsv_ptr(aTHXo))
#undef PL_tokenbuf
-#define PL_tokenbuf (*Perl_Itokenbuf_ptr(pPerl))
+#define PL_tokenbuf (*Perl_Itokenbuf_ptr(aTHXo))
#undef PL_uid
-#define PL_uid (*Perl_Iuid_ptr(pPerl))
+#define PL_uid (*Perl_Iuid_ptr(aTHXo))
#undef PL_unsafe
-#define PL_unsafe (*Perl_Iunsafe_ptr(pPerl))
+#define PL_unsafe (*Perl_Iunsafe_ptr(aTHXo))
#undef PL_utf8_alnum
-#define PL_utf8_alnum (*Perl_Iutf8_alnum_ptr(pPerl))
+#define PL_utf8_alnum (*Perl_Iutf8_alnum_ptr(aTHXo))
#undef PL_utf8_alnumc
-#define PL_utf8_alnumc (*Perl_Iutf8_alnumc_ptr(pPerl))
+#define PL_utf8_alnumc (*Perl_Iutf8_alnumc_ptr(aTHXo))
#undef PL_utf8_alpha
-#define PL_utf8_alpha (*Perl_Iutf8_alpha_ptr(pPerl))
+#define PL_utf8_alpha (*Perl_Iutf8_alpha_ptr(aTHXo))
#undef PL_utf8_ascii
-#define PL_utf8_ascii (*Perl_Iutf8_ascii_ptr(pPerl))
+#define PL_utf8_ascii (*Perl_Iutf8_ascii_ptr(aTHXo))
#undef PL_utf8_cntrl
-#define PL_utf8_cntrl (*Perl_Iutf8_cntrl_ptr(pPerl))
+#define PL_utf8_cntrl (*Perl_Iutf8_cntrl_ptr(aTHXo))
#undef PL_utf8_digit
-#define PL_utf8_digit (*Perl_Iutf8_digit_ptr(pPerl))
+#define PL_utf8_digit (*Perl_Iutf8_digit_ptr(aTHXo))
#undef PL_utf8_graph
-#define PL_utf8_graph (*Perl_Iutf8_graph_ptr(pPerl))
+#define PL_utf8_graph (*Perl_Iutf8_graph_ptr(aTHXo))
#undef PL_utf8_lower
-#define PL_utf8_lower (*Perl_Iutf8_lower_ptr(pPerl))
+#define PL_utf8_lower (*Perl_Iutf8_lower_ptr(aTHXo))
#undef PL_utf8_mark
-#define PL_utf8_mark (*Perl_Iutf8_mark_ptr(pPerl))
+#define PL_utf8_mark (*Perl_Iutf8_mark_ptr(aTHXo))
#undef PL_utf8_print
-#define PL_utf8_print (*Perl_Iutf8_print_ptr(pPerl))
+#define PL_utf8_print (*Perl_Iutf8_print_ptr(aTHXo))
#undef PL_utf8_punct
-#define PL_utf8_punct (*Perl_Iutf8_punct_ptr(pPerl))
+#define PL_utf8_punct (*Perl_Iutf8_punct_ptr(aTHXo))
#undef PL_utf8_space
-#define PL_utf8_space (*Perl_Iutf8_space_ptr(pPerl))
+#define PL_utf8_space (*Perl_Iutf8_space_ptr(aTHXo))
#undef PL_utf8_tolower
-#define PL_utf8_tolower (*Perl_Iutf8_tolower_ptr(pPerl))
+#define PL_utf8_tolower (*Perl_Iutf8_tolower_ptr(aTHXo))
#undef PL_utf8_totitle
-#define PL_utf8_totitle (*Perl_Iutf8_totitle_ptr(pPerl))
+#define PL_utf8_totitle (*Perl_Iutf8_totitle_ptr(aTHXo))
#undef PL_utf8_toupper
-#define PL_utf8_toupper (*Perl_Iutf8_toupper_ptr(pPerl))
+#define PL_utf8_toupper (*Perl_Iutf8_toupper_ptr(aTHXo))
#undef PL_utf8_upper
-#define PL_utf8_upper (*Perl_Iutf8_upper_ptr(pPerl))
+#define PL_utf8_upper (*Perl_Iutf8_upper_ptr(aTHXo))
#undef PL_utf8_xdigit
-#define PL_utf8_xdigit (*Perl_Iutf8_xdigit_ptr(pPerl))
+#define PL_utf8_xdigit (*Perl_Iutf8_xdigit_ptr(aTHXo))
#undef PL_uudmap
-#define PL_uudmap (*Perl_Iuudmap_ptr(pPerl))
+#define PL_uudmap (*Perl_Iuudmap_ptr(aTHXo))
#undef PL_warnhook
-#define PL_warnhook (*Perl_Iwarnhook_ptr(pPerl))
+#define PL_warnhook (*Perl_Iwarnhook_ptr(aTHXo))
#undef PL_xiv_arenaroot
-#define PL_xiv_arenaroot (*Perl_Ixiv_arenaroot_ptr(pPerl))
+#define PL_xiv_arenaroot (*Perl_Ixiv_arenaroot_ptr(aTHXo))
#undef PL_xiv_root
-#define PL_xiv_root (*Perl_Ixiv_root_ptr(pPerl))
+#define PL_xiv_root (*Perl_Ixiv_root_ptr(aTHXo))
#undef PL_xnv_root
-#define PL_xnv_root (*Perl_Ixnv_root_ptr(pPerl))
+#define PL_xnv_root (*Perl_Ixnv_root_ptr(aTHXo))
#undef PL_xpv_root
-#define PL_xpv_root (*Perl_Ixpv_root_ptr(pPerl))
+#define PL_xpv_root (*Perl_Ixpv_root_ptr(aTHXo))
#undef PL_xrv_root
-#define PL_xrv_root (*Perl_Ixrv_root_ptr(pPerl))
+#define PL_xrv_root (*Perl_Ixrv_root_ptr(aTHXo))
#undef PL_yychar
-#define PL_yychar (*Perl_Iyychar_ptr(pPerl))
+#define PL_yychar (*Perl_Iyychar_ptr(aTHXo))
#undef PL_yydebug
-#define PL_yydebug (*Perl_Iyydebug_ptr(pPerl))
+#define PL_yydebug (*Perl_Iyydebug_ptr(aTHXo))
#undef PL_yyerrflag
-#define PL_yyerrflag (*Perl_Iyyerrflag_ptr(pPerl))
+#define PL_yyerrflag (*Perl_Iyyerrflag_ptr(aTHXo))
#undef PL_yylval
-#define PL_yylval (*Perl_Iyylval_ptr(pPerl))
+#define PL_yylval (*Perl_Iyylval_ptr(aTHXo))
#undef PL_yynerrs
-#define PL_yynerrs (*Perl_Iyynerrs_ptr(pPerl))
+#define PL_yynerrs (*Perl_Iyynerrs_ptr(aTHXo))
#undef PL_yyval
-#define PL_yyval (*Perl_Iyyval_ptr(pPerl))
+#define PL_yyval (*Perl_Iyyval_ptr(aTHXo))
#undef PL_Sv
-#define PL_Sv (*Perl_TSv_ptr(pPerl))
+#define PL_Sv (*Perl_TSv_ptr(aTHXo))
#undef PL_Xpv
-#define PL_Xpv (*Perl_TXpv_ptr(pPerl))
+#define PL_Xpv (*Perl_TXpv_ptr(aTHXo))
#undef PL_av_fetch_sv
-#define PL_av_fetch_sv (*Perl_Tav_fetch_sv_ptr(pPerl))
+#define PL_av_fetch_sv (*Perl_Tav_fetch_sv_ptr(aTHXo))
#undef PL_bodytarget
-#define PL_bodytarget (*Perl_Tbodytarget_ptr(pPerl))
+#define PL_bodytarget (*Perl_Tbodytarget_ptr(aTHXo))
#undef PL_bostr
-#define PL_bostr (*Perl_Tbostr_ptr(pPerl))
+#define PL_bostr (*Perl_Tbostr_ptr(aTHXo))
#undef PL_chopset
-#define PL_chopset (*Perl_Tchopset_ptr(pPerl))
+#define PL_chopset (*Perl_Tchopset_ptr(aTHXo))
#undef PL_colors
-#define PL_colors (*Perl_Tcolors_ptr(pPerl))
+#define PL_colors (*Perl_Tcolors_ptr(aTHXo))
#undef PL_colorset
-#define PL_colorset (*Perl_Tcolorset_ptr(pPerl))
+#define PL_colorset (*Perl_Tcolorset_ptr(aTHXo))
#undef PL_curcop
-#define PL_curcop (*Perl_Tcurcop_ptr(pPerl))
+#define PL_curcop (*Perl_Tcurcop_ptr(aTHXo))
#undef PL_curpad
-#define PL_curpad (*Perl_Tcurpad_ptr(pPerl))
+#define PL_curpad (*Perl_Tcurpad_ptr(aTHXo))
#undef PL_curpm
-#define PL_curpm (*Perl_Tcurpm_ptr(pPerl))
+#define PL_curpm (*Perl_Tcurpm_ptr(aTHXo))
#undef PL_curstack
-#define PL_curstack (*Perl_Tcurstack_ptr(pPerl))
+#define PL_curstack (*Perl_Tcurstack_ptr(aTHXo))
#undef PL_curstackinfo
-#define PL_curstackinfo (*Perl_Tcurstackinfo_ptr(pPerl))
+#define PL_curstackinfo (*Perl_Tcurstackinfo_ptr(aTHXo))
#undef PL_curstash
-#define PL_curstash (*Perl_Tcurstash_ptr(pPerl))
+#define PL_curstash (*Perl_Tcurstash_ptr(aTHXo))
#undef PL_defoutgv
-#define PL_defoutgv (*Perl_Tdefoutgv_ptr(pPerl))
+#define PL_defoutgv (*Perl_Tdefoutgv_ptr(aTHXo))
#undef PL_defstash
-#define PL_defstash (*Perl_Tdefstash_ptr(pPerl))
+#define PL_defstash (*Perl_Tdefstash_ptr(aTHXo))
#undef PL_delaymagic
-#define PL_delaymagic (*Perl_Tdelaymagic_ptr(pPerl))
+#define PL_delaymagic (*Perl_Tdelaymagic_ptr(aTHXo))
#undef PL_dirty
-#define PL_dirty (*Perl_Tdirty_ptr(pPerl))
+#define PL_dirty (*Perl_Tdirty_ptr(aTHXo))
#undef PL_dumpindent
-#define PL_dumpindent (*Perl_Tdumpindent_ptr(pPerl))
+#define PL_dumpindent (*Perl_Tdumpindent_ptr(aTHXo))
#undef PL_extralen
-#define PL_extralen (*Perl_Textralen_ptr(pPerl))
+#define PL_extralen (*Perl_Textralen_ptr(aTHXo))
#undef PL_firstgv
-#define PL_firstgv (*Perl_Tfirstgv_ptr(pPerl))
+#define PL_firstgv (*Perl_Tfirstgv_ptr(aTHXo))
#undef PL_formtarget
-#define PL_formtarget (*Perl_Tformtarget_ptr(pPerl))
+#define PL_formtarget (*Perl_Tformtarget_ptr(aTHXo))
#undef PL_hv_fetch_ent_mh
-#define PL_hv_fetch_ent_mh (*Perl_Thv_fetch_ent_mh_ptr(pPerl))
+#define PL_hv_fetch_ent_mh (*Perl_Thv_fetch_ent_mh_ptr(aTHXo))
#undef PL_hv_fetch_sv
-#define PL_hv_fetch_sv (*Perl_Thv_fetch_sv_ptr(pPerl))
+#define PL_hv_fetch_sv (*Perl_Thv_fetch_sv_ptr(aTHXo))
#undef PL_in_eval
-#define PL_in_eval (*Perl_Tin_eval_ptr(pPerl))
+#define PL_in_eval (*Perl_Tin_eval_ptr(aTHXo))
#undef PL_last_in_gv
-#define PL_last_in_gv (*Perl_Tlast_in_gv_ptr(pPerl))
+#define PL_last_in_gv (*Perl_Tlast_in_gv_ptr(aTHXo))
#undef PL_lastgotoprobe
-#define PL_lastgotoprobe (*Perl_Tlastgotoprobe_ptr(pPerl))
+#define PL_lastgotoprobe (*Perl_Tlastgotoprobe_ptr(aTHXo))
#undef PL_lastscream
-#define PL_lastscream (*Perl_Tlastscream_ptr(pPerl))
+#define PL_lastscream (*Perl_Tlastscream_ptr(aTHXo))
#undef PL_localizing
-#define PL_localizing (*Perl_Tlocalizing_ptr(pPerl))
+#define PL_localizing (*Perl_Tlocalizing_ptr(aTHXo))
#undef PL_mainstack
-#define PL_mainstack (*Perl_Tmainstack_ptr(pPerl))
+#define PL_mainstack (*Perl_Tmainstack_ptr(aTHXo))
#undef PL_markstack
-#define PL_markstack (*Perl_Tmarkstack_ptr(pPerl))
+#define PL_markstack (*Perl_Tmarkstack_ptr(aTHXo))
#undef PL_markstack_max
-#define PL_markstack_max (*Perl_Tmarkstack_max_ptr(pPerl))
+#define PL_markstack_max (*Perl_Tmarkstack_max_ptr(aTHXo))
#undef PL_markstack_ptr
-#define PL_markstack_ptr (*Perl_Tmarkstack_ptr_ptr(pPerl))
+#define PL_markstack_ptr (*Perl_Tmarkstack_ptr_ptr(aTHXo))
#undef PL_maxscream
-#define PL_maxscream (*Perl_Tmaxscream_ptr(pPerl))
+#define PL_maxscream (*Perl_Tmaxscream_ptr(aTHXo))
#undef PL_modcount
-#define PL_modcount (*Perl_Tmodcount_ptr(pPerl))
+#define PL_modcount (*Perl_Tmodcount_ptr(aTHXo))
#undef PL_na
-#define PL_na (*Perl_Tna_ptr(pPerl))
+#define PL_na (*Perl_Tna_ptr(aTHXo))
#undef PL_nrs
-#define PL_nrs (*Perl_Tnrs_ptr(pPerl))
+#define PL_nrs (*Perl_Tnrs_ptr(aTHXo))
#undef PL_ofs
-#define PL_ofs (*Perl_Tofs_ptr(pPerl))
+#define PL_ofs (*Perl_Tofs_ptr(aTHXo))
#undef PL_ofslen
-#define PL_ofslen (*Perl_Tofslen_ptr(pPerl))
+#define PL_ofslen (*Perl_Tofslen_ptr(aTHXo))
#undef PL_op
-#define PL_op (*Perl_Top_ptr(pPerl))
+#define PL_op (*Perl_Top_ptr(aTHXo))
#undef PL_opsave
-#define PL_opsave (*Perl_Topsave_ptr(pPerl))
+#define PL_opsave (*Perl_Topsave_ptr(aTHXo))
#undef PL_protect
-#define PL_protect (*Perl_Tprotect_ptr(pPerl))
+#define PL_protect (*Perl_Tprotect_ptr(aTHXo))
#undef PL_reg_call_cc
-#define PL_reg_call_cc (*Perl_Treg_call_cc_ptr(pPerl))
+#define PL_reg_call_cc (*Perl_Treg_call_cc_ptr(aTHXo))
#undef PL_reg_curpm
-#define PL_reg_curpm (*Perl_Treg_curpm_ptr(pPerl))
+#define PL_reg_curpm (*Perl_Treg_curpm_ptr(aTHXo))
#undef PL_reg_eval_set
-#define PL_reg_eval_set (*Perl_Treg_eval_set_ptr(pPerl))
+#define PL_reg_eval_set (*Perl_Treg_eval_set_ptr(aTHXo))
#undef PL_reg_flags
-#define PL_reg_flags (*Perl_Treg_flags_ptr(pPerl))
+#define PL_reg_flags (*Perl_Treg_flags_ptr(aTHXo))
#undef PL_reg_ganch
-#define PL_reg_ganch (*Perl_Treg_ganch_ptr(pPerl))
+#define PL_reg_ganch (*Perl_Treg_ganch_ptr(aTHXo))
#undef PL_reg_magic
-#define PL_reg_magic (*Perl_Treg_magic_ptr(pPerl))
+#define PL_reg_magic (*Perl_Treg_magic_ptr(aTHXo))
#undef PL_reg_oldcurpm
-#define PL_reg_oldcurpm (*Perl_Treg_oldcurpm_ptr(pPerl))
+#define PL_reg_oldcurpm (*Perl_Treg_oldcurpm_ptr(aTHXo))
#undef PL_reg_oldpos
-#define PL_reg_oldpos (*Perl_Treg_oldpos_ptr(pPerl))
+#define PL_reg_oldpos (*Perl_Treg_oldpos_ptr(aTHXo))
#undef PL_reg_oldsaved
-#define PL_reg_oldsaved (*Perl_Treg_oldsaved_ptr(pPerl))
+#define PL_reg_oldsaved (*Perl_Treg_oldsaved_ptr(aTHXo))
#undef PL_reg_oldsavedlen
-#define PL_reg_oldsavedlen (*Perl_Treg_oldsavedlen_ptr(pPerl))
+#define PL_reg_oldsavedlen (*Perl_Treg_oldsavedlen_ptr(aTHXo))
#undef PL_reg_re
-#define PL_reg_re (*Perl_Treg_re_ptr(pPerl))
+#define PL_reg_re (*Perl_Treg_re_ptr(aTHXo))
#undef PL_reg_start_tmp
-#define PL_reg_start_tmp (*Perl_Treg_start_tmp_ptr(pPerl))
+#define PL_reg_start_tmp (*Perl_Treg_start_tmp_ptr(aTHXo))
#undef PL_reg_start_tmpl
-#define PL_reg_start_tmpl (*Perl_Treg_start_tmpl_ptr(pPerl))
+#define PL_reg_start_tmpl (*Perl_Treg_start_tmpl_ptr(aTHXo))
#undef PL_reg_starttry
-#define PL_reg_starttry (*Perl_Treg_starttry_ptr(pPerl))
+#define PL_reg_starttry (*Perl_Treg_starttry_ptr(aTHXo))
#undef PL_reg_sv
-#define PL_reg_sv (*Perl_Treg_sv_ptr(pPerl))
+#define PL_reg_sv (*Perl_Treg_sv_ptr(aTHXo))
#undef PL_regbol
-#define PL_regbol (*Perl_Tregbol_ptr(pPerl))
+#define PL_regbol (*Perl_Tregbol_ptr(aTHXo))
#undef PL_regcc
-#define PL_regcc (*Perl_Tregcc_ptr(pPerl))
+#define PL_regcc (*Perl_Tregcc_ptr(aTHXo))
#undef PL_regcode
-#define PL_regcode (*Perl_Tregcode_ptr(pPerl))
+#define PL_regcode (*Perl_Tregcode_ptr(aTHXo))
#undef PL_regcomp_parse
-#define PL_regcomp_parse (*Perl_Tregcomp_parse_ptr(pPerl))
+#define PL_regcomp_parse (*Perl_Tregcomp_parse_ptr(aTHXo))
#undef PL_regcomp_rx
-#define PL_regcomp_rx (*Perl_Tregcomp_rx_ptr(pPerl))
+#define PL_regcomp_rx (*Perl_Tregcomp_rx_ptr(aTHXo))
#undef PL_regcompp
-#define PL_regcompp (*Perl_Tregcompp_ptr(pPerl))
+#define PL_regcompp (*Perl_Tregcompp_ptr(aTHXo))
#undef PL_regdata
-#define PL_regdata (*Perl_Tregdata_ptr(pPerl))
+#define PL_regdata (*Perl_Tregdata_ptr(aTHXo))
#undef PL_regdummy
-#define PL_regdummy (*Perl_Tregdummy_ptr(pPerl))
+#define PL_regdummy (*Perl_Tregdummy_ptr(aTHXo))
#undef PL_regendp
-#define PL_regendp (*Perl_Tregendp_ptr(pPerl))
+#define PL_regendp (*Perl_Tregendp_ptr(aTHXo))
#undef PL_regeol
-#define PL_regeol (*Perl_Tregeol_ptr(pPerl))
+#define PL_regeol (*Perl_Tregeol_ptr(aTHXo))
#undef PL_regexecp
-#define PL_regexecp (*Perl_Tregexecp_ptr(pPerl))
+#define PL_regexecp (*Perl_Tregexecp_ptr(aTHXo))
#undef PL_regflags
-#define PL_regflags (*Perl_Tregflags_ptr(pPerl))
+#define PL_regflags (*Perl_Tregflags_ptr(aTHXo))
#undef PL_regfree
-#define PL_regfree (*Perl_Tregfree_ptr(pPerl))
+#define PL_regfree (*Perl_Tregfree_ptr(aTHXo))
#undef PL_regindent
-#define PL_regindent (*Perl_Tregindent_ptr(pPerl))
+#define PL_regindent (*Perl_Tregindent_ptr(aTHXo))
#undef PL_reginput
-#define PL_reginput (*Perl_Treginput_ptr(pPerl))
+#define PL_reginput (*Perl_Treginput_ptr(aTHXo))
#undef PL_regint_start
-#define PL_regint_start (*Perl_Tregint_start_ptr(pPerl))
+#define PL_regint_start (*Perl_Tregint_start_ptr(aTHXo))
#undef PL_regint_string
-#define PL_regint_string (*Perl_Tregint_string_ptr(pPerl))
+#define PL_regint_string (*Perl_Tregint_string_ptr(aTHXo))
#undef PL_reginterp_cnt
-#define PL_reginterp_cnt (*Perl_Treginterp_cnt_ptr(pPerl))
+#define PL_reginterp_cnt (*Perl_Treginterp_cnt_ptr(aTHXo))
#undef PL_reglastparen
-#define PL_reglastparen (*Perl_Treglastparen_ptr(pPerl))
+#define PL_reglastparen (*Perl_Treglastparen_ptr(aTHXo))
#undef PL_regnarrate
-#define PL_regnarrate (*Perl_Tregnarrate_ptr(pPerl))
+#define PL_regnarrate (*Perl_Tregnarrate_ptr(aTHXo))
#undef PL_regnaughty
-#define PL_regnaughty (*Perl_Tregnaughty_ptr(pPerl))
+#define PL_regnaughty (*Perl_Tregnaughty_ptr(aTHXo))
#undef PL_regnpar
-#define PL_regnpar (*Perl_Tregnpar_ptr(pPerl))
+#define PL_regnpar (*Perl_Tregnpar_ptr(aTHXo))
#undef PL_regprecomp
-#define PL_regprecomp (*Perl_Tregprecomp_ptr(pPerl))
+#define PL_regprecomp (*Perl_Tregprecomp_ptr(aTHXo))
#undef PL_regprev
-#define PL_regprev (*Perl_Tregprev_ptr(pPerl))
+#define PL_regprev (*Perl_Tregprev_ptr(aTHXo))
#undef PL_regprogram
-#define PL_regprogram (*Perl_Tregprogram_ptr(pPerl))
+#define PL_regprogram (*Perl_Tregprogram_ptr(aTHXo))
#undef PL_regsawback
-#define PL_regsawback (*Perl_Tregsawback_ptr(pPerl))
+#define PL_regsawback (*Perl_Tregsawback_ptr(aTHXo))
#undef PL_regseen
-#define PL_regseen (*Perl_Tregseen_ptr(pPerl))
+#define PL_regseen (*Perl_Tregseen_ptr(aTHXo))
#undef PL_regsize
-#define PL_regsize (*Perl_Tregsize_ptr(pPerl))
+#define PL_regsize (*Perl_Tregsize_ptr(aTHXo))
#undef PL_regstartp
-#define PL_regstartp (*Perl_Tregstartp_ptr(pPerl))
+#define PL_regstartp (*Perl_Tregstartp_ptr(aTHXo))
#undef PL_regtill
-#define PL_regtill (*Perl_Tregtill_ptr(pPerl))
+#define PL_regtill (*Perl_Tregtill_ptr(aTHXo))
#undef PL_regxend
-#define PL_regxend (*Perl_Tregxend_ptr(pPerl))
+#define PL_regxend (*Perl_Tregxend_ptr(aTHXo))
#undef PL_restartop
-#define PL_restartop (*Perl_Trestartop_ptr(pPerl))
+#define PL_restartop (*Perl_Trestartop_ptr(aTHXo))
#undef PL_retstack
-#define PL_retstack (*Perl_Tretstack_ptr(pPerl))
+#define PL_retstack (*Perl_Tretstack_ptr(aTHXo))
#undef PL_retstack_ix
-#define PL_retstack_ix (*Perl_Tretstack_ix_ptr(pPerl))
+#define PL_retstack_ix (*Perl_Tretstack_ix_ptr(aTHXo))
#undef PL_retstack_max
-#define PL_retstack_max (*Perl_Tretstack_max_ptr(pPerl))
+#define PL_retstack_max (*Perl_Tretstack_max_ptr(aTHXo))
#undef PL_rs
-#define PL_rs (*Perl_Trs_ptr(pPerl))
+#define PL_rs (*Perl_Trs_ptr(aTHXo))
#undef PL_savestack
-#define PL_savestack (*Perl_Tsavestack_ptr(pPerl))
+#define PL_savestack (*Perl_Tsavestack_ptr(aTHXo))
#undef PL_savestack_ix
-#define PL_savestack_ix (*Perl_Tsavestack_ix_ptr(pPerl))
+#define PL_savestack_ix (*Perl_Tsavestack_ix_ptr(aTHXo))
#undef PL_savestack_max
-#define PL_savestack_max (*Perl_Tsavestack_max_ptr(pPerl))
+#define PL_savestack_max (*Perl_Tsavestack_max_ptr(aTHXo))
#undef PL_scopestack
-#define PL_scopestack (*Perl_Tscopestack_ptr(pPerl))
+#define PL_scopestack (*Perl_Tscopestack_ptr(aTHXo))
#undef PL_scopestack_ix
-#define PL_scopestack_ix (*Perl_Tscopestack_ix_ptr(pPerl))
+#define PL_scopestack_ix (*Perl_Tscopestack_ix_ptr(aTHXo))
#undef PL_scopestack_max
-#define PL_scopestack_max (*Perl_Tscopestack_max_ptr(pPerl))
+#define PL_scopestack_max (*Perl_Tscopestack_max_ptr(aTHXo))
#undef PL_screamfirst
-#define PL_screamfirst (*Perl_Tscreamfirst_ptr(pPerl))
+#define PL_screamfirst (*Perl_Tscreamfirst_ptr(aTHXo))
#undef PL_screamnext
-#define PL_screamnext (*Perl_Tscreamnext_ptr(pPerl))
+#define PL_screamnext (*Perl_Tscreamnext_ptr(aTHXo))
#undef PL_secondgv
-#define PL_secondgv (*Perl_Tsecondgv_ptr(pPerl))
+#define PL_secondgv (*Perl_Tsecondgv_ptr(aTHXo))
#undef PL_seen_evals
-#define PL_seen_evals (*Perl_Tseen_evals_ptr(pPerl))
+#define PL_seen_evals (*Perl_Tseen_evals_ptr(aTHXo))
#undef PL_seen_zerolen
-#define PL_seen_zerolen (*Perl_Tseen_zerolen_ptr(pPerl))
+#define PL_seen_zerolen (*Perl_Tseen_zerolen_ptr(aTHXo))
#undef PL_sortcop
-#define PL_sortcop (*Perl_Tsortcop_ptr(pPerl))
+#define PL_sortcop (*Perl_Tsortcop_ptr(aTHXo))
#undef PL_sortcxix
-#define PL_sortcxix (*Perl_Tsortcxix_ptr(pPerl))
+#define PL_sortcxix (*Perl_Tsortcxix_ptr(aTHXo))
#undef PL_sortstash
-#define PL_sortstash (*Perl_Tsortstash_ptr(pPerl))
+#define PL_sortstash (*Perl_Tsortstash_ptr(aTHXo))
#undef PL_stack_base
-#define PL_stack_base (*Perl_Tstack_base_ptr(pPerl))
+#define PL_stack_base (*Perl_Tstack_base_ptr(aTHXo))
#undef PL_stack_max
-#define PL_stack_max (*Perl_Tstack_max_ptr(pPerl))
+#define PL_stack_max (*Perl_Tstack_max_ptr(aTHXo))
#undef PL_stack_sp
-#define PL_stack_sp (*Perl_Tstack_sp_ptr(pPerl))
+#define PL_stack_sp (*Perl_Tstack_sp_ptr(aTHXo))
#undef PL_start_env
-#define PL_start_env (*Perl_Tstart_env_ptr(pPerl))
+#define PL_start_env (*Perl_Tstart_env_ptr(aTHXo))
#undef PL_statbuf
-#define PL_statbuf (*Perl_Tstatbuf_ptr(pPerl))
+#define PL_statbuf (*Perl_Tstatbuf_ptr(aTHXo))
#undef PL_statcache
-#define PL_statcache (*Perl_Tstatcache_ptr(pPerl))
+#define PL_statcache (*Perl_Tstatcache_ptr(aTHXo))
#undef PL_statgv
-#define PL_statgv (*Perl_Tstatgv_ptr(pPerl))
+#define PL_statgv (*Perl_Tstatgv_ptr(aTHXo))
#undef PL_statname
-#define PL_statname (*Perl_Tstatname_ptr(pPerl))
+#define PL_statname (*Perl_Tstatname_ptr(aTHXo))
#undef PL_tainted
-#define PL_tainted (*Perl_Ttainted_ptr(pPerl))
+#define PL_tainted (*Perl_Ttainted_ptr(aTHXo))
#undef PL_timesbuf
-#define PL_timesbuf (*Perl_Ttimesbuf_ptr(pPerl))
+#define PL_timesbuf (*Perl_Ttimesbuf_ptr(aTHXo))
#undef PL_tmps_floor
-#define PL_tmps_floor (*Perl_Ttmps_floor_ptr(pPerl))
+#define PL_tmps_floor (*Perl_Ttmps_floor_ptr(aTHXo))
#undef PL_tmps_ix
-#define PL_tmps_ix (*Perl_Ttmps_ix_ptr(pPerl))
+#define PL_tmps_ix (*Perl_Ttmps_ix_ptr(aTHXo))
#undef PL_tmps_max
-#define PL_tmps_max (*Perl_Ttmps_max_ptr(pPerl))
+#define PL_tmps_max (*Perl_Ttmps_max_ptr(aTHXo))
#undef PL_tmps_stack
-#define PL_tmps_stack (*Perl_Ttmps_stack_ptr(pPerl))
+#define PL_tmps_stack (*Perl_Ttmps_stack_ptr(aTHXo))
#undef PL_top_env
-#define PL_top_env (*Perl_Ttop_env_ptr(pPerl))
+#define PL_top_env (*Perl_Ttop_env_ptr(aTHXo))
#undef PL_toptarget
-#define PL_toptarget (*Perl_Ttoptarget_ptr(pPerl))
+#define PL_toptarget (*Perl_Ttoptarget_ptr(aTHXo))
#undef PL_watchaddr
-#define PL_watchaddr (*Perl_Twatchaddr_ptr(pPerl))
+#define PL_watchaddr (*Perl_Twatchaddr_ptr(aTHXo))
#undef PL_watchok
-#define PL_watchok (*Perl_Twatchok_ptr(pPerl))
+#define PL_watchok (*Perl_Twatchok_ptr(aTHXo))
#undef PL_No
-#define PL_No (*Perl_GNo_ptr(pPerl))
+#define PL_No (*Perl_GNo_ptr(NULL))
#undef PL_Yes
-#define PL_Yes (*Perl_GYes_ptr(pPerl))
+#define PL_Yes (*Perl_GYes_ptr(NULL))
#undef PL_curinterp
-#define PL_curinterp (*Perl_Gcurinterp_ptr(pPerl))
+#define PL_curinterp (*Perl_Gcurinterp_ptr(NULL))
#undef PL_do_undump
-#define PL_do_undump (*Perl_Gdo_undump_ptr(pPerl))
+#define PL_do_undump (*Perl_Gdo_undump_ptr(NULL))
#undef PL_hexdigit
-#define PL_hexdigit (*Perl_Ghexdigit_ptr(pPerl))
+#define PL_hexdigit (*Perl_Ghexdigit_ptr(NULL))
#undef PL_patleave
-#define PL_patleave (*Perl_Gpatleave_ptr(pPerl))
+#define PL_patleave (*Perl_Gpatleave_ptr(NULL))
/* Functions */
#if defined(PERL_OBJECT)
+
+/* XXX soon to be eliminated, only a few things in PERLCORE need these now */
+
+#if defined(PERL_OBJECT)
#endif
#undef Perl_amagic_call
#define Perl_amagic_call pPerl->Perl_amagic_call
#define Perl_croak pPerl->Perl_croak
#undef croak
#define croak Perl_croak
+#undef Perl_vcroak
+#define Perl_vcroak pPerl->Perl_vcroak
+#undef vcroak
+#define vcroak Perl_vcroak
#if defined(PERL_IMPLICIT_CONTEXT)
#undef Perl_croak_nocontext
#define Perl_croak_nocontext pPerl->Perl_croak_nocontext
#define Perl_die_nocontext pPerl->Perl_die_nocontext
#undef die_nocontext
#define die_nocontext Perl_die_nocontext
+#undef Perl_deb_nocontext
+#define Perl_deb_nocontext pPerl->Perl_deb_nocontext
+#undef deb_nocontext
+#define deb_nocontext Perl_deb_nocontext
#undef Perl_form_nocontext
#define Perl_form_nocontext pPerl->Perl_form_nocontext
#undef form_nocontext
#define Perl_warn_nocontext pPerl->Perl_warn_nocontext
#undef warn_nocontext
#define warn_nocontext Perl_warn_nocontext
+#undef Perl_warner_nocontext
+#define Perl_warner_nocontext pPerl->Perl_warner_nocontext
+#undef warner_nocontext
+#define warner_nocontext Perl_warner_nocontext
#undef Perl_newSVpvf_nocontext
#define Perl_newSVpvf_nocontext pPerl->Perl_newSVpvf_nocontext
#undef newSVpvf_nocontext
#define Perl_sv_setpvf_mg_nocontext pPerl->Perl_sv_setpvf_mg_nocontext
#undef sv_setpvf_mg_nocontext
#define sv_setpvf_mg_nocontext Perl_sv_setpvf_mg_nocontext
+#undef Perl_fprintf_nocontext
+#define Perl_fprintf_nocontext pPerl->Perl_fprintf_nocontext
+#undef fprintf_nocontext
+#define fprintf_nocontext Perl_fprintf_nocontext
#endif
#undef Perl_cv_ckproto
#define Perl_cv_ckproto pPerl->Perl_cv_ckproto
#define Perl_deb pPerl->Perl_deb
#undef deb
#define deb Perl_deb
+#undef Perl_vdeb
+#define Perl_vdeb pPerl->Perl_vdeb
+#undef vdeb
+#define vdeb Perl_vdeb
#undef Perl_deb_growlevel
#define Perl_deb_growlevel pPerl->Perl_deb_growlevel
#undef deb_growlevel
#define Perl_die pPerl->Perl_die
#undef die
#define die Perl_die
+#undef Perl_vdie
+#define Perl_vdie pPerl->Perl_vdie
+#undef vdie
+#define vdie Perl_vdie
#undef Perl_die_where
#define Perl_die_where pPerl->Perl_die_where
#undef die_where
#define Perl_form pPerl->Perl_form
#undef form
#define form Perl_form
+#undef Perl_vform
+#define Perl_vform pPerl->Perl_vform
+#undef vform
+#define vform Perl_vform
#undef Perl_free_tmps
#define Perl_free_tmps pPerl->Perl_free_tmps
#undef free_tmps
#define Perl_newSVpvf pPerl->Perl_newSVpvf
#undef newSVpvf
#define newSVpvf Perl_newSVpvf
+#undef Perl_vnewSVpvf
+#define Perl_vnewSVpvf pPerl->Perl_vnewSVpvf
+#undef vnewSVpvf
+#define vnewSVpvf Perl_vnewSVpvf
#undef Perl_newSVrv
#define Perl_newSVrv pPerl->Perl_newSVrv
#undef newSVrv
#define Perl_newWHILEOP pPerl->Perl_newWHILEOP
#undef newWHILEOP
#define newWHILEOP Perl_newWHILEOP
-#if defined(USE_THREADS)
-#undef Perl_new_struct_thread
-#define Perl_new_struct_thread pPerl->Perl_new_struct_thread
-#undef new_struct_thread
-#define new_struct_thread Perl_new_struct_thread
-#endif
#undef Perl_new_stackinfo
#define Perl_new_stackinfo pPerl->Perl_new_stackinfo
#undef new_stackinfo
#define perl_run pPerl->perl_run
#undef perl_parse
#define perl_parse pPerl->perl_parse
+#if defined(USE_THREADS)
+#undef Perl_new_struct_thread
+#define Perl_new_struct_thread pPerl->Perl_new_struct_thread
+#undef new_struct_thread
+#define new_struct_thread Perl_new_struct_thread
+#endif
#endif
#undef Perl_call_atexit
#define Perl_call_atexit pPerl->Perl_call_atexit
#define Perl_sv_catpvf pPerl->Perl_sv_catpvf
#undef sv_catpvf
#define sv_catpvf Perl_sv_catpvf
+#undef Perl_sv_vcatpvf
+#define Perl_sv_vcatpvf pPerl->Perl_sv_vcatpvf
+#undef sv_vcatpvf
+#define sv_vcatpvf Perl_sv_vcatpvf
#undef Perl_sv_catpv
#define Perl_sv_catpv pPerl->Perl_sv_catpv
#undef sv_catpv
#define Perl_sv_setpvf pPerl->Perl_sv_setpvf
#undef sv_setpvf
#define sv_setpvf Perl_sv_setpvf
+#undef Perl_sv_vsetpvf
+#define Perl_sv_vsetpvf pPerl->Perl_sv_vsetpvf
+#undef sv_vsetpvf
+#define sv_vsetpvf Perl_sv_vsetpvf
#undef Perl_sv_setiv
#define Perl_sv_setiv pPerl->Perl_sv_setiv
#undef sv_setiv
#define Perl_warn pPerl->Perl_warn
#undef warn
#define warn Perl_warn
+#undef Perl_vwarn
+#define Perl_vwarn pPerl->Perl_vwarn
+#undef vwarn
+#define vwarn Perl_vwarn
#undef Perl_warner
#define Perl_warner pPerl->Perl_warner
#undef warner
#define warner Perl_warner
+#undef Perl_vwarner
+#define Perl_vwarner pPerl->Perl_vwarner
+#undef vwarner
+#define vwarner Perl_vwarner
#undef Perl_watch
#define Perl_watch pPerl->Perl_watch
#undef watch
#define Perl_sv_catpvf_mg pPerl->Perl_sv_catpvf_mg
#undef sv_catpvf_mg
#define sv_catpvf_mg Perl_sv_catpvf_mg
+#undef Perl_sv_vcatpvf_mg
+#define Perl_sv_vcatpvf_mg pPerl->Perl_sv_vcatpvf_mg
+#undef sv_vcatpvf_mg
+#define sv_vcatpvf_mg Perl_sv_vcatpvf_mg
#undef Perl_sv_catpv_mg
#define Perl_sv_catpv_mg pPerl->Perl_sv_catpv_mg
#undef sv_catpv_mg
#define Perl_sv_setpvf_mg pPerl->Perl_sv_setpvf_mg
#undef sv_setpvf_mg
#define sv_setpvf_mg Perl_sv_setpvf_mg
+#undef Perl_sv_vsetpvf_mg
+#define Perl_sv_vsetpvf_mg pPerl->Perl_sv_vsetpvf_mg
+#undef sv_vsetpvf_mg
+#define sv_vsetpvf_mg Perl_sv_vsetpvf_mg
#undef Perl_sv_setiv_mg
#define Perl_sv_setiv_mg pPerl->Perl_sv_setiv_mg
#undef sv_setiv_mg
#define Perl_dump_indent pPerl->Perl_dump_indent
#undef dump_indent
#define dump_indent Perl_dump_indent
+#undef Perl_dump_vindent
+#define Perl_dump_vindent pPerl->Perl_dump_vindent
+#undef dump_vindent
+#define dump_vindent Perl_dump_vindent
#undef Perl_do_gv_dump
#define Perl_do_gv_dump pPerl->Perl_do_gv_dump
#undef do_gv_dump
#define Perl_default_protect pPerl->Perl_default_protect
#undef default_protect
#define default_protect Perl_default_protect
+#undef Perl_vdefault_protect
+#define Perl_vdefault_protect pPerl->Perl_vdefault_protect
+#undef vdefault_protect
+#define vdefault_protect Perl_vdefault_protect
#undef Perl_reginitcolors
#define Perl_reginitcolors pPerl->Perl_reginitcolors
#undef reginitcolors
#undef pp_xor
#define pp_xor Perl_pp_xor
+#endif /* PERL_OBJECT */
#endif /* __objXSUB_h__ */
{
PerlInterpreter *my_perl;
-#if !defined(PERL_IMPLICIT_CONTEXT)
- PL_curinterp = 0;
-#endif
New(53, my_perl, 1, PerlInterpreter);
+ PERL_SET_INTERP(my_perl);
return my_perl;
}
#endif /* PERL_OBJECT */
#endif /* FAKE_THREADS */
#endif /* USE_THREADS */
-#ifndef PERL_OBJECT
- if (!(PL_curinterp = my_perl))
- return;
-#endif
-
#ifdef MULTIPLICITY
Zero(my_perl, 1, PerlInterpreter);
#endif
dTHX;
#endif /* USE_THREADS */
-#if !defined(PERL_OBJECT) && !defined(PERL_IMPLICIT_CONTEXT)
- if (!(PL_curinterp = my_perl))
- return;
-#endif
-
#ifdef USE_THREADS
#ifndef FAKE_THREADS
/* Pass 1 on any remaining threads: detach joinables, join zombies */
void
perl_free(pTHXx)
{
-#ifdef PERL_OBJECT
- Safefree(this);
+#if defined(PERL_OBJECT)
+ Safefree(this);
#else
-# if !defined(PERL_IMPLICIT_CONTEXT)
- if (!(PL_curinterp = my_perl))
- return;
-# endif
- Safefree(my_perl);
+ Safefree(aTHXx);
#endif
}
#endif
#endif
-#if !defined(PERL_OBJECT) && !defined(PERL_IMPLICIT_CONTEXT)
- if (!(PL_curinterp = my_perl))
- return 255;
-#endif
-
#if defined(__DYNAMIC__) && (defined(NeXT) || defined(__NeXT__))
_dyld_lookup_and_bind
("__environ", (unsigned long *) &environ_pointer, NULL);
if (xsinit)
(*xsinit)(aTHXo); /* in case linked C routines want magical variables */
#if defined(VMS) || defined(WIN32) || defined(DJGPP)
- init_os_extras(aTHX);
+ init_os_extras();
#endif
#ifdef USE_SOCKS
dTHX;
#endif
-#if !defined(PERL_OBJECT) && !defined(PERL_IMPLICIT_CONTEXT)
- if (!(PL_curinterp = my_perl))
- return 255;
-#endif
-
oldscope = PL_scopestack_ix;
redo_body:
# define PERLVARI(var,type,init) my_perl->var = init;
# define PERLVARIC(var,type,init) my_perl->var = init;
# else
-# define PERLVARI(var,type,init) PL_curinterp->var = init;
-# define PERLVARIC(var,type,init) PL_curinterp->var = init;
+# define PERLVARI(var,type,init) PERL_GET_INTERP->var = init;
+# define PERLVARIC(var,type,init) PERL_GET_INTERP->var = init;
# endif
# include "intrpvar.h"
# ifndef USE_THREADS
STATIC struct perl_thread *
S_init_main_thread(pTHX)
{
-#ifndef PERL_IMPLICIT_CONTEXT
+#if !defined(PERL_IMPLICIT_CONTEXT)
struct perl_thread *thr;
#endif
XPV *xpv;
Newz(53, thr, 1, struct perl_thread);
PL_curcop = &PL_compiling;
+ thr->interp = PERL_GET_INTERP;
thr->cvcache = newHV();
thr->threadsv = newAV();
/* thr->threadsvp is set when find_threadsv is called */
#ifndef H_PERL
#define H_PERL 1
-/*#define PERL_IMPLICIT_CONTEXT*/
-
#ifdef PERL_FOR_X2P
/*
* This file is being used for x2p stuff.
/* XXXXXX testing threads via implicit pointer */
#ifdef USE_THREADS
-#define PERL_IMPLICIT_CONTEXT
+# ifndef PERL_IMPLICIT_CONTEXT
+# define PERL_IMPLICIT_CONTEXT
+# endif
+# ifndef PERL_IMPLICIT_SYS
+/*# define PERL_IMPLICIT_SYS*/ /* XXX not done yet */
+# endif
+#endif
+
+/* XXXXXX testing multiplicity via implicit pointer */
+#if defined(MULTIPLICITY)
+# ifndef PERL_IMPLICIT_CONTEXT
+# define PERL_IMPLICIT_CONTEXT
+# endif
+# ifndef PERL_IMPLICIT_SYS
+/*# define PERL_IMPLICIT_SYS*/ /* XXX not done yet */
+# endif
+#endif
+
+#ifdef PERL_CAPI
+# undef PERL_OBJECT
+# ifndef PERL_IMPLICIT_CONTEXT
+# define PERL_IMPLICIT_CONTEXT
+# endif
+# ifndef PERL_IMPLICIT_SYS
+# define PERL_IMPLICIT_SYS
+# endif
+#endif
+
+#ifdef PERL_OBJECT
+# ifndef PERL_IMPLICIT_CONTEXT
+# define PERL_IMPLICIT_CONTEXT
+# endif
+# ifndef PERL_IMPLICIT_SYS
+# define PERL_IMPLICIT_SYS
+# endif
#endif
#ifdef PERL_OBJECT
class CPerlObj;
#define STATIC
-#define CPERLscope(x) CPerlObj::x
-#define CALL_FPTR(fptr) (this->*fptr)
-
-#define pTHXo CPerlObj *pPerl
-#define pTHXo_ pTHXo,
-#define _pTHXo ,pTHXo
-#define aTHXo this
-#define aTHXo_ this,
-#define _aTHXo ,this
+#define CPERLscope(x) CPerlObj::x
+#define CALL_FPTR(fptr) (this->*fptr)
+
+#define pTHXo CPerlObj *pPerl
+#define pTHXo_ pTHXo,
+#define _pTHXo ,pTHXo
+#define aTHXo this
+#define aTHXo_ this,
+#define _aTHXo ,this
#define PERL_OBJECT_THIS aTHXo
#define PERL_OBJECT_THIS_ aTHXo_
#define _PERL_OBJECT_THIS _aTHXo
+#define dTHXoa(a) pTHXo = (CPerlObj *)a
+#define dTHXo dTHXoa(PERL_GET_INTERP)
#define pTHXx void
#define pTHXx_
#else /* !PERL_OBJECT */
+#ifdef PERL_IMPLICIT_CONTEXT
+# ifdef USE_THREADS
+struct perl_thread;
+# define pTHX register struct perl_thread *thr
+# define aTHX thr
+# define dTHXa(a) pTHX = (struct perl_thread *)a
+# define dTHX dTHXa(THR)
+# define dTHR dNOOP
+# else
+# define MULTIPLICITY
+# define pTHX register PerlInterpreter *my_perl
+# define aTHX my_perl
+# define dTHXa(a) pTHX = (PerlInterpreter *)a
+# define dTHX dTHXa(PERL_GET_INTERP)
+# endif
+# define pTHX_ pTHX,
+# define _pTHX ,pTHX
+# define aTHX_ aTHX,
+# define _aTHX ,aTHX
+#endif
+
#define STATIC static
#define CPERLscope(x) x
#define CPERLarg void
#define NOOP (void)0
#define dNOOP extern int Perl___notused
-#ifdef PERL_IMPLICIT_CONTEXT
-# ifdef USE_THREADS
-struct perl_thread;
-# define pTHX register struct perl_thread *thr
-# define aTHX thr
-# define dTHXa(a) pTHX = (struct perl_thread *)a
-# define dTHX dTHXa(SvPVX(PL_thrsv))
-# define dTHR dNOOP
-# else
-# define MULTIPLICITY
-# define pTHX register PerlInterpreter *my_perl
-# define aTHX my_perl
-# define dTHXa(a) pTHX = (PerlInterpreter *)a
-# define dTHX dTHXa(PL_curinterp)
-# endif
-# define pTHX_ pTHX,
-# define _pTHX ,pTHX
-# define aTHX_ aTHX,
-# define _aTHX ,aTHX
-#endif
-
#ifndef pTHX
# define pTHX void
# define pTHX_
# define aTHXo aTHX
# define aTHXo_ aTHX_
# define _aTHXo _aTHX
+# define dTHXo dTHX
#endif
#ifndef pTHXx
# define aTHXx my_perl
# define aTHXx_ aTHXx,
# define _aTHXx ,aTHXx
+# define dTHXx dTHX
#endif
#undef START_EXTERN_C
# endif /* WIN32 */
# endif /* FAKE_THREADS */
#endif /* USE_THREADS */
-
+
+#ifdef WIN32
+#include "win32.h"
+#endif
+
#ifdef VMS
# define STATUS_NATIVE PL_statusvalue_vms
# define STATUS_NATIVE_EXPORT \
# ifdef FFLUSH_ALL
# define PERL_FLUSHALL_FOR_CHILD my_fflush_all()
# else
-# define PERL_FLUSHALL_FOR_CHILD (void)0
+# define PERL_FLUSHALL_FOR_CHILD NOOP
# endif
# endif
#endif
+#ifndef PERL_SET_INTERP
+# define PERL_SET_INTERP(i) (PL_curinterp = (PerlInterpreter*)(i))
+#endif
+
+#ifndef PERL_GET_INTERP
+# define PERL_GET_INTERP (PL_curinterp)
+#endif
+
/* Some unistd.h's give a prototype for pause() even though
HAS_PAUSE ends up undefined. This causes the #define
below to be rejected by the compmiler. Sigh.
#define FILTER_DATA(idx) (AvARRAY(PL_rsfp_filters)[idx])
#define FILTER_ISREADER(idx) (idx >= AvFILLp(PL_rsfp_filters))
-#ifdef WIN32
-#include "win32.h"
-#endif
-
#include "iperlsys.h"
#include "regexp.h"
#include "sv.h"
# if defined(PERL_OBJECT)
# define DEBUG_m(a) if (PL_debug & 128) a
# else
-# define DEBUG_m(a) if (PL_curinterp && PL_debug & 128) a
+# define DEBUG_m(a) if (PERL_GET_INTERP && PL_debug & 128) a
# endif
#define DEBUG_f(a) if (PL_debug & 256) a
#define DEBUG_r(a) if (PL_debug & 512) a
#include "pp_proto.h"
#ifdef PERL_OBJECT
-VIRTUAL int CPerlObj::fprintf (PerlIO *pf, const char *pat, ...);
VIRTUAL int CPerlObj::do_aspawn (void *vreally, void **vmark, void **vsp);
#undef PERL_DECL_PROT
#else
#define PERLVARI(var,type,init) EXT type PL_##var INIT(init);
#define PERLVARIC(var,type,init) EXTCONST type PL_##var INIT(init);
-#ifndef PERL_GLOBAL_STRUCT
-# ifndef PERL_OBJECT
-START_EXTERN_C
-# endif
-
-# include "perlvars.h"
-
-# ifndef PERL_OBJECT
-END_EXTERN_C
-# endif
-#endif
-
#ifndef MULTIPLICITY
# include "intrpvar.h"
PERLVARA(object_compatibility,30, char)
};
+
# include "embed.h"
# if defined(WIN32) && !defined(WIN32IO_IS_STDIO)
# define errno CPerlObj::ErrorNo()
#endif /* PERL_OBJECT */
+#ifndef PERL_GLOBAL_STRUCT
+START_EXTERN_C
+
+# include "perlvars.h"
+
+END_EXTERN_C
+#endif
+
#undef PERLVAR
#undef PERLVARA
#undef PERLVARI
#undef PERLVARA
#undef PERLVARI
#undef PERLVARIC
-#define PERLVAR(v,t) t* Perl_##v##_ptr(void *p) \
- { return &(((CPerlObj*)p)->PL_##v); }
-#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(void *p) \
- { return &(((CPerlObj*)p)->PL_##v); }
+#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \
+ { return &(aTHXo->PL_##v); }
+#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \
+ { return &(aTHXo->PL_##v); }
#define PERLVARI(v,t,i) PERLVAR(v,t)
-#define PERLVARIC(v,t,i) PERLVAR(v,t)
+#define PERLVARIC(v,t,i) PERLVAR(v, const t)
#include "thrdvar.h"
#include "intrpvar.h"
+
+#undef PERLVAR
+#undef PERLVARA
+#define PERLVAR(v,t) t* Perl_##v##_ptr(pTHXo) \
+ { return &(PL_##v); }
+#define PERLVARA(v,n,t) PL_##v##_t* Perl_##v##_ptr(pTHXo) \
+ { return &(PL_##v); }
#include "perlvars.h"
#undef PERLVAR
#undef Perl_amagic_call
SV*
-Perl_amagic_call(void *pPerl, SV* left, SV* right, int method, int dir)
+Perl_amagic_call(pTHXo_ SV* left, SV* right, int method, int dir)
{
return ((CPerlObj*)pPerl)->Perl_amagic_call(left, right, method, dir);
}
#undef Perl_Gv_AMupdate
bool
-Perl_Gv_AMupdate(void *pPerl, HV* stash)
+Perl_Gv_AMupdate(pTHXo_ HV* stash)
{
return ((CPerlObj*)pPerl)->Perl_Gv_AMupdate(stash);
}
#undef Perl_append_elem
OP*
-Perl_append_elem(void *pPerl, I32 optype, OP* head, OP* tail)
+Perl_append_elem(pTHXo_ I32 optype, OP* head, OP* tail)
{
return ((CPerlObj*)pPerl)->Perl_append_elem(optype, head, tail);
}
#undef Perl_append_list
OP*
-Perl_append_list(void *pPerl, I32 optype, LISTOP* first, LISTOP* last)
+Perl_append_list(pTHXo_ I32 optype, LISTOP* first, LISTOP* last)
{
return ((CPerlObj*)pPerl)->Perl_append_list(optype, first, last);
}
#undef Perl_apply
I32
-Perl_apply(void *pPerl, I32 type, SV** mark, SV** sp)
+Perl_apply(pTHXo_ I32 type, SV** mark, SV** sp)
{
return ((CPerlObj*)pPerl)->Perl_apply(type, mark, sp);
}
#undef Perl_assertref
void
-Perl_assertref(void *pPerl, OP* o)
+Perl_assertref(pTHXo_ OP* o)
{
((CPerlObj*)pPerl)->Perl_assertref(o);
}
#undef Perl_avhv_exists_ent
bool
-Perl_avhv_exists_ent(void *pPerl, AV *ar, SV* keysv, U32 hash)
+Perl_avhv_exists_ent(pTHXo_ AV *ar, SV* keysv, U32 hash)
{
return ((CPerlObj*)pPerl)->Perl_avhv_exists_ent(ar, keysv, hash);
}
#undef Perl_avhv_fetch_ent
SV**
-Perl_avhv_fetch_ent(void *pPerl, AV *ar, SV* keysv, I32 lval, U32 hash)
+Perl_avhv_fetch_ent(pTHXo_ AV *ar, SV* keysv, I32 lval, U32 hash)
{
return ((CPerlObj*)pPerl)->Perl_avhv_fetch_ent(ar, keysv, lval, hash);
}
#undef Perl_avhv_iternext
HE*
-Perl_avhv_iternext(void *pPerl, AV *ar)
+Perl_avhv_iternext(pTHXo_ AV *ar)
{
return ((CPerlObj*)pPerl)->Perl_avhv_iternext(ar);
}
#undef Perl_avhv_iterval
SV*
-Perl_avhv_iterval(void *pPerl, AV *ar, HE* entry)
+Perl_avhv_iterval(pTHXo_ AV *ar, HE* entry)
{
return ((CPerlObj*)pPerl)->Perl_avhv_iterval(ar, entry);
}
#undef Perl_avhv_keys
HV*
-Perl_avhv_keys(void *pPerl, AV *ar)
+Perl_avhv_keys(pTHXo_ AV *ar)
{
return ((CPerlObj*)pPerl)->Perl_avhv_keys(ar);
}
#undef Perl_av_clear
void
-Perl_av_clear(void *pPerl, AV* ar)
+Perl_av_clear(pTHXo_ AV* ar)
{
((CPerlObj*)pPerl)->Perl_av_clear(ar);
}
#undef Perl_av_extend
void
-Perl_av_extend(void *pPerl, AV* ar, I32 key)
+Perl_av_extend(pTHXo_ AV* ar, I32 key)
{
((CPerlObj*)pPerl)->Perl_av_extend(ar, key);
}
#undef Perl_av_fake
AV*
-Perl_av_fake(void *pPerl, I32 size, SV** svp)
+Perl_av_fake(pTHXo_ I32 size, SV** svp)
{
return ((CPerlObj*)pPerl)->Perl_av_fake(size, svp);
}
#undef Perl_av_fetch
SV**
-Perl_av_fetch(void *pPerl, AV* ar, I32 key, I32 lval)
+Perl_av_fetch(pTHXo_ AV* ar, I32 key, I32 lval)
{
return ((CPerlObj*)pPerl)->Perl_av_fetch(ar, key, lval);
}
#undef Perl_av_fill
void
-Perl_av_fill(void *pPerl, AV* ar, I32 fill)
+Perl_av_fill(pTHXo_ AV* ar, I32 fill)
{
((CPerlObj*)pPerl)->Perl_av_fill(ar, fill);
}
#undef Perl_av_len
I32
-Perl_av_len(void *pPerl, AV* ar)
+Perl_av_len(pTHXo_ AV* ar)
{
return ((CPerlObj*)pPerl)->Perl_av_len(ar);
}
#undef Perl_av_make
AV*
-Perl_av_make(void *pPerl, I32 size, SV** svp)
+Perl_av_make(pTHXo_ I32 size, SV** svp)
{
return ((CPerlObj*)pPerl)->Perl_av_make(size, svp);
}
#undef Perl_av_pop
SV*
-Perl_av_pop(void *pPerl, AV* ar)
+Perl_av_pop(pTHXo_ AV* ar)
{
return ((CPerlObj*)pPerl)->Perl_av_pop(ar);
}
#undef Perl_av_push
void
-Perl_av_push(void *pPerl, AV* ar, SV* val)
+Perl_av_push(pTHXo_ AV* ar, SV* val)
{
((CPerlObj*)pPerl)->Perl_av_push(ar, val);
}
#undef Perl_av_reify
void
-Perl_av_reify(void *pPerl, AV* ar)
+Perl_av_reify(pTHXo_ AV* ar)
{
((CPerlObj*)pPerl)->Perl_av_reify(ar);
}
#undef Perl_av_shift
SV*
-Perl_av_shift(void *pPerl, AV* ar)
+Perl_av_shift(pTHXo_ AV* ar)
{
return ((CPerlObj*)pPerl)->Perl_av_shift(ar);
}
#undef Perl_av_store
SV**
-Perl_av_store(void *pPerl, AV* ar, I32 key, SV* val)
+Perl_av_store(pTHXo_ AV* ar, I32 key, SV* val)
{
return ((CPerlObj*)pPerl)->Perl_av_store(ar, key, val);
}
#undef Perl_av_undef
void
-Perl_av_undef(void *pPerl, AV* ar)
+Perl_av_undef(pTHXo_ AV* ar)
{
((CPerlObj*)pPerl)->Perl_av_undef(ar);
}
#undef Perl_av_unshift
void
-Perl_av_unshift(void *pPerl, AV* ar, I32 num)
+Perl_av_unshift(pTHXo_ AV* ar, I32 num)
{
((CPerlObj*)pPerl)->Perl_av_unshift(ar, num);
}
#undef Perl_bind_match
OP*
-Perl_bind_match(void *pPerl, I32 type, OP* left, OP* pat)
+Perl_bind_match(pTHXo_ I32 type, OP* left, OP* pat)
{
return ((CPerlObj*)pPerl)->Perl_bind_match(type, left, pat);
}
#undef Perl_block_end
OP*
-Perl_block_end(void *pPerl, I32 floor, OP* seq)
+Perl_block_end(pTHXo_ I32 floor, OP* seq)
{
return ((CPerlObj*)pPerl)->Perl_block_end(floor, seq);
}
#undef Perl_block_gimme
I32
-Perl_block_gimme(void *pPerl)
+Perl_block_gimme(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_block_gimme();
}
#undef Perl_block_start
int
-Perl_block_start(void *pPerl, int full)
+Perl_block_start(pTHXo_ int full)
{
return ((CPerlObj*)pPerl)->Perl_block_start(full);
}
#undef Perl_boot_core_UNIVERSAL
void
-Perl_boot_core_UNIVERSAL(void *pPerl)
+Perl_boot_core_UNIVERSAL(pTHXo)
{
((CPerlObj*)pPerl)->Perl_boot_core_UNIVERSAL();
}
#undef Perl_call_list
void
-Perl_call_list(void *pPerl, I32 oldscope, AV* av_list)
+Perl_call_list(pTHXo_ I32 oldscope, AV* av_list)
{
((CPerlObj*)pPerl)->Perl_call_list(oldscope, av_list);
}
#undef Perl_cando
I32
-Perl_cando(void *pPerl, I32 bit, I32 effective, Stat_t* statbufp)
+Perl_cando(pTHXo_ I32 bit, I32 effective, Stat_t* statbufp)
{
return ((CPerlObj*)pPerl)->Perl_cando(bit, effective, statbufp);
}
#undef Perl_cast_ulong
U32
-Perl_cast_ulong(void *pPerl, NV f)
+Perl_cast_ulong(pTHXo_ NV f)
{
return ((CPerlObj*)pPerl)->Perl_cast_ulong(f);
}
#undef Perl_cast_i32
I32
-Perl_cast_i32(void *pPerl, NV f)
+Perl_cast_i32(pTHXo_ NV f)
{
return ((CPerlObj*)pPerl)->Perl_cast_i32(f);
}
#undef Perl_cast_iv
IV
-Perl_cast_iv(void *pPerl, NV f)
+Perl_cast_iv(pTHXo_ NV f)
{
return ((CPerlObj*)pPerl)->Perl_cast_iv(f);
}
#undef Perl_cast_uv
UV
-Perl_cast_uv(void *pPerl, NV f)
+Perl_cast_uv(pTHXo_ NV f)
{
return ((CPerlObj*)pPerl)->Perl_cast_uv(f);
}
#undef Perl_my_chsize
I32
-Perl_my_chsize(void *pPerl, int fd, Off_t length)
+Perl_my_chsize(pTHXo_ int fd, Off_t length)
{
return ((CPerlObj*)pPerl)->Perl_my_chsize(fd, length);
}
#undef Perl_condpair_magic
MAGIC*
-Perl_condpair_magic(void *pPerl, SV *sv)
+Perl_condpair_magic(pTHXo_ SV *sv)
{
return ((CPerlObj*)pPerl)->Perl_condpair_magic(sv);
}
#undef Perl_convert
OP*
-Perl_convert(void *pPerl, I32 optype, I32 flags, OP* o)
+Perl_convert(pTHXo_ I32 optype, I32 flags, OP* o)
{
return ((CPerlObj*)pPerl)->Perl_convert(optype, flags, o);
}
+
+#undef Perl_croak
+void
+Perl_croak(pTHXo_ const char* pat)
+{
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_vcroak(pat, &args);
+ va_end(args);
+}
+
+#undef Perl_vcroak
+void
+Perl_vcroak(pTHXo_ const char* pat, va_list* args)
+{
+ ((CPerlObj*)pPerl)->Perl_vcroak(pat, args);
+}
#if defined(PERL_IMPLICIT_CONTEXT)
+
+#undef Perl_croak_nocontext
+void
+Perl_croak_nocontext(const char* pat)
+{
+ dTHXo;
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_vcroak(pat, &args);
+ va_end(args);
+}
+
+#undef Perl_die_nocontext
+OP*
+Perl_die_nocontext(const char* pat)
+{
+ dTHXo;
+ OP* retval;
+ va_list args;
+ va_start(args, pat);
+ retval = ((CPerlObj*)pPerl)->Perl_vdie(pat, &args);
+ va_end(args);
+ return retval;
+
+}
+
+#undef Perl_deb_nocontext
+void
+Perl_deb_nocontext(const char* pat)
+{
+ dTHXo;
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_vdeb(pat, &args);
+ va_end(args);
+}
+
+#undef Perl_form_nocontext
+char*
+Perl_form_nocontext(const char* pat)
+{
+ dTHXo;
+ char* retval;
+ va_list args;
+ va_start(args, pat);
+ retval = ((CPerlObj*)pPerl)->Perl_vform(pat, &args);
+ va_end(args);
+ return retval;
+
+}
+
+#undef Perl_warn_nocontext
+void
+Perl_warn_nocontext(const char* pat)
+{
+ dTHXo;
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_vwarn(pat, &args);
+ va_end(args);
+}
+
+#undef Perl_warner_nocontext
+void
+Perl_warner_nocontext(U32 err, const char* pat)
+{
+ dTHXo;
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, &args);
+ va_end(args);
+}
+
+#undef Perl_newSVpvf_nocontext
+SV*
+Perl_newSVpvf_nocontext(const char* pat)
+{
+ dTHXo;
+ SV* retval;
+ va_list args;
+ va_start(args, pat);
+ retval = ((CPerlObj*)pPerl)->Perl_vnewSVpvf(pat, &args);
+ va_end(args);
+ return retval;
+
+}
+
+#undef Perl_sv_catpvf_nocontext
+void
+Perl_sv_catpvf_nocontext(SV* sv, const char* pat)
+{
+ dTHXo;
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_sv_vcatpvf(sv, pat, &args);
+ va_end(args);
+}
+
+#undef Perl_sv_setpvf_nocontext
+void
+Perl_sv_setpvf_nocontext(SV* sv, const char* pat)
+{
+ dTHXo;
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_sv_vsetpvf(sv, pat, &args);
+ va_end(args);
+}
+
+#undef Perl_sv_catpvf_mg_nocontext
+void
+Perl_sv_catpvf_mg_nocontext(SV* sv, const char* pat)
+{
+ dTHXo;
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_sv_vcatpvf_mg(sv, pat, &args);
+ va_end(args);
+}
+
+#undef Perl_sv_setpvf_mg_nocontext
+void
+Perl_sv_setpvf_mg_nocontext(SV* sv, const char* pat)
+{
+ dTHXo;
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_sv_vsetpvf_mg(sv, pat, &args);
+ va_end(args);
+}
+
+#undef Perl_fprintf_nocontext
#endif
#undef Perl_cv_ckproto
void
-Perl_cv_ckproto(void *pPerl, CV* cv, GV* gv, char* p)
+Perl_cv_ckproto(pTHXo_ CV* cv, GV* gv, char* p)
{
((CPerlObj*)pPerl)->Perl_cv_ckproto(cv, gv, p);
}
#undef Perl_cv_clone
CV*
-Perl_cv_clone(void *pPerl, CV* proto)
+Perl_cv_clone(pTHXo_ CV* proto)
{
return ((CPerlObj*)pPerl)->Perl_cv_clone(proto);
}
#undef Perl_cv_const_sv
SV*
-Perl_cv_const_sv(void *pPerl, CV* cv)
+Perl_cv_const_sv(pTHXo_ CV* cv)
{
return ((CPerlObj*)pPerl)->Perl_cv_const_sv(cv);
}
#undef Perl_op_const_sv
SV*
-Perl_op_const_sv(void *pPerl, OP* o, CV* cv)
+Perl_op_const_sv(pTHXo_ OP* o, CV* cv)
{
return ((CPerlObj*)pPerl)->Perl_op_const_sv(o, cv);
}
#undef Perl_cv_undef
void
-Perl_cv_undef(void *pPerl, CV* cv)
+Perl_cv_undef(pTHXo_ CV* cv)
{
((CPerlObj*)pPerl)->Perl_cv_undef(cv);
}
#undef Perl_cx_dump
void
-Perl_cx_dump(void *pPerl, PERL_CONTEXT* cs)
+Perl_cx_dump(pTHXo_ PERL_CONTEXT* cs)
{
((CPerlObj*)pPerl)->Perl_cx_dump(cs);
}
#undef Perl_filter_add
SV*
-Perl_filter_add(void *pPerl, filter_t funcp, SV* datasv)
+Perl_filter_add(pTHXo_ filter_t funcp, SV* datasv)
{
return ((CPerlObj*)pPerl)->Perl_filter_add(funcp, datasv);
}
#undef Perl_filter_del
void
-Perl_filter_del(void *pPerl, filter_t funcp)
+Perl_filter_del(pTHXo_ filter_t funcp)
{
((CPerlObj*)pPerl)->Perl_filter_del(funcp);
}
#undef Perl_filter_read
I32
-Perl_filter_read(void *pPerl, int idx, SV* buffer, int maxlen)
+Perl_filter_read(pTHXo_ int idx, SV* buffer, int maxlen)
{
return ((CPerlObj*)pPerl)->Perl_filter_read(idx, buffer, maxlen);
}
#undef Perl_get_op_descs
char**
-Perl_get_op_descs(void *pPerl)
+Perl_get_op_descs(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_get_op_descs();
}
#undef Perl_get_op_names
char**
-Perl_get_op_names(void *pPerl)
+Perl_get_op_names(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_get_op_names();
}
#undef Perl_get_no_modify
char*
-Perl_get_no_modify(void *pPerl)
+Perl_get_no_modify(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_get_no_modify();
}
#undef Perl_get_opargs
U32*
-Perl_get_opargs(void *pPerl)
+Perl_get_opargs(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_get_opargs();
}
#undef Perl_get_ppaddr
PPADDR_t*
-Perl_get_ppaddr(void *pPerl)
+Perl_get_ppaddr(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_get_ppaddr();
}
#undef Perl_cxinc
I32
-Perl_cxinc(void *pPerl)
+Perl_cxinc(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_cxinc();
}
+#undef Perl_deb
+void
+Perl_deb(pTHXo_ const char* pat)
+{
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_vdeb(pat, &args);
+ va_end(args);
+}
+
+#undef Perl_vdeb
+void
+Perl_vdeb(pTHXo_ const char* pat, va_list* args)
+{
+ ((CPerlObj*)pPerl)->Perl_vdeb(pat, args);
+}
+
#undef Perl_deb_growlevel
void
-Perl_deb_growlevel(void *pPerl)
+Perl_deb_growlevel(pTHXo)
{
((CPerlObj*)pPerl)->Perl_deb_growlevel();
}
#undef Perl_debprofdump
void
-Perl_debprofdump(void *pPerl)
+Perl_debprofdump(pTHXo)
{
((CPerlObj*)pPerl)->Perl_debprofdump();
}
#undef Perl_debop
I32
-Perl_debop(void *pPerl, OP* o)
+Perl_debop(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_debop(o);
}
#undef Perl_debstack
I32
-Perl_debstack(void *pPerl)
+Perl_debstack(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_debstack();
}
#undef Perl_debstackptrs
I32
-Perl_debstackptrs(void *pPerl)
+Perl_debstackptrs(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_debstackptrs();
}
#undef Perl_delimcpy
char*
-Perl_delimcpy(void *pPerl, char* to, char* toend, char* from, char* fromend, int delim, I32* retlen)
+Perl_delimcpy(pTHXo_ char* to, char* toend, char* from, char* fromend, int delim, I32* retlen)
{
return ((CPerlObj*)pPerl)->Perl_delimcpy(to, toend, from, fromend, delim, retlen);
}
#undef Perl_deprecate
void
-Perl_deprecate(void *pPerl, char* s)
+Perl_deprecate(pTHXo_ char* s)
{
((CPerlObj*)pPerl)->Perl_deprecate(s);
}
+#undef Perl_die
+OP*
+Perl_die(pTHXo_ const char* pat)
+{
+ OP* retval;
+ va_list args;
+ va_start(args, pat);
+ retval = ((CPerlObj*)pPerl)->Perl_vdie(pat, &args);
+ va_end(args);
+ return retval;
+
+}
+
+#undef Perl_vdie
+OP*
+Perl_vdie(pTHXo_ const char* pat, va_list* args)
+{
+ return ((CPerlObj*)pPerl)->Perl_vdie(pat, args);
+}
+
#undef Perl_die_where
OP*
-Perl_die_where(void *pPerl, char* message, STRLEN msglen)
+Perl_die_where(pTHXo_ char* message, STRLEN msglen)
{
return ((CPerlObj*)pPerl)->Perl_die_where(message, msglen);
}
#undef Perl_dounwind
void
-Perl_dounwind(void *pPerl, I32 cxix)
+Perl_dounwind(pTHXo_ I32 cxix)
{
((CPerlObj*)pPerl)->Perl_dounwind(cxix);
}
#undef Perl_do_aexec
bool
-Perl_do_aexec(void *pPerl, SV* really, SV** mark, SV** sp)
+Perl_do_aexec(pTHXo_ SV* really, SV** mark, SV** sp)
{
return ((CPerlObj*)pPerl)->Perl_do_aexec(really, mark, sp);
}
#undef Perl_do_binmode
int
-Perl_do_binmode(void *pPerl, PerlIO *fp, int iotype, int flag)
+Perl_do_binmode(pTHXo_ PerlIO *fp, int iotype, int flag)
{
return ((CPerlObj*)pPerl)->Perl_do_binmode(fp, iotype, flag);
}
#undef Perl_do_chop
void
-Perl_do_chop(void *pPerl, SV* asv, SV* sv)
+Perl_do_chop(pTHXo_ SV* asv, SV* sv)
{
((CPerlObj*)pPerl)->Perl_do_chop(asv, sv);
}
#undef Perl_do_close
bool
-Perl_do_close(void *pPerl, GV* gv, bool not_implicit)
+Perl_do_close(pTHXo_ GV* gv, bool not_implicit)
{
return ((CPerlObj*)pPerl)->Perl_do_close(gv, not_implicit);
}
#undef Perl_do_eof
bool
-Perl_do_eof(void *pPerl, GV* gv)
+Perl_do_eof(pTHXo_ GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_do_eof(gv);
}
#undef Perl_do_exec
bool
-Perl_do_exec(void *pPerl, char* cmd)
+Perl_do_exec(pTHXo_ char* cmd)
{
return ((CPerlObj*)pPerl)->Perl_do_exec(cmd);
}
#undef Perl_do_exec3
bool
-Perl_do_exec3(void *pPerl, char* cmd, int fd, int flag)
+Perl_do_exec3(pTHXo_ char* cmd, int fd, int flag)
{
return ((CPerlObj*)pPerl)->Perl_do_exec3(cmd, fd, flag);
}
#undef Perl_do_execfree
void
-Perl_do_execfree(void *pPerl)
+Perl_do_execfree(pTHXo)
{
((CPerlObj*)pPerl)->Perl_do_execfree();
}
#undef Perl_do_ipcctl
I32
-Perl_do_ipcctl(void *pPerl, I32 optype, SV** mark, SV** sp)
+Perl_do_ipcctl(pTHXo_ I32 optype, SV** mark, SV** sp)
{
return ((CPerlObj*)pPerl)->Perl_do_ipcctl(optype, mark, sp);
}
#undef Perl_do_ipcget
I32
-Perl_do_ipcget(void *pPerl, I32 optype, SV** mark, SV** sp)
+Perl_do_ipcget(pTHXo_ I32 optype, SV** mark, SV** sp)
{
return ((CPerlObj*)pPerl)->Perl_do_ipcget(optype, mark, sp);
}
#undef Perl_do_msgrcv
I32
-Perl_do_msgrcv(void *pPerl, SV** mark, SV** sp)
+Perl_do_msgrcv(pTHXo_ SV** mark, SV** sp)
{
return ((CPerlObj*)pPerl)->Perl_do_msgrcv(mark, sp);
}
#undef Perl_do_msgsnd
I32
-Perl_do_msgsnd(void *pPerl, SV** mark, SV** sp)
+Perl_do_msgsnd(pTHXo_ SV** mark, SV** sp)
{
return ((CPerlObj*)pPerl)->Perl_do_msgsnd(mark, sp);
}
#undef Perl_do_semop
I32
-Perl_do_semop(void *pPerl, SV** mark, SV** sp)
+Perl_do_semop(pTHXo_ SV** mark, SV** sp)
{
return ((CPerlObj*)pPerl)->Perl_do_semop(mark, sp);
}
#undef Perl_do_shmio
I32
-Perl_do_shmio(void *pPerl, I32 optype, SV** mark, SV** sp)
+Perl_do_shmio(pTHXo_ I32 optype, SV** mark, SV** sp)
{
return ((CPerlObj*)pPerl)->Perl_do_shmio(optype, mark, sp);
}
#undef Perl_do_join
void
-Perl_do_join(void *pPerl, SV* sv, SV* del, SV** mark, SV** sp)
+Perl_do_join(pTHXo_ SV* sv, SV* del, SV** mark, SV** sp)
{
((CPerlObj*)pPerl)->Perl_do_join(sv, del, mark, sp);
}
#undef Perl_do_kv
OP*
-Perl_do_kv(void *pPerl)
+Perl_do_kv(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_do_kv();
}
#undef Perl_do_open
bool
-Perl_do_open(void *pPerl, GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp)
+Perl_do_open(pTHXo_ GV* gv, char* name, I32 len, int as_raw, int rawmode, int rawperm, PerlIO* supplied_fp)
{
return ((CPerlObj*)pPerl)->Perl_do_open(gv, name, len, as_raw, rawmode, rawperm, supplied_fp);
}
#undef Perl_do_pipe
void
-Perl_do_pipe(void *pPerl, SV* sv, GV* rgv, GV* wgv)
+Perl_do_pipe(pTHXo_ SV* sv, GV* rgv, GV* wgv)
{
((CPerlObj*)pPerl)->Perl_do_pipe(sv, rgv, wgv);
}
#undef Perl_do_print
bool
-Perl_do_print(void *pPerl, SV* sv, PerlIO* fp)
+Perl_do_print(pTHXo_ SV* sv, PerlIO* fp)
{
return ((CPerlObj*)pPerl)->Perl_do_print(sv, fp);
}
#undef Perl_do_readline
OP*
-Perl_do_readline(void *pPerl)
+Perl_do_readline(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_do_readline();
}
#undef Perl_do_chomp
I32
-Perl_do_chomp(void *pPerl, SV* sv)
+Perl_do_chomp(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_do_chomp(sv);
}
#undef Perl_do_seek
bool
-Perl_do_seek(void *pPerl, GV* gv, Off_t pos, int whence)
+Perl_do_seek(pTHXo_ GV* gv, Off_t pos, int whence)
{
return ((CPerlObj*)pPerl)->Perl_do_seek(gv, pos, whence);
}
#undef Perl_do_sprintf
void
-Perl_do_sprintf(void *pPerl, SV* sv, I32 len, SV** sarg)
+Perl_do_sprintf(pTHXo_ SV* sv, I32 len, SV** sarg)
{
((CPerlObj*)pPerl)->Perl_do_sprintf(sv, len, sarg);
}
#undef Perl_do_sysseek
Off_t
-Perl_do_sysseek(void *pPerl, GV* gv, Off_t pos, int whence)
+Perl_do_sysseek(pTHXo_ GV* gv, Off_t pos, int whence)
{
return ((CPerlObj*)pPerl)->Perl_do_sysseek(gv, pos, whence);
}
#undef Perl_do_tell
Off_t
-Perl_do_tell(void *pPerl, GV* gv)
+Perl_do_tell(pTHXo_ GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_do_tell(gv);
}
#undef Perl_do_trans
I32
-Perl_do_trans(void *pPerl, SV* sv)
+Perl_do_trans(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_do_trans(sv);
}
#undef Perl_do_vecset
void
-Perl_do_vecset(void *pPerl, SV* sv)
+Perl_do_vecset(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_do_vecset(sv);
}
#undef Perl_do_vop
void
-Perl_do_vop(void *pPerl, I32 optype, SV* sv, SV* left, SV* right)
+Perl_do_vop(pTHXo_ I32 optype, SV* sv, SV* left, SV* right)
{
((CPerlObj*)pPerl)->Perl_do_vop(optype, sv, left, right);
}
#undef Perl_dofile
OP*
-Perl_dofile(void *pPerl, OP* term)
+Perl_dofile(pTHXo_ OP* term)
{
return ((CPerlObj*)pPerl)->Perl_dofile(term);
}
#undef Perl_dowantarray
I32
-Perl_dowantarray(void *pPerl)
+Perl_dowantarray(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_dowantarray();
}
#undef Perl_dump_all
void
-Perl_dump_all(void *pPerl)
+Perl_dump_all(pTHXo)
{
((CPerlObj*)pPerl)->Perl_dump_all();
}
#undef Perl_dump_eval
void
-Perl_dump_eval(void *pPerl)
+Perl_dump_eval(pTHXo)
{
((CPerlObj*)pPerl)->Perl_dump_eval();
}
#undef Perl_dump_fds
void
-Perl_dump_fds(void *pPerl, char* s)
+Perl_dump_fds(pTHXo_ char* s)
{
((CPerlObj*)pPerl)->Perl_dump_fds(s);
}
#undef Perl_dump_form
void
-Perl_dump_form(void *pPerl, GV* gv)
+Perl_dump_form(pTHXo_ GV* gv)
{
((CPerlObj*)pPerl)->Perl_dump_form(gv);
}
#undef Perl_gv_dump
void
-Perl_gv_dump(void *pPerl, GV* gv)
+Perl_gv_dump(pTHXo_ GV* gv)
{
((CPerlObj*)pPerl)->Perl_gv_dump(gv);
}
#undef Perl_op_dump
void
-Perl_op_dump(void *pPerl, OP* arg)
+Perl_op_dump(pTHXo_ OP* arg)
{
((CPerlObj*)pPerl)->Perl_op_dump(arg);
}
#undef Perl_pmop_dump
void
-Perl_pmop_dump(void *pPerl, PMOP* pm)
+Perl_pmop_dump(pTHXo_ PMOP* pm)
{
((CPerlObj*)pPerl)->Perl_pmop_dump(pm);
}
#undef Perl_dump_packsubs
void
-Perl_dump_packsubs(void *pPerl, HV* stash)
+Perl_dump_packsubs(pTHXo_ HV* stash)
{
((CPerlObj*)pPerl)->Perl_dump_packsubs(stash);
}
#undef Perl_dump_sub
void
-Perl_dump_sub(void *pPerl, GV* gv)
+Perl_dump_sub(pTHXo_ GV* gv)
{
((CPerlObj*)pPerl)->Perl_dump_sub(gv);
}
#undef Perl_fbm_compile
void
-Perl_fbm_compile(void *pPerl, SV* sv, U32 flags)
+Perl_fbm_compile(pTHXo_ SV* sv, U32 flags)
{
((CPerlObj*)pPerl)->Perl_fbm_compile(sv, flags);
}
#undef Perl_fbm_instr
char*
-Perl_fbm_instr(void *pPerl, unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags)
+Perl_fbm_instr(pTHXo_ unsigned char* big, unsigned char* bigend, SV* littlesv, U32 flags)
{
return ((CPerlObj*)pPerl)->Perl_fbm_instr(big, bigend, littlesv, flags);
}
#undef Perl_find_script
char*
-Perl_find_script(void *pPerl, char *scriptname, bool dosearch, char **search_ext, I32 flags)
+Perl_find_script(pTHXo_ char *scriptname, bool dosearch, char **search_ext, I32 flags)
{
return ((CPerlObj*)pPerl)->Perl_find_script(scriptname, dosearch, search_ext, flags);
}
#undef Perl_find_threadsv
PADOFFSET
-Perl_find_threadsv(void *pPerl, const char *name)
+Perl_find_threadsv(pTHXo_ const char *name)
{
return ((CPerlObj*)pPerl)->Perl_find_threadsv(name);
}
#undef Perl_force_list
OP*
-Perl_force_list(void *pPerl, OP* arg)
+Perl_force_list(pTHXo_ OP* arg)
{
return ((CPerlObj*)pPerl)->Perl_force_list(arg);
}
#undef Perl_fold_constants
OP*
-Perl_fold_constants(void *pPerl, OP* arg)
+Perl_fold_constants(pTHXo_ OP* arg)
{
return ((CPerlObj*)pPerl)->Perl_fold_constants(arg);
}
+#undef Perl_form
+char*
+Perl_form(pTHXo_ const char* pat)
+{
+ char* retval;
+ va_list args;
+ va_start(args, pat);
+ retval = ((CPerlObj*)pPerl)->Perl_vform(pat, &args);
+ va_end(args);
+ return retval;
+
+}
+
+#undef Perl_vform
+char*
+Perl_vform(pTHXo_ const char* pat, va_list* args)
+{
+ return ((CPerlObj*)pPerl)->Perl_vform(pat, args);
+}
+
#undef Perl_free_tmps
void
-Perl_free_tmps(void *pPerl)
+Perl_free_tmps(pTHXo)
{
((CPerlObj*)pPerl)->Perl_free_tmps();
}
#undef Perl_gen_constant_list
OP*
-Perl_gen_constant_list(void *pPerl, OP* o)
+Perl_gen_constant_list(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_gen_constant_list(o);
}
#undef Perl_getenv_len
char*
-Perl_getenv_len(void *pPerl, char* key, unsigned long *len)
+Perl_getenv_len(pTHXo_ char* key, unsigned long *len)
{
return ((CPerlObj*)pPerl)->Perl_getenv_len(key, len);
}
#undef Perl_gp_free
void
-Perl_gp_free(void *pPerl, GV* gv)
+Perl_gp_free(pTHXo_ GV* gv)
{
((CPerlObj*)pPerl)->Perl_gp_free(gv);
}
#undef Perl_gp_ref
GP*
-Perl_gp_ref(void *pPerl, GP* gp)
+Perl_gp_ref(pTHXo_ GP* gp)
{
return ((CPerlObj*)pPerl)->Perl_gp_ref(gp);
}
#undef Perl_gv_AVadd
GV*
-Perl_gv_AVadd(void *pPerl, GV* gv)
+Perl_gv_AVadd(pTHXo_ GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_gv_AVadd(gv);
}
#undef Perl_gv_HVadd
GV*
-Perl_gv_HVadd(void *pPerl, GV* gv)
+Perl_gv_HVadd(pTHXo_ GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_gv_HVadd(gv);
}
#undef Perl_gv_IOadd
GV*
-Perl_gv_IOadd(void *pPerl, GV* gv)
+Perl_gv_IOadd(pTHXo_ GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_gv_IOadd(gv);
}
#undef Perl_gv_autoload4
GV*
-Perl_gv_autoload4(void *pPerl, HV* stash, const char* name, STRLEN len, I32 method)
+Perl_gv_autoload4(pTHXo_ HV* stash, const char* name, STRLEN len, I32 method)
{
return ((CPerlObj*)pPerl)->Perl_gv_autoload4(stash, name, len, method);
}
#undef Perl_gv_check
void
-Perl_gv_check(void *pPerl, HV* stash)
+Perl_gv_check(pTHXo_ HV* stash)
{
((CPerlObj*)pPerl)->Perl_gv_check(stash);
}
#undef Perl_gv_efullname
void
-Perl_gv_efullname(void *pPerl, SV* sv, GV* gv)
+Perl_gv_efullname(pTHXo_ SV* sv, GV* gv)
{
((CPerlObj*)pPerl)->Perl_gv_efullname(sv, gv);
}
#undef Perl_gv_efullname3
void
-Perl_gv_efullname3(void *pPerl, SV* sv, GV* gv, const char* prefix)
+Perl_gv_efullname3(pTHXo_ SV* sv, GV* gv, const char* prefix)
{
((CPerlObj*)pPerl)->Perl_gv_efullname3(sv, gv, prefix);
}
#undef Perl_gv_fetchfile
GV*
-Perl_gv_fetchfile(void *pPerl, const char* name)
+Perl_gv_fetchfile(pTHXo_ const char* name)
{
return ((CPerlObj*)pPerl)->Perl_gv_fetchfile(name);
}
#undef Perl_gv_fetchmeth
GV*
-Perl_gv_fetchmeth(void *pPerl, HV* stash, const char* name, STRLEN len, I32 level)
+Perl_gv_fetchmeth(pTHXo_ HV* stash, const char* name, STRLEN len, I32 level)
{
return ((CPerlObj*)pPerl)->Perl_gv_fetchmeth(stash, name, len, level);
}
#undef Perl_gv_fetchmethod
GV*
-Perl_gv_fetchmethod(void *pPerl, HV* stash, const char* name)
+Perl_gv_fetchmethod(pTHXo_ HV* stash, const char* name)
{
return ((CPerlObj*)pPerl)->Perl_gv_fetchmethod(stash, name);
}
#undef Perl_gv_fetchmethod_autoload
GV*
-Perl_gv_fetchmethod_autoload(void *pPerl, HV* stash, const char* name, I32 autoload)
+Perl_gv_fetchmethod_autoload(pTHXo_ HV* stash, const char* name, I32 autoload)
{
return ((CPerlObj*)pPerl)->Perl_gv_fetchmethod_autoload(stash, name, autoload);
}
#undef Perl_gv_fetchpv
GV*
-Perl_gv_fetchpv(void *pPerl, const char* name, I32 add, I32 sv_type)
+Perl_gv_fetchpv(pTHXo_ const char* name, I32 add, I32 sv_type)
{
return ((CPerlObj*)pPerl)->Perl_gv_fetchpv(name, add, sv_type);
}
#undef Perl_gv_fullname
void
-Perl_gv_fullname(void *pPerl, SV* sv, GV* gv)
+Perl_gv_fullname(pTHXo_ SV* sv, GV* gv)
{
((CPerlObj*)pPerl)->Perl_gv_fullname(sv, gv);
}
#undef Perl_gv_fullname3
void
-Perl_gv_fullname3(void *pPerl, SV* sv, GV* gv, const char* prefix)
+Perl_gv_fullname3(pTHXo_ SV* sv, GV* gv, const char* prefix)
{
((CPerlObj*)pPerl)->Perl_gv_fullname3(sv, gv, prefix);
}
#undef Perl_gv_init
void
-Perl_gv_init(void *pPerl, GV* gv, HV* stash, const char* name, STRLEN len, int multi)
+Perl_gv_init(pTHXo_ GV* gv, HV* stash, const char* name, STRLEN len, int multi)
{
((CPerlObj*)pPerl)->Perl_gv_init(gv, stash, name, len, multi);
}
#undef Perl_gv_stashpv
HV*
-Perl_gv_stashpv(void *pPerl, const char* name, I32 create)
+Perl_gv_stashpv(pTHXo_ const char* name, I32 create)
{
return ((CPerlObj*)pPerl)->Perl_gv_stashpv(name, create);
}
#undef Perl_gv_stashpvn
HV*
-Perl_gv_stashpvn(void *pPerl, const char* name, U32 namelen, I32 create)
+Perl_gv_stashpvn(pTHXo_ const char* name, U32 namelen, I32 create)
{
return ((CPerlObj*)pPerl)->Perl_gv_stashpvn(name, namelen, create);
}
#undef Perl_gv_stashsv
HV*
-Perl_gv_stashsv(void *pPerl, SV* sv, I32 create)
+Perl_gv_stashsv(pTHXo_ SV* sv, I32 create)
{
return ((CPerlObj*)pPerl)->Perl_gv_stashsv(sv, create);
}
#undef Perl_hv_clear
void
-Perl_hv_clear(void *pPerl, HV* tb)
+Perl_hv_clear(pTHXo_ HV* tb)
{
((CPerlObj*)pPerl)->Perl_hv_clear(tb);
}
#undef Perl_hv_delayfree_ent
void
-Perl_hv_delayfree_ent(void *pPerl, HV* hv, HE* entry)
+Perl_hv_delayfree_ent(pTHXo_ HV* hv, HE* entry)
{
((CPerlObj*)pPerl)->Perl_hv_delayfree_ent(hv, entry);
}
#undef Perl_hv_delete
SV*
-Perl_hv_delete(void *pPerl, HV* tb, const char* key, U32 klen, I32 flags)
+Perl_hv_delete(pTHXo_ HV* tb, const char* key, U32 klen, I32 flags)
{
return ((CPerlObj*)pPerl)->Perl_hv_delete(tb, key, klen, flags);
}
#undef Perl_hv_delete_ent
SV*
-Perl_hv_delete_ent(void *pPerl, HV* tb, SV* key, I32 flags, U32 hash)
+Perl_hv_delete_ent(pTHXo_ HV* tb, SV* key, I32 flags, U32 hash)
{
return ((CPerlObj*)pPerl)->Perl_hv_delete_ent(tb, key, flags, hash);
}
#undef Perl_hv_exists
bool
-Perl_hv_exists(void *pPerl, HV* tb, const char* key, U32 klen)
+Perl_hv_exists(pTHXo_ HV* tb, const char* key, U32 klen)
{
return ((CPerlObj*)pPerl)->Perl_hv_exists(tb, key, klen);
}
#undef Perl_hv_exists_ent
bool
-Perl_hv_exists_ent(void *pPerl, HV* tb, SV* key, U32 hash)
+Perl_hv_exists_ent(pTHXo_ HV* tb, SV* key, U32 hash)
{
return ((CPerlObj*)pPerl)->Perl_hv_exists_ent(tb, key, hash);
}
#undef Perl_hv_fetch
SV**
-Perl_hv_fetch(void *pPerl, HV* tb, const char* key, U32 klen, I32 lval)
+Perl_hv_fetch(pTHXo_ HV* tb, const char* key, U32 klen, I32 lval)
{
return ((CPerlObj*)pPerl)->Perl_hv_fetch(tb, key, klen, lval);
}
#undef Perl_hv_fetch_ent
HE*
-Perl_hv_fetch_ent(void *pPerl, HV* tb, SV* key, I32 lval, U32 hash)
+Perl_hv_fetch_ent(pTHXo_ HV* tb, SV* key, I32 lval, U32 hash)
{
return ((CPerlObj*)pPerl)->Perl_hv_fetch_ent(tb, key, lval, hash);
}
#undef Perl_hv_free_ent
void
-Perl_hv_free_ent(void *pPerl, HV* hv, HE* entry)
+Perl_hv_free_ent(pTHXo_ HV* hv, HE* entry)
{
((CPerlObj*)pPerl)->Perl_hv_free_ent(hv, entry);
}
#undef Perl_hv_iterinit
I32
-Perl_hv_iterinit(void *pPerl, HV* tb)
+Perl_hv_iterinit(pTHXo_ HV* tb)
{
return ((CPerlObj*)pPerl)->Perl_hv_iterinit(tb);
}
#undef Perl_hv_iterkey
char*
-Perl_hv_iterkey(void *pPerl, HE* entry, I32* retlen)
+Perl_hv_iterkey(pTHXo_ HE* entry, I32* retlen)
{
return ((CPerlObj*)pPerl)->Perl_hv_iterkey(entry, retlen);
}
#undef Perl_hv_iterkeysv
SV*
-Perl_hv_iterkeysv(void *pPerl, HE* entry)
+Perl_hv_iterkeysv(pTHXo_ HE* entry)
{
return ((CPerlObj*)pPerl)->Perl_hv_iterkeysv(entry);
}
#undef Perl_hv_iternext
HE*
-Perl_hv_iternext(void *pPerl, HV* tb)
+Perl_hv_iternext(pTHXo_ HV* tb)
{
return ((CPerlObj*)pPerl)->Perl_hv_iternext(tb);
}
#undef Perl_hv_iternextsv
SV*
-Perl_hv_iternextsv(void *pPerl, HV* hv, char** key, I32* retlen)
+Perl_hv_iternextsv(pTHXo_ HV* hv, char** key, I32* retlen)
{
return ((CPerlObj*)pPerl)->Perl_hv_iternextsv(hv, key, retlen);
}
#undef Perl_hv_iterval
SV*
-Perl_hv_iterval(void *pPerl, HV* tb, HE* entry)
+Perl_hv_iterval(pTHXo_ HV* tb, HE* entry)
{
return ((CPerlObj*)pPerl)->Perl_hv_iterval(tb, entry);
}
#undef Perl_hv_ksplit
void
-Perl_hv_ksplit(void *pPerl, HV* hv, IV newmax)
+Perl_hv_ksplit(pTHXo_ HV* hv, IV newmax)
{
((CPerlObj*)pPerl)->Perl_hv_ksplit(hv, newmax);
}
#undef Perl_hv_magic
void
-Perl_hv_magic(void *pPerl, HV* hv, GV* gv, int how)
+Perl_hv_magic(pTHXo_ HV* hv, GV* gv, int how)
{
((CPerlObj*)pPerl)->Perl_hv_magic(hv, gv, how);
}
#undef Perl_hv_store
SV**
-Perl_hv_store(void *pPerl, HV* tb, const char* key, U32 klen, SV* val, U32 hash)
+Perl_hv_store(pTHXo_ HV* tb, const char* key, U32 klen, SV* val, U32 hash)
{
return ((CPerlObj*)pPerl)->Perl_hv_store(tb, key, klen, val, hash);
}
#undef Perl_hv_store_ent
HE*
-Perl_hv_store_ent(void *pPerl, HV* tb, SV* key, SV* val, U32 hash)
+Perl_hv_store_ent(pTHXo_ HV* tb, SV* key, SV* val, U32 hash)
{
return ((CPerlObj*)pPerl)->Perl_hv_store_ent(tb, key, val, hash);
}
#undef Perl_hv_undef
void
-Perl_hv_undef(void *pPerl, HV* tb)
+Perl_hv_undef(pTHXo_ HV* tb)
{
((CPerlObj*)pPerl)->Perl_hv_undef(tb);
}
#undef Perl_ibcmp
I32
-Perl_ibcmp(void *pPerl, const char* a, const char* b, I32 len)
+Perl_ibcmp(pTHXo_ const char* a, const char* b, I32 len)
{
return ((CPerlObj*)pPerl)->Perl_ibcmp(a, b, len);
}
#undef Perl_ibcmp_locale
I32
-Perl_ibcmp_locale(void *pPerl, const char* a, const char* b, I32 len)
+Perl_ibcmp_locale(pTHXo_ const char* a, const char* b, I32 len)
{
return ((CPerlObj*)pPerl)->Perl_ibcmp_locale(a, b, len);
}
#undef Perl_ingroup
I32
-Perl_ingroup(void *pPerl, I32 testgid, I32 effective)
+Perl_ingroup(pTHXo_ I32 testgid, I32 effective)
{
return ((CPerlObj*)pPerl)->Perl_ingroup(testgid, effective);
}
#undef Perl_init_stacks
void
-Perl_init_stacks(void *pPerl)
+Perl_init_stacks(pTHXo)
{
((CPerlObj*)pPerl)->Perl_init_stacks();
}
#undef Perl_intro_my
U32
-Perl_intro_my(void *pPerl)
+Perl_intro_my(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_intro_my();
}
#undef Perl_instr
char*
-Perl_instr(void *pPerl, const char* big, const char* little)
+Perl_instr(pTHXo_ const char* big, const char* little)
{
return ((CPerlObj*)pPerl)->Perl_instr(big, little);
}
#undef Perl_io_close
bool
-Perl_io_close(void *pPerl, IO* io)
+Perl_io_close(pTHXo_ IO* io)
{
return ((CPerlObj*)pPerl)->Perl_io_close(io);
}
#undef Perl_invert
OP*
-Perl_invert(void *pPerl, OP* cmd)
+Perl_invert(pTHXo_ OP* cmd)
{
return ((CPerlObj*)pPerl)->Perl_invert(cmd);
}
#undef Perl_is_uni_alnum
bool
-Perl_is_uni_alnum(void *pPerl, U32 c)
+Perl_is_uni_alnum(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_alnum(c);
}
#undef Perl_is_uni_alnumc
bool
-Perl_is_uni_alnumc(void *pPerl, U32 c)
+Perl_is_uni_alnumc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_alnumc(c);
}
#undef Perl_is_uni_idfirst
bool
-Perl_is_uni_idfirst(void *pPerl, U32 c)
+Perl_is_uni_idfirst(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_idfirst(c);
}
#undef Perl_is_uni_alpha
bool
-Perl_is_uni_alpha(void *pPerl, U32 c)
+Perl_is_uni_alpha(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_alpha(c);
}
#undef Perl_is_uni_ascii
bool
-Perl_is_uni_ascii(void *pPerl, U32 c)
+Perl_is_uni_ascii(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_ascii(c);
}
#undef Perl_is_uni_space
bool
-Perl_is_uni_space(void *pPerl, U32 c)
+Perl_is_uni_space(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_space(c);
}
#undef Perl_is_uni_cntrl
bool
-Perl_is_uni_cntrl(void *pPerl, U32 c)
+Perl_is_uni_cntrl(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_cntrl(c);
}
#undef Perl_is_uni_graph
bool
-Perl_is_uni_graph(void *pPerl, U32 c)
+Perl_is_uni_graph(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_graph(c);
}
#undef Perl_is_uni_digit
bool
-Perl_is_uni_digit(void *pPerl, U32 c)
+Perl_is_uni_digit(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_digit(c);
}
#undef Perl_is_uni_upper
bool
-Perl_is_uni_upper(void *pPerl, U32 c)
+Perl_is_uni_upper(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_upper(c);
}
#undef Perl_is_uni_lower
bool
-Perl_is_uni_lower(void *pPerl, U32 c)
+Perl_is_uni_lower(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_lower(c);
}
#undef Perl_is_uni_print
bool
-Perl_is_uni_print(void *pPerl, U32 c)
+Perl_is_uni_print(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_print(c);
}
#undef Perl_is_uni_punct
bool
-Perl_is_uni_punct(void *pPerl, U32 c)
+Perl_is_uni_punct(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_punct(c);
}
#undef Perl_is_uni_xdigit
bool
-Perl_is_uni_xdigit(void *pPerl, U32 c)
+Perl_is_uni_xdigit(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_xdigit(c);
}
#undef Perl_to_uni_upper
U32
-Perl_to_uni_upper(void *pPerl, U32 c)
+Perl_to_uni_upper(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_to_uni_upper(c);
}
#undef Perl_to_uni_title
U32
-Perl_to_uni_title(void *pPerl, U32 c)
+Perl_to_uni_title(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_to_uni_title(c);
}
#undef Perl_to_uni_lower
U32
-Perl_to_uni_lower(void *pPerl, U32 c)
+Perl_to_uni_lower(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_to_uni_lower(c);
}
#undef Perl_is_uni_alnum_lc
bool
-Perl_is_uni_alnum_lc(void *pPerl, U32 c)
+Perl_is_uni_alnum_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_alnum_lc(c);
}
#undef Perl_is_uni_alnumc_lc
bool
-Perl_is_uni_alnumc_lc(void *pPerl, U32 c)
+Perl_is_uni_alnumc_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_alnumc_lc(c);
}
#undef Perl_is_uni_idfirst_lc
bool
-Perl_is_uni_idfirst_lc(void *pPerl, U32 c)
+Perl_is_uni_idfirst_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_idfirst_lc(c);
}
#undef Perl_is_uni_alpha_lc
bool
-Perl_is_uni_alpha_lc(void *pPerl, U32 c)
+Perl_is_uni_alpha_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_alpha_lc(c);
}
#undef Perl_is_uni_ascii_lc
bool
-Perl_is_uni_ascii_lc(void *pPerl, U32 c)
+Perl_is_uni_ascii_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_ascii_lc(c);
}
#undef Perl_is_uni_space_lc
bool
-Perl_is_uni_space_lc(void *pPerl, U32 c)
+Perl_is_uni_space_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_space_lc(c);
}
#undef Perl_is_uni_cntrl_lc
bool
-Perl_is_uni_cntrl_lc(void *pPerl, U32 c)
+Perl_is_uni_cntrl_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_cntrl_lc(c);
}
#undef Perl_is_uni_graph_lc
bool
-Perl_is_uni_graph_lc(void *pPerl, U32 c)
+Perl_is_uni_graph_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_graph_lc(c);
}
#undef Perl_is_uni_digit_lc
bool
-Perl_is_uni_digit_lc(void *pPerl, U32 c)
+Perl_is_uni_digit_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_digit_lc(c);
}
#undef Perl_is_uni_upper_lc
bool
-Perl_is_uni_upper_lc(void *pPerl, U32 c)
+Perl_is_uni_upper_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_upper_lc(c);
}
#undef Perl_is_uni_lower_lc
bool
-Perl_is_uni_lower_lc(void *pPerl, U32 c)
+Perl_is_uni_lower_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_lower_lc(c);
}
#undef Perl_is_uni_print_lc
bool
-Perl_is_uni_print_lc(void *pPerl, U32 c)
+Perl_is_uni_print_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_print_lc(c);
}
#undef Perl_is_uni_punct_lc
bool
-Perl_is_uni_punct_lc(void *pPerl, U32 c)
+Perl_is_uni_punct_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_punct_lc(c);
}
#undef Perl_is_uni_xdigit_lc
bool
-Perl_is_uni_xdigit_lc(void *pPerl, U32 c)
+Perl_is_uni_xdigit_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_is_uni_xdigit_lc(c);
}
#undef Perl_to_uni_upper_lc
U32
-Perl_to_uni_upper_lc(void *pPerl, U32 c)
+Perl_to_uni_upper_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_to_uni_upper_lc(c);
}
#undef Perl_to_uni_title_lc
U32
-Perl_to_uni_title_lc(void *pPerl, U32 c)
+Perl_to_uni_title_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_to_uni_title_lc(c);
}
#undef Perl_to_uni_lower_lc
U32
-Perl_to_uni_lower_lc(void *pPerl, U32 c)
+Perl_to_uni_lower_lc(pTHXo_ U32 c)
{
return ((CPerlObj*)pPerl)->Perl_to_uni_lower_lc(c);
}
#undef Perl_is_utf8_alnum
bool
-Perl_is_utf8_alnum(void *pPerl, U8 *p)
+Perl_is_utf8_alnum(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_alnum(p);
}
#undef Perl_is_utf8_alnumc
bool
-Perl_is_utf8_alnumc(void *pPerl, U8 *p)
+Perl_is_utf8_alnumc(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_alnumc(p);
}
#undef Perl_is_utf8_idfirst
bool
-Perl_is_utf8_idfirst(void *pPerl, U8 *p)
+Perl_is_utf8_idfirst(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_idfirst(p);
}
#undef Perl_is_utf8_alpha
bool
-Perl_is_utf8_alpha(void *pPerl, U8 *p)
+Perl_is_utf8_alpha(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_alpha(p);
}
#undef Perl_is_utf8_ascii
bool
-Perl_is_utf8_ascii(void *pPerl, U8 *p)
+Perl_is_utf8_ascii(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_ascii(p);
}
#undef Perl_is_utf8_space
bool
-Perl_is_utf8_space(void *pPerl, U8 *p)
+Perl_is_utf8_space(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_space(p);
}
#undef Perl_is_utf8_cntrl
bool
-Perl_is_utf8_cntrl(void *pPerl, U8 *p)
+Perl_is_utf8_cntrl(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_cntrl(p);
}
#undef Perl_is_utf8_digit
bool
-Perl_is_utf8_digit(void *pPerl, U8 *p)
+Perl_is_utf8_digit(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_digit(p);
}
#undef Perl_is_utf8_graph
bool
-Perl_is_utf8_graph(void *pPerl, U8 *p)
+Perl_is_utf8_graph(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_graph(p);
}
#undef Perl_is_utf8_upper
bool
-Perl_is_utf8_upper(void *pPerl, U8 *p)
+Perl_is_utf8_upper(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_upper(p);
}
#undef Perl_is_utf8_lower
bool
-Perl_is_utf8_lower(void *pPerl, U8 *p)
+Perl_is_utf8_lower(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_lower(p);
}
#undef Perl_is_utf8_print
bool
-Perl_is_utf8_print(void *pPerl, U8 *p)
+Perl_is_utf8_print(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_print(p);
}
#undef Perl_is_utf8_punct
bool
-Perl_is_utf8_punct(void *pPerl, U8 *p)
+Perl_is_utf8_punct(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_punct(p);
}
#undef Perl_is_utf8_xdigit
bool
-Perl_is_utf8_xdigit(void *pPerl, U8 *p)
+Perl_is_utf8_xdigit(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_xdigit(p);
}
#undef Perl_is_utf8_mark
bool
-Perl_is_utf8_mark(void *pPerl, U8 *p)
+Perl_is_utf8_mark(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_is_utf8_mark(p);
}
#undef Perl_jmaybe
OP*
-Perl_jmaybe(void *pPerl, OP* arg)
+Perl_jmaybe(pTHXo_ OP* arg)
{
return ((CPerlObj*)pPerl)->Perl_jmaybe(arg);
}
#undef Perl_keyword
I32
-Perl_keyword(void *pPerl, char* d, I32 len)
+Perl_keyword(pTHXo_ char* d, I32 len)
{
return ((CPerlObj*)pPerl)->Perl_keyword(d, len);
}
#undef Perl_leave_scope
void
-Perl_leave_scope(void *pPerl, I32 base)
+Perl_leave_scope(pTHXo_ I32 base)
{
((CPerlObj*)pPerl)->Perl_leave_scope(base);
}
#undef Perl_lex_end
void
-Perl_lex_end(void *pPerl)
+Perl_lex_end(pTHXo)
{
((CPerlObj*)pPerl)->Perl_lex_end();
}
#undef Perl_lex_start
void
-Perl_lex_start(void *pPerl, SV* line)
+Perl_lex_start(pTHXo_ SV* line)
{
((CPerlObj*)pPerl)->Perl_lex_start(line);
}
#undef Perl_linklist
OP*
-Perl_linklist(void *pPerl, OP* o)
+Perl_linklist(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_linklist(o);
}
#undef Perl_list
OP*
-Perl_list(void *pPerl, OP* o)
+Perl_list(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_list(o);
}
#undef Perl_listkids
OP*
-Perl_listkids(void *pPerl, OP* o)
+Perl_listkids(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_listkids(o);
}
#undef Perl_localize
OP*
-Perl_localize(void *pPerl, OP* arg, I32 lexical)
+Perl_localize(pTHXo_ OP* arg, I32 lexical)
{
return ((CPerlObj*)pPerl)->Perl_localize(arg, lexical);
}
#undef Perl_looks_like_number
I32
-Perl_looks_like_number(void *pPerl, SV* sv)
+Perl_looks_like_number(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_looks_like_number(sv);
}
#undef Perl_magic_clearenv
int
-Perl_magic_clearenv(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_clearenv(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_clearenv(sv, mg);
}
#undef Perl_magic_clear_all_env
int
-Perl_magic_clear_all_env(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_clear_all_env(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_clear_all_env(sv, mg);
}
#undef Perl_magic_clearpack
int
-Perl_magic_clearpack(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_clearpack(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_clearpack(sv, mg);
}
#undef Perl_magic_clearsig
int
-Perl_magic_clearsig(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_clearsig(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_clearsig(sv, mg);
}
#undef Perl_magic_existspack
int
-Perl_magic_existspack(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_existspack(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_existspack(sv, mg);
}
#undef Perl_magic_freeregexp
int
-Perl_magic_freeregexp(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_freeregexp(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_freeregexp(sv, mg);
}
#undef Perl_magic_get
int
-Perl_magic_get(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_get(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_get(sv, mg);
}
#undef Perl_magic_getarylen
int
-Perl_magic_getarylen(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getarylen(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getarylen(sv, mg);
}
#undef Perl_magic_getdefelem
int
-Perl_magic_getdefelem(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getdefelem(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getdefelem(sv, mg);
}
#undef Perl_magic_getglob
int
-Perl_magic_getglob(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getglob(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getglob(sv, mg);
}
#undef Perl_magic_getnkeys
int
-Perl_magic_getnkeys(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getnkeys(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getnkeys(sv, mg);
}
#undef Perl_magic_getpack
int
-Perl_magic_getpack(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getpack(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getpack(sv, mg);
}
#undef Perl_magic_getpos
int
-Perl_magic_getpos(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getpos(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getpos(sv, mg);
}
#undef Perl_magic_getsig
int
-Perl_magic_getsig(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getsig(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getsig(sv, mg);
}
#undef Perl_magic_getsubstr
int
-Perl_magic_getsubstr(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getsubstr(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getsubstr(sv, mg);
}
#undef Perl_magic_gettaint
int
-Perl_magic_gettaint(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_gettaint(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_gettaint(sv, mg);
}
#undef Perl_magic_getuvar
int
-Perl_magic_getuvar(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getuvar(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getuvar(sv, mg);
}
#undef Perl_magic_getvec
int
-Perl_magic_getvec(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_getvec(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_getvec(sv, mg);
}
#undef Perl_magic_len
U32
-Perl_magic_len(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_len(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_len(sv, mg);
}
#undef Perl_magic_mutexfree
int
-Perl_magic_mutexfree(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_mutexfree(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_mutexfree(sv, mg);
}
#undef Perl_magic_nextpack
int
-Perl_magic_nextpack(void *pPerl, SV* sv, MAGIC* mg, SV* key)
+Perl_magic_nextpack(pTHXo_ SV* sv, MAGIC* mg, SV* key)
{
return ((CPerlObj*)pPerl)->Perl_magic_nextpack(sv, mg, key);
}
#undef Perl_magic_regdata_cnt
U32
-Perl_magic_regdata_cnt(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_regdata_cnt(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_regdata_cnt(sv, mg);
}
#undef Perl_magic_regdatum_get
int
-Perl_magic_regdatum_get(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_regdatum_get(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_regdatum_get(sv, mg);
}
#undef Perl_magic_set
int
-Perl_magic_set(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_set(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_set(sv, mg);
}
#undef Perl_magic_setamagic
int
-Perl_magic_setamagic(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setamagic(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setamagic(sv, mg);
}
#undef Perl_magic_setarylen
int
-Perl_magic_setarylen(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setarylen(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setarylen(sv, mg);
}
#undef Perl_magic_setbm
int
-Perl_magic_setbm(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setbm(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setbm(sv, mg);
}
#undef Perl_magic_setdbline
int
-Perl_magic_setdbline(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setdbline(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setdbline(sv, mg);
}
#undef Perl_magic_setcollxfrm
int
-Perl_magic_setcollxfrm(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setcollxfrm(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setcollxfrm(sv, mg);
}
#undef Perl_magic_setdefelem
int
-Perl_magic_setdefelem(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setdefelem(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setdefelem(sv, mg);
}
#undef Perl_magic_setenv
int
-Perl_magic_setenv(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setenv(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setenv(sv, mg);
}
#undef Perl_magic_setfm
int
-Perl_magic_setfm(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setfm(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setfm(sv, mg);
}
#undef Perl_magic_setisa
int
-Perl_magic_setisa(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setisa(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setisa(sv, mg);
}
#undef Perl_magic_setglob
int
-Perl_magic_setglob(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setglob(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setglob(sv, mg);
}
#undef Perl_magic_setmglob
int
-Perl_magic_setmglob(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setmglob(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setmglob(sv, mg);
}
#undef Perl_magic_setnkeys
int
-Perl_magic_setnkeys(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setnkeys(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setnkeys(sv, mg);
}
#undef Perl_magic_setpack
int
-Perl_magic_setpack(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setpack(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setpack(sv, mg);
}
#undef Perl_magic_setpos
int
-Perl_magic_setpos(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setpos(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setpos(sv, mg);
}
#undef Perl_magic_setsig
int
-Perl_magic_setsig(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setsig(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setsig(sv, mg);
}
#undef Perl_magic_setsubstr
int
-Perl_magic_setsubstr(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setsubstr(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setsubstr(sv, mg);
}
#undef Perl_magic_settaint
int
-Perl_magic_settaint(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_settaint(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_settaint(sv, mg);
}
#undef Perl_magic_setuvar
int
-Perl_magic_setuvar(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setuvar(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setuvar(sv, mg);
}
#undef Perl_magic_setvec
int
-Perl_magic_setvec(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_setvec(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_setvec(sv, mg);
}
#undef Perl_magic_set_all_env
int
-Perl_magic_set_all_env(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_set_all_env(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_set_all_env(sv, mg);
}
#undef Perl_magic_sizepack
U32
-Perl_magic_sizepack(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_sizepack(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_sizepack(sv, mg);
}
#undef Perl_magic_wipepack
int
-Perl_magic_wipepack(void *pPerl, SV* sv, MAGIC* mg)
+Perl_magic_wipepack(pTHXo_ SV* sv, MAGIC* mg)
{
return ((CPerlObj*)pPerl)->Perl_magic_wipepack(sv, mg);
}
#undef Perl_magicname
void
-Perl_magicname(void *pPerl, char* sym, char* name, I32 namlen)
+Perl_magicname(pTHXo_ char* sym, char* name, I32 namlen)
{
((CPerlObj*)pPerl)->Perl_magicname(sym, name, namlen);
}
#undef Perl_malloced_size
MEM_SIZE
-Perl_malloced_size(void *pPerl, void *p)
+Perl_malloced_size(void *p)
{
+ dTHXo;
return ((CPerlObj*)pPerl)->Perl_malloced_size(p);
}
#endif
#undef Perl_markstack_grow
void
-Perl_markstack_grow(void *pPerl)
+Perl_markstack_grow(pTHXo)
{
((CPerlObj*)pPerl)->Perl_markstack_grow();
}
#undef Perl_mem_collxfrm
char*
-Perl_mem_collxfrm(void *pPerl, const char* s, STRLEN len, STRLEN* xlen)
+Perl_mem_collxfrm(pTHXo_ const char* s, STRLEN len, STRLEN* xlen)
{
return ((CPerlObj*)pPerl)->Perl_mem_collxfrm(s, len, xlen);
}
#undef Perl_mess
SV*
-Perl_mess(void *pPerl, const char* pat, va_list* args)
+Perl_mess(pTHXo_ const char* pat, va_list* args)
{
return ((CPerlObj*)pPerl)->Perl_mess(pat, args);
}
#undef Perl_mg_clear
int
-Perl_mg_clear(void *pPerl, SV* sv)
+Perl_mg_clear(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_mg_clear(sv);
}
#undef Perl_mg_copy
int
-Perl_mg_copy(void *pPerl, SV* sv, SV* nsv, const char* key, I32 klen)
+Perl_mg_copy(pTHXo_ SV* sv, SV* nsv, const char* key, I32 klen)
{
return ((CPerlObj*)pPerl)->Perl_mg_copy(sv, nsv, key, klen);
}
#undef Perl_mg_find
MAGIC*
-Perl_mg_find(void *pPerl, SV* sv, int type)
+Perl_mg_find(pTHXo_ SV* sv, int type)
{
return ((CPerlObj*)pPerl)->Perl_mg_find(sv, type);
}
#undef Perl_mg_free
int
-Perl_mg_free(void *pPerl, SV* sv)
+Perl_mg_free(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_mg_free(sv);
}
#undef Perl_mg_get
int
-Perl_mg_get(void *pPerl, SV* sv)
+Perl_mg_get(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_mg_get(sv);
}
#undef Perl_mg_length
U32
-Perl_mg_length(void *pPerl, SV* sv)
+Perl_mg_length(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_mg_length(sv);
}
#undef Perl_mg_magical
void
-Perl_mg_magical(void *pPerl, SV* sv)
+Perl_mg_magical(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_mg_magical(sv);
}
#undef Perl_mg_set
int
-Perl_mg_set(void *pPerl, SV* sv)
+Perl_mg_set(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_mg_set(sv);
}
#undef Perl_mg_size
I32
-Perl_mg_size(void *pPerl, SV* sv)
+Perl_mg_size(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_mg_size(sv);
}
#undef Perl_mod
OP*
-Perl_mod(void *pPerl, OP* o, I32 type)
+Perl_mod(pTHXo_ OP* o, I32 type)
{
return ((CPerlObj*)pPerl)->Perl_mod(o, type);
}
#undef Perl_moreswitches
char*
-Perl_moreswitches(void *pPerl, char* s)
+Perl_moreswitches(pTHXo_ char* s)
{
return ((CPerlObj*)pPerl)->Perl_moreswitches(s);
}
#undef Perl_my
OP*
-Perl_my(void *pPerl, OP* o)
+Perl_my(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_my(o);
}
#undef Perl_my_atof
NV
-Perl_my_atof(void *pPerl, const char *s)
+Perl_my_atof(pTHXo_ const char *s)
{
return ((CPerlObj*)pPerl)->Perl_my_atof(s);
}
#undef Perl_my_bcopy
char*
-Perl_my_bcopy(void *pPerl, const char* from, char* to, I32 len)
+Perl_my_bcopy(pTHXo_ const char* from, char* to, I32 len)
{
return ((CPerlObj*)pPerl)->Perl_my_bcopy(from, to, len);
}
#undef Perl_my_bzero
char*
-Perl_my_bzero(void *pPerl, char* loc, I32 len)
+Perl_my_bzero(pTHXo_ char* loc, I32 len)
{
return ((CPerlObj*)pPerl)->Perl_my_bzero(loc, len);
}
#undef Perl_my_exit
void
-Perl_my_exit(void *pPerl, U32 status)
+Perl_my_exit(pTHXo_ U32 status)
{
((CPerlObj*)pPerl)->Perl_my_exit(status);
}
#undef Perl_my_failure_exit
void
-Perl_my_failure_exit(void *pPerl)
+Perl_my_failure_exit(pTHXo)
{
((CPerlObj*)pPerl)->Perl_my_failure_exit();
}
#undef Perl_my_fflush_all
I32
-Perl_my_fflush_all(void *pPerl)
+Perl_my_fflush_all(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_my_fflush_all();
}
#undef Perl_my_lstat
I32
-Perl_my_lstat(void *pPerl)
+Perl_my_lstat(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_my_lstat();
}
#undef Perl_my_memcmp
I32
-Perl_my_memcmp(void *pPerl, const char* s1, const char* s2, I32 len)
+Perl_my_memcmp(pTHXo_ const char* s1, const char* s2, I32 len)
{
return ((CPerlObj*)pPerl)->Perl_my_memcmp(s1, s2, len);
}
#undef Perl_my_memset
void*
-Perl_my_memset(void *pPerl, char* loc, I32 ch, I32 len)
+Perl_my_memset(pTHXo_ char* loc, I32 ch, I32 len)
{
return ((CPerlObj*)pPerl)->Perl_my_memset(loc, ch, len);
}
#undef Perl_my_pclose
I32
-Perl_my_pclose(void *pPerl, PerlIO* ptr)
+Perl_my_pclose(pTHXo_ PerlIO* ptr)
{
return ((CPerlObj*)pPerl)->Perl_my_pclose(ptr);
}
#undef Perl_my_popen
PerlIO*
-Perl_my_popen(void *pPerl, char* cmd, char* mode)
+Perl_my_popen(pTHXo_ char* cmd, char* mode)
{
return ((CPerlObj*)pPerl)->Perl_my_popen(cmd, mode);
}
#undef Perl_my_setenv
void
-Perl_my_setenv(void *pPerl, char* nam, char* val)
+Perl_my_setenv(pTHXo_ char* nam, char* val)
{
((CPerlObj*)pPerl)->Perl_my_setenv(nam, val);
}
#undef Perl_my_stat
I32
-Perl_my_stat(void *pPerl)
+Perl_my_stat(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_my_stat();
}
#undef Perl_my_swap
short
-Perl_my_swap(void *pPerl, short s)
+Perl_my_swap(pTHXo_ short s)
{
return ((CPerlObj*)pPerl)->Perl_my_swap(s);
}
#undef Perl_my_htonl
long
-Perl_my_htonl(void *pPerl, long l)
+Perl_my_htonl(pTHXo_ long l)
{
return ((CPerlObj*)pPerl)->Perl_my_htonl(l);
}
#undef Perl_my_ntohl
long
-Perl_my_ntohl(void *pPerl, long l)
+Perl_my_ntohl(pTHXo_ long l)
{
return ((CPerlObj*)pPerl)->Perl_my_ntohl(l);
}
#undef Perl_my_unexec
void
-Perl_my_unexec(void *pPerl)
+Perl_my_unexec(pTHXo)
{
((CPerlObj*)pPerl)->Perl_my_unexec();
}
#undef Perl_newANONLIST
OP*
-Perl_newANONLIST(void *pPerl, OP* o)
+Perl_newANONLIST(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_newANONLIST(o);
}
#undef Perl_newANONHASH
OP*
-Perl_newANONHASH(void *pPerl, OP* o)
+Perl_newANONHASH(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_newANONHASH(o);
}
#undef Perl_newANONSUB
OP*
-Perl_newANONSUB(void *pPerl, I32 floor, OP* proto, OP* block)
+Perl_newANONSUB(pTHXo_ I32 floor, OP* proto, OP* block)
{
return ((CPerlObj*)pPerl)->Perl_newANONSUB(floor, proto, block);
}
#undef Perl_newASSIGNOP
OP*
-Perl_newASSIGNOP(void *pPerl, I32 flags, OP* left, I32 optype, OP* right)
+Perl_newASSIGNOP(pTHXo_ I32 flags, OP* left, I32 optype, OP* right)
{
return ((CPerlObj*)pPerl)->Perl_newASSIGNOP(flags, left, optype, right);
}
#undef Perl_newCONDOP
OP*
-Perl_newCONDOP(void *pPerl, I32 flags, OP* expr, OP* trueop, OP* falseop)
+Perl_newCONDOP(pTHXo_ I32 flags, OP* expr, OP* trueop, OP* falseop)
{
return ((CPerlObj*)pPerl)->Perl_newCONDOP(flags, expr, trueop, falseop);
}
#undef Perl_newCONSTSUB
void
-Perl_newCONSTSUB(void *pPerl, HV* stash, char* name, SV* sv)
+Perl_newCONSTSUB(pTHXo_ HV* stash, char* name, SV* sv)
{
((CPerlObj*)pPerl)->Perl_newCONSTSUB(stash, name, sv);
}
#undef Perl_newFORM
void
-Perl_newFORM(void *pPerl, I32 floor, OP* o, OP* block)
+Perl_newFORM(pTHXo_ I32 floor, OP* o, OP* block)
{
((CPerlObj*)pPerl)->Perl_newFORM(floor, o, block);
}
#undef Perl_newFOROP
OP*
-Perl_newFOROP(void *pPerl, I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont)
+Perl_newFOROP(pTHXo_ I32 flags, char* label, line_t forline, OP* sclr, OP* expr, OP*block, OP*cont)
{
return ((CPerlObj*)pPerl)->Perl_newFOROP(flags, label, forline, sclr, expr, block, cont);
}
#undef Perl_newLOGOP
OP*
-Perl_newLOGOP(void *pPerl, I32 optype, I32 flags, OP* left, OP* right)
+Perl_newLOGOP(pTHXo_ I32 optype, I32 flags, OP* left, OP* right)
{
return ((CPerlObj*)pPerl)->Perl_newLOGOP(optype, flags, left, right);
}
#undef Perl_newLOOPEX
OP*
-Perl_newLOOPEX(void *pPerl, I32 type, OP* label)
+Perl_newLOOPEX(pTHXo_ I32 type, OP* label)
{
return ((CPerlObj*)pPerl)->Perl_newLOOPEX(type, label);
}
#undef Perl_newLOOPOP
OP*
-Perl_newLOOPOP(void *pPerl, I32 flags, I32 debuggable, OP* expr, OP* block)
+Perl_newLOOPOP(pTHXo_ I32 flags, I32 debuggable, OP* expr, OP* block)
{
return ((CPerlObj*)pPerl)->Perl_newLOOPOP(flags, debuggable, expr, block);
}
#undef Perl_newNULLLIST
OP*
-Perl_newNULLLIST(void *pPerl)
+Perl_newNULLLIST(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_newNULLLIST();
}
#undef Perl_newOP
OP*
-Perl_newOP(void *pPerl, I32 optype, I32 flags)
+Perl_newOP(pTHXo_ I32 optype, I32 flags)
{
return ((CPerlObj*)pPerl)->Perl_newOP(optype, flags);
}
#undef Perl_newPROG
void
-Perl_newPROG(void *pPerl, OP* o)
+Perl_newPROG(pTHXo_ OP* o)
{
((CPerlObj*)pPerl)->Perl_newPROG(o);
}
#undef Perl_newRANGE
OP*
-Perl_newRANGE(void *pPerl, I32 flags, OP* left, OP* right)
+Perl_newRANGE(pTHXo_ I32 flags, OP* left, OP* right)
{
return ((CPerlObj*)pPerl)->Perl_newRANGE(flags, left, right);
}
#undef Perl_newSLICEOP
OP*
-Perl_newSLICEOP(void *pPerl, I32 flags, OP* subscript, OP* listop)
+Perl_newSLICEOP(pTHXo_ I32 flags, OP* subscript, OP* listop)
{
return ((CPerlObj*)pPerl)->Perl_newSLICEOP(flags, subscript, listop);
}
#undef Perl_newSTATEOP
OP*
-Perl_newSTATEOP(void *pPerl, I32 flags, char* label, OP* o)
+Perl_newSTATEOP(pTHXo_ I32 flags, char* label, OP* o)
{
return ((CPerlObj*)pPerl)->Perl_newSTATEOP(flags, label, o);
}
#undef Perl_newSUB
CV*
-Perl_newSUB(void *pPerl, I32 floor, OP* o, OP* proto, OP* block)
+Perl_newSUB(pTHXo_ I32 floor, OP* o, OP* proto, OP* block)
{
return ((CPerlObj*)pPerl)->Perl_newSUB(floor, o, proto, block);
}
#undef Perl_newXS
CV*
-Perl_newXS(void *pPerl, char* name, XSUBADDR_t f, char* filename)
+Perl_newXS(pTHXo_ char* name, XSUBADDR_t f, char* filename)
{
return ((CPerlObj*)pPerl)->Perl_newXS(name, f, filename);
}
#undef Perl_newAV
AV*
-Perl_newAV(void *pPerl)
+Perl_newAV(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_newAV();
}
#undef Perl_newAVREF
OP*
-Perl_newAVREF(void *pPerl, OP* o)
+Perl_newAVREF(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_newAVREF(o);
}
#undef Perl_newBINOP
OP*
-Perl_newBINOP(void *pPerl, I32 type, I32 flags, OP* first, OP* last)
+Perl_newBINOP(pTHXo_ I32 type, I32 flags, OP* first, OP* last)
{
return ((CPerlObj*)pPerl)->Perl_newBINOP(type, flags, first, last);
}
#undef Perl_newCVREF
OP*
-Perl_newCVREF(void *pPerl, I32 flags, OP* o)
+Perl_newCVREF(pTHXo_ I32 flags, OP* o)
{
return ((CPerlObj*)pPerl)->Perl_newCVREF(flags, o);
}
#undef Perl_newGVOP
OP*
-Perl_newGVOP(void *pPerl, I32 type, I32 flags, GV* gv)
+Perl_newGVOP(pTHXo_ I32 type, I32 flags, GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_newGVOP(type, flags, gv);
}
#undef Perl_newGVgen
GV*
-Perl_newGVgen(void *pPerl, char* pack)
+Perl_newGVgen(pTHXo_ char* pack)
{
return ((CPerlObj*)pPerl)->Perl_newGVgen(pack);
}
#undef Perl_newGVREF
OP*
-Perl_newGVREF(void *pPerl, I32 type, OP* o)
+Perl_newGVREF(pTHXo_ I32 type, OP* o)
{
return ((CPerlObj*)pPerl)->Perl_newGVREF(type, o);
}
#undef Perl_newHVREF
OP*
-Perl_newHVREF(void *pPerl, OP* o)
+Perl_newHVREF(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_newHVREF(o);
}
#undef Perl_newHV
HV*
-Perl_newHV(void *pPerl)
+Perl_newHV(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_newHV();
}
#undef Perl_newHVhv
HV*
-Perl_newHVhv(void *pPerl, HV* hv)
+Perl_newHVhv(pTHXo_ HV* hv)
{
return ((CPerlObj*)pPerl)->Perl_newHVhv(hv);
}
#undef Perl_newIO
IO*
-Perl_newIO(void *pPerl)
+Perl_newIO(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_newIO();
}
#undef Perl_newLISTOP
OP*
-Perl_newLISTOP(void *pPerl, I32 type, I32 flags, OP* first, OP* last)
+Perl_newLISTOP(pTHXo_ I32 type, I32 flags, OP* first, OP* last)
{
return ((CPerlObj*)pPerl)->Perl_newLISTOP(type, flags, first, last);
}
#undef Perl_newPMOP
OP*
-Perl_newPMOP(void *pPerl, I32 type, I32 flags)
+Perl_newPMOP(pTHXo_ I32 type, I32 flags)
{
return ((CPerlObj*)pPerl)->Perl_newPMOP(type, flags);
}
#undef Perl_newPVOP
OP*
-Perl_newPVOP(void *pPerl, I32 type, I32 flags, char* pv)
+Perl_newPVOP(pTHXo_ I32 type, I32 flags, char* pv)
{
return ((CPerlObj*)pPerl)->Perl_newPVOP(type, flags, pv);
}
#undef Perl_newRV
SV*
-Perl_newRV(void *pPerl, SV* pref)
+Perl_newRV(pTHXo_ SV* pref)
{
return ((CPerlObj*)pPerl)->Perl_newRV(pref);
}
#undef Perl_newRV_noinc
SV*
-Perl_newRV_noinc(void *pPerl, SV *sv)
+Perl_newRV_noinc(pTHXo_ SV *sv)
{
return ((CPerlObj*)pPerl)->Perl_newRV_noinc(sv);
}
#undef Perl_newSV
SV*
-Perl_newSV(void *pPerl, STRLEN len)
+Perl_newSV(pTHXo_ STRLEN len)
{
return ((CPerlObj*)pPerl)->Perl_newSV(len);
}
#undef Perl_newSVREF
OP*
-Perl_newSVREF(void *pPerl, OP* o)
+Perl_newSVREF(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_newSVREF(o);
}
#undef Perl_newSVOP
OP*
-Perl_newSVOP(void *pPerl, I32 type, I32 flags, SV* sv)
+Perl_newSVOP(pTHXo_ I32 type, I32 flags, SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_newSVOP(type, flags, sv);
}
#undef Perl_newSViv
SV*
-Perl_newSViv(void *pPerl, IV i)
+Perl_newSViv(pTHXo_ IV i)
{
return ((CPerlObj*)pPerl)->Perl_newSViv(i);
}
#undef Perl_newSVnv
SV*
-Perl_newSVnv(void *pPerl, NV n)
+Perl_newSVnv(pTHXo_ NV n)
{
return ((CPerlObj*)pPerl)->Perl_newSVnv(n);
}
#undef Perl_newSVpv
SV*
-Perl_newSVpv(void *pPerl, const char* s, STRLEN len)
+Perl_newSVpv(pTHXo_ const char* s, STRLEN len)
{
return ((CPerlObj*)pPerl)->Perl_newSVpv(s, len);
}
#undef Perl_newSVpvn
SV*
-Perl_newSVpvn(void *pPerl, const char* s, STRLEN len)
+Perl_newSVpvn(pTHXo_ const char* s, STRLEN len)
{
return ((CPerlObj*)pPerl)->Perl_newSVpvn(s, len);
}
+#undef Perl_newSVpvf
+SV*
+Perl_newSVpvf(pTHXo_ const char* pat)
+{
+ SV* retval;
+ va_list args;
+ va_start(args, pat);
+ retval = ((CPerlObj*)pPerl)->Perl_vnewSVpvf(pat, &args);
+ va_end(args);
+ return retval;
+
+}
+
+#undef Perl_vnewSVpvf
+SV*
+Perl_vnewSVpvf(pTHXo_ const char* pat, va_list* args)
+{
+ return ((CPerlObj*)pPerl)->Perl_vnewSVpvf(pat, args);
+}
+
#undef Perl_newSVrv
SV*
-Perl_newSVrv(void *pPerl, SV* rv, const char* classname)
+Perl_newSVrv(pTHXo_ SV* rv, const char* classname)
{
return ((CPerlObj*)pPerl)->Perl_newSVrv(rv, classname);
}
#undef Perl_newSVsv
SV*
-Perl_newSVsv(void *pPerl, SV* old)
+Perl_newSVsv(pTHXo_ SV* old)
{
return ((CPerlObj*)pPerl)->Perl_newSVsv(old);
}
#undef Perl_newUNOP
OP*
-Perl_newUNOP(void *pPerl, I32 type, I32 flags, OP* first)
+Perl_newUNOP(pTHXo_ I32 type, I32 flags, OP* first)
{
return ((CPerlObj*)pPerl)->Perl_newUNOP(type, flags, first);
}
#undef Perl_newWHILEOP
OP*
-Perl_newWHILEOP(void *pPerl, I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont)
+Perl_newWHILEOP(pTHXo_ I32 flags, I32 debuggable, LOOP* loop, I32 whileline, OP* expr, OP* block, OP* cont)
{
return ((CPerlObj*)pPerl)->Perl_newWHILEOP(flags, debuggable, loop, whileline, expr, block, cont);
}
-#if defined(USE_THREADS)
-
-#undef Perl_new_struct_thread
-struct perl_thread*
-Perl_new_struct_thread(void *pPerl, struct perl_thread *t)
-{
- return ((CPerlObj*)pPerl)->Perl_new_struct_thread(t);
-}
-#endif
#undef Perl_new_stackinfo
PERL_SI*
-Perl_new_stackinfo(void *pPerl, I32 stitems, I32 cxitems)
+Perl_new_stackinfo(pTHXo_ I32 stitems, I32 cxitems)
{
return ((CPerlObj*)pPerl)->Perl_new_stackinfo(stitems, cxitems);
}
#undef Perl_nextargv
PerlIO*
-Perl_nextargv(void *pPerl, GV* gv)
+Perl_nextargv(pTHXo_ GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_nextargv(gv);
}
#undef Perl_ninstr
char*
-Perl_ninstr(void *pPerl, const char* big, const char* bigend, const char* little, const char* lend)
+Perl_ninstr(pTHXo_ const char* big, const char* bigend, const char* little, const char* lend)
{
return ((CPerlObj*)pPerl)->Perl_ninstr(big, bigend, little, lend);
}
#undef Perl_oopsCV
OP*
-Perl_oopsCV(void *pPerl, OP* o)
+Perl_oopsCV(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_oopsCV(o);
}
#undef Perl_op_free
void
-Perl_op_free(void *pPerl, OP* arg)
+Perl_op_free(pTHXo_ OP* arg)
{
((CPerlObj*)pPerl)->Perl_op_free(arg);
}
#undef Perl_package
void
-Perl_package(void *pPerl, OP* o)
+Perl_package(pTHXo_ OP* o)
{
((CPerlObj*)pPerl)->Perl_package(o);
}
#undef Perl_pad_alloc
PADOFFSET
-Perl_pad_alloc(void *pPerl, I32 optype, U32 tmptype)
+Perl_pad_alloc(pTHXo_ I32 optype, U32 tmptype)
{
return ((CPerlObj*)pPerl)->Perl_pad_alloc(optype, tmptype);
}
#undef Perl_pad_allocmy
PADOFFSET
-Perl_pad_allocmy(void *pPerl, char* name)
+Perl_pad_allocmy(pTHXo_ char* name)
{
return ((CPerlObj*)pPerl)->Perl_pad_allocmy(name);
}
#undef Perl_pad_findmy
PADOFFSET
-Perl_pad_findmy(void *pPerl, char* name)
+Perl_pad_findmy(pTHXo_ char* name)
{
return ((CPerlObj*)pPerl)->Perl_pad_findmy(name);
}
#undef Perl_oopsAV
OP*
-Perl_oopsAV(void *pPerl, OP* o)
+Perl_oopsAV(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_oopsAV(o);
}
#undef Perl_oopsHV
OP*
-Perl_oopsHV(void *pPerl, OP* o)
+Perl_oopsHV(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_oopsHV(o);
}
#undef Perl_pad_leavemy
void
-Perl_pad_leavemy(void *pPerl, I32 fill)
+Perl_pad_leavemy(pTHXo_ I32 fill)
{
((CPerlObj*)pPerl)->Perl_pad_leavemy(fill);
}
#undef Perl_pad_sv
SV*
-Perl_pad_sv(void *pPerl, PADOFFSET po)
+Perl_pad_sv(pTHXo_ PADOFFSET po)
{
return ((CPerlObj*)pPerl)->Perl_pad_sv(po);
}
#undef Perl_pad_free
void
-Perl_pad_free(void *pPerl, PADOFFSET po)
+Perl_pad_free(pTHXo_ PADOFFSET po)
{
((CPerlObj*)pPerl)->Perl_pad_free(po);
}
#undef Perl_pad_reset
void
-Perl_pad_reset(void *pPerl)
+Perl_pad_reset(pTHXo)
{
((CPerlObj*)pPerl)->Perl_pad_reset();
}
#undef Perl_pad_swipe
void
-Perl_pad_swipe(void *pPerl, PADOFFSET po)
+Perl_pad_swipe(pTHXo_ PADOFFSET po)
{
((CPerlObj*)pPerl)->Perl_pad_swipe(po);
}
#undef Perl_peep
void
-Perl_peep(void *pPerl, OP* o)
+Perl_peep(pTHXo_ OP* o)
{
((CPerlObj*)pPerl)->Perl_peep(o);
}
#undef perl_alloc
PerlInterpreter*
-perl_alloc(void *pPerl)
+perl_alloc()
{
+ dTHXo;
return ((CPerlObj*)pPerl)->perl_alloc();
}
+#if defined(USE_THREADS)
+
+#undef Perl_new_struct_thread
+struct perl_thread*
+Perl_new_struct_thread(pTHXo_ struct perl_thread *t)
+{
+ return ((CPerlObj*)pPerl)->Perl_new_struct_thread(t);
+}
+#endif
#endif
#undef Perl_call_atexit
void
-Perl_call_atexit(void *pPerl, ATEXIT_t fn, void *ptr)
+Perl_call_atexit(pTHXo_ ATEXIT_t fn, void *ptr)
{
((CPerlObj*)pPerl)->Perl_call_atexit(fn, ptr);
}
#undef Perl_call_argv
I32
-Perl_call_argv(void *pPerl, const char* sub_name, I32 flags, char** argv)
+Perl_call_argv(pTHXo_ const char* sub_name, I32 flags, char** argv)
{
return ((CPerlObj*)pPerl)->Perl_call_argv(sub_name, flags, argv);
}
#undef Perl_call_method
I32
-Perl_call_method(void *pPerl, const char* methname, I32 flags)
+Perl_call_method(pTHXo_ const char* methname, I32 flags)
{
return ((CPerlObj*)pPerl)->Perl_call_method(methname, flags);
}
#undef Perl_call_pv
I32
-Perl_call_pv(void *pPerl, const char* sub_name, I32 flags)
+Perl_call_pv(pTHXo_ const char* sub_name, I32 flags)
{
return ((CPerlObj*)pPerl)->Perl_call_pv(sub_name, flags);
}
#undef Perl_call_sv
I32
-Perl_call_sv(void *pPerl, SV* sv, I32 flags)
+Perl_call_sv(pTHXo_ SV* sv, I32 flags)
{
return ((CPerlObj*)pPerl)->Perl_call_sv(sv, flags);
}
#undef Perl_eval_pv
SV*
-Perl_eval_pv(void *pPerl, const char* p, I32 croak_on_error)
+Perl_eval_pv(pTHXo_ const char* p, I32 croak_on_error)
{
return ((CPerlObj*)pPerl)->Perl_eval_pv(p, croak_on_error);
}
#undef Perl_eval_sv
I32
-Perl_eval_sv(void *pPerl, SV* sv, I32 flags)
+Perl_eval_sv(pTHXo_ SV* sv, I32 flags)
{
return ((CPerlObj*)pPerl)->Perl_eval_sv(sv, flags);
}
#undef Perl_get_sv
SV*
-Perl_get_sv(void *pPerl, const char* name, I32 create)
+Perl_get_sv(pTHXo_ const char* name, I32 create)
{
return ((CPerlObj*)pPerl)->Perl_get_sv(name, create);
}
#undef Perl_get_av
AV*
-Perl_get_av(void *pPerl, const char* name, I32 create)
+Perl_get_av(pTHXo_ const char* name, I32 create)
{
return ((CPerlObj*)pPerl)->Perl_get_av(name, create);
}
#undef Perl_get_hv
HV*
-Perl_get_hv(void *pPerl, const char* name, I32 create)
+Perl_get_hv(pTHXo_ const char* name, I32 create)
{
return ((CPerlObj*)pPerl)->Perl_get_hv(name, create);
}
#undef Perl_get_cv
CV*
-Perl_get_cv(void *pPerl, const char* name, I32 create)
+Perl_get_cv(pTHXo_ const char* name, I32 create)
{
return ((CPerlObj*)pPerl)->Perl_get_cv(name, create);
}
#undef Perl_init_i18nl10n
int
-Perl_init_i18nl10n(void *pPerl, int printwarn)
+Perl_init_i18nl10n(pTHXo_ int printwarn)
{
return ((CPerlObj*)pPerl)->Perl_init_i18nl10n(printwarn);
}
#undef Perl_init_i18nl14n
int
-Perl_init_i18nl14n(void *pPerl, int printwarn)
+Perl_init_i18nl14n(pTHXo_ int printwarn)
{
return ((CPerlObj*)pPerl)->Perl_init_i18nl14n(printwarn);
}
#undef Perl_new_collate
void
-Perl_new_collate(void *pPerl, const char* newcoll)
+Perl_new_collate(pTHXo_ const char* newcoll)
{
((CPerlObj*)pPerl)->Perl_new_collate(newcoll);
}
#undef Perl_new_ctype
void
-Perl_new_ctype(void *pPerl, const char* newctype)
+Perl_new_ctype(pTHXo_ const char* newctype)
{
((CPerlObj*)pPerl)->Perl_new_ctype(newctype);
}
#undef Perl_new_numeric
void
-Perl_new_numeric(void *pPerl, const char* newcoll)
+Perl_new_numeric(pTHXo_ const char* newcoll)
{
((CPerlObj*)pPerl)->Perl_new_numeric(newcoll);
}
#undef Perl_set_numeric_local
void
-Perl_set_numeric_local(void *pPerl)
+Perl_set_numeric_local(pTHXo)
{
((CPerlObj*)pPerl)->Perl_set_numeric_local();
}
#undef Perl_set_numeric_radix
void
-Perl_set_numeric_radix(void *pPerl)
+Perl_set_numeric_radix(pTHXo)
{
((CPerlObj*)pPerl)->Perl_set_numeric_radix();
}
#undef Perl_set_numeric_standard
void
-Perl_set_numeric_standard(void *pPerl)
+Perl_set_numeric_standard(pTHXo)
{
((CPerlObj*)pPerl)->Perl_set_numeric_standard();
}
#undef Perl_require_pv
void
-Perl_require_pv(void *pPerl, const char* pv)
+Perl_require_pv(pTHXo_ const char* pv)
{
((CPerlObj*)pPerl)->Perl_require_pv(pv);
}
#undef Perl_pidgone
void
-Perl_pidgone(void *pPerl, int pid, int status)
+Perl_pidgone(pTHXo_ int pid, int status)
{
((CPerlObj*)pPerl)->Perl_pidgone(pid, status);
}
#undef Perl_pmflag
void
-Perl_pmflag(void *pPerl, U16* pmfl, int ch)
+Perl_pmflag(pTHXo_ U16* pmfl, int ch)
{
((CPerlObj*)pPerl)->Perl_pmflag(pmfl, ch);
}
#undef Perl_pmruntime
OP*
-Perl_pmruntime(void *pPerl, OP* pm, OP* expr, OP* repl)
+Perl_pmruntime(pTHXo_ OP* pm, OP* expr, OP* repl)
{
return ((CPerlObj*)pPerl)->Perl_pmruntime(pm, expr, repl);
}
#undef Perl_pmtrans
OP*
-Perl_pmtrans(void *pPerl, OP* o, OP* expr, OP* repl)
+Perl_pmtrans(pTHXo_ OP* o, OP* expr, OP* repl)
{
return ((CPerlObj*)pPerl)->Perl_pmtrans(o, expr, repl);
}
#undef Perl_pop_return
OP*
-Perl_pop_return(void *pPerl)
+Perl_pop_return(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_pop_return();
}
#undef Perl_pop_scope
void
-Perl_pop_scope(void *pPerl)
+Perl_pop_scope(pTHXo)
{
((CPerlObj*)pPerl)->Perl_pop_scope();
}
#undef Perl_prepend_elem
OP*
-Perl_prepend_elem(void *pPerl, I32 optype, OP* head, OP* tail)
+Perl_prepend_elem(pTHXo_ I32 optype, OP* head, OP* tail)
{
return ((CPerlObj*)pPerl)->Perl_prepend_elem(optype, head, tail);
}
#undef Perl_push_return
void
-Perl_push_return(void *pPerl, OP* o)
+Perl_push_return(pTHXo_ OP* o)
{
((CPerlObj*)pPerl)->Perl_push_return(o);
}
#undef Perl_push_scope
void
-Perl_push_scope(void *pPerl)
+Perl_push_scope(pTHXo)
{
((CPerlObj*)pPerl)->Perl_push_scope();
}
#undef Perl_ref
OP*
-Perl_ref(void *pPerl, OP* o, I32 type)
+Perl_ref(pTHXo_ OP* o, I32 type)
{
return ((CPerlObj*)pPerl)->Perl_ref(o, type);
}
#undef Perl_refkids
OP*
-Perl_refkids(void *pPerl, OP* o, I32 type)
+Perl_refkids(pTHXo_ OP* o, I32 type)
{
return ((CPerlObj*)pPerl)->Perl_refkids(o, type);
}
#undef Perl_regdump
void
-Perl_regdump(void *pPerl, regexp* r)
+Perl_regdump(pTHXo_ regexp* r)
{
((CPerlObj*)pPerl)->Perl_regdump(r);
}
#undef Perl_pregexec
I32
-Perl_pregexec(void *pPerl, regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave)
+Perl_pregexec(pTHXo_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, U32 nosave)
{
return ((CPerlObj*)pPerl)->Perl_pregexec(prog, stringarg, strend, strbeg, minend, screamer, nosave);
}
#undef Perl_pregfree
void
-Perl_pregfree(void *pPerl, struct regexp* r)
+Perl_pregfree(pTHXo_ struct regexp* r)
{
((CPerlObj*)pPerl)->Perl_pregfree(r);
}
#undef Perl_pregcomp
regexp*
-Perl_pregcomp(void *pPerl, char* exp, char* xend, PMOP* pm)
+Perl_pregcomp(pTHXo_ char* exp, char* xend, PMOP* pm)
{
return ((CPerlObj*)pPerl)->Perl_pregcomp(exp, xend, pm);
}
#undef Perl_re_intuit_start
char*
-Perl_re_intuit_start(void *pPerl, regexp* prog, SV* sv, char* strpos, char* strend, U32 flags, struct re_scream_pos_data_s *data)
+Perl_re_intuit_start(pTHXo_ regexp* prog, SV* sv, char* strpos, char* strend, U32 flags, struct re_scream_pos_data_s *data)
{
return ((CPerlObj*)pPerl)->Perl_re_intuit_start(prog, sv, strpos, strend, flags, data);
}
#undef Perl_re_intuit_string
SV*
-Perl_re_intuit_string(void *pPerl, regexp* prog)
+Perl_re_intuit_string(pTHXo_ regexp* prog)
{
return ((CPerlObj*)pPerl)->Perl_re_intuit_string(prog);
}
#undef Perl_regexec_flags
I32
-Perl_regexec_flags(void *pPerl, regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags)
+Perl_regexec_flags(pTHXo_ regexp* prog, char* stringarg, char* strend, char* strbeg, I32 minend, SV* screamer, void* data, U32 flags)
{
return ((CPerlObj*)pPerl)->Perl_regexec_flags(prog, stringarg, strend, strbeg, minend, screamer, data, flags);
}
#undef Perl_regnext
regnode*
-Perl_regnext(void *pPerl, regnode* p)
+Perl_regnext(pTHXo_ regnode* p)
{
return ((CPerlObj*)pPerl)->Perl_regnext(p);
}
#undef Perl_regprop
void
-Perl_regprop(void *pPerl, SV* sv, regnode* o)
+Perl_regprop(pTHXo_ SV* sv, regnode* o)
{
((CPerlObj*)pPerl)->Perl_regprop(sv, o);
}
#undef Perl_repeatcpy
void
-Perl_repeatcpy(void *pPerl, char* to, const char* from, I32 len, I32 count)
+Perl_repeatcpy(pTHXo_ char* to, const char* from, I32 len, I32 count)
{
((CPerlObj*)pPerl)->Perl_repeatcpy(to, from, len, count);
}
#undef Perl_rninstr
char*
-Perl_rninstr(void *pPerl, const char* big, const char* bigend, const char* little, const char* lend)
+Perl_rninstr(pTHXo_ const char* big, const char* bigend, const char* little, const char* lend)
{
return ((CPerlObj*)pPerl)->Perl_rninstr(big, bigend, little, lend);
}
#undef Perl_rsignal
Sighandler_t
-Perl_rsignal(void *pPerl, int i, Sighandler_t t)
+Perl_rsignal(pTHXo_ int i, Sighandler_t t)
{
return ((CPerlObj*)pPerl)->Perl_rsignal(i, t);
}
#undef Perl_rsignal_restore
int
-Perl_rsignal_restore(void *pPerl, int i, Sigsave_t* t)
+Perl_rsignal_restore(pTHXo_ int i, Sigsave_t* t)
{
return ((CPerlObj*)pPerl)->Perl_rsignal_restore(i, t);
}
#undef Perl_rsignal_save
int
-Perl_rsignal_save(void *pPerl, int i, Sighandler_t t1, Sigsave_t* t2)
+Perl_rsignal_save(pTHXo_ int i, Sighandler_t t1, Sigsave_t* t2)
{
return ((CPerlObj*)pPerl)->Perl_rsignal_save(i, t1, t2);
}
#undef Perl_rsignal_state
Sighandler_t
-Perl_rsignal_state(void *pPerl, int i)
+Perl_rsignal_state(pTHXo_ int i)
{
return ((CPerlObj*)pPerl)->Perl_rsignal_state(i);
}
#undef Perl_rxres_free
void
-Perl_rxres_free(void *pPerl, void** rsp)
+Perl_rxres_free(pTHXo_ void** rsp)
{
((CPerlObj*)pPerl)->Perl_rxres_free(rsp);
}
#undef Perl_rxres_restore
void
-Perl_rxres_restore(void *pPerl, void** rsp, REGEXP* prx)
+Perl_rxres_restore(pTHXo_ void** rsp, REGEXP* prx)
{
((CPerlObj*)pPerl)->Perl_rxres_restore(rsp, prx);
}
#undef Perl_rxres_save
void
-Perl_rxres_save(void *pPerl, void** rsp, REGEXP* prx)
+Perl_rxres_save(pTHXo_ void** rsp, REGEXP* prx)
{
((CPerlObj*)pPerl)->Perl_rxres_save(rsp, prx);
}
#undef Perl_same_dirent
I32
-Perl_same_dirent(void *pPerl, char* a, char* b)
+Perl_same_dirent(pTHXo_ char* a, char* b)
{
return ((CPerlObj*)pPerl)->Perl_same_dirent(a, b);
}
#undef Perl_savepv
char*
-Perl_savepv(void *pPerl, const char* sv)
+Perl_savepv(pTHXo_ const char* sv)
{
return ((CPerlObj*)pPerl)->Perl_savepv(sv);
}
#undef Perl_savepvn
char*
-Perl_savepvn(void *pPerl, const char* sv, I32 len)
+Perl_savepvn(pTHXo_ const char* sv, I32 len)
{
return ((CPerlObj*)pPerl)->Perl_savepvn(sv, len);
}
#undef Perl_savestack_grow
void
-Perl_savestack_grow(void *pPerl)
+Perl_savestack_grow(pTHXo)
{
((CPerlObj*)pPerl)->Perl_savestack_grow();
}
#undef Perl_save_aelem
void
-Perl_save_aelem(void *pPerl, AV* av, I32 idx, SV **sptr)
+Perl_save_aelem(pTHXo_ AV* av, I32 idx, SV **sptr)
{
((CPerlObj*)pPerl)->Perl_save_aelem(av, idx, sptr);
}
#undef Perl_save_alloc
I32
-Perl_save_alloc(void *pPerl, I32 size, I32 pad)
+Perl_save_alloc(pTHXo_ I32 size, I32 pad)
{
return ((CPerlObj*)pPerl)->Perl_save_alloc(size, pad);
}
#undef Perl_save_aptr
void
-Perl_save_aptr(void *pPerl, AV** aptr)
+Perl_save_aptr(pTHXo_ AV** aptr)
{
((CPerlObj*)pPerl)->Perl_save_aptr(aptr);
}
#undef Perl_save_ary
AV*
-Perl_save_ary(void *pPerl, GV* gv)
+Perl_save_ary(pTHXo_ GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_save_ary(gv);
}
#undef Perl_save_clearsv
void
-Perl_save_clearsv(void *pPerl, SV** svp)
+Perl_save_clearsv(pTHXo_ SV** svp)
{
((CPerlObj*)pPerl)->Perl_save_clearsv(svp);
}
#undef Perl_save_delete
void
-Perl_save_delete(void *pPerl, HV* hv, char* key, I32 klen)
+Perl_save_delete(pTHXo_ HV* hv, char* key, I32 klen)
{
((CPerlObj*)pPerl)->Perl_save_delete(hv, key, klen);
}
#undef Perl_save_destructor
void
-Perl_save_destructor(void *pPerl, DESTRUCTORFUNC_t f, void* p)
+Perl_save_destructor(pTHXo_ DESTRUCTORFUNC_t f, void* p)
{
((CPerlObj*)pPerl)->Perl_save_destructor(f, p);
}
#undef Perl_save_freesv
void
-Perl_save_freesv(void *pPerl, SV* sv)
+Perl_save_freesv(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_save_freesv(sv);
}
#undef Perl_save_freeop
void
-Perl_save_freeop(void *pPerl, OP* o)
+Perl_save_freeop(pTHXo_ OP* o)
{
((CPerlObj*)pPerl)->Perl_save_freeop(o);
}
#undef Perl_save_freepv
void
-Perl_save_freepv(void *pPerl, char* pv)
+Perl_save_freepv(pTHXo_ char* pv)
{
((CPerlObj*)pPerl)->Perl_save_freepv(pv);
}
#undef Perl_save_generic_svref
void
-Perl_save_generic_svref(void *pPerl, SV** sptr)
+Perl_save_generic_svref(pTHXo_ SV** sptr)
{
((CPerlObj*)pPerl)->Perl_save_generic_svref(sptr);
}
#undef Perl_save_gp
void
-Perl_save_gp(void *pPerl, GV* gv, I32 empty)
+Perl_save_gp(pTHXo_ GV* gv, I32 empty)
{
((CPerlObj*)pPerl)->Perl_save_gp(gv, empty);
}
#undef Perl_save_hash
HV*
-Perl_save_hash(void *pPerl, GV* gv)
+Perl_save_hash(pTHXo_ GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_save_hash(gv);
}
#undef Perl_save_helem
void
-Perl_save_helem(void *pPerl, HV* hv, SV *key, SV **sptr)
+Perl_save_helem(pTHXo_ HV* hv, SV *key, SV **sptr)
{
((CPerlObj*)pPerl)->Perl_save_helem(hv, key, sptr);
}
#undef Perl_save_hints
void
-Perl_save_hints(void *pPerl)
+Perl_save_hints(pTHXo)
{
((CPerlObj*)pPerl)->Perl_save_hints();
}
#undef Perl_save_hptr
void
-Perl_save_hptr(void *pPerl, HV** hptr)
+Perl_save_hptr(pTHXo_ HV** hptr)
{
((CPerlObj*)pPerl)->Perl_save_hptr(hptr);
}
#undef Perl_save_I16
void
-Perl_save_I16(void *pPerl, I16* intp)
+Perl_save_I16(pTHXo_ I16* intp)
{
((CPerlObj*)pPerl)->Perl_save_I16(intp);
}
#undef Perl_save_I32
void
-Perl_save_I32(void *pPerl, I32* intp)
+Perl_save_I32(pTHXo_ I32* intp)
{
((CPerlObj*)pPerl)->Perl_save_I32(intp);
}
#undef Perl_save_int
void
-Perl_save_int(void *pPerl, int* intp)
+Perl_save_int(pTHXo_ int* intp)
{
((CPerlObj*)pPerl)->Perl_save_int(intp);
}
#undef Perl_save_item
void
-Perl_save_item(void *pPerl, SV* item)
+Perl_save_item(pTHXo_ SV* item)
{
((CPerlObj*)pPerl)->Perl_save_item(item);
}
#undef Perl_save_iv
void
-Perl_save_iv(void *pPerl, IV* iv)
+Perl_save_iv(pTHXo_ IV* iv)
{
((CPerlObj*)pPerl)->Perl_save_iv(iv);
}
#undef Perl_save_list
void
-Perl_save_list(void *pPerl, SV** sarg, I32 maxsarg)
+Perl_save_list(pTHXo_ SV** sarg, I32 maxsarg)
{
((CPerlObj*)pPerl)->Perl_save_list(sarg, maxsarg);
}
#undef Perl_save_long
void
-Perl_save_long(void *pPerl, long* longp)
+Perl_save_long(pTHXo_ long* longp)
{
((CPerlObj*)pPerl)->Perl_save_long(longp);
}
#undef Perl_save_nogv
void
-Perl_save_nogv(void *pPerl, GV* gv)
+Perl_save_nogv(pTHXo_ GV* gv)
{
((CPerlObj*)pPerl)->Perl_save_nogv(gv);
}
#undef Perl_save_op
void
-Perl_save_op(void *pPerl)
+Perl_save_op(pTHXo)
{
((CPerlObj*)pPerl)->Perl_save_op();
}
#undef Perl_save_scalar
SV*
-Perl_save_scalar(void *pPerl, GV* gv)
+Perl_save_scalar(pTHXo_ GV* gv)
{
return ((CPerlObj*)pPerl)->Perl_save_scalar(gv);
}
#undef Perl_save_pptr
void
-Perl_save_pptr(void *pPerl, char** pptr)
+Perl_save_pptr(pTHXo_ char** pptr)
{
((CPerlObj*)pPerl)->Perl_save_pptr(pptr);
}
#undef Perl_save_re_context
void
-Perl_save_re_context(void *pPerl)
+Perl_save_re_context(pTHXo)
{
((CPerlObj*)pPerl)->Perl_save_re_context();
}
#undef Perl_save_sptr
void
-Perl_save_sptr(void *pPerl, SV** sptr)
+Perl_save_sptr(pTHXo_ SV** sptr)
{
((CPerlObj*)pPerl)->Perl_save_sptr(sptr);
}
#undef Perl_save_svref
SV*
-Perl_save_svref(void *pPerl, SV** sptr)
+Perl_save_svref(pTHXo_ SV** sptr)
{
return ((CPerlObj*)pPerl)->Perl_save_svref(sptr);
}
#undef Perl_save_threadsv
SV**
-Perl_save_threadsv(void *pPerl, PADOFFSET i)
+Perl_save_threadsv(pTHXo_ PADOFFSET i)
{
return ((CPerlObj*)pPerl)->Perl_save_threadsv(i);
}
#undef Perl_sawparens
OP*
-Perl_sawparens(void *pPerl, OP* o)
+Perl_sawparens(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_sawparens(o);
}
#undef Perl_scalar
OP*
-Perl_scalar(void *pPerl, OP* o)
+Perl_scalar(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_scalar(o);
}
#undef Perl_scalarkids
OP*
-Perl_scalarkids(void *pPerl, OP* o)
+Perl_scalarkids(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_scalarkids(o);
}
#undef Perl_scalarseq
OP*
-Perl_scalarseq(void *pPerl, OP* o)
+Perl_scalarseq(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_scalarseq(o);
}
#undef Perl_scalarvoid
OP*
-Perl_scalarvoid(void *pPerl, OP* o)
+Perl_scalarvoid(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_scalarvoid(o);
}
#undef Perl_scan_bin
UV
-Perl_scan_bin(void *pPerl, char* start, I32 len, I32* retlen)
+Perl_scan_bin(pTHXo_ char* start, I32 len, I32* retlen)
{
return ((CPerlObj*)pPerl)->Perl_scan_bin(start, len, retlen);
}
#undef Perl_scan_hex
UV
-Perl_scan_hex(void *pPerl, char* start, I32 len, I32* retlen)
+Perl_scan_hex(pTHXo_ char* start, I32 len, I32* retlen)
{
return ((CPerlObj*)pPerl)->Perl_scan_hex(start, len, retlen);
}
#undef Perl_scan_num
char*
-Perl_scan_num(void *pPerl, char* s)
+Perl_scan_num(pTHXo_ char* s)
{
return ((CPerlObj*)pPerl)->Perl_scan_num(s);
}
#undef Perl_scan_oct
UV
-Perl_scan_oct(void *pPerl, char* start, I32 len, I32* retlen)
+Perl_scan_oct(pTHXo_ char* start, I32 len, I32* retlen)
{
return ((CPerlObj*)pPerl)->Perl_scan_oct(start, len, retlen);
}
#undef Perl_scope
OP*
-Perl_scope(void *pPerl, OP* o)
+Perl_scope(pTHXo_ OP* o)
{
return ((CPerlObj*)pPerl)->Perl_scope(o);
}
#undef Perl_screaminstr
char*
-Perl_screaminstr(void *pPerl, SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last)
+Perl_screaminstr(pTHXo_ SV* bigsv, SV* littlesv, I32 start_shift, I32 end_shift, I32 *state, I32 last)
{
return ((CPerlObj*)pPerl)->Perl_screaminstr(bigsv, littlesv, start_shift, end_shift, state, last);
}
#undef Perl_setenv_getix
I32
-Perl_setenv_getix(void *pPerl, char* nam)
+Perl_setenv_getix(pTHXo_ char* nam)
{
return ((CPerlObj*)pPerl)->Perl_setenv_getix(nam);
}
#undef Perl_setdefout
void
-Perl_setdefout(void *pPerl, GV* gv)
+Perl_setdefout(pTHXo_ GV* gv)
{
((CPerlObj*)pPerl)->Perl_setdefout(gv);
}
#undef Perl_sharepvn
char*
-Perl_sharepvn(void *pPerl, const char* sv, I32 len, U32 hash)
+Perl_sharepvn(pTHXo_ const char* sv, I32 len, U32 hash)
{
return ((CPerlObj*)pPerl)->Perl_sharepvn(sv, len, hash);
}
#undef Perl_share_hek
HEK*
-Perl_share_hek(void *pPerl, const char* sv, I32 len, U32 hash)
+Perl_share_hek(pTHXo_ const char* sv, I32 len, U32 hash)
{
return ((CPerlObj*)pPerl)->Perl_share_hek(sv, len, hash);
}
#undef Perl_sighandler
Signal_t
-Perl_sighandler(void *pPerl, int sig)
+Perl_sighandler(int sig)
{
+ dTHXo;
((CPerlObj*)pPerl)->Perl_sighandler(sig);
}
#undef Perl_stack_grow
SV**
-Perl_stack_grow(void *pPerl, SV** sp, SV**p, int n)
+Perl_stack_grow(pTHXo_ SV** sp, SV**p, int n)
{
return ((CPerlObj*)pPerl)->Perl_stack_grow(sp, p, n);
}
#undef Perl_start_subparse
I32
-Perl_start_subparse(void *pPerl, I32 is_format, U32 flags)
+Perl_start_subparse(pTHXo_ I32 is_format, U32 flags)
{
return ((CPerlObj*)pPerl)->Perl_start_subparse(is_format, flags);
}
#undef Perl_sub_crush_depth
void
-Perl_sub_crush_depth(void *pPerl, CV* cv)
+Perl_sub_crush_depth(pTHXo_ CV* cv)
{
((CPerlObj*)pPerl)->Perl_sub_crush_depth(cv);
}
#undef Perl_sv_2bool
bool
-Perl_sv_2bool(void *pPerl, SV* sv)
+Perl_sv_2bool(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_2bool(sv);
}
#undef Perl_sv_2cv
CV*
-Perl_sv_2cv(void *pPerl, SV* sv, HV** st, GV** gvp, I32 lref)
+Perl_sv_2cv(pTHXo_ SV* sv, HV** st, GV** gvp, I32 lref)
{
return ((CPerlObj*)pPerl)->Perl_sv_2cv(sv, st, gvp, lref);
}
#undef Perl_sv_2io
IO*
-Perl_sv_2io(void *pPerl, SV* sv)
+Perl_sv_2io(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_2io(sv);
}
#undef Perl_sv_2iv
IV
-Perl_sv_2iv(void *pPerl, SV* sv)
+Perl_sv_2iv(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_2iv(sv);
}
#undef Perl_sv_2mortal
SV*
-Perl_sv_2mortal(void *pPerl, SV* sv)
+Perl_sv_2mortal(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_2mortal(sv);
}
#undef Perl_sv_2nv
NV
-Perl_sv_2nv(void *pPerl, SV* sv)
+Perl_sv_2nv(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_2nv(sv);
}
#undef Perl_sv_2pv
char*
-Perl_sv_2pv(void *pPerl, SV* sv, STRLEN* lp)
+Perl_sv_2pv(pTHXo_ SV* sv, STRLEN* lp)
{
return ((CPerlObj*)pPerl)->Perl_sv_2pv(sv, lp);
}
#undef Perl_sv_2uv
UV
-Perl_sv_2uv(void *pPerl, SV* sv)
+Perl_sv_2uv(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_2uv(sv);
}
#undef Perl_sv_iv
IV
-Perl_sv_iv(void *pPerl, SV* sv)
+Perl_sv_iv(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_iv(sv);
}
#undef Perl_sv_uv
UV
-Perl_sv_uv(void *pPerl, SV* sv)
+Perl_sv_uv(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_uv(sv);
}
#undef Perl_sv_nv
NV
-Perl_sv_nv(void *pPerl, SV* sv)
+Perl_sv_nv(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_nv(sv);
}
#undef Perl_sv_pvn
char*
-Perl_sv_pvn(void *pPerl, SV *sv, STRLEN *len)
+Perl_sv_pvn(pTHXo_ SV *sv, STRLEN *len)
{
return ((CPerlObj*)pPerl)->Perl_sv_pvn(sv, len);
}
#undef Perl_sv_true
I32
-Perl_sv_true(void *pPerl, SV *sv)
+Perl_sv_true(pTHXo_ SV *sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_true(sv);
}
#undef Perl_sv_add_arena
void
-Perl_sv_add_arena(void *pPerl, char* ptr, U32 size, U32 flags)
+Perl_sv_add_arena(pTHXo_ char* ptr, U32 size, U32 flags)
{
((CPerlObj*)pPerl)->Perl_sv_add_arena(ptr, size, flags);
}
#undef Perl_sv_backoff
int
-Perl_sv_backoff(void *pPerl, SV* sv)
+Perl_sv_backoff(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_backoff(sv);
}
#undef Perl_sv_bless
SV*
-Perl_sv_bless(void *pPerl, SV* sv, HV* stash)
+Perl_sv_bless(pTHXo_ SV* sv, HV* stash)
{
return ((CPerlObj*)pPerl)->Perl_sv_bless(sv, stash);
}
+#undef Perl_sv_catpvf
+void
+Perl_sv_catpvf(pTHXo_ SV* sv, const char* pat)
+{
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_sv_vcatpvf(sv, pat, &args);
+ va_end(args);
+}
+
+#undef Perl_sv_vcatpvf
+void
+Perl_sv_vcatpvf(pTHXo_ SV* sv, const char* pat, va_list* args)
+{
+ ((CPerlObj*)pPerl)->Perl_sv_vcatpvf(sv, pat, args);
+}
+
#undef Perl_sv_catpv
void
-Perl_sv_catpv(void *pPerl, SV* sv, const char* ptr)
+Perl_sv_catpv(pTHXo_ SV* sv, const char* ptr)
{
((CPerlObj*)pPerl)->Perl_sv_catpv(sv, ptr);
}
#undef Perl_sv_catpvn
void
-Perl_sv_catpvn(void *pPerl, SV* sv, const char* ptr, STRLEN len)
+Perl_sv_catpvn(pTHXo_ SV* sv, const char* ptr, STRLEN len)
{
((CPerlObj*)pPerl)->Perl_sv_catpvn(sv, ptr, len);
}
#undef Perl_sv_catsv
void
-Perl_sv_catsv(void *pPerl, SV* dsv, SV* ssv)
+Perl_sv_catsv(pTHXo_ SV* dsv, SV* ssv)
{
((CPerlObj*)pPerl)->Perl_sv_catsv(dsv, ssv);
}
#undef Perl_sv_chop
void
-Perl_sv_chop(void *pPerl, SV* sv, char* ptr)
+Perl_sv_chop(pTHXo_ SV* sv, char* ptr)
{
((CPerlObj*)pPerl)->Perl_sv_chop(sv, ptr);
}
#undef Perl_sv_clean_all
void
-Perl_sv_clean_all(void *pPerl)
+Perl_sv_clean_all(pTHXo)
{
((CPerlObj*)pPerl)->Perl_sv_clean_all();
}
#undef Perl_sv_clean_objs
void
-Perl_sv_clean_objs(void *pPerl)
+Perl_sv_clean_objs(pTHXo)
{
((CPerlObj*)pPerl)->Perl_sv_clean_objs();
}
#undef Perl_sv_clear
void
-Perl_sv_clear(void *pPerl, SV* sv)
+Perl_sv_clear(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_sv_clear(sv);
}
#undef Perl_sv_cmp
I32
-Perl_sv_cmp(void *pPerl, SV* sv1, SV* sv2)
+Perl_sv_cmp(pTHXo_ SV* sv1, SV* sv2)
{
return ((CPerlObj*)pPerl)->Perl_sv_cmp(sv1, sv2);
}
#undef Perl_sv_cmp_locale
I32
-Perl_sv_cmp_locale(void *pPerl, SV* sv1, SV* sv2)
+Perl_sv_cmp_locale(pTHXo_ SV* sv1, SV* sv2)
{
return ((CPerlObj*)pPerl)->Perl_sv_cmp_locale(sv1, sv2);
}
#undef Perl_sv_collxfrm
char*
-Perl_sv_collxfrm(void *pPerl, SV* sv, STRLEN* nxp)
+Perl_sv_collxfrm(pTHXo_ SV* sv, STRLEN* nxp)
{
return ((CPerlObj*)pPerl)->Perl_sv_collxfrm(sv, nxp);
}
#undef Perl_sv_compile_2op
OP*
-Perl_sv_compile_2op(void *pPerl, SV* sv, OP** startp, char* code, AV** avp)
+Perl_sv_compile_2op(pTHXo_ SV* sv, OP** startp, char* code, AV** avp)
{
return ((CPerlObj*)pPerl)->Perl_sv_compile_2op(sv, startp, code, avp);
}
#undef Perl_sv_dec
void
-Perl_sv_dec(void *pPerl, SV* sv)
+Perl_sv_dec(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_sv_dec(sv);
}
#undef Perl_sv_dump
void
-Perl_sv_dump(void *pPerl, SV* sv)
+Perl_sv_dump(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_sv_dump(sv);
}
#undef Perl_sv_derived_from
bool
-Perl_sv_derived_from(void *pPerl, SV* sv, const char* name)
+Perl_sv_derived_from(pTHXo_ SV* sv, const char* name)
{
return ((CPerlObj*)pPerl)->Perl_sv_derived_from(sv, name);
}
#undef Perl_sv_eq
I32
-Perl_sv_eq(void *pPerl, SV* sv1, SV* sv2)
+Perl_sv_eq(pTHXo_ SV* sv1, SV* sv2)
{
return ((CPerlObj*)pPerl)->Perl_sv_eq(sv1, sv2);
}
#undef Perl_sv_free
void
-Perl_sv_free(void *pPerl, SV* sv)
+Perl_sv_free(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_sv_free(sv);
}
#undef Perl_sv_free_arenas
void
-Perl_sv_free_arenas(void *pPerl)
+Perl_sv_free_arenas(pTHXo)
{
((CPerlObj*)pPerl)->Perl_sv_free_arenas();
}
#undef Perl_sv_gets
char*
-Perl_sv_gets(void *pPerl, SV* sv, PerlIO* fp, I32 append)
+Perl_sv_gets(pTHXo_ SV* sv, PerlIO* fp, I32 append)
{
return ((CPerlObj*)pPerl)->Perl_sv_gets(sv, fp, append);
}
#undef Perl_sv_grow
char*
-Perl_sv_grow(void *pPerl, SV* sv, STRLEN newlen)
+Perl_sv_grow(pTHXo_ SV* sv, STRLEN newlen)
{
return ((CPerlObj*)pPerl)->Perl_sv_grow(sv, newlen);
}
#undef Perl_sv_inc
void
-Perl_sv_inc(void *pPerl, SV* sv)
+Perl_sv_inc(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_sv_inc(sv);
}
#undef Perl_sv_insert
void
-Perl_sv_insert(void *pPerl, SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen)
+Perl_sv_insert(pTHXo_ SV* bigsv, STRLEN offset, STRLEN len, char* little, STRLEN littlelen)
{
((CPerlObj*)pPerl)->Perl_sv_insert(bigsv, offset, len, little, littlelen);
}
#undef Perl_sv_isa
int
-Perl_sv_isa(void *pPerl, SV* sv, const char* name)
+Perl_sv_isa(pTHXo_ SV* sv, const char* name)
{
return ((CPerlObj*)pPerl)->Perl_sv_isa(sv, name);
}
#undef Perl_sv_isobject
int
-Perl_sv_isobject(void *pPerl, SV* sv)
+Perl_sv_isobject(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_isobject(sv);
}
#undef Perl_sv_len
STRLEN
-Perl_sv_len(void *pPerl, SV* sv)
+Perl_sv_len(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_len(sv);
}
#undef Perl_sv_len_utf8
STRLEN
-Perl_sv_len_utf8(void *pPerl, SV* sv)
+Perl_sv_len_utf8(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_len_utf8(sv);
}
#undef Perl_sv_magic
void
-Perl_sv_magic(void *pPerl, SV* sv, SV* obj, int how, const char* name, I32 namlen)
+Perl_sv_magic(pTHXo_ SV* sv, SV* obj, int how, const char* name, I32 namlen)
{
((CPerlObj*)pPerl)->Perl_sv_magic(sv, obj, how, name, namlen);
}
#undef Perl_sv_mortalcopy
SV*
-Perl_sv_mortalcopy(void *pPerl, SV* oldsv)
+Perl_sv_mortalcopy(pTHXo_ SV* oldsv)
{
return ((CPerlObj*)pPerl)->Perl_sv_mortalcopy(oldsv);
}
#undef Perl_sv_newmortal
SV*
-Perl_sv_newmortal(void *pPerl)
+Perl_sv_newmortal(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_sv_newmortal();
}
#undef Perl_sv_newref
SV*
-Perl_sv_newref(void *pPerl, SV* sv)
+Perl_sv_newref(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_newref(sv);
}
#undef Perl_sv_peek
char*
-Perl_sv_peek(void *pPerl, SV* sv)
+Perl_sv_peek(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_peek(sv);
}
#undef Perl_sv_pos_u2b
void
-Perl_sv_pos_u2b(void *pPerl, SV* sv, I32* offsetp, I32* lenp)
+Perl_sv_pos_u2b(pTHXo_ SV* sv, I32* offsetp, I32* lenp)
{
((CPerlObj*)pPerl)->Perl_sv_pos_u2b(sv, offsetp, lenp);
}
#undef Perl_sv_pos_b2u
void
-Perl_sv_pos_b2u(void *pPerl, SV* sv, I32* offsetp)
+Perl_sv_pos_b2u(pTHXo_ SV* sv, I32* offsetp)
{
((CPerlObj*)pPerl)->Perl_sv_pos_b2u(sv, offsetp);
}
#undef Perl_sv_pvn_force
char*
-Perl_sv_pvn_force(void *pPerl, SV* sv, STRLEN* lp)
+Perl_sv_pvn_force(pTHXo_ SV* sv, STRLEN* lp)
{
return ((CPerlObj*)pPerl)->Perl_sv_pvn_force(sv, lp);
}
#undef Perl_sv_reftype
char*
-Perl_sv_reftype(void *pPerl, SV* sv, int ob)
+Perl_sv_reftype(pTHXo_ SV* sv, int ob)
{
return ((CPerlObj*)pPerl)->Perl_sv_reftype(sv, ob);
}
#undef Perl_sv_replace
void
-Perl_sv_replace(void *pPerl, SV* sv, SV* nsv)
+Perl_sv_replace(pTHXo_ SV* sv, SV* nsv)
{
((CPerlObj*)pPerl)->Perl_sv_replace(sv, nsv);
}
#undef Perl_sv_report_used
void
-Perl_sv_report_used(void *pPerl)
+Perl_sv_report_used(pTHXo)
{
((CPerlObj*)pPerl)->Perl_sv_report_used();
}
#undef Perl_sv_reset
void
-Perl_sv_reset(void *pPerl, char* s, HV* stash)
+Perl_sv_reset(pTHXo_ char* s, HV* stash)
{
((CPerlObj*)pPerl)->Perl_sv_reset(s, stash);
}
+#undef Perl_sv_setpvf
+void
+Perl_sv_setpvf(pTHXo_ SV* sv, const char* pat)
+{
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_sv_vsetpvf(sv, pat, &args);
+ va_end(args);
+}
+
+#undef Perl_sv_vsetpvf
+void
+Perl_sv_vsetpvf(pTHXo_ SV* sv, const char* pat, va_list* args)
+{
+ ((CPerlObj*)pPerl)->Perl_sv_vsetpvf(sv, pat, args);
+}
+
#undef Perl_sv_setiv
void
-Perl_sv_setiv(void *pPerl, SV* sv, IV num)
+Perl_sv_setiv(pTHXo_ SV* sv, IV num)
{
((CPerlObj*)pPerl)->Perl_sv_setiv(sv, num);
}
#undef Perl_sv_setpviv
void
-Perl_sv_setpviv(void *pPerl, SV* sv, IV num)
+Perl_sv_setpviv(pTHXo_ SV* sv, IV num)
{
((CPerlObj*)pPerl)->Perl_sv_setpviv(sv, num);
}
#undef Perl_sv_setuv
void
-Perl_sv_setuv(void *pPerl, SV* sv, UV num)
+Perl_sv_setuv(pTHXo_ SV* sv, UV num)
{
((CPerlObj*)pPerl)->Perl_sv_setuv(sv, num);
}
#undef Perl_sv_setnv
void
-Perl_sv_setnv(void *pPerl, SV* sv, NV num)
+Perl_sv_setnv(pTHXo_ SV* sv, NV num)
{
((CPerlObj*)pPerl)->Perl_sv_setnv(sv, num);
}
#undef Perl_sv_setref_iv
SV*
-Perl_sv_setref_iv(void *pPerl, SV* rv, const char* classname, IV iv)
+Perl_sv_setref_iv(pTHXo_ SV* rv, const char* classname, IV iv)
{
return ((CPerlObj*)pPerl)->Perl_sv_setref_iv(rv, classname, iv);
}
#undef Perl_sv_setref_nv
SV*
-Perl_sv_setref_nv(void *pPerl, SV* rv, const char* classname, NV nv)
+Perl_sv_setref_nv(pTHXo_ SV* rv, const char* classname, NV nv)
{
return ((CPerlObj*)pPerl)->Perl_sv_setref_nv(rv, classname, nv);
}
#undef Perl_sv_setref_pv
SV*
-Perl_sv_setref_pv(void *pPerl, SV* rv, const char* classname, void* pv)
+Perl_sv_setref_pv(pTHXo_ SV* rv, const char* classname, void* pv)
{
return ((CPerlObj*)pPerl)->Perl_sv_setref_pv(rv, classname, pv);
}
#undef Perl_sv_setref_pvn
SV*
-Perl_sv_setref_pvn(void *pPerl, SV* rv, const char* classname, char* pv, STRLEN n)
+Perl_sv_setref_pvn(pTHXo_ SV* rv, const char* classname, char* pv, STRLEN n)
{
return ((CPerlObj*)pPerl)->Perl_sv_setref_pvn(rv, classname, pv, n);
}
#undef Perl_sv_setpv
void
-Perl_sv_setpv(void *pPerl, SV* sv, const char* ptr)
+Perl_sv_setpv(pTHXo_ SV* sv, const char* ptr)
{
((CPerlObj*)pPerl)->Perl_sv_setpv(sv, ptr);
}
#undef Perl_sv_setpvn
void
-Perl_sv_setpvn(void *pPerl, SV* sv, const char* ptr, STRLEN len)
+Perl_sv_setpvn(pTHXo_ SV* sv, const char* ptr, STRLEN len)
{
((CPerlObj*)pPerl)->Perl_sv_setpvn(sv, ptr, len);
}
#undef Perl_sv_setsv
void
-Perl_sv_setsv(void *pPerl, SV* dsv, SV* ssv)
+Perl_sv_setsv(pTHXo_ SV* dsv, SV* ssv)
{
((CPerlObj*)pPerl)->Perl_sv_setsv(dsv, ssv);
}
#undef Perl_sv_taint
void
-Perl_sv_taint(void *pPerl, SV* sv)
+Perl_sv_taint(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_sv_taint(sv);
}
#undef Perl_sv_tainted
bool
-Perl_sv_tainted(void *pPerl, SV* sv)
+Perl_sv_tainted(pTHXo_ SV* sv)
{
return ((CPerlObj*)pPerl)->Perl_sv_tainted(sv);
}
#undef Perl_sv_unmagic
int
-Perl_sv_unmagic(void *pPerl, SV* sv, int type)
+Perl_sv_unmagic(pTHXo_ SV* sv, int type)
{
return ((CPerlObj*)pPerl)->Perl_sv_unmagic(sv, type);
}
#undef Perl_sv_unref
void
-Perl_sv_unref(void *pPerl, SV* sv)
+Perl_sv_unref(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_sv_unref(sv);
}
#undef Perl_sv_untaint
void
-Perl_sv_untaint(void *pPerl, SV* sv)
+Perl_sv_untaint(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_sv_untaint(sv);
}
#undef Perl_sv_upgrade
bool
-Perl_sv_upgrade(void *pPerl, SV* sv, U32 mt)
+Perl_sv_upgrade(pTHXo_ SV* sv, U32 mt)
{
return ((CPerlObj*)pPerl)->Perl_sv_upgrade(sv, mt);
}
#undef Perl_sv_usepvn
void
-Perl_sv_usepvn(void *pPerl, SV* sv, char* ptr, STRLEN len)
+Perl_sv_usepvn(pTHXo_ SV* sv, char* ptr, STRLEN len)
{
((CPerlObj*)pPerl)->Perl_sv_usepvn(sv, ptr, len);
}
#undef Perl_sv_vcatpvfn
void
-Perl_sv_vcatpvfn(void *pPerl, SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale)
+Perl_sv_vcatpvfn(pTHXo_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale)
{
((CPerlObj*)pPerl)->Perl_sv_vcatpvfn(sv, pat, patlen, args, svargs, svmax, used_locale);
}
#undef Perl_sv_vsetpvfn
void
-Perl_sv_vsetpvfn(void *pPerl, SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale)
+Perl_sv_vsetpvfn(pTHXo_ SV* sv, const char* pat, STRLEN patlen, va_list* args, SV** svargs, I32 svmax, bool *used_locale)
{
((CPerlObj*)pPerl)->Perl_sv_vsetpvfn(sv, pat, patlen, args, svargs, svmax, used_locale);
}
#undef Perl_swash_init
SV*
-Perl_swash_init(void *pPerl, char* pkg, char* name, SV* listsv, I32 minbits, I32 none)
+Perl_swash_init(pTHXo_ char* pkg, char* name, SV* listsv, I32 minbits, I32 none)
{
return ((CPerlObj*)pPerl)->Perl_swash_init(pkg, name, listsv, minbits, none);
}
#undef Perl_swash_fetch
UV
-Perl_swash_fetch(void *pPerl, SV *sv, U8 *ptr)
+Perl_swash_fetch(pTHXo_ SV *sv, U8 *ptr)
{
return ((CPerlObj*)pPerl)->Perl_swash_fetch(sv, ptr);
}
#undef Perl_taint_env
void
-Perl_taint_env(void *pPerl)
+Perl_taint_env(pTHXo)
{
((CPerlObj*)pPerl)->Perl_taint_env();
}
#undef Perl_taint_proper
void
-Perl_taint_proper(void *pPerl, const char* f, char* s)
+Perl_taint_proper(pTHXo_ const char* f, char* s)
{
((CPerlObj*)pPerl)->Perl_taint_proper(f, s);
}
#undef Perl_to_utf8_lower
UV
-Perl_to_utf8_lower(void *pPerl, U8 *p)
+Perl_to_utf8_lower(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_to_utf8_lower(p);
}
#undef Perl_to_utf8_upper
UV
-Perl_to_utf8_upper(void *pPerl, U8 *p)
+Perl_to_utf8_upper(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_to_utf8_upper(p);
}
#undef Perl_to_utf8_title
UV
-Perl_to_utf8_title(void *pPerl, U8 *p)
+Perl_to_utf8_title(pTHXo_ U8 *p)
{
return ((CPerlObj*)pPerl)->Perl_to_utf8_title(p);
}
#undef Perl_unlnk
I32
-Perl_unlnk(void *pPerl, char* f)
+Perl_unlnk(pTHXo_ char* f)
{
return ((CPerlObj*)pPerl)->Perl_unlnk(f);
}
#undef Perl_unlock_condpair
void
-Perl_unlock_condpair(void *pPerl, void* svv)
+Perl_unlock_condpair(pTHXo_ void* svv)
{
((CPerlObj*)pPerl)->Perl_unlock_condpair(svv);
}
#undef Perl_unsharepvn
void
-Perl_unsharepvn(void *pPerl, const char* sv, I32 len, U32 hash)
+Perl_unsharepvn(pTHXo_ const char* sv, I32 len, U32 hash)
{
((CPerlObj*)pPerl)->Perl_unsharepvn(sv, len, hash);
}
#undef Perl_unshare_hek
void
-Perl_unshare_hek(void *pPerl, HEK* hek)
+Perl_unshare_hek(pTHXo_ HEK* hek)
{
((CPerlObj*)pPerl)->Perl_unshare_hek(hek);
}
#undef Perl_utilize
void
-Perl_utilize(void *pPerl, int aver, I32 floor, OP* version, OP* id, OP* arg)
+Perl_utilize(pTHXo_ int aver, I32 floor, OP* version, OP* id, OP* arg)
{
((CPerlObj*)pPerl)->Perl_utilize(aver, floor, version, id, arg);
}
#undef Perl_utf16_to_utf8
U8*
-Perl_utf16_to_utf8(void *pPerl, U16* p, U8 *d, I32 bytelen)
+Perl_utf16_to_utf8(pTHXo_ U16* p, U8 *d, I32 bytelen)
{
return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8(p, d, bytelen);
}
#undef Perl_utf16_to_utf8_reversed
U8*
-Perl_utf16_to_utf8_reversed(void *pPerl, U16* p, U8 *d, I32 bytelen)
+Perl_utf16_to_utf8_reversed(pTHXo_ U16* p, U8 *d, I32 bytelen)
{
return ((CPerlObj*)pPerl)->Perl_utf16_to_utf8_reversed(p, d, bytelen);
}
#undef Perl_utf8_distance
I32
-Perl_utf8_distance(void *pPerl, U8 *a, U8 *b)
+Perl_utf8_distance(pTHXo_ U8 *a, U8 *b)
{
return ((CPerlObj*)pPerl)->Perl_utf8_distance(a, b);
}
#undef Perl_utf8_hop
U8*
-Perl_utf8_hop(void *pPerl, U8 *s, I32 off)
+Perl_utf8_hop(pTHXo_ U8 *s, I32 off)
{
return ((CPerlObj*)pPerl)->Perl_utf8_hop(s, off);
}
#undef Perl_utf8_to_uv
UV
-Perl_utf8_to_uv(void *pPerl, U8 *s, I32* retlen)
+Perl_utf8_to_uv(pTHXo_ U8 *s, I32* retlen)
{
return ((CPerlObj*)pPerl)->Perl_utf8_to_uv(s, retlen);
}
#undef Perl_uv_to_utf8
U8*
-Perl_uv_to_utf8(void *pPerl, U8 *d, UV uv)
+Perl_uv_to_utf8(pTHXo_ U8 *d, UV uv)
{
return ((CPerlObj*)pPerl)->Perl_uv_to_utf8(d, uv);
}
#undef Perl_vivify_defelem
void
-Perl_vivify_defelem(void *pPerl, SV* sv)
+Perl_vivify_defelem(pTHXo_ SV* sv)
{
((CPerlObj*)pPerl)->Perl_vivify_defelem(sv);
}
#undef Perl_vivify_ref
void
-Perl_vivify_ref(void *pPerl, SV* sv, U32 to_what)
+Perl_vivify_ref(pTHXo_ SV* sv, U32 to_what)
{
((CPerlObj*)pPerl)->Perl_vivify_ref(sv, to_what);
}
#undef Perl_wait4pid
I32
-Perl_wait4pid(void *pPerl, int pid, int* statusp, int flags)
+Perl_wait4pid(pTHXo_ int pid, int* statusp, int flags)
{
return ((CPerlObj*)pPerl)->Perl_wait4pid(pid, statusp, flags);
}
+#undef Perl_warn
+void
+Perl_warn(pTHXo_ const char* pat)
+{
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_vwarn(pat, &args);
+ va_end(args);
+}
+
+#undef Perl_vwarn
+void
+Perl_vwarn(pTHXo_ const char* pat, va_list* args)
+{
+ ((CPerlObj*)pPerl)->Perl_vwarn(pat, args);
+}
+
+#undef Perl_warner
+void
+Perl_warner(pTHXo_ U32 err, const char* pat)
+{
+ va_list args;
+ va_start(args, pat);
+ ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, &args);
+ va_end(args);
+}
+
+#undef Perl_vwarner
+void
+Perl_vwarner(pTHXo_ U32 err, const char* pat, va_list* args)
+{
+ ((CPerlObj*)pPerl)->Perl_vwarner(err, pat, args);
+}
+
#undef Perl_watch
void
-Perl_watch(void *pPerl, char** addr)
+Perl_watch(pTHXo_ char** addr)
{
((CPerlObj*)pPerl)->Perl_watch(addr);
}
#undef Perl_whichsig
I32
-Perl_whichsig(void *pPerl, char* sig)
+Perl_whichsig(pTHXo_ char* sig)
{
return ((CPerlObj*)pPerl)->Perl_whichsig(sig);
}
#undef Perl_yyerror
int
-Perl_yyerror(void *pPerl, char* s)
+Perl_yyerror(pTHXo_ char* s)
{
return ((CPerlObj*)pPerl)->Perl_yyerror(s);
}
#undef Perl_yylex
int
-Perl_yylex(void *pPerl, YYSTYPE *lvalp, int *lcharp)
+Perl_yylex(pTHXo_ YYSTYPE *lvalp, int *lcharp)
{
return ((CPerlObj*)pPerl)->Perl_yylex(lvalp, lcharp);
}
#undef Perl_yylex
int
-Perl_yylex(void *pPerl)
+Perl_yylex(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_yylex();
}
#undef Perl_yyparse
int
-Perl_yyparse(void *pPerl)
+Perl_yyparse(pTHXo)
{
return ((CPerlObj*)pPerl)->Perl_yyparse();
}
#undef Perl_yywarn
int
-Perl_yywarn(void *pPerl, char* s)
+Perl_yywarn(pTHXo_ char* s)
{
return ((CPerlObj*)pPerl)->Perl_yywarn(s);
}
#undef Perl_dump_mstats
void
-Perl_dump_mstats(void *pPerl, char* s)
+Pe