Better support for multicharacter foldings.
[p5sagit/p5-mst-13.2.git] / embed.pl
index d91f2bd..32e7925 100755 (executable)
--- a/embed.pl
+++ b/embed.pl
@@ -1123,7 +1123,7 @@ Ap        |CV*    |gv_handler     |HV* stash|I32 id
 p      |OP*    |append_elem    |I32 optype|OP* head|OP* tail
 p      |OP*    |append_list    |I32 optype|LISTOP* first|LISTOP* last
 p      |I32    |apply          |I32 type|SV** mark|SV** sp
-Ap     |void   |apply_attrs_string|char *stashpv|CV *cv|char *attrstr|STRLEN len
+ApM    |void   |apply_attrs_string|char *stashpv|CV *cv|char *attrstr|STRLEN len
 Ap     |SV*    |avhv_delete_ent|AV *ar|SV* keysv|I32 flags|U32 hash
 Ap     |bool   |avhv_exists_ent|AV *ar|SV* keysv|U32 hash
 Ap     |SV**   |avhv_fetch_ent |AV *ar|SV* keysv|I32 lval|U32 hash
@@ -1277,7 +1277,7 @@ p |PADOFFSET|find_threadsv|const char *name
 #endif
 p      |OP*    |force_list     |OP* arg
 p      |OP*    |fold_constants |OP* arg
-Afp    |char*  |form           |const char* pat|...
+Afpd   |char*  |form           |const char* pat|...
 Ap     |char*  |vform          |const char* pat|va_list* args
 Ap     |void   |free_tmps
 p      |OP*    |gen_constant_list|OP* o
@@ -1333,6 +1333,7 @@ Apd       |HE*    |hv_store_ent   |HV* tb|SV* key|SV* val|U32 hash
 Apd    |void   |hv_undef       |HV* tb
 Ap     |I32    |ibcmp          |const char* a|const char* b|I32 len
 Ap     |I32    |ibcmp_locale   |const char* a|const char* b|I32 len
+Apd    |I32    |ibcmp_utf8     |const char* a|bool ua|I32 len1|const char* b|bool ub|I32 len2
 p      |bool   |ingroup        |Gid_t testgid|Uid_t effective
 p      |void   |init_argv_symbols|int|char **
 p      |void   |init_debugger
@@ -1343,38 +1344,42 @@ Ap      |char*  |instr          |const char* big|const char* little
 p      |bool   |io_close       |IO* io|bool not_implicit
 p      |OP*    |invert         |OP* cmd
 dp     |bool   |is_gv_magical  |char *name|STRLEN len|U32 flags
