applied suggested patch with PERL_OBJECT tweaks
[p5sagit/p5-mst-13.2.git] / embedvar.h
index 8c4c5de..b1aad3a 100644 (file)
@@ -1,18 +1,10 @@
 /* !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!! 
-   This file is built by embed.pl from global.sym, intrpvar.h,
-   and thrdvar.h.  Any changes made here will be lost!
+   This file is built by embed.pl from global.sym, pp.sym, intrpvar.h,
+   perlvars.h and thrdvar.h.  Any changes made here will be lost!
 */
 
 /* (Doing namespace management portably in C is really gross.) */
 
-/*  EMBED has no run-time penalty, but helps keep the Perl namespace
-    from colliding with that used by other libraries pulled in
-    by extensions or by embedding perl.  Allow a cc -DNO_EMBED
-    override, however, to keep binary compatability with previous
-    versions of perl.
-*/
-
-
 /* Put interpreter-specific symbols into a struct? */
 
 #ifdef MULTIPLICITY
@@ -38,6 +30,7 @@
 #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_ofslen              (PL_curinterp->Tofslen)
 #define PL_op                  (PL_curinterp->Top)
 #define PL_opsave              (PL_curinterp->Topsave)
+#define PL_reg_call_cc         (PL_curinterp->Treg_call_cc)
 #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_oldpos          (PL_curinterp->Treg_oldpos)
+#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_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_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)
 
 #endif /* !USE_THREADS */
 
 #define PL_argvoutgv           (PL_curinterp->Iargvoutgv)
 #define PL_basetime            (PL_curinterp->Ibasetime)
 #define PL_beginav             (PL_curinterp->Ibeginav)
+#define PL_bytecode_iv_overflows       (PL_curinterp->Ibytecode_iv_overflows)
+#define PL_bytecode_obj_list   (PL_curinterp->Ibytecode_obj_list)
+#define PL_bytecode_obj_list_fill      (PL_curinterp->Ibytecode_obj_list_fill)
+#define PL_bytecode_pv         (PL_curinterp->Ibytecode_pv)
+#define PL_bytecode_sv         (PL_curinterp->Ibytecode_sv)
 #define PL_cddir               (PL_curinterp->Icddir)
 #define PL_compcv              (PL_curinterp->Icompcv)
 #define PL_compiling           (PL_curinterp->Icompiling)
 #define PL_doextract           (PL_curinterp->Idoextract)
 #define PL_doswitches          (PL_curinterp->Idoswitches)
 #define PL_dowarn              (PL_curinterp->Idowarn)
-#define PL_dumplvl             (PL_curinterp->Idumplvl)
 #define PL_e_script            (PL_curinterp->Ie_script)
 #define PL_endav               (PL_curinterp->Iendav)
 #define PL_envgv               (PL_curinterp->Ienvgv)
 #define PL_incgv               (PL_curinterp->Iincgv)
 #define PL_initav              (PL_curinterp->Iinitav)
 #define PL_inplace             (PL_curinterp->Iinplace)
-#define PL_iv_overflows                (PL_curinterp->Iiv_overflows)
 #define PL_last_proto          (PL_curinterp->Ilast_proto)
 #define PL_lastfd              (PL_curinterp->Ilastfd)
 #define PL_lastsize            (PL_curinterp->Ilastsize)
 #define PL_modglobal           (PL_curinterp->Imodglobal)
 #define PL_multiline           (PL_curinterp->Imultiline)
 #define PL_mystrk              (PL_curinterp->Imystrk)
-#define PL_obj_list            (PL_curinterp->Iobj_list)
-#define PL_obj_list_fill       (PL_curinterp->Iobj_list_fill)
 #define PL_ofmt                        (PL_curinterp->Iofmt)
 #define PL_oldlastpm           (PL_curinterp->Ioldlastpm)
 #define PL_oldname             (PL_curinterp->Ioldname)
 #define PL_preambled           (PL_curinterp->Ipreambled)
 #define PL_preprocess          (PL_curinterp->Ipreprocess)
 #define PL_profiledata         (PL_curinterp->Iprofiledata)
-#define PL_pv                  (PL_curinterp->Ipv)
 #define PL_replgv              (PL_curinterp->Ireplgv)
 #define PL_rightgv             (PL_curinterp->Irightgv)
 #define PL_rsfp                        (PL_curinterp->Irsfp)
 #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_sv                  (PL_curinterp->Isv)
 #define PL_sv_arenaroot                (PL_curinterp->Isv_arenaroot)
 #define PL_sv_count            (PL_curinterp->Isv_count)
 #define PL_sv_objcount         (PL_curinterp->Isv_objcount)
 #define PL_Iargvoutgv          PL_argvoutgv
 #define PL_Ibasetime           PL_basetime
 #define PL_Ibeginav            PL_beginav
