This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
locale.c: Create extended internal Perl_langinfo()
[perl5.git] / embed.h
diff --git a/embed.h b/embed.h
index 9d2d1b2..ed7d5af 100644 (file)
--- a/embed.h
+++ b/embed.h
 #define mg_findext             Perl_mg_findext
 #define mg_free(a)             Perl_mg_free(aTHX_ a)
 #define mg_free_type(a,b)      Perl_mg_free_type(aTHX_ a,b)
+#define mg_freeext(a,b,c)      Perl_mg_freeext(aTHX_ a,b,c)
 #define mg_get(a)              Perl_mg_get(aTHX_ a)
 #define mg_length(a)           Perl_mg_length(aTHX_ a)
 #define mg_magical             Perl_mg_magical
 #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_rvunweaken(a)       Perl_sv_rvunweaken(aTHX_ a)
 #define sv_rvweaken(a)         Perl_sv_rvweaken(aTHX_ a)
 #define sv_set_undef(a)                Perl_sv_set_undef(aTHX_ a)
 #define sv_setiv(a,b)          Perl_sv_setiv(aTHX_ a,b)
 #define sv_setsv_mg(a,b)       Perl_sv_setsv_mg(aTHX_ a,b)
 #define sv_setuv(a,b)          Perl_sv_setuv(aTHX_ a,b)
 #define sv_setuv_mg(a,b)       Perl_sv_setuv_mg(aTHX_ a,b)
+#define sv_string_from_errnum(a,b)     Perl_sv_string_from_errnum(aTHX_ a,b)
 #define sv_tainted(a)          Perl_sv_tainted(aTHX_ a)
 #define sv_true(a)             Perl_sv_true(aTHX_ a)
 #define sv_uni_display(a,b,c,d)        Perl_sv_uni_display(aTHX_ a,b,c,d)
 #if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
 #define csighandler            Perl_csighandler
 #endif
-#if !defined(HAS_BZERO) && !defined(HAS_MEMSET)
-#define my_bzero               Perl_my_bzero
-#endif
-#if !defined(HAS_MEMCMP) || !defined(HAS_SANE_MEMCMP)
-#define my_memcmp              Perl_my_memcmp
-#endif
-#if !defined(HAS_MEMCPY) || (!defined(HAS_MEMMOVE) && !defined(HAS_SAFE_MEMCPY))
-#define my_bcopy               Perl_my_bcopy
-#endif
-#if !defined(HAS_MEMSET)
-#define my_memset              Perl_my_memset
-#endif
 #if !defined(HAS_TRUNCATE) && !defined(HAS_CHSIZE) && defined(F_FREESP)
 #define my_chsize(a,b)         Perl_my_chsize(aTHX_ a,b)
 #endif
 #define cv_ckproto_len_flags(a,b,c,d,e)        Perl_cv_ckproto_len_flags(aTHX_ a,b,c,d,e)
 #define grok_atoUV             Perl_grok_atoUV
 #define mg_find_mglob(a)       Perl_mg_find_mglob(aTHX_ a)
+#define multiconcat_stringify(a)       Perl_multiconcat_stringify(aTHX_ a)
 #define multideref_stringify(a,b)      Perl_multideref_stringify(aTHX_ a,b)
 #define op_clear(a)            Perl_op_clear(aTHX_ a)
 #define qerror(a)              Perl_qerror(aTHX_ a)
 #define sv_only_taint_gmagic   S_sv_only_taint_gmagic
 #define swash_fetch(a,b,c)     Perl_swash_fetch(aTHX_ a,b,c)
 #define swash_init(a,b,c,d,e)  Perl_swash_init(aTHX_ a,b,c,d,e)
-#define validate_proto(a,b,c)  Perl_validate_proto(aTHX_ a,b,c)
+#define validate_proto(a,b,c,d)        Perl_validate_proto(aTHX_ a,b,c,d)
 #define vivify_defelem(a)      Perl_vivify_defelem(aTHX_ a)
 #define yylex()                        Perl_yylex(aTHX)
+#  if ! defined(HAS_MEMRCHR) && (defined(PERL_CORE) || defined(PERL_EXT))
+#define my_memrchr             S_my_memrchr
+#  endif
 #  if !defined(PERL_EXT_RE_BUILD)
 #    if defined(PERL_IN_REGCOMP_C)
 #define _append_range_to_invlist(a,b,c)        S__append_range_to_invlist(aTHX_ a,b,c)
 #  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_TOKE_C) || defined(PERL_IN_DQUOTE_C)
 #define form_short_octal_warning(a,b)  S_form_short_octal_warning(aTHX_ a,b)
 #define grok_bslash_c(a,b)     Perl_grok_bslash_c(aTHX_ a,b)
