support for list assignment to pseudohashes (from John Tobey
[p5sagit/p5-mst-13.2.git] / embed.h
diff --git a/embed.h b/embed.h
index b16eb3d..e6bafff 100644 (file)
--- a/embed.h
+++ b/embed.h
@@ -46,7 +46,6 @@
 #if !defined(PERL_IMPLICIT_CONTEXT)
 
 #if defined(PERL_IMPLICIT_SYS)
-#else
 #endif
 #if defined(USE_ITHREADS)
 #  if defined(PERL_IMPLICIT_SYS)
@@ -55,6 +54,8 @@
 #if defined(MYMALLOC)
 #define malloced_size          Perl_malloced_size
 #endif
+#define get_context            Perl_get_context
+#define set_context            Perl_set_context
 #if defined(PERL_OBJECT)
 #ifndef __BORLANDC__
 #endif
@@ -70,6 +71,7 @@
 #define avhv_delete_ent                Perl_avhv_delete_ent
 #define avhv_exists_ent                Perl_avhv_exists_ent
 #define avhv_fetch_ent         Perl_avhv_fetch_ent
+#define avhv_store_ent         Perl_avhv_store_ent
 #define avhv_iternext          Perl_avhv_iternext
 #define avhv_iterval           Perl_avhv_iterval
 #define avhv_keys              Perl_avhv_keys
 #define sv_usepvn              Perl_sv_usepvn
 #define sv_vcatpvfn            Perl_sv_vcatpvfn
 #define sv_vsetpvfn            Perl_sv_vsetpvfn
+#define str_to_version         Perl_str_to_version
 #define swash_init             Perl_swash_init
 #define swash_fetch            Perl_swash_fetch
 #define taint_env              Perl_taint_env
 #define do_pmop_dump           Perl_do_pmop_dump
 #define do_sv_dump             Perl_do_sv_dump
 #define magic_dump             Perl_magic_dump
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
 #define default_protect                Perl_default_protect
 #define vdefault_protect       Perl_vdefault_protect
+#endif
 #define reginitcolors          Perl_reginitcolors
 #define sv_2pv_nolen           Perl_sv_2pv_nolen
 #define sv_2pvutf8_nolen       Perl_sv_2pvutf8_nolen
 #define sv_pv                  Perl_sv_pv
 #define sv_pvutf8              Perl_sv_pvutf8
 #define sv_pvbyte              Perl_sv_pvbyte
+#define sv_utf8_upgrade                Perl_sv_utf8_upgrade
+#define sv_utf8_downgrade      Perl_sv_utf8_downgrade
+#define sv_utf8_encode         Perl_sv_utf8_encode
+#define sv_utf8_decode         Perl_sv_utf8_decode
 #define sv_force_normal                Perl_sv_force_normal
 #define tmps_grow              Perl_tmps_grow
 #define sv_rvweaken            Perl_sv_rvweaken
 #endif
 #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
 #define avhv_index_sv          S_avhv_index_sv
+#define avhv_index             S_avhv_index
 #endif
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
 #define do_trans_CC_simple     S_do_trans_CC_simple
 #define parse_body             S_parse_body
 #define run_body               S_run_body
 #define call_body              S_call_body
-#define call_xbody             S_call_xbody
 #define call_list_body         S_call_list_body
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define vparse_body            S_vparse_body
+#define vrun_body              S_vrun_body
+#define vcall_body             S_vcall_body
+#define vcall_list_body                S_vcall_list_body
+#endif
 #  if defined(USE_THREADS)
 #define init_main_thread       S_init_main_thread
 #  endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #define docatch                        S_docatch
 #define docatch_body           S_docatch_body
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define vdocatch_body          S_vdocatch_body
+#endif
 #define dofindlabel            S_dofindlabel
 #define doparseform            S_doparseform
 #define dopoptoeval            S_dopoptoeval
 #define qsortsv                        S_qsortsv
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#define do_maybe_phash         S_do_maybe_phash
+#define do_oddball             S_do_oddball
 #define get_db_sub             S_get_db_sub
 #define method_common          S_method_common
 #endif
 #else  /* PERL_IMPLICIT_CONTEXT */
 
 #if defined(PERL_IMPLICIT_SYS)
-#else
 #endif
 #if defined(USE_ITHREADS)
 #  if defined(PERL_IMPLICIT_SYS)
 #if defined(MYMALLOC)
 #define malloced_size          Perl_malloced_size
 #endif
+#define get_context            Perl_get_context
+#define set_context            Perl_set_context
 #if defined(PERL_OBJECT)
 #ifndef __BORLANDC__
 #endif
 #define avhv_delete_ent(a,b,c,d)       Perl_avhv_delete_ent(aTHX_ a,b,c,d)
 #define avhv_exists_ent(a,b,c) Perl_avhv_exists_ent(aTHX_ a,b,c)
 #define avhv_fetch_ent(a,b,c,d)        Perl_avhv_fetch_ent(aTHX_ a,b,c,d)
+#define avhv_store_ent(a,b,c,d)        Perl_avhv_store_ent(aTHX_ a,b,c,d)
 #define avhv_iternext(a)       Perl_avhv_iternext(aTHX_ a)
 #define avhv_iterval(a,b)      Perl_avhv_iterval(aTHX_ a,b)
 #define avhv_keys(a)           Perl_avhv_keys(aTHX_ a)
 #define sv_usepvn(a,b,c)       Perl_sv_usepvn(aTHX_ a,b,c)
 #define sv_vcatpvfn(a,b,c,d,e,f,g)     Perl_sv_vcatpvfn(aTHX_ a,b,c,d,e,f,g)
 #define sv_vsetpvfn(a,b,c,d,e,f,g)     Perl_sv_vsetpvfn(aTHX_ a,b,c,d,e,f,g)
+#define str_to_version(a)      Perl_str_to_version(aTHX_ a)
 #define swash_init(a,b,c,d,e)  Perl_swash_init(aTHX_ a,b,c,d,e)
 #define swash_fetch(a,b)       Perl_swash_fetch(aTHX_ a,b)
 #define taint_env()            Perl_taint_env(aTHX)
 #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)
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
 #define vdefault_protect(a,b,c,d)      Perl_vdefault_protect(aTHX_ a,b,c,d)
+#endif
 #define reginitcolors()                Perl_reginitcolors(aTHX)
 #define sv_2pv_nolen(a)                Perl_sv_2pv_nolen(aTHX_ a)
 #define sv_2pvutf8_nolen(a)    Perl_sv_2pvutf8_nolen(aTHX_ a)
 #define sv_pv(a)               Perl_sv_pv(aTHX_ a)
 #define sv_pvutf8(a)           Perl_sv_pvutf8(aTHX_ a)
 #define sv_pvbyte(a)           Perl_sv_pvbyte(aTHX_ a)
+#define sv_utf8_upgrade(a)     Perl_sv_utf8_upgrade(aTHX_ a)
+#define sv_utf8_downgrade(a,b) Perl_sv_utf8_downgrade(aTHX_ a,b)
+#define sv_utf8_encode(a)      Perl_sv_utf8_encode(aTHX_ a)
+#define sv_utf8_decode(a)      Perl_sv_utf8_decode(aTHX_ a)
 #define sv_force_normal(a)     Perl_sv_force_normal(aTHX_ a)
 #define tmps_grow(a)           Perl_tmps_grow(aTHX_ a)
 #define sv_rvweaken(a)         Perl_sv_rvweaken(aTHX_ a)
 #endif
 #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
 #define avhv_index_sv(a)       S_avhv_index_sv(aTHX_ a)
+#define avhv_index(a,b,c)      S_avhv_index(aTHX_ a,b,c)
 #endif
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
 #define do_trans_CC_simple(a)  S_do_trans_CC_simple(aTHX_ a)
 #  if defined(IAMSUID)
 #define fd_on_nosuid_fs(a)     S_fd_on_nosuid_fs(aTHX_ a)
 #  endif
-#define parse_body(a)          S_parse_body(aTHX_ a)
+#define parse_body(a,b)                S_parse_body(aTHX_ a,b)
 #define run_body(a)            S_run_body(aTHX_ a)
-#define call_body(a)           S_call_body(aTHX_ a)
-#define call_xbody(a,b)                S_call_xbody(aTHX_ a,b)
+#define call_body(a,b)         S_call_body(aTHX_ a,b)
 #define call_list_body(a)      S_call_list_body(aTHX_ a)
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define vparse_body(a)         S_vparse_body(aTHX_ a)
+#define vrun_body(a)           S_vrun_body(aTHX_ a)
+#define vcall_body(a)          S_vcall_body(aTHX_ a)
+#define vcall_list_body(a)     S_vcall_list_body(aTHX_ a)
+#endif
 #  if defined(USE_THREADS)
 #define init_main_thread()     S_init_main_thread(aTHX)
 #  endif
 #endif
 #if defined(PERL_IN_PP_CTL_C) || defined(PERL_DECL_PROT)
 #define docatch(a)             S_docatch(aTHX_ a)
-#define docatch_body(a)                S_docatch_body(aTHX_ a)
+#define docatch_body()         S_docatch_body(aTHX)
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define vdocatch_body(a)       S_vdocatch_body(aTHX_ a)
+#endif
 #define dofindlabel(a,b,c,d)   S_dofindlabel(aTHX_ a,b,c,d)
 #define doparseform(a)         S_doparseform(aTHX_ a)
 #define dopoptoeval(a)         S_dopoptoeval(aTHX_ a)
 #define qsortsv(a,b,c)         S_qsortsv(aTHX_ a,b,c)
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#define do_maybe_phash(a,b,c,d,e)      S_do_maybe_phash(aTHX_ a,b,c,d,e)
+#define do_oddball(a,b,c)      S_do_oddball(aTHX_ a,b,c)
 #define get_db_sub(a,b)                S_get_db_sub(aTHX_ a,b)
 #define method_common(a,b)     S_method_common(aTHX_ a,b)
 #endif
 #else  /* PERL_OBJECT */
 
 #if defined(PERL_IMPLICIT_SYS)
-#else
 #endif
 #if defined(USE_ITHREADS)
 #  if defined(PERL_IMPLICIT_SYS)
 #define mfree                  Perl_mfree
 #define malloced_size          Perl_malloced_size
 #endif
+#define get_context            Perl_get_context
+#define set_context            Perl_set_context
 #if defined(PERL_OBJECT)
 #ifndef __BORLANDC__
 #endif
 #define avhv_exists_ent                Perl_avhv_exists_ent
 #define Perl_avhv_fetch_ent    CPerlObj::Perl_avhv_fetch_ent
 #define avhv_fetch_ent         Perl_avhv_fetch_ent
+#define Perl_avhv_store_ent    CPerlObj::Perl_avhv_store_ent
+#define avhv_store_ent         Perl_avhv_store_ent
 #define Perl_avhv_iternext     CPerlObj::Perl_avhv_iternext
 #define avhv_iternext          Perl_avhv_iternext
 #define Perl_avhv_iterval      CPerlObj::Perl_avhv_iterval
 #define sv_vcatpvfn            Perl_sv_vcatpvfn
 #define Perl_sv_vsetpvfn       CPerlObj::Perl_sv_vsetpvfn
 #define sv_vsetpvfn            Perl_sv_vsetpvfn
+#define Perl_str_to_version    CPerlObj::Perl_str_to_version
+#define str_to_version         Perl_str_to_version
 #define Perl_swash_init                CPerlObj::Perl_swash_init
 #define swash_init             Perl_swash_init
 #define Perl_swash_fetch       CPerlObj::Perl_swash_fetch
 #define do_sv_dump             Perl_do_sv_dump
 #define Perl_magic_dump                CPerlObj::Perl_magic_dump
 #define magic_dump             Perl_magic_dump
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
 #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
+#endif
 #define Perl_reginitcolors     CPerlObj::Perl_reginitcolors
 #define reginitcolors          Perl_reginitcolors
 #define Perl_sv_2pv_nolen      CPerlObj::Perl_sv_2pv_nolen
 #define sv_pvutf8              Perl_sv_pvutf8
 #define Perl_sv_pvbyte         CPerlObj::Perl_sv_pvbyte
 #define sv_pvbyte              Perl_sv_pvbyte
+#define Perl_sv_utf8_upgrade   CPerlObj::Perl_sv_utf8_upgrade
+#define sv_utf8_upgrade                Perl_sv_utf8_upgrade
+#define Perl_sv_utf8_downgrade CPerlObj::Perl_sv_utf8_downgrade
+#define sv_utf8_downgrade      Perl_sv_utf8_downgrade
+#define Perl_sv_utf8_encode    CPerlObj::Perl_sv_utf8_encode
+#define sv_utf8_encode         Perl_sv_utf8_encode
+#define Perl_sv_utf8_decode    CPerlObj::Perl_sv_utf8_decode
+#define sv_utf8_decode         Perl_sv_utf8_decode
 #define Perl_sv_force_normal   CPerlObj::Perl_sv_force_normal
 #define sv_force_normal                Perl_sv_force_normal
 #define Perl_tmps_grow         CPerlObj::Perl_tmps_grow
 #if defined(PERL_IN_AV_C) || defined(PERL_DECL_PROT)
 #define S_avhv_index_sv                CPerlObj::S_avhv_index_sv
 #define avhv_index_sv          S_avhv_index_sv
+#define S_avhv_index           CPerlObj::S_avhv_index
+#define avhv_index             S_avhv_index
 #endif
 #if defined(PERL_IN_DOOP_C) || defined(PERL_DECL_PROT)
 #define S_do_trans_CC_simple   CPerlObj::S_do_trans_CC_simple
 #define run_body               S_run_body
 #define S_call_body            CPerlObj::S_call_body
 #define call_body              S_call_body
-#define S_call_xbody           CPerlObj::S_call_xbody
-#define call_xbody             S_call_xbody
 #define S_call_list_body       CPerlObj::S_call_list_body
 #define call_list_body         S_call_list_body
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define S_vparse_body          CPerlObj::S_vparse_body
+#define vparse_body            S_vparse_body
+#define S_vrun_body            CPerlObj::S_vrun_body
+#define vrun_body              S_vrun_body
+#define S_vcall_body           CPerlObj::S_vcall_body
+#define vcall_body             S_vcall_body
+#define S_vcall_list_body      CPerlObj::S_vcall_list_body
+#define vcall_list_body                S_vcall_list_body
+#endif
 #  if defined(USE_THREADS)
 #define S_init_main_thread     CPerlObj::S_init_main_thread
 #define init_main_thread       S_init_main_thread
 #define docatch                        S_docatch
 #define S_docatch_body         CPerlObj::S_docatch_body
 #define docatch_body           S_docatch_body
+#if defined(PERL_FLEXIBLE_EXCEPTIONS)
+#define S_vdocatch_body                CPerlObj::S_vdocatch_body
+#define vdocatch_body          S_vdocatch_body
+#endif
 #define S_dofindlabel          CPerlObj::S_dofindlabel
 #define dofindlabel            S_dofindlabel
 #define S_doparseform          CPerlObj::S_doparseform
 #define qsortsv                        S_qsortsv
 #endif
 #if defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
+#define S_do_maybe_phash       CPerlObj::S_do_maybe_phash
+#define do_maybe_phash         S_do_maybe_phash
+#define S_do_oddball           CPerlObj::S_do_oddball
+#define do_oddball             S_do_oddball
 #define S_get_db_sub           CPerlObj::S_get_db_sub
 #define get_db_sub             S_get_db_sub
 #define S_method_common                CPerlObj::S_method_common