+#define PL_Ibytecode_iv_overflows      PL_bytecode_iv_overflows
+#define PL_Ibytecode_obj_list  PL_bytecode_obj_list
+#define PL_Ibytecode_obj_list_fill     PL_bytecode_obj_list_fill
+#define PL_Ibytecode_pv                PL_bytecode_pv
+#define PL_Ibytecode_sv                PL_bytecode_sv
 #define PL_Icddir              PL_cddir
 #define PL_Icompcv             PL_compcv
 #define PL_Icompiling          PL_compiling
 #define PL_Idoextract          PL_doextract
 #define PL_Idoswitches         PL_doswitches
 #define PL_Idowarn             PL_dowarn
-#define PL_Idumplvl            PL_dumplvl
 #define PL_Ie_script           PL_e_script
 #define PL_Iendav              PL_endav
 #define PL_Ienvgv              PL_envgv
 #define PL_Iincgv              PL_incgv
 #define PL_Iinitav             PL_initav
 #define PL_Iinplace            PL_inplace
-#define PL_Iiv_overflows       PL_iv_overflows
 #define PL_Ilast_proto         PL_last_proto
 #define PL_Ilastfd             PL_lastfd
 #define PL_Ilastsize           PL_lastsize
 #define PL_Imodglobal          PL_modglobal
 #define PL_Imultiline          PL_multiline
 #define PL_Imystrk             PL_mystrk
-#define PL_Iobj_list           PL_obj_list
-#define PL_Iobj_list_fill      PL_obj_list_fill
 #define PL_Iofmt               PL_ofmt
 #define PL_Ioldlastpm          PL_oldlastpm
 #define PL_Ioldname            PL_oldname
 #define PL_Ipreambled          PL_preambled
 #define PL_Ipreprocess         PL_preprocess
 #define PL_Iprofiledata                PL_profiledata
-#define PL_Ipv                 PL_pv
 #define PL_Ireplgv             PL_replgv
 #define PL_Irightgv            PL_rightgv
 #define PL_Irsfp               PL_rsfp
 #define PL_Istdingv            PL_stdingv
 #define PL_Istrchop            PL_strchop
 #define PL_Istrtab             PL_strtab
+#define PL_Istrtab_mutex       PL_strtab_mutex
 #define PL_Isub_generation     PL_sub_generation
 #define PL_Isublex_info                PL_sublex_info
-#define PL_Isv                 PL_sv
 #define PL_Isv_arenaroot       PL_sv_arenaroot
 #define PL_Isv_count           PL_sv_count
 #define PL_Isv_objcount                PL_sv_objcount
 #define PL_Tdefstash           PL_defstash
 #define PL_Tdelaymagic         PL_delaymagic
 #define PL_Tdirty              PL_dirty
+#define PL_Tdumpindent         PL_dumpindent
 #define PL_Textralen           PL_extralen
 #define PL_Tfirstgv            PL_firstgv
 #define PL_Tformtarget         PL_formtarget
 #define PL_Tofslen             PL_ofslen
 #define PL_Top                 PL_op
 #define PL_Topsave             PL_opsave
+#define PL_Treg_call_cc                PL_reg_call_cc
 #define PL_Treg_eval_set       PL_reg_eval_set
 #define PL_Treg_flags          PL_reg_flags
+#define PL_Treg_ganch          PL_reg_ganch
+#define PL_Treg_magic          PL_reg_magic
+#define PL_Treg_oldpos         PL_reg_oldpos
+#define PL_Treg_re             PL_reg_re
 #define PL_Treg_start_tmp      PL_reg_start_tmp
 #define PL_Treg_start_tmpl     PL_reg_start_tmpl
+#define PL_Treg_sv             PL_reg_sv
 #define PL_Tregbol             PL_regbol
 #define PL_Tregcc              PL_regcc
 #define PL_Tregcode            PL_regcode
 #define PL_Ttmps_stack         PL_tmps_stack
 #define PL_Ttop_env            PL_top_env
 #define PL_Ttoptarget          PL_toptarget
