Re: [perl #17951] Strange UTF error
authorJarkko Hietaniemi <jhi@iki.fi>
Wed, 16 Oct 2002 18:50:51 +0000 (21:50 +0300)
committerhv <hv@crypt.org>
Sun, 20 Oct 2002 13:39:09 +0000 (13:39 +0000)
Message-ID: <20021016155051.GB268437@lyta.hut.fi>

p4raw-id: //depot/perl@18035

lib/utf8_heavy.pl
t/run/fresh_perl.t

index 50b2d6d..4c5ef27 100644 (file)
@@ -149,8 +149,10 @@ sub SWASHNEW {
        no warnings;
        $extras = join '', grep /^[^0-9a-fA-F]/, @tmp;
        $list = join '',
-           sort { hex $a <=> hex $b }
-           grep {/^([0-9a-fA-F]+)/ and not $seen{$1}++} @tmp; # XXX doesn't do ranges right
+           map  { $_->[1] }
+           sort { $a->[0] <=> $b->[0] }
+           map  { /^([0-9a-fA-F]+)/; [ hex($1), $_ ] }
+           grep { /^([0-9a-fA-F]+)/ and not $seen{$1}++ } @tmp; # XXX doesn't do ranges right
     }
 
     if ($none) {
index 9c2b42f..eb83269 100644 (file)
@@ -844,3 +844,17 @@ ok 1
 ######## [ID 20020623.009] nested eval/sub segfaults
 $eval = eval 'sub { eval "sub { %S }" }';
 $eval->({});
+######## [perl #17951] Strange UTF error
+-W
+# From: "John Kodis" <kodis@mail630.gsfc.nasa.gov>
+# Newsgroups: comp.lang.perl.moderated
+# Subject: Strange UTF error
+# Date: Fri, 11 Oct 2002 16:19:58 -0400
+# Message-ID: <pan.2002.10.11.20.19.48.407190@mail630.gsfc.nasa.gov>
+$_ = "foobar\n";
+utf8::upgrade($_); # the original code used a UTF-8 locale (affects STDIN)
+# matching is actually irrelevant: avoiding several dozen of these
+# Illegal hexadecimal digit '  ' ignored at /usr/lib/perl5/5.8.0/utf8_heavy.pl line 152
+# is what matters.
+/^([[:digit:]]+)/;
+EXPECT