: any doc entry goes in perlapi.pod rather than perlintern.pod. If no
: documentation is furnished for this function, and M is also
: specified, the function is not listed as part of the public API.
-: If M isn't specified and no documentation is furnished, the
+: If M isn't specified, and no documentation is furnished, the
: function is listed in perlapi as existing and being undocumented
: makes '#define foo Perl_foo' scope not just for PERL_CORE/PERL_EXT
:
: in embed.h, change "#ifdef PERL_CORE"
: into "#if defined(PERL_CORE) || defined(PERL_EXT)"
:
-: Should always be combined with "X" to be usable from dynamically
-: loaded extensions.
+: To be usable from dynamically loaded extensions, either:
+: 1) must be static to its containing file ("i" or "s" flag); or
+: 2) be combined with the "X" flag.
:
: f Function takes printf style format string, varargs (hence any entry that
: would otherwise go in embed.h is suppressed):
Anprd |void |croak_xs_usage |NN const CV *const cv \
|NN const char *const params
npr |void |croak_no_mem
-nroX |void |Perl_croak_memory_wrap
nprX |void |croak_popstack
#if defined(WIN32)
norx |void |win32_croak_not_implemented|NN const char * fname
: Used in pp.c and pp_sys.c
ApdR |SV* |gv_const_sv |NN GV* gv
ApdR |SV* |cv_const_sv |NULLOK const CV *const cv
+pR |SV* |cv_const_sv_or_av|NULLOK const CV *const cv
: Used in pad.c
-pR |SV* |op_const_sv |NULLOK const OP* o|NULLOK CV* cv
+pR |SV* |op_const_sv |NULLOK const OP* o
Apd |void |cv_undef |NN CV* cv
p |void |cv_forget_slab |NN CV *cv
Ap |void |cx_dump |NN PERL_CONTEXT* cx
Ap |I32 |debop |NN const OP* o
Ap |I32 |debstack
Ap |I32 |debstackptrs
+pR |SV * |defelem_target |NN SV *sv|NULLOK MAGIC *mg
Anp |char* |delimcpy |NN char* to|NN const char* toend|NN const char* from \
|NN const char* fromend|int delim|NN I32* retlen
: Used in op.c, perl.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
+: exported for re.pm
+EXpR |MAGIC* |mg_find_mglob |NN SV* sv
Apd |int |mg_free |NN SV* sv
Apd |void |mg_free_type |NN SV* sv|int how
Apd |int |mg_get |NN SV* sv
|NN const struct regnode *node|bool doinit \
|NULLOK SV **listsvp|NULLOK SV **altsvp
#ifdef PERL_IN_REGCOMP_C
-EMsR |SV* |_new_invlist_C_array|NN UV* list
+EMsR |SV* |_new_invlist_C_array|NN const UV* const list
: Not used currently: EXMs |bool |_invlistEQ |NN SV* const a|NN SV* const b|const bool complement_b
#endif
Ap |I32 |pregexec |NN REGEXP * const prog|NN char* stringarg \
|NN char *strend|NN char *strbeg|I32 minend \
|NN SV *sv|NULLOK void *data|U32 flags
ApR |regnode*|regnext |NULLOK regnode* p
-
EXp |SV*|reg_named_buff |NN REGEXP * const rx|NULLOK SV * const key \
|NULLOK SV * const value|const U32 flags
EXp |SV*|reg_named_buff_iter |NN REGEXP * const rx|NULLOK const SV * const lastkey \
Apd |MAGIC *|sv_magicext |NN SV *const sv|NULLOK SV *const obj|const int how \
|NULLOK const MGVTBL *const vtbl|NULLOK const char *const name \
|const I32 namlen
+: exported for re.pm
+EXp |MAGIC *|sv_magicext_mglob|NN SV *sv
ApdbamR |SV* |sv_mortalcopy |NULLOK SV *const oldsv
XpaR |SV* |sv_mortalcopy_flags|NULLOK SV *const oldsv|U32 flags
ApdR |SV* |sv_newmortal
Apd |STRLEN |sv_pos_u2b_flags|NN SV *const sv|STRLEN uoffset \
|NULLOK STRLEN *const lenp|U32 flags
Apd |void |sv_pos_b2u |NULLOK SV *const sv|NN I32 *const offsetp
+Apd |STRLEN |sv_pos_b2u_flags|NN SV *const sv|STRLEN const offset \
+ |U32 flags
Amdb |char* |sv_pvn_force |NN SV* sv|NULLOK STRLEN* lp
Apd |char* |sv_pvutf8n_force|NN SV *const sv|NULLOK STRLEN *const lp
Apd |char* |sv_pvbyten_force|NN SV *const sv|NULLOK STRLEN *const lp
EiMR |UV* |_invlist_array_init |NN SV* const invlist|const bool will_have_0
EiMR |UV* |invlist_array |NN SV* const invlist
EsM |void |invlist_extend |NN SV* const invlist|const UV len
-EiMR |UV* |get_invlist_zero_addr |NN SV* invlist
EiMR |UV |invlist_max |NN SV* const invlist
-EiM |void |invlist_set_len|NN SV* const invlist|const UV len
+EiM |void |invlist_set_len|NN SV* const invlist|const UV len|const bool offset
EiMR |IV* |get_invlist_previous_index_addr|NN SV* invlist
EiMR |IV |invlist_previous_index|NN SV* const invlist
EiM |void |invlist_set_previous_index|NN SV* const invlist|const IV index
#endif
#if defined(PERL_IN_REGCOMP_C) || defined(PERL_IN_REGEXEC_C) || defined(PERL_IN_UTF8_C)
EXMpR |SV* |_invlist_contents|NN SV* const invlist
-EiMR |STRLEN*|_get_invlist_len_addr |NN SV* invlist
+EiMR |bool* |get_invlist_offset_addr|NN SV* invlist
EiMR |UV |_invlist_len |NN SV* const invlist
EMiR |bool |_invlist_contains_cp|NN SV* const invlist|const UV cp
EXpMR |IV |_invlist_search |NN SV* const invlist|const UV cp
Anpa |Malloc_t|safesyscalloc |MEM_SIZE elements|MEM_SIZE size
Anpa |Malloc_t|safesysrealloc|Malloc_t where|MEM_SIZE nbytes
Anp |Free_t |safesysfree |Malloc_t where
+Asrnx |void |croak_memory_wrap
#if defined(PERL_GLOBAL_STRUCT)
Ap |struct perl_vars *|GetVars
Ap |struct perl_vars*|init_global_struct
#endif
#if defined(PERL_IN_MG_C)
-s |void |save_magic |I32 mgs_ix|NN SV *sv
+s |void |save_magic_flags|I32 mgs_ix|NN SV *sv|U32 flags
-s |int |magic_methpack |NN SV *sv|NN const MAGIC *mg|NN SV *meth
s |SV* |magic_methcall1|NN SV *sv|NN const MAGIC *mg \
|NN SV *meth|U32 flags \
|int allow_package|NN STRLEN *slp
s |void |update_debugger_info|NULLOK SV *orig_sv \
|NULLOK const char *const buf|STRLEN len
-sR |char* |skipspace |NN char *s
+sR |char* |skipspace_flags|NN char *s|U32 flags
sR |char* |swallow_bom |NN U8 *s
#ifndef PERL_NO_UTF16_FILTER
s |I32 |utf16_textfilter|int idx|NN SV *sv|int maxlen
s |void |printbuf |NN const char *const fmt|NN const char *const s
# endif
#endif
+EXMp |bool |validate_proto |NN SV *name|NULLOK SV *proto|bool warn
#if defined(PERL_IN_UNIVERSAL_C)
s |bool|isa_lookup |NN HV *stash|NN const char * const name \
#if defined(PERL_IN_LOCALE_C)
#if defined(USE_LOCALE_NUMERIC) || defined(USE_LOCALE_COLLATE)
s |char* |stdize_locale |NN char* locs
+s |bool |is_cur_LC_category_utf8|int category
#endif
#endif
poM |void |hv_kill_backrefs |NN HV *hv
#endif
Apd |void |hv_clear_placeholders |NN HV *hv
-ApoR |I32* |hv_placeholders_p |NN HV *hv
+XpoR |SSize_t*|hv_placeholders_p |NN HV *hv
ApoR |I32 |hv_placeholders_get |NN const HV *hv
Apo |void |hv_placeholders_set |NN HV *hv|I32 ph