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.