+#define PL_Twatchaddr          PL_watchaddr
+#define PL_Twatchok            PL_watchok
 
 #endif /* USE_THREADS */
 
 /* Hide what would have been interpreter-specific symbols? */
 
-#ifdef EMBED
-
 
 #ifndef USE_THREADS
 
 
 #endif /* USE_THREADS */
-#endif /* EMBED */
 #endif /* MULTIPLICITY */
 
 /* Now same trickey for per-thread variables */
 #define PL_defstash            (thr->Tdefstash)
 #define PL_delaymagic          (thr->Tdelaymagic)
 #define PL_dirty               (thr->Tdirty)
+#define PL_dumpindent          (thr->Tdumpindent)
 #define PL_extralen            (thr->Textralen)
 #define PL_firstgv             (thr->Tfirstgv)
 #define PL_formtarget          (thr->Tformtarget)
 #define PL_ofslen              (thr->Tofslen)
 #define PL_op                  (thr->Top)
 #define PL_opsave              (thr->Topsave)
+#define PL_reg_call_cc         (thr->Treg_call_cc)
 #define PL_reg_eval_set                (thr->Treg_eval_set)
 #define PL_reg_flags           (thr->Treg_flags)
+#define PL_reg_ganch           (thr->Treg_ganch)
+#define PL_reg_magic           (thr->Treg_magic)
+#define PL_reg_oldpos          (thr->Treg_oldpos)
+#define PL_reg_re              (thr->Treg_re)
 #define PL_reg_start_tmp       (thr->Treg_start_tmp)
 #define PL_reg_start_tmpl      (thr->Treg_start_tmpl)
+#define PL_reg_sv              (thr->Treg_sv)
 #define PL_regbol              (thr->Tregbol)
 #define PL_regcc               (thr->Tregcc)
 #define PL_regcode             (thr->Tregcode)
 #define PL_tmps_stack          (thr->Ttmps_stack)
 #define PL_top_env             (thr->Ttop_env)
 #define PL_toptarget           (thr->Ttoptarget)
+#define PL_watchaddr           (thr->Twatchaddr)
+#define PL_watchok             (thr->Twatchok)
 
 #endif /* USE_THREADS */
 
 #define PL_collxfrm_base       (PL_Vars.Gcollxfrm_base)
 #define PL_collxfrm_mult       (PL_Vars.Gcollxfrm_mult)
 #define PL_cop_seqmax          (PL_Vars.Gcop_seqmax)
+#define PL_cred_mutex          (PL_Vars.Gcred_mutex)
 #define PL_cryptseen           (PL_Vars.Gcryptseen)
 #define PL_cshlen              (PL_Vars.Gcshlen)
 #define PL_cshname             (PL_Vars.Gcshname)
 #define PL_in_my_stash         (PL_Vars.Gin_my_stash)
 #define PL_last_lop            (PL_Vars.Glast_lop)
 #define PL_last_lop_op         (PL_Vars.Glast_lop_op)
+#define PL_last_swash_hv       (PL_Vars.Glast_swash_hv)
+#define PL_last_swash_key      (PL_Vars.Glast_swash_key)
+#define PL_last_swash_klen     (PL_Vars.Glast_swash_klen)
+#define PL_last_swash_slen     (PL_Vars.Glast_swash_slen)
+#define PL_last_swash_tmps     (PL_Vars.Glast_swash_tmps)
 #define PL_last_uni            (PL_Vars.Glast_uni)
 #define PL_lex_brackets                (PL_Vars.Glex_brackets)
 #define PL_lex_brackstack      (PL_Vars.Glex_brackstack)
 #define PL_threadsv_names      (PL_Vars.Gthreadsv_names)
 #define PL_tokenbuf            (PL_Vars.Gtokenbuf)
 #define PL_uid                 (PL_Vars.Guid)
+#define PL_utf8_alnum          (PL_Vars.Gutf8_alnum)
+#define PL_utf8_alpha          (PL_Vars.Gutf8_alpha)
+#define PL_utf8_digit          (PL_Vars.Gutf8_digit)
+#define PL_utf8_lower          (PL_Vars.Gutf8_lower)
+#define PL_utf8_mark           (PL_Vars.Gutf8_mark)
+#define PL_utf8_print          (PL_Vars.Gutf8_print)
+#define PL_utf8_space          (PL_Vars.Gutf8_space)
+#define PL_utf8_tolower                (PL_Vars.Gutf8_tolower)
+#define PL_utf8_totitle                (PL_Vars.Gutf8_totitle)
+#define PL_utf8_toupper                (PL_Vars.Gutf8_toupper)
+#define PL_utf8_upper          (PL_Vars.Gutf8_upper)
 #define PL_xiv_arenaroot       (PL_Vars.Gxiv_arenaroot)
 #define PL_xiv_root            (PL_Vars.Gxiv_root)
 #define PL_xnv_root            (PL_Vars.Gxnv_root)
 #define PL_xpv_root            (PL_Vars.Gxpv_root)
 #define PL_xrv_root            (PL_Vars.Gxrv_root)
