This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Change \p{} matching for above-Unicode code points
authorKarl Williamson <public@khwilliamson.com>
Tue, 24 Dec 2013 03:35:54 +0000 (20:35 -0700)
committerKarl Williamson <public@khwilliamson.com>
Tue, 31 Dec 2013 15:27:23 +0000 (08:27 -0700)
commit2d88a86a5910c97496b47b7b7c223f2c9a14b57c
treec0125ea6a9b6175c93245c4048773ae82e0f4efc
parentf215ab38f4d9ea2dca08fc71b38db0eb650d5107
Change \p{} matching for above-Unicode code points

http://markmail.org/message/eod7ukhbbh5tnll4 is the beginning of the
thread that led to this commit.

This commit revises the handling of \p{} and \P{} to treat above-Unicode
code points as typical Unicode unassigned ones, and only output a
warning during matching when the answer is arguable under strict Unicode
rules (that is "matched" for \p{}, and "didn't match" for \P{}).  The
exception is if the warning category has been made fatal, then it tries
hard to always output the warning.  The definition of \p{All} is changed
to be qr/./s, and no warning is issued at all for matching it against
above-Unicode code points.
12 files changed:
lib/Unicode/UCD.pm
lib/Unicode/UCD.t
lib/unicore/mktables
pod/perldelta.pod
pod/perldiag.pod
pod/perlrecharclass.pod
pod/perlunicode.pod
regcomp.c
regexec.c
t/lib/warnings/utf8
t/porting/diag.t
t/re/pat.t