This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perlrecharclass.pod: Update for /a
[perl5.git] / embed.fnc
index ad7e7a4..1b97c0b 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -219,7 +219,7 @@ p   |void   |boot_core_PerlIO
 Ap     |void   |call_list      |I32 oldscope|NN AV *paramList
 Apd    |const PERL_CONTEXT *   |caller_cx|I32 level \
                                |NULLOK const PERL_CONTEXT **dbcxp
-: Used in serveral source files
+: Used in several source files
 pR     |bool   |cando          |Mode_t mode|bool effective|NN const Stat_t* statbufp
 ApR    |U32    |cast_ulong     |NV f
 ApR    |I32    |cast_i32       |NV f
@@ -301,7 +301,6 @@ pmb |bool   |do_aexec       |NULLOK SV* really|NN SV** mark|NN SV** sp
 p      |bool   |do_aexec5      |NULLOK SV* really|NN SV** mark|NN SV** sp|int fd|int do_report
 Ap     |int    |do_binmode     |NN PerlIO *fp|int iotype|int mode
 : Used in pp.c
-p      |void   |do_chop        |NN SV *astr|NN SV *sv
 Ap     |bool   |do_close       |NULLOK GV* gv|bool not_implicit
 : Defined in doio.c, used only in pp_sys.c
 p      |bool   |do_eof         |NN GV* gv
@@ -339,8 +338,8 @@ p   |I32    |do_semop       |NN SV** mark|NN SV** sp
 p      |I32    |do_shmio       |I32 optype|NN SV** mark|NN SV** sp
 #endif
 Ap     |void   |do_join        |NN SV *sv|NN SV *delim|NN SV **mark|NN SV **sp
-: Used in pp.c and pp_hot.c
-p      |OP*    |do_kv
+: Used in pp.c and pp_hot.c, prototype generated by regen/opcode.pl
+: p    |OP*    |do_kv
 Apmb   |bool   |do_open        |NN GV* gv|NN const char* name|I32 len|int as_raw \
                                |int rawmode|int rawperm|NULLOK PerlIO* supplied_fp
 Ap     |bool   |do_open9       |NN GV *gv|NN const char *name|I32 len|int as_raw \
@@ -354,8 +353,6 @@ Ap  |bool   |do_openn       |NN GV *gv|NN const char *oname|I32 len \
 p      |bool   |do_print       |NULLOK SV* sv|NN PerlIO* fp
 : Used in pp_sys.c
 pR     |OP*    |do_readline
-: Used in pp.c
-p      |I32    |do_chomp       |NN SV* sv
 : Defined in doio.c, used only in pp_sys.c
 p      |bool   |do_seek        |NULLOK GV* gv|Off_t pos|int whence
 Ap     |void   |do_sprintf     |NN SV* sv|I32 len|NN SV** sarg
@@ -505,7 +502,8 @@ Abmd        |HE*    |hv_store_ent   |NULLOK HV *hv|NULLOK SV *key|NULLOK SV *val\
                                |U32 hash
 AbmM   |SV**   |hv_store_flags |NULLOK HV *hv|NULLOK const char *key \
                                |I32 klen|NULLOK SV *val|U32 hash|int flags
-Apd    |void   |hv_undef       |NULLOK HV *hv
+Amd    |void   |hv_undef       |NULLOK HV *hv
+poX    |void   |hv_undef_flags |NULLOK HV *hv|U32 flags
 Am     |I32    |ibcmp          |NN const char* a|NN const char* b|I32 len
 AnpP   |I32    |foldEQ         |NN const char* a|NN const char* b|I32 len
 Am     |I32    |ibcmp_locale   |NN const char* a|NN const char* b|I32 len
@@ -516,6 +514,7 @@ Am  |I32    |ibcmp_utf8     |NN const char *s1|NULLOK char **pe1|UV l1 \
 Apd    |I32    |foldEQ_utf8    |NN const char *s1|NULLOK char **pe1|UV l1 \
                                |bool u1|NN const char *s2|NULLOK char **pe2 \
                                |UV l2|bool u2
+AnpP   |I32    |foldEQ_latin1  |NN const char* a|NN const char* b|I32 len
 #if defined(PERL_IN_DOIO_C)
 sR     |bool   |ingroup        |Gid_t testgid|bool effective
 #endif
@@ -625,6 +624,10 @@ AMpd       |I32    |lex_peek_unichar|U32 flags
 AMpd   |I32    |lex_read_unichar|U32 flags
 AMpd   |void   |lex_read_space |U32 flags
 : Public parser API
+AMpd   |OP*    |parse_arithexpr|U32 flags
+AMpd   |OP*    |parse_termexpr |U32 flags
+AMpd   |OP*    |parse_listexpr |U32 flags
+AMpd   |OP*    |parse_fullexpr |U32 flags
 AMpd   |OP*    |parse_block    |U32 flags
 AMpd   |OP*    |parse_barestmt |U32 flags
 AMpd   |SV*    |parse_label    |U32 flags
