bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


From: Gregory Heytings
Subject: bug#57531: 28.1; Character encoding missing for "eo"
Date: Mon, 05 Sep 2022 23:14:17 +0000



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.


Then it sounds like it's a NixOS bug. As I said, eo.UTF-8 is definitely a valid locale, and is supported by glibc, so there is no reason that NixOS should reject it just because it's not present in some text file. You can try it:

#include <stdio.h>
#include <locale.h>
#define CHECK(L) if (!setlocale (LC_ALL, L)) printf ("invalid locale %s\n", L);
int main ()
{
  CHECK ("eo");
  CHECK ("eo.UTF-8");
}

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.


No, it's another one that is obsolete: /usr/share/locale/locale.alias is obsolete, /usr/share/X11/locale/locale.alias is not, it has last been updated on February 2nd. It is used at least by libx11 and by Emacs.

And no, the fix you suggested does not work on Debian. I tried it myself, it has no effect whatsoever. When /usr/share/X11/locale/locale.alias is present, the information it contains takes precedence over those in locale-language-names.
reply via email to

[Prev in Thread] Current Thread [Next in Thread]