Integrate from maint-5.8 #18156, #18218.
Hugo van der Sanden [Wed, 11 Dec 2002 09:59:31 +0000 (09:59 +0000)]
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..)

13 files changed:
lib/Unicode/UCD.t
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
t/op/pack.t

index b9bf574..07d8a89 100644 (file)
@@ -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
index dba6ad9..e374f06 100644 (file)
@@ -41,7 +41,7 @@ return <<'END';
 00AA           Ll
 00AB           Pi
 00AC           Sm
-00AD           Pd
+00AD           Cf
 00AE           So
 00AF           Sk
 00B0           So
index f25ac9b..87740c7 100644 (file)
@@ -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.
 
index 125a692..088fdb4 100644 (file)
 00AA;FEMININE ORDINAL INDICATOR;Ll;0;L;<super> 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;<compat> 0020 0304;;;;N;SPACING MACRON;;;;
 00B0;DEGREE SIGN;So;0;ET;;;;;N;;;;;
index bbe5b39..b098c86 100644 (file)
@@ -12,6 +12,7 @@
 return <<'END';
 0000   001F    
 007F   009F    
+00AD           
 0221           
 0234   024F    
 02AE   02AF    
index 9012824..1179ccb 100644 (file)
@@ -10,6 +10,7 @@
 # Meaning: General Category 'Cf'
 #
 return <<'END';
+00AD           
 06DD           
 070F           
 180E           
index b794776..13327fd 100644 (file)
@@ -11,6 +11,7 @@
 return <<'END';
 0000   001F    
 007F   009F    
+00AD           
 06DD           
 070F           
 180E           
index e3e98b5..212c4c6 100644 (file)
@@ -10,7 +10,8 @@
 #
 return <<'END';
 0021   007E    
-00A1   0220    
+00A1   00AC    
+00AE   0220    
 0222   0233    
 0250   02AD    
 02B0   02EE    
index 1302e8d..6ad7119 100644 (file)
@@ -21,7 +21,6 @@ return <<'END';
 007D           
 00A1           
 00AB           
-00AD           
 00B7           
 00BB           
 00BF           
index e32f88f..545e454 100644 (file)
@@ -11,7 +11,6 @@
 #
 return <<'END';
 002D           
-00AD           
 058A           
 1806           
 2010   2015    
index 01ac6f1..d1eb1e2 100644 (file)
@@ -10,7 +10,8 @@
 #
 return <<'END';
 0020   007E    
-00A0   0220    
+00A0   00AC    
+00AE   0220    
 0222   0233    
 0250   02AD    
 02B0   02EE    
index ca68b6a..70b8a29 100644 (file)
@@ -20,7 +20,6 @@ return <<'END';
 007D           
 00A1           
 00AB           
-00AD           
 00B7           
 00BB           
 00BF           
index f047889..a4c5db0 100755 (executable)
@@ -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
+