@@ -725,6 +728,7 @@ Apd |int    |mg_copy        |NN SV *sv|NN SV *nsv|NULLOK const char *key \
 : Defined in mg.c, used only in scope.c
 pd     |void   |mg_localize    |NN SV* sv|NN SV* nsv|bool setmagic
 ApdR   |MAGIC* |mg_find        |NULLOK const SV* sv|int type
+ApdR   |MAGIC* |mg_findext     |NULLOK const SV* sv|int type|NULLOK const MGVTBL *vtbl
 Apd    |int    |mg_free        |NN SV* sv
 Apd    |void   |mg_free_type   |NN SV* sv|int how
 Apd    |int    |mg_get         |NN SV* sv
@@ -734,6 +738,8 @@ Apd |int    |mg_set         |NN SV* sv
 Ap     |I32    |mg_size        |NN SV* sv
 Ap     |void   |mini_mktime    |NN struct tm *ptm
 AMpd   |OP*    |op_lvalue      |NULLOK OP* o|I32 type
+: To be removed after 5.14 (see [perl #78908]):
+EXp    |OP*    |mod            |NULLOK OP* o|I32 type
 : Used in op.c and pp_sys.c
 p      |int    |mode_from_discipline|NULLOK const char* s|STRLEN len
 Ap     |const char*    |moreswitches   |NN const char* s
@@ -794,7 +800,8 @@ Ap  |void   |newPROG        |NN OP* o
 Apda   |OP*    |newRANGE       |I32 flags|NN OP* left|NN OP* right
 Apda   |OP*    |newSLICEOP     |I32 flags|NULLOK OP* subscript|NULLOK OP* listop
 Apda   |OP*    |newSTATEOP     |I32 flags|NULLOK char* label|NULLOK OP* o
-Ap     |CV*    |newSUB         |I32 floor|NULLOK OP* o|NULLOK OP* proto|NULLOK OP* block
+Abm    |CV*    |newSUB         |I32 floor|NULLOK OP* o|NULLOK OP* proto \
+                               |NULLOK OP* block
 ApM    |CV *   |newXS_flags    |NULLOK const char *name|NN XSUBADDR_t subaddr\
                                |NN const char *const filename \
                                |NULLOK const char *const proto|U32 flags
@@ -1162,6 +1169,9 @@ pd        |I32    |sv_clean_all
 : Used only in perl.c
 pd     |void   |sv_clean_objs
 Apd    |void   |sv_clear       |NN SV *const orig_sv
+#if defined(PERL_IN_SV_C)
+s      |bool   |curse          |NN SV * const sv|const bool check_refcnt
+#endif
 Aopd   |I32    |sv_cmp         |NULLOK SV *const sv1|NULLOK SV *const sv2
 Apd    |I32    |sv_cmp_flags   |NULLOK SV *const sv1|NULLOK SV *const sv2 \
                                |const U32 flags
@@ -1172,7 +1182,12 @@ Apd      |I32    |sv_cmp_locale_flags    |NULLOK SV *const sv1 \
 Amd    |char*  |sv_collxfrm    |NN SV *const sv|NN STRLEN *const nxp
 Apd    |char*  |sv_collxfrm_flags      |NN SV *const sv|NN STRLEN *const nxp|I32 const flags
 #endif
-Ap     |OP*    |sv_compile_2op |NN SV *sv|NN OP **startop \
+: Frustratingly, because regcomp.c is also compiled as ext/re/re_comp.c,
+: anything it needs has to be exported. So this has to be X. I'd rather it
+: wasn't.
+Xpo    |OP*    |sv_compile_2op_is_broken|NN SV *sv|NN OP **startop \
+                               |NN const char *code|NN PAD **padp
+ApD    |OP*    |sv_compile_2op |NN SV *sv|NN OP **startop \
                                |NN const char *code|NN PAD **padp
 Apd    |int    |getcwd_sv      |NN SV* sv
 Apd    |void   |sv_dec         |NULLOK SV *const sv
@@ -1243,6 +1258,7 @@ Amdb      |void   |sv_setsv       |NN SV *dstr|NULLOK SV *sstr
 Amdb   |void   |sv_taint       |NN SV* sv
 ApdR   |bool   |sv_tainted     |NN SV *const sv
 Apd    |int    |sv_unmagic     |NN SV *const sv|const int type
+Apd    |int    |sv_unmagicext  |NN SV *const sv|const int type|NULLOK MGVTBL *vtbl
 Apdmb  |void   |sv_unref       |NN SV* sv
 Apd    |void   |sv_unref_flags |NN SV *const ref|const U32 flags
 Apd    |void   |sv_untaint     |NN SV *const sv
@@ -1298,6 +1314,7 @@ ApMd      |U8*    |bytes_from_utf8|NN const U8 *s|NN STRLEN *len|NULLOK bool *is_utf8
 ApMd   |U8*    |bytes_to_utf8  |NN const U8 *s|NN STRLEN *len
 Apd    |UV     |utf8_to_uvchr  |NN const U8 *s|NULLOK STRLEN *retlen
 Apd    |UV     |utf8_to_uvuni  |NN const U8 *s|NULLOK STRLEN *retlen
+pM     |bool   |check_utf8_print       |NN const U8 *s|const STRLEN len
 
 #ifdef EBCDIC
 Adp    |UV     |utf8n_to_uvchr |NN const U8 *s|STRLEN curlen|NULLOK STRLEN *retlen|U32 flags
@@ -1330,7 +1347,9 @@ Ap        |U32    |seed
 : Only used in perl.c
 pR     |UV     |get_hash_seed
 : Used in doio.c, pp_hot.c, pp_sys.c
-p      |void   |report_evil_fh |NULLOK const GV *gv|NULLOK const IO *io|I32 op
+p      |void   |report_evil_fh |NULLOK const GV *gv
+: Used in doio.c, pp_hot.c, pp_sys.c
+p      |void   |report_wrongway_fh|NULLOK const GV *gv|const char have
 : Used in mg.c, pp.c, pp_hot.c, regcomp.c
 XEpd   |void   |report_uninit  |NULLOK const SV *uninit_sv
 Apd    |void   |warn_sv        |NN SV *baseex
@@ -1628,6 +1647,7 @@ s |SV *   |incpush_if_exists|NN AV *const av|NN SV *dir|NN SV *const stem
 #endif
 
 #if defined(PERL_IN_PP_C)
+s      |void   |do_chomp       |NN SV *retval|NN SV *sv|bool chomping
 s      |OP*    |do_delete_local
 sR     |SV*    |refto          |NN SV* sv
 #endif
@@ -1704,10 +1724,10 @@ s       |OP*    |doform         |NN CV *cv|NN GV *gv|NN OP *retop
 sR     |int    |dooneliner     |NN const char *cmd|NN const char *filename
 #  endif
 s      |SV *   |space_join_names_mortal|NN char *const *array
-so     |OP *   |tied_handle_method|NN const char *const methname|NN SV **sp \
-                               |NN IO *const io|NN MAGIC *const mg \
-                               |const U32 flags|...
 #endif
+p      |OP *   |tied_method|NN const char *const methname|NN SV **sp \
+                               |NN SV *const sv|NN const MAGIC *const mg \
+                               |const U32 flags|U32 argc|...
 
 #if defined(PERL_IN_REGCOMP_C)
 Es     |regnode*|reg           |NN struct RExC_state_t *pRExC_state \
@@ -2056,8 +2076,6 @@ s |void   |deb_stack_n    |NN SV** stack_base|I32 stack_min \
 : Used in perl.c, pp_ctl.c, toke.c
 pda    |PADLIST*|pad_new       |int flags
 : Only used in op.c
-pd     |void   |pad_undef      |NN CV* cv
-: Only used in op.c
 Mpd    |PADOFFSET|pad_add_name |NN const char *name|const STRLEN len\
                                |const U32 flags|NULLOK HV *typestash\
                                |NULLOK HV *ourstash
@@ -2118,8 +2136,10 @@ ApoR     |HE**   |hv_eiter_p     |NN HV *hv
 Apo    |void   |hv_riter_set   |NN HV *hv|I32 riter
 Apo    |void   |hv_eiter_set   |NN HV *hv|NULLOK HE *eiter
 Ap     |void   |hv_name_set    |NN HV *hv|NULLOK const char *name|U32 len|U32 flags
-p      |void   |hv_ename_add   |NN HV *hv|NN const char *name|U32 len
-p      |void   |hv_ename_delete|NN HV *hv|NN const char *name|U32 len
+p      |void   |hv_ename_add   |NN HV *hv|NN const char *name|U32 len \
+                               |U32 flags
+p      |void   |hv_ename_delete|NN HV *hv|NN const char *name|U32 len \
+                               |U32 flags
 : Used in dump.c and hv.c
 poM    |AV**   |hv_backreferences_p    |NN HV *hv
 #if defined(PERL_IN_DUMP_C) || defined(PERL_IN_HV_C) || defined(PERL_IN_SV_C)
@@ -2369,12 +2389,12 @@ s       |void   |mro_gather_and_rename|NN HV * const stashes \
                                      |NN HV * const seen_stashes \
                                      |NULLOK HV *stash \
                                      |NULLOK HV *oldstash \
-                                     |NN const char *name|I32 namlen
+                                     |NN SV *namesv
 #endif
 : Used in hv.c, mg.c, pp.c, sv.c
 pd     |void   |mro_isa_changed_in|NN HV* stash
 Apd    |void   |mro_method_changed_in  |NN HV* stash
-pdx    |void   |mro_package_moved      |NULLOK HV * const stash|NULLOK HV * const oldstash|NULLOK const GV *gv|NULLOK const char *newname|I32 newname_len
+pdx    |void   |mro_package_moved      |NULLOK HV * const stash|NULLOK HV * const oldstash|NN const GV * const gv|U32 flags
 : Only used in perl.c
 p      |void   |boot_core_mro
 Apon   |void   |sys_init       |NN int* argc|NN char*** argv