This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Typos in perlbug.PL
[perl5.git] / embed.fnc
index 2ecd5e1..0f554e5 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -11,6 +11,7 @@
 :      m               Implemented as a macro - no export, no
 :                      proto, no #define
 :      d               function has documentation with its source
+:      D               function is deprecated
 :      s               static function, should have an S_ prefix in
 :                      source file; for macros (m), suffix the usage
 :                      example with a semicolon
@@ -99,7 +100,7 @@ END_EXTERN_C
 START_EXTERN_C
 #  include "pp_proto.h"
 Ap     |SV*    |amagic_call    |NN SV* left|NN SV* right|int method|int dir
-Ap     |bool   |Gv_AMupdate    |NN HV* stash
+Ap     |int    |Gv_AMupdate    |NN HV* stash|bool destructing
 ApR    |CV*    |gv_handler     |NULLOK HV* stash|I32 id
 : Used in perly.y
 p      |OP*    |append_elem    |I32 optype|NULLOK OP* first|NULLOK OP* last
@@ -201,7 +202,7 @@ pPR |const char*    |get_no_modify
 pPR    |U32*   |get_opargs
 ApPR   |PPADDR_t*|get_ppaddr
 : Used by CXINC, which appears to be in widespread use
-EXpR   |I32    |cxinc
+ApR    |I32    |cxinc
 Afp    |void   |deb            |NN const char* pat|...
 Ap     |void   |vdeb           |NN const char* pat|NULLOK va_list* args
 Ap     |void   |debprofdump
@@ -338,9 +339,10 @@ p  |char*  |getenv_len     |NN const char *env_elem|NN unsigned long *len
 pox    |void   |get_db_sub     |NULLOK SV **svp|NN CV *cv
 Ap     |void   |gp_free        |NULLOK GV* gv
 Ap     |GP*    |gp_ref         |NULLOK GP* gp
-Ap     |GV*    |gv_AVadd       |NN GV* gv
-Ap     |GV*    |gv_HVadd       |NN GV* gv
-Ap     |GV*    |gv_IOadd       |NN GV* gv
+Ap     |GV*    |gv_add_by_type |NULLOK GV *gv|svtype type
+Apmb   |GV*    |gv_AVadd       |NULLOK GV *gv
+Apmb   |GV*    |gv_HVadd       |NULLOK GV *gv
+Apmb   |GV*    |gv_IOadd       |NULLOK GV* gv
 ApR    |GV*    |gv_autoload4   |NULLOK HV* stash|NN const char* name|STRLEN len|I32 method
 Ap     |void   |gv_check       |NN const HV* stash
 Ap     |void   |gv_efullname   |NN SV* sv|NN const GV* gv
@@ -533,7 +535,7 @@ Apd |UV     |grok_oct       |NN const char* start|NN STRLEN* len_p|NN I32* flags|NULLOK NV
 p      |int    |magic_clearenv |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_clear_all_env|NN SV* sv|NN MAGIC* mg
 dp     |int    |magic_clearhint|NN SV* sv|NN MAGIC* mg
-p      |int    |magic_clearisa |NN SV* sv|NN MAGIC* mg
+p      |int    |magic_clearisa |NULLOK SV* sv|NN MAGIC* mg
 p      |int    |magic_clearpack|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_clearsig |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_existspack|NN SV* sv|NN const MAGIC* mg
@@ -568,7 +570,7 @@ p   |int    |magic_setnkeys |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setpack  |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setpos   |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setregexp|NN SV* sv|NN MAGIC* mg
-p      |int    |magic_setsig   |NN SV* sv|NN MAGIC* mg
+p      |int    |magic_setsig   |NULLOK SV* sv|NN MAGIC* mg
 p      |int    |magic_setsubstr|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_settaint |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_setuvar  |NN SV* sv|NN MAGIC* mg
@@ -680,7 +682,7 @@ Apa |OP*    |newGVREF       |I32 type|NULLOK OP* o
 ApaR   |OP*    |newHVREF       |NN OP* o
 AmdbR  |HV*    |newHV
 ApaR   |HV*    |newHVhv        |NULLOK HV *hv
