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

From: Jonathan Reeve <[email-masked]>
Date: Mon, 05 Sep 2022 22:41:15 +0000

“Gregory Heytings” <[email-masked]> writes:

> Well, “eo.UTF-8/UTF-8” is indeed not a supported locale.  Why did you
> include it in your configuration?  “eo.UTF-8” (without a “/UTF-8”) is
> definitely supported by glibc.  What do you get if you configure it like
> this:
>
> i18n = { defaultLocale = “eo.UTF-8”; };
>
> ?

Well, this is getting into the weeds a bit about NixOS, and isn’t really relevant here, but just to humor you, configuring it like that results in the same error. Look at [the documentation for supportedLocales] and [the documentation on defaultLocale], in particular their examples. “eo.UTF-8/UTF-8” is the way they want you to write that in `supportedLocales'. You can also [check out the way it’s implemented], which involves normalizing those locale strings such that they match the ones provided by glibc.
>
>>
>> FWIW, my system doesn’t have the obsolete X11 locale.alias file, and I
>> don’t use X11.
>>
>
> Then I guess Emacs doesn’t use it, which is why your suggested fix worked
> on NixOS but wouldn’t work on a Debian-based system.
>

It’s an obsolete file, as has been pointed out upthread, so it’s not in use at all, period. And whether or not you use X11 has nothing to do with whether or not you use Debian. The fix I’m suggesting would work equally as well on Debian as NixOS, or any Linux-based system, since they use the same system for locales. But don’t take my word for it. Try it yourself.

>>
>> So it seems to me transparently clear that the encoding for the `eo’
>> locale is UTF-8, and yet somehow emacs has its own, separate opinions,
>> which don’t seem to be based on fact.
>>
>
> The story is a bit more complex than that, as you may have seen in the
> previous messages in this thread.

If there’s a reason that Emacs needs to maintain its own locale/charset mapping, separate and different from that of the system, I’m all ears. But to me it looks unnecessary and causes errors, like the one I’m trying to report here.

[the documentation for supportedLocales] <https://search.nixos.org/options?channel=unstable&show=i18n.supportedLocales&from=0&size=50&sort=relevance&type=packages&query=i18n>

[the documentation on defaultLocale] <https://search.nixos.org/options?channel=unstable&show=i18n.defaultLocale&from=0&size=50&sort=relevance&type=packages&query=i18n>

[check out the way it’s implemented] <https://github.com/NixOS/nixpkgs/blob/93c57a988470c1948976b1bb70abbd5855c5b810/nixos/modules/config/i18n.nix#L57>