Subject: Re: bug#57531: 28.1; Character encoding missing for "eo"

From: Gregory Heytings <[email-masked]>
Date: Thu, 06 Oct 2022 11:28:59 +0000

>>> This does work (with or without the patch):
>>>
>>> LANG=eo.UTF-8 ./src/emacs -Q
>>> current-locale-environment
>>> "eo.UTF-8"
>>
>> But it requires the eo.UTF-8 locale to be available, AFAIU, and for 
>> that reason somehow didn't work for the OP.  I don't think I understood 
>> why it didn't work for him.  I still hope the OP will come back and 
>> help us understand that.

Actually that problem has been debugged: it's a NixOS bug.  NixOS rejects 
the locale to "eo.UTF-8" in its configuration files, even though 
"eo.UTF-8" is a perfectly valid locale.  It rejects it because the 
"eo.UTF-8" string is not present in some text file (apparently the 
"localedata/SUPPORTED" file from glibc).

>
> Yes, that would be helpful.  On this Ubuntu system, I just uncommented 
> the "eo" line in locale.gen and ran locale-gen, and that made both the 
> "eo" and "eo.UTF-8" locales available.
>

Another similar example is the en_IL (English Israel) locale.  X11's 
locale.alias indicates that "en_IL" alone means "en_IL.ISO8859-1", yet 
glibc provides only one encoding for "en_IL", namely "UTF-8".

To avoid such bugs, the most reasonable thing to do for users is to always 
specify the encoding.