-Apa    |IO*    |newIO
+Apabm  |IO*    |newIO
 Apa    |OP*    |newLISTOP      |I32 type|I32 flags|NULLOK OP* first|NULLOK OP* last
 #ifdef USE_ITHREADS
 Apa    |OP*    |newPADOP       |I32 type|I32 flags|NN SV* sv
@@ -772,9 +774,9 @@ Ap  |void   |despatch_signals
 Ap     |OP *   |doref          |NN OP *o|I32 type|bool set_op_ref
 Apd    |SV*    |eval_pv        |NN const char* p|I32 croak_on_error
 Apd    |I32    |eval_sv        |NN SV* sv|I32 flags
-Apd    |SV*    |get_sv         |NN const char* name|I32 create
-Apd    |AV*    |get_av         |NN const char* name|I32 create
-Apd    |HV*    |get_hv         |NN const char* name|I32 create
+Apd    |SV*    |get_sv         |NN const char *name|I32 flags
+Apd    |AV*    |get_av         |NN const char *name|I32 flags
+Apd    |HV*    |get_hv         |NN const char *name|I32 flags
 Apd    |CV*    |get_cv         |NN const char* name|I32 flags
 Apd    |CV*    |get_cvn_flags  |NN const char* name|STRLEN len|I32 flags
 Ap     |int    |init_i18nl10n  |int printwarn
@@ -882,13 +884,16 @@ Apda      |char*  |savesharedpvn  |NN const char *const pv|const STRLEN len
 Apda   |char*  |savesvpv       |NN SV* sv
 Ap     |void   |savestack_grow
 Ap     |void   |savestack_grow_cnt     |I32 need
-Ap     |void   |save_aelem     |NN AV* av|I32 idx|NN SV **sptr
+Amp    |void   |save_aelem     |NN AV* av|I32 idx|NN SV **sptr
+Ap     |void   |save_aelem_flags|NN AV* av|I32 idx|NN SV **sptr|const U32 flags
 Ap     |I32    |save_alloc     |I32 size|I32 pad
 Ap     |void   |save_aptr      |NN AV** aptr
 Ap     |AV*    |save_ary       |NN GV* gv
 Ap     |void   |save_bool      |NN bool* boolp
 Ap     |void   |save_clearsv   |NN SV** svp
 Ap     |void   |save_delete    |NN HV *hv|NN char *key|I32 klen
+Ap     |void   |save_hdelete   |NN HV *hv|NN SV *keysv
+Ap     |void   |save_adelete   |NN AV *av|I32 key
 Ap     |void   |save_destructor|DESTRUCTORFUNC_NOCONTEXT_t f|NN void* p
 Ap     |void   |save_destructor_x|DESTRUCTORFUNC_t f|NULLOK void* p
 Apmb   |void   |save_freesv    |NULLOK SV* sv
@@ -925,7 +930,7 @@ Ap  |void   |save_sptr      |NN SV** sptr
 Ap     |SV*    |save_svref     |NN SV** sptr
 Ap     |void   |save_pushptr   |NULLOK void *const ptr|const int type
 : Used by SAVECOPARYBASE() in op.c
-p      |void   |save_pushi32ptr|I32 i|NULLOK void *const ptr|const int type
+p      |void   |save_pushi32ptr|const I32 i|NULLOK void *const ptr|const int type
 : Used by SAVESWITCHSTACK() in pp.c
 p      |void   |save_pushptrptr|NULLOK void *const ptr1 \
                                |NULLOK void *const ptr2|const int type
@@ -971,7 +976,6 @@ Apd |CV*    |sv_2cv         |NULLOK SV* sv|NN HV **const st|NN GV **const gvp \
 Apd    |IO*    |sv_2io         |NN SV *const sv
 #if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
 s      |bool   |glob_2number   |NN GV* const gv
-s      |char*  |glob_2pv       |NN GV* const gv|NULLOK STRLEN * const len
 #endif
 Amb    |IV     |sv_2iv         |NULLOK SV *sv
 Apd    |IV     |sv_2iv_flags   |NULLOK SV *const sv|const I32 flags
