[New-bugs-announce] [issue35163] locale: setlocale(..., 'eo') sets non-existing locale

Carmen Bianca Bakker report at bugs.python.org
Sun Nov 4 10:54:37 EST 2018

New submission from Carmen Bianca Bakker <carmenbianca at fedoraproject.org>:

See the following script:

>>> import locale
>>> locale.setlocale(locale.LC_ALL, 'eo')
>>> my_locale = locale.getlocale()
>>> my_locale
('eo_XX', 'ISO8859-3')
>>> locale.setlocale(locale.LC_ALL, my_locale)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.7/locale.py", line 604, in setlocale
    return _setlocale(category, locale)
locale.Error: unsupported locale setting

'eo_XX.ISO8859-3' does not exist on Fedora 29 or Debian Stretch. The only Esperanto locales that exists are 'eo' and 'eo.utf8'.  Even so, locale.py defines the Esperanto locales as follows:

    'eo':                                   'eo_XX.ISO8859-3',
    'eo.utf8':                              'eo.UTF-8',
    'eo_eo':                                'eo_EO.ISO8859-3',
    'eo_us.utf8':                           'eo_US.UTF-8',
    'eo_xx':                                'eo_XX.ISO8859-3',

eo_EO used to exist on Debian in the early 2000s, and eo_XX on some other distributions.  Since glibc 2.24 upstreamed Esperanto, however, it has been 'eo[.utf8]'.

I'm not sure whether 'eo_eo', 'eo_us' and/or 'eo_xx' should be removed as keys, but 'eo' should have 'eo.UTF-8' as value.

components: Library (Lib)
messages: 329235
nosy: carmenbianca
priority: normal
severity: normal
status: open
title: locale: setlocale(..., 'eo') sets non-existing locale
versions: Python 3.7

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list