+#define PL_yychar              (PL_Vars.Gyychar)
+#define PL_yydebug             (PL_Vars.Gyydebug)
+#define PL_yyerrflag           (PL_Vars.Gyyerrflag)
+#define PL_yylval              (PL_Vars.Gyylval)
+#define PL_yynerrs             (PL_Vars.Gyynerrs)
+#define PL_yyval               (PL_Vars.Gyyval)
 
 #else /* !PERL_GLOBAL_STRUCT */
 
 #define PL_Gcollxfrm_base      PL_collxfrm_base
 #define PL_Gcollxfrm_mult      PL_collxfrm_mult
 #define PL_Gcop_seqmax         PL_cop_seqmax
+#define PL_Gcred_mutex         PL_cred_mutex
 #define PL_Gcryptseen          PL_cryptseen
 #define PL_Gcshlen             PL_cshlen
 #define PL_Gcshname            PL_cshname
 #define PL_Gin_my_stash                PL_in_my_stash
 #define PL_Glast_lop           PL_last_lop
 #define PL_Glast_lop_op                PL_last_lop_op
+#define PL_Glast_swash_hv      PL_last_swash_hv
+#define PL_Glast_swash_key     PL_last_swash_key
+#define PL_Glast_swash_klen    PL_last_swash_klen
+#define PL_Glast_swash_slen    PL_last_swash_slen
+#define PL_Glast_swash_tmps    PL_last_swash_tmps
 #define PL_Glast_uni           PL_last_uni
 #define PL_Glex_brackets       PL_lex_brackets
 #define PL_Glex_brackstack     PL_lex_brackstack
 #define PL_Gthreadsv_names     PL_threadsv_names
 #define PL_Gtokenbuf           PL_tokenbuf
 #define PL_Guid                        PL_uid
+#define PL_Gutf8_alnum         PL_utf8_alnum
+#define PL_Gutf8_alpha         PL_utf8_alpha
+#define PL_Gutf8_digit         PL_utf8_digit
+#define PL_Gutf8_lower         PL_utf8_lower
+#define PL_Gutf8_mark          PL_utf8_mark
+#define PL_Gutf8_print         PL_utf8_print
+#define PL_Gutf8_space         PL_utf8_space
+#define PL_Gutf8_tolower       PL_utf8_tolower
+#define PL_Gutf8_totitle       PL_utf8_totitle
+#define PL_Gutf8_toupper       PL_utf8_toupper
+#define PL_Gutf8_upper         PL_utf8_upper
 #define PL_Gxiv_arenaroot      PL_xiv_arenaroot
 #define PL_Gxiv_root           PL_xiv_root
 #define PL_Gxnv_root           PL_xnv_root
 #define PL_Gxpv_root           PL_xpv_root
 #define PL_Gxrv_root           PL_xrv_root
-
-#ifdef EMBED
+#define PL_Gyychar             PL_yychar
+#define PL_Gyydebug            PL_yydebug
+#define PL_Gyyerrflag          PL_yyerrflag
+#define PL_Gyylval             PL_yylval
+#define PL_Gyynerrs            PL_yynerrs
+#define PL_Gyyval              PL_yyval
 
 
-#endif /* EMBED */
 #endif /* PERL_GLOBAL_STRUCT */
 
 
-#ifndef MIN_PERL_DEFINE  
+#ifdef PERL_POLLUTE            /* unsupported in 5.006 */
 
 #define DBsingle               PL_DBsingle
 #define DBsub                  PL_DBsub
 #define curstash               PL_curstash
 #define debstash               PL_debstash
 #define defgv                  PL_defgv
+#define diehook                        PL_diehook
+#define dirty                  PL_dirty
 #define dowarn                 PL_dowarn
 #define errgv                  PL_errgv
 #define na                     PL_na
+#define perl_destruct_level    PL_perl_destruct_level
 #define perldb                 PL_perldb
 #define rsfp                   PL_rsfp
 #define rsfp_filters           PL_rsfp_filters