This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
mg.c:magic_setsubstr: rmv redundante null check
[perl5.git] / embed.fnc
index ab2cdec..555114f 100644 (file)
--- a/embed.fnc
+++ b/embed.fnc
@@ -74,7 +74,7 @@
 :
 :      The really OLD name for API funcs
 :
-:   o  Has no Perl_foo compatibility macro:
+:   o  Has no Perl_foo or S_foo compatibility macro:
 :
 :         embed.h: suppress "#define foo Perl_foo"
 :
@@ -614,7 +614,6 @@ EXp        |UV        |_to_fold_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const
 #endif
 #if defined(PERL_IN_UTF8_C) || defined(PERL_IN_PP_C)
 p      |UV     |_to_upper_title_latin1|const U8 c|NN U8 *p|NN STRLEN *lenp|const char S_or_s
-ApRM   |bool   |_is_utf8_quotemeta|NN const U8 *p
 #endif
 Ap     |UV     |to_uni_lower   |UV c|NN U8 *p|NN STRLEN *lenp
 Amp    |UV     |to_uni_fold    |UV c|NN U8 *p|NN STRLEN *lenp
@@ -661,16 +660,7 @@ ApR        |bool   |is_utf8_punct  |NN const U8 *p
 ApR    |bool   |is_utf8_xdigit |NN const U8 *p
 ApR    |bool   |is_utf8_mark   |NN const U8 *p
 EXpR   |bool   |is_utf8_X_extend       |NN const U8 *p
-EXpR   |bool   |is_utf8_X_prepend      |NN const U8 *p
 EXpR   |bool   |is_utf8_X_regular_begin|NN const U8 *p
-EXpR   |bool   |is_utf8_X_special_begin|NN const U8 *p
-EXpR   |bool   |is_utf8_X_L            |NN const U8 *p
-EXpR   |bool   |is_utf8_X_RI           |NN const U8 *p
-:not currently used EXpR       |bool   |is_utf8_X_LV           |NN const U8 *p
-EXpR   |bool   |is_utf8_X_LVT          |NN const U8 *p
-EXpR   |bool   |is_utf8_X_LV_LVT_V     |NN const U8 *p
-EXpR   |bool   |is_utf8_X_T            |NN const U8 *p
-EXpR   |bool   |is_utf8_X_V            |NN const U8 *p
 : Used in perly.y
 p      |OP*    |jmaybe         |NN OP *o
 : Used in pp.c 
@@ -752,7 +742,6 @@ p   |int    |magic_getsubstr|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_gettaint |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_getuvar  |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_getvec   |NN SV* sv|NN MAGIC* mg
-p      |U32    |magic_len      |NN SV* sv|NN MAGIC* mg
 p      |int    |magic_nextpack |NN SV *sv|NN MAGIC *mg|NN SV *key
 p      |U32    |magic_regdata_cnt|NN SV* sv|NN MAGIC* mg
 p      |int    |magic_regdatum_get|NN SV* sv|NN MAGIC* mg
@@ -807,7 +796,7 @@ 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
-Apd    |U32    |mg_length      |NN SV* sv
+ApdD   |U32    |mg_length      |NN SV* sv
 Apd    |void   |mg_magical     |NN SV* sv
 Apd    |int    |mg_set         |NN SV* sv
 Ap     |I32    |mg_size        |NN SV* sv
@@ -1344,6 +1333,8 @@ pd        |SV*    |sv_ref |NULLOK SV *dst|NN const SV *const sv|const int ob
 Apd    |void   |sv_replace     |NN SV *const sv|NN SV *const nsv
 Apd    |void   |sv_report_used
 Apd    |void   |sv_reset       |NN const char* s|NULLOK HV *const stash
+p      |void   |sv_resetpvn    |NULLOK const char* s|STRLEN len \
+                               |NULLOK HV *const stash
 Afpd   |void   |sv_setpvf      |NN SV *const sv|NN const char *const pat|...
 Apd    |void   |sv_vsetpvf     |NN SV *const sv|NN const char *const pat|NULLOK va_list *const args
 Apd    |void   |sv_setiv       |NN SV *const sv|const IV num
@@ -1637,12 +1628,8 @@ Ap       |CV*    |newATTRSUB     |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NU
 p      |CV*    |newATTRSUB_flags|I32 floor|NULLOK OP *o|NULLOK OP *proto \
                                 |NULLOK OP *attrs|NULLOK OP *block \
                                 |U32 flags
-#ifdef PERL_MAD
-Apr    |OP *   |newMYSUB       |I32 floor|NULLOK OP *o|NULLOK OP *proto \
+Ap     |CV *   |newMYSUB       |I32 floor|NN OP *o|NULLOK OP *proto \
                                |NULLOK OP *attrs|NULLOK OP *block
-#else
-Apr    |void   |newMYSUB       |I32 floor|NULLOK OP *o|NULLOK OP *proto|NULLOK OP *attrs|NULLOK OP *block
-#endif
 p      |CV*    |newSTUB        |NN GV *gv|bool fake
 : Used in perly.y
 p      |OP *   |my_attrs       |NN OP *o|NULLOK OP *attrs
@@ -1717,7 +1704,6 @@ sR        |I32    |do_trans_complex_utf8  |NN SV * const sv
 #if defined(PERL_IN_GV_C)
 s      |void   |gv_init_svtype |NN GV *gv|const svtype sv_type
 s      |void   |gv_magicalize_isa      |NN GV *gv
