Fwd: [rt.cpan.org #83490] options.t fails for non-utf8 locale



FYI;

Here's another patch to try and fix this.  I tested using the following LANG/LC_ALL settings:

LANG=de_DE.ISO8859-1 LC_ALL= LANG=de_DE.ISO8859-1 LC_ALL=hr_HR.ISO8859-2 LANG=de_DE.ISO8859-1 LC_ALL=C LANG=de_DE.ISO8859-1 LC_ALL=POSIX LANG= LC_ALL= LANG= LC_ALL=de_DE.UTF-8 LANG= LC_ALL=en_GB.US-ASCII

The test in question uses multi-byte characters as part of the test, so fails if the current locale is set for 7 or 8 bit one byte characters, which is US-ASCII or any of the ISO8859 codesets.

Please let me know if you have any questions. I can push a new release of Glib in the next few days if I get positive feedback about this fixing the test failures.

Thanks,

Brian

---------- Forwarded message ----------
From: Slaven_Rezic via RT <bug-Glib rt cpan org>
Date: Thu, Apr 18, 2013 at 11:11 PM
Subject: [rt.cpan.org #83490] options.t fails for non-utf8 locale
To:


       Queue: Glib
 Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=83490 >

On 2013-04-18 20:07:49, XAOC wrote:
> Submitted the attached patch to the GTK-Perl mailing list for comment.

Maybe it's better to use I18N::Langinfo (in perl core since 5.8.0) for checking? After all, it's probably not only LANG which should be checked, but also LC_ALL. And there are also other values to force a 7bit locale, e.g. by using en_GB.US-ASCII. See below for some examples.

BTW, are there other 7bit locales besides US-ASCII?

$ env LANG=de_DE.ISO8859-1 LC_ALL= perl -MI18N::Langinfo=langinfo,CODESET -e 'warn langinfo(CODESET)'
ISO8859-1 at -e line 1.
$ env LANG=de_DE.ISO8859-1 LC_ALL=hr_HR.ISO8859-2 perl -MI18N::Langinfo=langinfo,CODESET -e 'warn langinfo(CODESET)'
ISO8859-2 at -e line 1.
$ env LANG=de_DE.ISO8859-1 LC_ALL=C perl -MI18N::Langinfo=langinfo,CODESET -e 'warn langinfo(CODESET)'
US-ASCII at -e line 1.
$ env LANG=de_DE.ISO8859-1 LC_ALL=POSIX perl -MI18N::Langinfo=langinfo,CODESET -e 'warn langinfo(CODESET)'
US-ASCII at -e line 1.
$ env LANG= LC_ALL= perl -MI18N::Langinfo=langinfo,CODESET -e 'warn langinfo(CODESET)'
US-ASCII at -e line 1.
$ env LANG= LC_ALL=de_DE.UTF-8 perl -MI18N::Langinfo=langinfo,CODESET -e 'warn langinfo(CODESET)'
UTF-8 at -e line 1.
$ env LANG= LC_ALL=en_GB.US-ASCII perl -MI18N::Langinfo=langinfo,CODESET -e 'warn langinfo(CODESET)'
US-ASCII at -e line 1.



Attachment: rt83490-skip_options_parse_7bit_locale.23Jun2013.diff
Description: Binary data



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]