-p      |I32    |is_lvalue_sub
-Ap     |bool   |is_uni_alnum   |U32 c
-Ap     |bool   |is_uni_alnumc  |U32 c
-Ap     |bool   |is_uni_idfirst |U32 c
-Ap     |bool   |is_uni_alpha   |U32 c
-Ap     |bool   |is_uni_ascii   |U32 c
-Ap     |bool   |is_uni_space   |U32 c
-Ap     |bool   |is_uni_cntrl   |U32 c
-Ap     |bool   |is_uni_graph   |U32 c
-Ap     |bool   |is_uni_digit   |U32 c
-Ap     |bool   |is_uni_upper   |U32 c
-Ap     |bool   |is_uni_lower   |U32 c
-Ap     |bool   |is_uni_print   |U32 c
-Ap     |bool   |is_uni_punct   |U32 c
-Ap     |bool   |is_uni_xdigit  |U32 c
-Ap     |U32    |to_uni_upper   |U32 c|U8 *p|STRLEN *lenp
-Ap     |U32    |to_uni_title   |U32 c|U8 *p|STRLEN *lenp
-Ap     |U32    |to_uni_lower   |U32 c|U8 *p|STRLEN *lenp
-Ap     |bool   |is_uni_alnum_lc|U32 c
-Ap     |bool   |is_uni_alnumc_lc|U32 c
-Ap     |bool   |is_uni_idfirst_lc|U32 c
-Ap     |bool   |is_uni_alpha_lc|U32 c
-Ap     |bool   |is_uni_ascii_lc|U32 c
-Ap     |bool   |is_uni_space_lc|U32 c
-Ap     |bool   |is_uni_cntrl_lc|U32 c
-Ap     |bool   |is_uni_graph_lc|U32 c
-Ap     |bool   |is_uni_digit_lc|U32 c
-Ap     |bool   |is_uni_upper_lc|U32 c
-Ap     |bool   |is_uni_lower_lc|U32 c
-Ap     |bool   |is_uni_print_lc|U32 c
-Ap     |bool   |is_uni_punct_lc|U32 c
-Ap     |bool   |is_uni_xdigit_lc|U32 c
+Ap     |I32    |is_lvalue_sub
+Ap     |U32    |to_uni_upper_lc|U32 c
+Ap     |U32    |to_uni_title_lc|U32 c
+Ap     |U32    |to_uni_lower_lc|U32 c
+Ap     |bool   |is_uni_alnum   |UV c
+Ap     |bool   |is_uni_alnumc  |UV c
+Ap     |bool   |is_uni_idfirst |UV c
+Ap     |bool   |is_uni_alpha   |UV c
+Ap     |bool   |is_uni_ascii   |UV c
+Ap     |bool   |is_uni_space   |UV c
+Ap     |bool   |is_uni_cntrl   |UV c
+Ap     |bool   |is_uni_graph   |UV c
+Ap     |bool   |is_uni_digit   |UV c
+Ap     |bool   |is_uni_upper   |UV c
+Ap     |bool   |is_uni_lower   |UV c
+Ap     |bool   |is_uni_print   |UV c
+Ap     |bool   |is_uni_punct   |UV c
+Ap     |bool   |is_uni_xdigit  |UV c
+Ap     |UV     |to_uni_upper   |UV c|U8 *p|STRLEN *lenp
+Ap     |UV     |to_uni_title   |UV c|U8 *p|STRLEN *lenp
+Ap     |UV     |to_uni_lower   |UV c|U8 *p|STRLEN *lenp
+Ap     |UV     |to_uni_fold    |UV c|U8 *p|STRLEN *lenp
+Ap     |bool   |is_uni_alnum_lc|UV c
+Ap     |bool   |is_uni_alnumc_lc|UV c
+Ap     |bool   |is_uni_idfirst_lc|UV c
+Ap     |bool   |is_uni_alpha_lc|UV c
+Ap     |bool   |is_uni_ascii_lc|UV c
+Ap     |bool   |is_uni_space_lc|UV c
+Ap     |bool   |is_uni_cntrl_lc|UV c
+Ap     |bool   |is_uni_graph_lc|UV c
+Ap     |bool   |is_uni_digit_lc|UV c
+Ap     |bool   |is_uni_upper_lc|UV c
+Ap     |bool   |is_uni_lower_lc|UV c
+Ap     |bool   |is_uni_print_lc|UV c
+Ap     |bool   |is_uni_punct_lc|UV c
+Ap     |bool   |is_uni_xdigit_lc|UV c
 Apd    |STRLEN |is_utf8_char   |U8 *p
 Apd    |bool   |is_utf8_string |U8 *s|STRLEN len
 Ap     |bool   |is_utf8_alnum  |U8 *p
@@ -1471,7 +1476,7 @@ p |char*  |mem_collxfrm   |const char* s|STRLEN len|STRLEN* xlen
 Afp    |SV*    |mess           |const char* pat|...
 Ap     |SV*    |vmess          |const char* pat|va_list* args
 p      |void   |qerror         |SV* err
-Apd    |void   |sortsv         |SV ** array|size_t num_elts|SVCOMPARE_t f
+Apd     |void   |sortsv         |SV ** array|size_t num_elts|SVCOMPARE_t cmp
 Apd    |int    |mg_clear       |SV* sv
 Apd    |int    |mg_copy        |SV* sv|SV* nsv|const char* key|I32 klen
 Apd    |MAGIC* |mg_find        |SV* sv|int type
@@ -1712,7 +1717,6 @@ Ap        |char*  |screaminstr    |SV* bigsv|SV* littlesv|I32 start_shift \
 p      |I32    |setenv_getix   |char* nam
 #endif
 p      |void   |setdefout      |GV* gv
-Ap     |char*  |sharepvn       |const char* sv|I32 len|U32 hash
 p      |HEK*   |share_hek      |const char* sv|I32 len|U32 hash
 np     |Signal_t |sighandler   |int sig
 Ap     |SV**   |stack_grow     |SV** sp|SV**p|int n
@@ -1849,10 +1853,12 @@ Apd     |UV     |utf8_to_uvuni  |U8 *s|STRLEN* retlen
 Adp    |UV     |utf8n_to_uvchr |U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags
 Adp    |UV     |utf8n_to_uvuni |U8 *s|STRLEN curlen|STRLEN* retlen|U32 flags
 Apd    |U8*    |uvchr_to_utf8  |U8 *d|UV uv