@@ -1257,6 +1261,7 @@ AmdbR     |char*  |sv_pv          |NN SV *sv
 AmdbR  |char*  |sv_pvutf8      |NN SV *sv
 AmdbR  |char*  |sv_pvbyte      |NN SV *sv
 Amdb   |STRLEN |sv_utf8_upgrade|NN SV *sv
+Amd    |STRLEN |sv_utf8_upgrade_nomg|NN SV *sv
 ApdM   |bool   |sv_utf8_downgrade|NN SV *const sv|const bool fail_ok
 Apd    |void   |sv_utf8_encode |NN SV *const sv
 ApdM   |bool   |sv_utf8_decode |NN SV *const sv
@@ -1276,8 +1281,6 @@ Apr       |void   |newMYSUB       |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NU
 #endif
 : Used in perly.y
 p      |OP *   |my_attrs       |NN OP *o|NULLOK OP *attrs
-: Only used in perl.c
-p      |void   |boot_core_xsutils
 #if defined(USE_ITHREADS)
 ApR    |PERL_CONTEXT*|cx_dup   |NULLOK PERL_CONTEXT* cx|I32 ix|I32 max|NN CLONE_PARAMS* param
 ApR    |PERL_SI*|si_dup        |NULLOK PERL_SI* si|NN CLONE_PARAMS* param
@@ -1291,6 +1294,10 @@ Ap       |PerlIO*|fp_dup         |NULLOK PerlIO *const fp|const char type|NN CLONE_PARAMS *co
 ApR    |DIR*   |dirp_dup       |NULLOK DIR *const dp
 ApR    |GP*    |gp_dup         |NULLOK GP *const gp|NN CLONE_PARAMS *const param
 ApR    |MAGIC* |mg_dup         |NULLOK MAGIC *mg|NN CLONE_PARAMS *const param
+#if defined(PERL_IN_SV_C) || defined(PERL_DECL_PROT)
+s      |SV **  |sv_dup_inc_multiple|NN SV *const *source|NN SV **dest \
+                               |SSize_t items|NN CLONE_PARAMS *const param
+#endif
 ApR    |SV*    |sv_dup         |NULLOK const SV *const sstr|NN CLONE_PARAMS *const param
 Ap     |void   |rvpv_dup       |NN SV *const dstr|NN const SV *const sstr|NN CLONE_PARAMS *const param
 Ap     |yy_parser*|parser_dup  |NULLOK const yy_parser *const proto|NN CLONE_PARAMS *const param
@@ -1351,6 +1358,7 @@ paRxo     |void*  |get_arena      |const size_t svtype|const U32 misc
 #if defined(PERL_IN_HV_C) || defined(PERL_DECL_PROT)
 s      |void   |hsplit         |NN HV *hv
 s      |void   |hfreeentries   |NN HV *hv
+s      |I32    |anonymise_cv   |NULLOK HEK *stash|NN SV *val
 sa     |HE*    |new_he
 sanR   |HEK*   |save_hek_flags |NN const char *str|I32 len|U32 hash|int flags
 sn     |void   |hv_magic_check |NN HV *hv|NN bool *needs_copy|NN bool *needs_store
@@ -1471,7 +1479,9 @@ s |void   |Slab_to_rw     |NN void *op
 #if defined(PERL_IN_PERL_C) || defined(PERL_DECL_PROT)
 s      |void   |find_beginning |NN SV* linestr_sv|NN PerlIO *rsfp
 s      |void   |forbid_setid   |const char flag|const bool suidscript
-s      |void   |incpush        |NULLOK const char *dir|bool addsubdirs|bool addoldvers|bool usesep|bool canrelocate
+s      |void   |incpush        |NN const char *const dir|STRLEN len \
+                               |U32 flags
+s      |void   |incpush_use_sep|NN const char *p|STRLEN len|U32 flags
 s      |void   |init_interp
 s      |void   |init_ids
 s      |void   |init_main_stash
@@ -1483,33 +1493,17 @@ s       |void   |nuke_stacks
 s      |int    |open_script    |NN const char *scriptname|bool dosearch \
                                |NN bool *suidscript|NN PerlIO **rsfpp
 s      |void   |usage          |NN const char *name
