◐ Shell
clean mode source ↗

Message 31776 - Python tracker

I wrote that code, so let me comment on it:

The setlocale() function returns the setting that was previously active (see the setlocale (3) man-page). 

Unfortunately, there's no clear standard on the way locales are named. The man-page says:

"""
A locale name is typically of the form language[_territory][.codeset][@modifier], where language is an ISO 639 language code, territory is an ISO 3166 country code, and codeset is a character  set
       or encoding identifier like ISO-8859-1 or UTF-8.  For a list of all supported locales, try "locale -a", cf. locale(1).
"""

"Germany_Germany" is clearly not a locale name that fits the above scheme.

If I do "locale -a" on my box, the "Germany_Germany" is not mentioned in the resulting list, so there's no surprise that  the function call generates an error.

Note that you can set the locale without using setlocale(): all that is needed is an environment variable and that is, of course, not subject to any checks by setlocal().

I'd suggest to close this bug report as invalid.

Thanks.