-Apd    |U8*    |uvuni_to_utf8  |U8 *d|UV uv
-Ap     |char*  |pv_uni_display |SV *dsv|U8 *spv|STRLEN len \
+Ap     |U8*    |uvuni_to_utf8  |U8 *d|UV uv
+Ap     |U8*    |uvchr_to_utf8_flags    |U8 *d|UV uv|UV flags
+Apd    |U8*    |uvuni_to_utf8_flags    |U8 *d|UV uv|UV flags
+Apd    |char*  |pv_uni_display |SV *dsv|U8 *spv|STRLEN len \
                                |STRLEN pvlim|UV flags
-Ap     |char*  |sv_uni_display |SV *dsv|SV *ssv|STRLEN pvlim|UV flags
+Apd    |char*  |sv_uni_display |SV *dsv|SV *ssv|STRLEN pvlim|UV flags
 p      |void   |vivify_defelem |SV* sv
 p      |void   |vivify_ref     |SV* sv|U32 to_what
 p      |I32    |wait4pid       |Pid_t pid|int* statusp|int flags
@@ -2044,9 +2050,10 @@ s        |void   |cv_dump        |CV *cv
 #  endif
 s      |CV*    |cv_clone2      |CV *proto|CV *outside
 s      |bool   |scalar_mod_type|OP *o|I32 type
-s      |OP *   |my_kid         |OP *o|OP *attrs
+s      |OP *   |my_kid         |OP *o|OP *attrs|OP **imopsp
 s      |OP *   |dup_attrlist   |OP *o
-s      |void   |apply_attrs    |HV *stash|SV *target|OP *attrs
+s      |void   |apply_attrs    |HV *stash|SV *target|OP *attrs|bool for_my
+s      |void   |apply_attrs_my |HV *stash|OP *target|OP *attrs|OP **imopsp
 #  if defined(PL_OP_SLAB_ALLOC)
 s      |void*  |Slab_Alloc     |int m|size_t sz
 #  endif
@@ -2346,6 +2353,37 @@ Apd      |STRLEN |sv_utf8_upgrade_flags|SV *sv|I32 flags
 Apd    |char*  |sv_pvn_force_flags|SV* sv|STRLEN* lp|I32 flags
 Apd    |char*  |sv_2pv_flags   |SV* sv|STRLEN* lp|I32 flags
 Ap     |char*  |my_atof2       |const char *s|NV* value
+#if !defined(HAS_SOCKETPAIR) && defined(HAS_SOCKET)
+Apn    |int    |my_socketpair  |int family|int type|int protocol|int fd[2]
+#endif
+
+
+#if defined(USE_PERLIO) && !defined(USE_SFIO)
+Ap     |int    |PerlIO_close           |PerlIO *
+Ap     |int    |PerlIO_fill            |PerlIO *
+Ap     |int    |PerlIO_fileno          |PerlIO *
+Ap     |int    |PerlIO_eof             |PerlIO *
+Ap     |int    |PerlIO_error           |PerlIO *
+Ap     |int    |PerlIO_flush           |PerlIO *
+Ap     |void   |PerlIO_clearerr        |PerlIO *
+Ap     |void   |PerlIO_set_cnt         |PerlIO *|int
+Ap     |void   |PerlIO_set_ptrcnt      |PerlIO *|STDCHAR *|int
+Ap     |void   |PerlIO_setlinebuf      |PerlIO *
+Ap     |SSize_t|PerlIO_read            |PerlIO *|void *|Size_t
+Ap     |SSize_t|PerlIO_write           |PerlIO *|const void *|Size_t
+Ap     |SSize_t|PerlIO_unread          |PerlIO *|const void *|Size_t
+Ap     |Off_t  |PerlIO_tell            |PerlIO *
+Ap     |int    |PerlIO_seek            |PerlIO *|Off_t|int
+
+Ap     |STDCHAR *|PerlIO_get_base      |PerlIO *
+Ap     |STDCHAR *|PerlIO_get_ptr       |PerlIO *
+Ap     |int      |PerlIO_get_bufsiz    |PerlIO *
+Ap     |int      |PerlIO_get_cnt       |PerlIO *
+
+Ap     |PerlIO *|PerlIO_stdin
+Ap     |PerlIO *|PerlIO_stdout
+Ap     |PerlIO *|PerlIO_stderr
+#endif /* PERLIO_LAYERS */
 
 END_EXTERN_C