-#define grok_bslash_o(a,b,c,d,e,f,g)   Perl_grok_bslash_o(aTHX_ a,b,c,d,e,f,g)
-#define grok_bslash_x(a,b,c,d,e,f,g)   Perl_grok_bslash_x(aTHX_ a,b,c,d,e,f,g)
+#define grok_bslash_o(a,b,c,d,e,f,g,h) Perl_grok_bslash_o(aTHX_ a,b,c,d,e,f,g,h)
+#define grok_bslash_x(a,b,c,d,e,f,g,h) Perl_grok_bslash_x(aTHX_ a,b,c,d,e,f,g,h)
 #define regcurly               S_regcurly
 #  endif
 #  if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_UTF8_C)
 #define oopsAV(a)              Perl_oopsAV(aTHX_ a)
 #define oopsHV(a)              Perl_oopsHV(aTHX_ a)
 #define op_unscope(a)          Perl_op_unscope(aTHX_ a)
+#define optimize_optree(a)     Perl_optimize_optree(aTHX_ a)
 #define package(a)             Perl_package(aTHX_ a)
 #define package_version(a)     Perl_package_version(aTHX_ a)
 #define pad_add_weakref(a)     Perl_pad_add_weakref(aTHX_ a)
 #      endif
 #    endif
 #  endif
+#  if !(defined(HAS_NL_LANGINFO))
+#    if defined(PERL_IN_LOCALE_C)
+#define my_nl_langinfo         S_my_nl_langinfo
+#    endif
+#  endif
 #  if !(defined(HAS_SIGACTION) && defined(SA_SIGINFO))
 #define sighandler             Perl_sighandler
 #  endif
 #  if defined(DEBUGGING)
 #define get_debug_opts(a,b)    Perl_get_debug_opts(aTHX_ a,b)
 #define set_padlist            Perl_set_padlist
+#    if defined(PERL_IN_LOCALE_C)
+#      if defined(USE_LOCALE)
+#define print_bytes_for_locale(a,b,c)  S_print_bytes_for_locale(aTHX_ a,b,c)
+#define print_collxfrm_input_and_return(a,b,c,d)       S_print_collxfrm_input_and_return(aTHX_ a,b,c,d)
+#define setlocale_debug_string S_setlocale_debug_string
+#      endif
+#    endif
 #    if defined(PERL_IN_PAD_C)
 #define cv_dump(a,b)           S_cv_dump(aTHX_ a,b)
 #    endif
 #define printbuf(a,b)          S_printbuf(aTHX_ a,b)
 #define tokereport(a,b)                S_tokereport(aTHX_ a,b)
 #    endif
-#    if defined(USE_LOCALE) && defined(PERL_IN_LOCALE_C)
-#define print_bytes_for_locale(a,b,c)  S_print_bytes_for_locale(aTHX_ a,b,c)
-#define print_collxfrm_input_and_return(a,b,c,d)       S_print_collxfrm_input_and_return(aTHX_ a,b,c,d)
-#define setlocale_debug_string S_setlocale_debug_string
-#    endif
 #  endif
 #  if defined(DEBUG_LEAKING_SCALARS_FORK_DUMP)
 #define dump_sv_child(a)       Perl_dump_sv_child(aTHX_ a)
 #define do_semop(a,b)          Perl_do_semop(aTHX_ a,b)
 #define do_shmio(a,b,c)                Perl_do_shmio(aTHX_ a,b,c)
 #  endif
+#  if defined(HAS_NL_LANGINFO)
+#    if defined(PERL_IN_LOCALE_C)
+#define my_nl_langinfo         S_my_nl_langinfo
+#    endif
+#  endif
 #  if defined(HAS_SIGACTION) && defined(SA_SIGINFO)
 #define sighandler             Perl_sighandler
 #  endif
 #define share_hek_flags(a,b,c,d)       S_share_hek_flags(aTHX_ a,b,c,d)
 #define unshare_hek_or_pvn(a,b,c,d)    S_unshare_hek_or_pvn(aTHX_ a,b,c,d)
 #  endif