-s      |HV*    |gv_get_super_pkg|NN const char* name|I32 namelen|U32 flags
 s      |HV*    |require_tie_mod|NN GV *gv|NN const char *varpv|NN SV* namesv \
                                |NN const char *methpv|const U32 flags
 #endif
@@ -1774,7 +1760,7 @@ s |SV*    |gv_ename       |NN GV *gv
 sRn    |bool   |scalar_mod_type|NULLOK const OP *o|I32 type
 s      |OP *   |my_kid         |NULLOK OP *o|NULLOK OP *attrs|NN OP **imopsp
 s      |OP *   |dup_attrlist   |NN OP *o
-s      |void   |apply_attrs    |NN HV *stash|NN SV *target|NULLOK OP *attrs|bool for_my
+s      |void   |apply_attrs    |NN HV *stash|NN SV *target|NULLOK OP *attrs
 s      |void   |apply_attrs_my |NN HV *stash|NN OP *target|NULLOK OP *attrs|NN OP **imopsp
 s      |void   |bad_type_pv    |I32 n|NN const char *t|NN const char *name|U32 flags|NN const OP *kid
 s      |void   |bad_type_sv    |I32 n|NN const char *t|NN SV *namesv|U32 flags|NN const OP *kid
@@ -1789,7 +1775,8 @@ s |OP*    |newGIVWHENOP   |NULLOK OP* cond|NN OP *block \
                                |I32 enter_opcode|I32 leave_opcode \
                                |PADOFFSET entertarg
 s      |OP*    |ref_array_or_hash|NULLOK OP* cond
-s      |void   |process_special_blocks |NN const char *const fullname\
+s      |void   |process_special_blocks |I32 floor \
+                                       |NN const char *const fullname\
                                        |NN GV *const gv|NN CV *const cv
 #endif
 Xpa    |void*  |Slab_Alloc     |size_t sz
@@ -2016,9 +2003,9 @@ Es        |U8     |regtail_study  |NN struct RExC_state_t *pRExC_state \
 #endif
 
 #if defined(PERL_IN_REGEXEC_C)
-ERs    |I32    |regmatch       |NN regmatch_info *reginfo|NN regnode *prog
-ERs    |I32    |regrepeat      |NN const regexp *prog|NN const regnode *p|I32 max|int depth
-ERs    |I32    |regtry         |NN regmatch_info *reginfo|NN char **startpos
+ERs    |I32    |regmatch       |NN regmatch_info *reginfo|NN char *startpos|NN regnode *prog
+ERs    |I32    |regrepeat      |NN const regexp *prog|NN char **startposp|NN const regnode *p|I32 max|int depth
+ERs    |I32    |regtry         |NN regmatch_info *reginfo|NN char **startposp
 ERs    |bool   |reginclass     |NULLOK const regexp * const prog|NN const regnode * const n|NN const U8 * const p|NULLOK STRLEN *lenp\
                                |bool const do_utf8sv_is_utf8
 Es     |CHECKPOINT|regcppush   |NN const regexp *rex|I32 parenfloor
@@ -2027,6 +2014,8 @@ ERsn      |U8*    |reghop3        |NN U8 *s|I32 off|NN const U8 *lim
 ERsM   |SV*    |core_regclass_swash|NULLOK const regexp *prog \
                                |NN const struct regnode *node|bool doinit \
                                |NULLOK SV **listsvp|NULLOK SV **altsvp
+:not currently used EiR        |bool   |is_utf8_X_LV           |NN const U8 *p
+EiR    |bool   |is_utf8_X_LVT          |NN const U8 *p
 #ifdef XXX_dmq
 ERsn   |U8*    |reghop4        |NN U8 *s|I32 off|NN const U8 *llim \
                                |NN const U8 *rlim
@@ -2156,12 +2145,14 @@ s       |U8*    |add_utf16_textfilter|NN U8 *const s|bool reversed
 s      |void   |checkcomma     |NN const char *s|NN const char *name \
                                |NN const char *what
 s      |void   |force_ident    |NN const char *s|int kind
+s      |void   |force_ident_maybe_lex|char pit
 s      |void   |incline        |NN const char *s
 s      |int    |intuit_method  |NN char *s|NULLOK GV *gv|NULLOK CV *cv
 s      |int    |intuit_more    |NN char *s
 s      |I32    |lop            |I32 f|int x|NN char *s
 rs     |void   |missingterm    |NULLOK char *s
 s      |void   |no_op          |NN const char *const what|NULLOK char *s
+s      |int    |pending_ident
 sR     |I32    |sublex_done
 sR     |I32    |sublex_push
 sR     |I32    |sublex_start
@@ -2323,7 +2314,7 @@ Apd       |void   |pad_setsv      |PADOFFSET po|NN SV* sv
 #endif
 pd     |void   |pad_block_start|int full
 pd     |U32    |intro_my
-pd     |void   |pad_leavemy
+pd     |OP *   |pad_leavemy
 pd     |void   |pad_swipe      |PADOFFSET po|bool refadjust
 #if defined(PERL_IN_PAD_C)
 sd     |void   |pad_reset
@@ -2337,6 +2328,7 @@ sd        |void   |cv_dump        |NN const CV *cv|NN const char *title
 #  endif
 #endif
 Apd    |CV*    |cv_clone       |NN CV* proto
+p      |CV*    |cv_clone_into  |NN CV* proto|NN CV *target
 pd     |void   |pad_fixup_inner_anons|NN PADLIST *padlist|NN CV *old_cv|NN CV *new_cv
 pdX    |void   |pad_push       |NN PADLIST *padlist|int depth
 ApdR   |HV*    |pad_compname_type|const PADOFFSET po