diff options
-rw-r--r-- | lib/utf8_heavy.pl | 4 | ||||
-rw-r--r-- | pod/perltodo.pod | 4 | ||||
-rwxr-xr-x | t/op/pat.t | 26 |
3 files changed, 29 insertions, 5 deletions
diff --git a/lib/utf8_heavy.pl b/lib/utf8_heavy.pl index 0961509af8..3efd421b55 100644 --- a/lib/utf8_heavy.pl +++ b/lib/utf8_heavy.pl @@ -23,7 +23,7 @@ sub SWASHNEW { defined %utf8::In || do "unicore/In.pl"; - $type =~ s/^In(?:[-_]|\s+)?//i; + $type =~ s/^In(?:[-_]|\s+)?(?!herited$)//i; $type =~ s/\s+$//; my $inprefix = substr(lc($type), 0, 3); @@ -43,7 +43,7 @@ sub SWASHNEW { unless (defined $file) { # This is separate from 'To' in preparation of Is.pl (a la In.pl). - if ($type =~ /^Is([A-Z][A-Za-z]*|L&)$/) { + if ($type =~ /^Is([A-Z][A-Za-z]*|L&)$/ || $type =~ /^(L&)$/ ) { my $cat = $1 eq 'L&' ? 'L' : $1; $file = "unicore/Is/$cat"; } elsif ((not defined $file) && $type =~ /^To([A-Z][A-Za-z]*)$/) { diff --git a/pod/perltodo.pod b/pod/perltodo.pod index 1f57c0c1ea..2a086f91c5 100644 --- a/pod/perltodo.pod +++ b/pod/perltodo.pod @@ -73,9 +73,9 @@ C<\p{IsPs}>. =item * -Allow for the metaproperties C<Any> and C<Assigned>, and C<Common>; +Allow for the metaproperties C<Any> and C<Assigned>; C<Alphabetic>, C<Ideographic>, C<Lowercase>, C<Uppercase> (note that -are large classes than the general categories C<Lu> and C<Ll>), +these are larger classes than the general categories C<Lu> and C<Ll>), C<White Space>, C<Bidi Control>, C<Join Control>, C<ASCII Hex Digit>, C<Hex Digit>, <Noncharacter Code Point>, C<ID Start>, C<ID Continue>, C<XID Start>, C<XID Continue>, C<NF*_NO>, C<NF*_MAYBE>. diff --git a/t/op/pat.t b/t/op/pat.t index 63798660c7..63c5ba21fb 100755 --- a/t/op/pat.t +++ b/t/op/pat.t @@ -6,7 +6,7 @@ $| = 1; -print "1..738\n"; +print "1..744\n"; BEGIN { chdir 't' if -d 't'; @@ -2206,3 +2206,27 @@ print "# some Unicode properties\n"; print "ok 738\n"; } + +{ + print "not " if "a" =~ /\p{Common}/; + print "ok 739\n"; + + print "not " unless "1" =~ /\p{Common}/; + print "ok 740\n"; +} + +{ + print "not " if "a" =~ /\p{Inherited}/; + print "ok 741\n"; + + print "not " unless "\x{300}" =~ /\p{Inherited}/; + print "ok 742\n"; +} + +{ + print "not " unless "a" =~ /\p{L&}/; + print "ok 743\n"; + + print "not " if "1" =~ /\p{L&}/; + print "ok 744\n"; +} |