diff options
author | Karl Williamson <khw@cpan.org> | 2018-08-20 18:31:04 -0600 |
---|---|---|
committer | Karl Williamson <khw@cpan.org> | 2019-02-14 22:12:44 -0700 |
commit | 73b95840bb1b55d761ec2dd075d2a8c37fa94bf4 (patch) | |
tree | 62173297f7046b6354f4a4275ed45ceb3d81c86c /embed.fnc | |
parent | dd52e3cc434f4c6a495379f06a99d35da217eecb (diff) | |
download | perl-73b95840bb1b55d761ec2dd075d2a8c37fa94bf4.tar.gz |
Move \p{user-defined} to core from utf8_heavy.pl
This large commit moves the handling of user-defined properties to C
code. This should speed it up, but the main reason to do this is to
stop using swashes in this case, leaving only tr/// using them. Once
that too is converted, all swash handling can be ripped out of perl.
Doing this in perl has caused some nasty interactions that will now be
fixed automatically.
The change is not entirely transparent, however (besides speed and the
possibility of removing these interactions). perldelta in this commit
details these.
Diffstat (limited to 'embed.fnc')
-rw-r--r-- | embed.fnc | 21 |
1 files changed, 17 insertions, 4 deletions
@@ -2513,10 +2513,23 @@ EnsR |int |edit_distance |NN const UV *src \ |const STRLEN x \ |const STRLEN y \ |const SSize_t maxDistance -EXp |SV * |parse_uniprop_string|NN const char * const name \ - |const Size_t name_len \ - |const bool to_fold \ - |NN bool * invert +EpX |SV * |parse_uniprop_string|NN const char * const name \ + |const Size_t name_len \ + |const bool is_utf8 \ + |const bool to_fold \ + |const bool runtime \ + |NN bool * user_defined_ptr \ + |NN SV * msg \ + |const STRLEN level +EXp |SV * |handle_user_defined_property|NN const char * name \ + |const STRLEN name_len \ + |const bool is_utf8 \ + |const bool to_fold \ + |const bool runtime \ + |NN SV* contents \ + |NN bool *user_defined_ptr \ + |NN SV * msg \ + |const STRLEN level # ifdef DEBUGGING Ep |int |re_indentf |NN const char *fmt|U32 depth|... Es |void |regdump_intflags|NULLOK const char *lead| const U32 flags |