-#ifdef DOSUID
-#  ifdef IAMSUID
-so     |void   |validate_suid  |NN const char *validarg \
-                               |int fdscript \
-                               |bool suidscript|NN SV* linestr_sv \
-                               |NN PerlIO *rsfp
-#  else
-so     |void   |validate_suid  |NN const char *validarg \
-                               |NN const char *scriptname|int fdscript \
-                               |NN SV* linestr_sv \
-                               |NN PerlIO *rsfp
-#  endif
-#else
-#  ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
+#ifndef SETUID_SCRIPTS_ARE_SECURE_NOW
 so     |void   |validate_suid  |NN PerlIO *rsfp
-#  endif
 #endif
 
-#  if defined(IAMSUID)
-s      |int    |fd_on_nosuid_fs|int fd
-#  endif
 s      |void*  |parse_body     |NULLOK char **env|XSINIT_t xsinit
 rs     |void   |run_body       |I32 oldscope
-s      |SV *   |incpush_if_exists|NN SV *dir
+s      |SV *   |incpush_if_exists|NN AV *const av|NN SV *dir|NN SV *const stem
 #endif
 
 #if defined(PERL_IN_PP_C) || defined(PERL_DECL_PROT)
+s      |OP*    |do_delete_local
 sR     |SV*    |refto          |NN SV* sv
 #endif
 #if defined(PERL_IN_PP_C) || defined(PERL_IN_PP_HOT_C) || defined(PERL_DECL_PROT)
@@ -1605,7 +1599,7 @@ Es        |UV     |reg_recode     |const char value|NN SV **encp
 Es     |regnode*|regpiece      |NN struct RExC_state_t *pRExC_state \
                                |NN I32 *flagp|U32 depth
 Es     |regnode*|reg_namedseq  |NN struct RExC_state_t *pRExC_state \
-                               |NULLOK UV *valuep
+                               |NULLOK UV *valuep|NULLOK I32 *flagp
 Es     |void   |reginsert      |NN struct RExC_state_t *pRExC_state \
                                |U8 op|NN regnode *opnd|U32 depth
 Es     |void   |regtail        |NN struct RExC_state_t *pRExC_state \
@@ -1689,7 +1683,6 @@ ERsn      |U8*    |reghop4        |NN U8 *s|I32 off|NN const U8 *llim \
 #endif
 ERsn   |U8*    |reghopmaybe3   |NN U8 *s|I32 off|NN const U8 *lim
 ERs    |char*  |find_byclass   |NN regexp * prog|NN const regnode *c|NN char *s|NN const char *strend|NULLOK regmatch_info *reginfo
-Es     |void   |swap_match_buff|NN regexp * prog
 Es     |void   |to_utf8_substr |NN regexp * prog
 Es     |void   |to_byte_substr |NN regexp * prog
 ERs    |I32    |reg_check_named_buff_matched   |NN const regexp *rex \
@@ -1828,6 +1821,7 @@ s |void   |printbuf       |NN const char *const fmt|NN const char *const s
 
 #if defined(PERL_IN_UNIVERSAL_C) || defined(PERL_DECL_PROT)
 s      |bool|isa_lookup        |NN HV *stash|NN const char * const name
+so     |HV *   |get_isa_hash   |NN HV *const stash
 #endif
 
 #if defined(PERL_IN_LOCALE_C) || defined(PERL_DECL_PROT)
@@ -1844,7 +1838,7 @@ s |const char *|vdie_croak_common|NULLOK const char *pat|NULLOK va_list *args \
 s      |bool   |vdie_common    |NULLOK const char *message|STRLEN msglen\
                                |I32 utf8|bool warn
 sr     |char * |write_no_mem
-#if defined(PERL_MEM_LOG) && defined(PERL_MEM_LOG_STDERR)
+#if defined(PERL_MEM_LOG) && !defined(PERL_MEM_LOG_NOIMPL)
 sn     |void   |mem_log_common |enum mem_log_type mlt|const UV n|const UV typesize \
                                |NN const char *type_name|NULLOK const SV *sv \
                                |Malloc_t oldalloc|Malloc_t newalloc \