+#  if defined(PERL_IN_LOCALE_C)
+#define save_to_buffer         S_save_to_buffer
+#    if defined(USE_LOCALE)
+#define new_collate(a)         S_new_collate(aTHX_ a)
+#define new_ctype(a)           S_new_ctype(aTHX_ a)
+#define set_numeric_radix()    S_set_numeric_radix(aTHX)
+#define stdize_locale(a)       S_stdize_locale(aTHX_ a)
+#      if defined(WIN32)
+#define my_setlocale(a,b)      S_my_setlocale(aTHX_ a,b)
+#      endif
+#    endif
+#  endif
 #  if defined(PERL_IN_LOCALE_C) || defined(PERL_IN_SV_C) || defined(PERL_IN_MATHOMS_C)
 #    if defined(USE_LOCALE_COLLATE)
 #define _mem_collxfrm(a,b,c,d) Perl__mem_collxfrm(aTHX_ a,b,c,d)
 #define listkids(a)            S_listkids(aTHX_ a)
 #define looks_like_bool(a)     S_looks_like_bool(aTHX_ a)
 #define modkids(a,b)           S_modkids(aTHX_ a,b)
-#define move_proto_attr(a,b,c) S_move_proto_attr(aTHX_ a,b,c)
+#define move_proto_attr(a,b,c,d)       S_move_proto_attr(aTHX_ a,b,c,d)
 #define my_kid(a,b,c)          S_my_kid(aTHX_ a,b,c)
 #define newGIVWHENOP(a,b,c,d,e)        S_newGIVWHENOP(aTHX_ a,b,c,d,e)
 #define newMETHOP_internal(a,b,c,d)    S_newMETHOP_internal(aTHX_ a,b,c,d)
 #define no_fh_allowed(a)       S_no_fh_allowed(aTHX_ a)
 #define op_integerize(a)       S_op_integerize(aTHX_ a)
 #define op_std_init(a)         S_op_std_init(aTHX_ a)
+#define optimize_op(a)         S_optimize_op(aTHX_ a)
 #define pmtrans(a,b,c)         S_pmtrans(aTHX_ a,b,c)
 #define process_special_blocks(a,b,c,d)        S_process_special_blocks(aTHX_ a,b,c,d)
 #define ref_array_or_hash(a)   S_ref_array_or_hash(aTHX_ a)
 #define force_version(a,b)     S_force_version(aTHX_ a,b)
 #define force_word(a,b,c,d)    S_force_word(aTHX_ a,b,c,d)
 #define get_and_check_backslash_N_name(a,b)    S_get_and_check_backslash_N_name(aTHX_ a,b)
-#define incline(a)             S_incline(aTHX_ a)
+#define incline(a,b)           S_incline(aTHX_ a,b)
 #define intuit_method(a,b,c)   S_intuit_method(aTHX_ a,b,c)
-#define intuit_more(a)         S_intuit_more(aTHX_ a)
+#define intuit_more(a,b)       S_intuit_more(aTHX_ a,b)
 #define lop(a,b,c)             S_lop(aTHX_ a,b,c)
-#define missingterm(a)         S_missingterm(aTHX_ a)
+#define missingterm(a,b)       S_missingterm(aTHX_ a,b)
 #define no_op(a,b)             S_no_op(aTHX_ a,b)
 #define parse_ident(a,b,c,d,e,f)       S_parse_ident(aTHX_ a,b,c,d,e,f)
 #define pending_ident()                S_pending_ident(aTHX)
 #define padname_dup(a,b)       Perl_padname_dup(aTHX_ a,b)
 #define padnamelist_dup(a,b)   Perl_padnamelist_dup(aTHX_ a,b)
 #  endif
-#  if defined(USE_LOCALE) && defined(PERL_IN_LOCALE_C)
-#define new_collate(a)         S_new_collate(aTHX_ a)
-#define new_ctype(a)           S_new_ctype(aTHX_ a)
-#define set_numeric_radix()    S_set_numeric_radix(aTHX)
-#define stdize_locale(a)       S_stdize_locale(aTHX_ a)
-#    if defined(WIN32)
-#define my_setlocale(a,b)      S_my_setlocale(aTHX_ a,b)
-#    endif
-#  endif
 #  if defined(USE_LOCALE_COLLATE)
 #define magic_setcollxfrm(a,b) Perl_magic_setcollxfrm(aTHX_ a,b)
 #ifndef NO_MATHOMS