On Sun, Jun 22, 2014 at 2:56 AM, Michał Górny <[email protected]> wrote:
> Dnia 2014-06-21, o godz. 20:01:50
> Mike Gilbert <[email protected]> napisał(a):
>
>> Index: python-utils-r1.eclass
>> ===================================================================
>> RCS file: /var/cvsroot/gentoo-x86/eclass/python-utils-r1.eclass,v
>> retrieving revision 1.58
>> diff -u -r1.58 python-utils-r1.eclass
>> --- python-utils-r1.eclass 19 Jun 2014 15:10:55 -0000 1.58
>> +++ python-utils-r1.eclass 21 Jun 2014 23:51:45 -0000
>> @@ -1110,5 +1110,33 @@
>> fi
>> }
>>
>> +# @FUNCTION: python_export_utf8_locale
>> +# @RETURN: 0 on success, 1 on failure.
>> +# @DESCRIPTION:
>> +# Attempts to export a usable UTF-8 locale in the LC_CTYPE variable. Does
>> +# nothing if LC_ALL is defined, or if the current locale uses a UTF-8
>> charmap.
>> +# This may be used to work around the quirky open() behavior of python3.
>> +python_export_utf8_locale() {
>> + debug-print-function ${FUNCNAME} "${@}"
>> +
>> + if [[ -z ${LC_ALL} && $(locale charmap) != UTF-8 ]]; then
>
> What about people with LC_ALL set? Should we complain?
>
Yeah, I guess that makes sense. I just wanted to avoid overriding it
and causing people to get messages in another language, etc.
>> + # Try English first, then everything else.
>> + local lang locales="en_US.UTF-8 $(locale -a)"
>
> I think we should start with C.UTF-8 :).
>
I agree. However, our glibc doesn't actually support that. ^_^
>> +
>> + for lang in ${locales}; do
>> + if [[ $(LC_CTYPE=${lang} locale charmap) == UTF-8 ]];
>> then
>
> This is a bit verbose when you try a locale that isn't supported.
> I suggest 2>/dev/null.
>
Will do.
>> + export LC_CTYPE=${lang}
>> + return 0
>> + fi
>> + done
>> +
>> + ewarn "Could not find a UTF-8 locale."
>
> I think you ought to be a little more verbose here. The user doesn't
> see anything else so he'll have no idea what's happening.
>
Will do.