/usr/bin/locale steadfastly delivers 8 bit output independent of
Nicholas Clark [Sun, 4 Jul 2004 15:14:33 +0000 (15:14 +0000)]
LC_ALL. So when perl's expecting utf8, things don't quite work right.
This has become visible since fix 22842

p4raw-id: //depot/perl@23028

lib/locale.t

index a294d2f..037e271 100644 (file)
@@ -382,6 +382,10 @@ delete @ENV{qw(IFS CDPATH ENV BASH_ENV)};
 
 if (-x "/usr/bin/locale" && open(LOCALES, "/usr/bin/locale -a 2>/dev/null|")) {
     while (<LOCALES>) {
+       # It seems that /usr/bin/locale steadfastly outputs 8 bit data, which
+       # ain't great when we're running this testPERL_UNICODE= so that utf8
+       # locales will cause all IO hadles to default to (assume) utf8
+       next unless utf8::valid($_);
         chomp;
        trylocale($_);
     }