Change 13844 by jhi@alpha on 2001/12/22 04:27:46

        More Unicode casing fixes.

Affected files ...

.... //depot/perl/regexec.c#215 edit
.... //depot/perl/t/op/pat.t#134 edit

Differences ...

==== //depot/perl/regexec.c#215 (text) ====
Index: perl/regexec.c
--- perl/regexec.c.~1~  Fri Dec 21 21:45:05 2001
+++ perl/regexec.c      Fri Dec 21 21:45:05 2001
@@ -972,7 +972,8 @@
                        if ( utf8_to_uvchr((U8*)s, &len) == c1
                             && (ln == 1 ||
                                 ibcmp_utf8(s, do_utf8,  strend - s,
-                                           m, UTF, ln)) )
+                                           m, UTF, ln))
+                            && (norun || regtry(prog, s)) )
                            goto got_it;
                        s += len;
                    }
@@ -982,7 +983,8 @@
                        if ( (c == c1 || c == c2)
                             && (ln == 1 ||
                                 ibcmp_utf8(s, do_utf8, strend - s,
-                                           m, UTF, ln)) )
+                                           m, UTF, ln))
+                            && (norun || regtry(prog, s)) )
                            goto got_it;
                        s += len;
                    }

==== //depot/perl/t/op/pat.t#134 (xtext) ====
Index: perl/t/op/pat.t
--- perl/t/op/pat.t.~1~ Fri Dec 21 21:45:05 2001
+++ perl/t/op/pat.t     Fri Dec 21 21:45:05 2001
@@ -6,7 +6,7 @@
 
 $| = 1;
 
-print "1..769\n";
+print "1..770\n";
 
 BEGIN {
     chdir 't' if -d 't';
@@ -2324,3 +2324,20 @@
     print $lower =~ m/[$UPPER]/i ? "ok 768\n" : "not ok 768\n";
     print $UPPER =~ m/[$lower]/i ? "ok 769\n" : "not ok 769\n";
 }
+
+{
+    use warnings;
+    use charnames ':full';
+    
+    print "# GREEK CAPITAL LETTER SIGMA vs COMBINING GREEK PERISPOMENI\n";
+
+    my $SIGMA = "\N{GREEK CAPITAL LETTER SIGMA}";
+
+    my $hSIGMA = sprintf "%04x", ord $SIGMA;
+    
+    my $char = "\N{COMBINING GREEK PERISPOMENI}";
+    my $code = sprintf "%04x", ord($char);
+
+    # Before #13843 this was failing.
+    print "_:$char:_" =~ m/_:$SIGMA:_/i ? "not ok 770\n" : "ok 770\n";
+}
End of Patch.

Reply via email to