@@ -1869,7 +1863,8 @@ Apd       |void   |sv_setsv_flags |NN SV *dstr|NULLOK SV *sstr|const I32 flags
 Apd    |void   |sv_catpvn_flags|NN SV *const dstr|NN const char *sstr|const STRLEN len \
                                |const I32 flags
 Apd    |void   |sv_catsv_flags |NN SV *const dsv|NULLOK SV *const ssv|const I32 flags
-Apd    |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
+Apmd   |STRLEN |sv_utf8_upgrade_flags|NN SV *const sv|const I32 flags
+Apd    |STRLEN |sv_utf8_upgrade_flags_grow|NN SV *const sv|const I32 flags|STRLEN extra
 Apd    |char*  |sv_pvn_force_flags|NN SV *const sv|NULLOK STRLEN *const lp|const I32 flags
 Apd    |void   |sv_copypv      |NN SV *const dsv|NN SV *const ssv
 Ap     |char*  |my_atof2       |NN const char *s|NN NV* value
@@ -1877,7 +1872,7 @@ Apn       |int    |my_socketpair  |int family|int type|int protocol|int fd[2]
 Ap     |int    |my_dirfd       |NULLOK DIR* dir
 #ifdef PERL_OLD_COPY_ON_WRITE
 : Used in pp_hot.c and regexec.c
-pMXE   |SV*    |sv_setsv_cow   |NN SV* dstr|NN SV* sstr
+pMXE   |SV*    |sv_setsv_cow   |NULLOK SV* dstr|NN SV* sstr
 #endif
 
 Aop    |const char *|PerlIO_context_layers|NULLOK const char *mode
@@ -2087,7 +2082,7 @@ p |void   |dump_sv_child  |NN SV *sv
 #endif
 
 #ifdef PERL_DONT_CREATE_GVSV
-Ap     |GV*    |gv_SVadd       |NN GV* gv
+Apbm   |GV*    |gv_SVadd       |NULLOK GV *gv
 #endif
 Apo    |bool   |ckwarn         |U32 w
 Apo    |bool   |ckwarn_d       |U32 w
@@ -2183,15 +2178,23 @@ XEMop   |void   |emulate_cop_io |NN const COP *const c|NN SV *const sv
 : Used by SvRX and SvRXOK
 XEMop  |REGEXP *|get_re_arg|NULLOK SV *sv
 
-: Used in HvMROMETA() in gv.c, pp_hot.c, universal.c
-p      |struct mro_meta*       |mro_meta_init  |NN HV* stash
+Aop    |SV*    |mro_get_private_data|NN struct mro_meta *const smeta \
+                                    |NN const struct mro_alg *const which
+Aop    |SV*    |mro_set_private_data|NN struct mro_meta *const smeta \
+                                    |NN const struct mro_alg *const which \
+                                    |NN SV *const data
+Aop    |const struct mro_alg *|mro_get_from_name|NN SV *name
+Aop    |void   |mro_register   |NN const struct mro_alg *mro
+Aop    |void   |mro_set_mro    |NN struct mro_meta *const meta \
+                               |NN SV *const name
+: Used in HvMROMETA(), which is public.
+Xpo    |struct mro_meta*       |mro_meta_init  |NN HV* stash
 #if defined(USE_ITHREADS)
 : Only used in sv.c
 p      |struct mro_meta*       |mro_meta_dup   |NN struct mro_meta* smeta|NN CLONE_PARAMS* param
 #endif
 Apd    |AV*    |mro_get_linear_isa|NN HV* stash
 #if defined(PERL_IN_MRO_C) || defined(PERL_DECL_PROT)
-sd     |AV*    |mro_get_linear_isa_c3|NN HV* stash|U32 level
 sd     |AV*    |mro_get_linear_isa_dfs|NN HV* stash|U32 level
 #endif
 : Used in hv.c, mg.c, pp.c, sv.c
@@ -2207,8 +2210,6 @@ ApoM      |const char *|fetch_cop_label|NULLOK struct refcounted_he *const chain \
 : Only used  in op.c
 xpoM   |struct refcounted_he *|store_cop_label \
                |NULLOK struct refcounted_he *const chain|NN const char *label
-: Only used in univeral.c
-poM    |HV *   |get_isa_hash   |NN HV *const stash
 
 END_EXTERN_C
 /*