This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Merge branch 'bring unicode properties into core' into blead
authorKarl Williamson <khw@cpan.org>
Fri, 20 Apr 2018 07:12:22 +0000 (01:12 -0600)
committerKarl Williamson <khw@cpan.org>
Fri, 20 Apr 2018 07:12:22 +0000 (01:12 -0600)
commitdfb5c81966b9f873bad5974ece5faf40c22e9b2f
tree6ecc472647f0211ff687b27c13b4d2786bcd1fb6
parent4273b0cccad37ddd85afb1abe763af2c6a6023a5
parent8042d780a11e702d9d778523e168418a1348721f
Merge branch 'bring unicode properties into core' into blead

Most \p{} constructs will now use inversion lists compiled into core.
This significantly lowers the start up cost of using Unicode properties.
The theory is that the properties not used will stay paged out by the
operating system.

Certain constructs continue to use the old mechanism.  The design here
is that if a property is not found, the old mechanism is used as a
fail safe.  In particular,

1) if the property name is invalid, this new system won't find it, and
   the old system will be invoked, and also won't find it, and the
   compilation will abort.

2) This new system does not handle user-defined properties, so the old
   mechanism will be used for those

3) In the numeric_value property (nv), if the input is not in canonical
   form, this new mechanism won't find it, and the old system will be
   used.  "3/4" is in canonical form, so the new system will be used;
   but "6/8" and 0.75 are not, so the old system will be used.