From: Hugo van der Sanden Date: Wed, 11 Dec 2002 09:59:31 +0000 (+0000) Subject: Integrate from maint-5.8 #18156, #18218. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=9c3dc5877366a4b76c59e7e1b537358b0b2bc2f8;p=p5sagit%2Fp5-mst-13.2.git Integrate from maint-5.8 #18156, #18218. p4raw-id: //depot/perl@18281 p4raw-integrated: from //depot/maint-5.8/perl@18280 'copy in' lib/unicore/Category.pl lib/unicore/SpecialCasing.txt lib/unicore/UnicodeData.txt lib/unicore/lib/C.pl lib/unicore/lib/Cf.pl lib/unicore/lib/Cntrl.pl lib/unicore/lib/Graph.pl lib/unicore/lib/P.pl lib/unicore/lib/Pd.pl lib/unicore/lib/Print.pl lib/unicore/lib/Punct.pl (@17645..) t/op/pack.t (@18080..) p4raw-integrated: from //depot/maint-5.8/perl@18156 'merge in' lib/Unicode/UCD.t (@17645..) --- diff --git a/lib/Unicode/UCD.t b/lib/Unicode/UCD.t index b9bf574..07d8a89 100644 --- a/lib/Unicode/UCD.t +++ b/lib/Unicode/UCD.t @@ -277,7 +277,7 @@ ok($casespec->{az}->{code} eq '0307' && $casespec->{az}->{lower} eq '' && $casespec->{az}->{title} eq '0307' && $casespec->{az}->{upper} eq '0307' && - $casespec->{az}->{condition} eq 'az After_Soft_Dotted', + $casespec->{az}->{condition} eq 'az After_I', 'casespec 0x307'); # perl #7305 UnicodeCD::compexcl is weird diff --git a/lib/unicore/Category.pl b/lib/unicore/Category.pl index dba6ad9..e374f06 100644 --- a/lib/unicore/Category.pl +++ b/lib/unicore/Category.pl @@ -41,7 +41,7 @@ return <<'END'; 00AA Ll 00AB Pi 00AC Sm -00AD Pd +00AD Cf 00AE So 00AF Sk 00B0 So diff --git a/lib/unicore/SpecialCasing.txt b/lib/unicore/SpecialCasing.txt index f25ac9b..87740c7 100644 --- a/lib/unicore/SpecialCasing.txt +++ b/lib/unicore/SpecialCasing.txt @@ -231,14 +231,18 @@ FB17; FB17; 0544 056D; 0544 053D; # ARMENIAN SMALL LIGATURE MEN XEH # I and i-dotless; I-dot and i are case pairs in Turkish and Azeri # The following rules handle those cases. -0130; 0069; 0130; 0130; tr # LATIN CAPITAL LETTER I WITH DOT ABOVE -0130; 0069; 0130; 0130; az # LATIN CAPITAL LETTER I WITH DOT ABOVE +0130; 0069; 0130; 0130; tr; # LATIN CAPITAL LETTER I WITH DOT ABOVE +0130; 0069; 0130; 0130; az; # LATIN CAPITAL LETTER I WITH DOT ABOVE # When lowercasing, remove dot_above in the sequence I + dot_above, which will turn into i. # This matches the behavior of the canonically equivalent I-dot_above -0307; ; 0307; 0307; tr After_Soft_Dotted; # COMBINING DOT ABOVE -0307; ; 0307; 0307; az After_Soft_Dotted; # COMBINING DOT ABOVE +0307; ; 0307; 0307; tr After_I; # COMBINING DOT ABOVE +0307; ; 0307; 0307; az After_I; # COMBINING DOT ABOVE + +# After_I: The last preceding base character was an uppercase I, and +# there is no intervening combining character class 230 (ABOVE). +# (from Unicode 3.2 Errata 2002 October 31) # When lowercasing, unless an I is before a dot_above, it turns into a dotless i. diff --git a/lib/unicore/UnicodeData.txt b/lib/unicore/UnicodeData.txt index 125a692..088fdb4 100644 --- a/lib/unicore/UnicodeData.txt +++ b/lib/unicore/UnicodeData.txt @@ -171,7 +171,7 @@ 00AA;FEMININE ORDINAL INDICATOR;Ll;0;L; 0061;;;;N;;;;; 00AB;LEFT-POINTING DOUBLE ANGLE QUOTATION MARK;Pi;0;ON;;;;;Y;LEFT POINTING GUILLEMET;*;;; 00AC;NOT SIGN;Sm;0;ON;;;;;N;;;;; -00AD;SOFT HYPHEN;Pd;0;ON;;;;;N;;;;; +00AD;SOFT HYPHEN;Cf;0;ON;;;;;N;;;;; 00AE;REGISTERED SIGN;So;0;ON;;;;;N;REGISTERED TRADE MARK SIGN;;;; 00AF;MACRON;Sk;0;ON; 0020 0304;;;;N;SPACING MACRON;;;; 00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;; diff --git a/lib/unicore/lib/C.pl b/lib/unicore/lib/C.pl index bbe5b39..b098c86 100644 --- a/lib/unicore/lib/C.pl +++ b/lib/unicore/lib/C.pl @@ -12,6 +12,7 @@ return <<'END'; 0000 001F 007F 009F +00AD 0221 0234 024F 02AE 02AF diff --git a/lib/unicore/lib/Cf.pl b/lib/unicore/lib/Cf.pl index 9012824..1179ccb 100644 --- a/lib/unicore/lib/Cf.pl +++ b/lib/unicore/lib/Cf.pl @@ -10,6 +10,7 @@ # Meaning: General Category 'Cf' # return <<'END'; +00AD 06DD 070F 180E diff --git a/lib/unicore/lib/Cntrl.pl b/lib/unicore/lib/Cntrl.pl index b794776..13327fd 100644 --- a/lib/unicore/lib/Cntrl.pl +++ b/lib/unicore/lib/Cntrl.pl @@ -11,6 +11,7 @@ return <<'END'; 0000 001F 007F 009F +00AD 06DD 070F 180E diff --git a/lib/unicore/lib/Graph.pl b/lib/unicore/lib/Graph.pl index e3e98b5..212c4c6 100644 --- a/lib/unicore/lib/Graph.pl +++ b/lib/unicore/lib/Graph.pl @@ -10,7 +10,8 @@ # return <<'END'; 0021 007E -00A1 0220 +00A1 00AC +00AE 0220 0222 0233 0250 02AD 02B0 02EE diff --git a/lib/unicore/lib/P.pl b/lib/unicore/lib/P.pl index 1302e8d..6ad7119 100644 --- a/lib/unicore/lib/P.pl +++ b/lib/unicore/lib/P.pl @@ -21,7 +21,6 @@ return <<'END'; 007D 00A1 00AB -00AD 00B7 00BB 00BF diff --git a/lib/unicore/lib/Pd.pl b/lib/unicore/lib/Pd.pl index e32f88f..545e454 100644 --- a/lib/unicore/lib/Pd.pl +++ b/lib/unicore/lib/Pd.pl @@ -11,7 +11,6 @@ # return <<'END'; 002D -00AD 058A 1806 2010 2015 diff --git a/lib/unicore/lib/Print.pl b/lib/unicore/lib/Print.pl index 01ac6f1..d1eb1e2 100644 --- a/lib/unicore/lib/Print.pl +++ b/lib/unicore/lib/Print.pl @@ -10,7 +10,8 @@ # return <<'END'; 0020 007E -00A0 0220 +00A0 00AC +00AE 0220 0222 0233 0250 02AD 02B0 02EE diff --git a/lib/unicore/lib/Punct.pl b/lib/unicore/lib/Punct.pl index ca68b6a..70b8a29 100644 --- a/lib/unicore/lib/Punct.pl +++ b/lib/unicore/lib/Punct.pl @@ -20,7 +20,6 @@ return <<'END'; 007D 00A1 00AB -00AD 00B7 00BB 00BF diff --git a/t/op/pack.t b/t/op/pack.t index f047889..a4c5db0 100755 --- a/t/op/pack.t +++ b/t/op/pack.t @@ -6,7 +6,7 @@ BEGIN { require './test.pl'; } -plan tests => 5825; +plan tests => 5826; use strict; use warnings; @@ -992,3 +992,6 @@ foreach my $template (qw(A Z c C s S i I l L n N v V q Q j J f d F D u U w)) { } } } + +ok(pack('u2', 'AA'), "[perl #8026]"); # used to hang and eat RAM in perl 5.7.2 +