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

From: Eli Zaretskii <[email-masked]>
Date: Mon, 05 Sep 2022 14:29:58 +0300

> Date: Sun, 04 Sep 2022 23:35:37 +0000
> From: Gregory Heytings <[email-masked]>
> cc: Jonathan Reeve <[email-masked]>, [email-masked]
> 
> >> `("eo" "Esperanto" utf-8)'
> >
> > That's only correct for glibc systems, though, as I already explained. I 
> > found no authoritative place on the Internet which would mandate that 
> > the Esperanto locale should use or prefer UTF-8 as its encoding.
> >
> 
> I don't think it's possible to find a truly authoritative source of 
> information about an artificial language.  One semi-authoritative source 
> is Bertilo Wennergren, who is (according to Wikipedia) a member of the 
> Esperanto Academy and "holds the post of director of the Academy's General 
> Dictionary section".  He appears to be the expert on that matter (namely 
> computer encodings for Esperanto), and explains on his website that:
> 
> Latino 3 is made for Esperanto and for the Galician, Maltese and Turkish 
> languages. However, few computer programs support Latin 3, and some bodies 
> have even directly discouraged the use of Latin 3. The Turks currently 
> prefer the character code Latin 5 (ISO 8859-9) . Esperantists also 
> currently prefer and should prefer Unicode instead of Latin 3. [1, 
> translation from Google]
> 
> He also gives instructions on how to configure a GNU/Linux distribution 
> for Esperanto:
> 
> To be able to use Esperanto well in Linux, it is necessary that the system 
> uses a Unicode locale. Fortunately, more or less all Linux distributions 
> currently use Unicode locales by default. To check which character code 
> your system's locale uses, type the following command: "locale charmap". 
> If the answer appears "UTF-8" (that is the most commonly used code 
> representation of Unicode), then everything about character code in your 
> locale is already in order. [2, translation from Google]

If we were designing support for this locale today, we'd probably have
used UTF-8 as its default encoding.  But this is not the case: this
locale with its data exists for many years, and I'd like to avoid
changing the default encoding if a better solution exists.  Especially
since at this point it is not yet clear why this doesn't work on OP's
system, given the fact that locale.alias should have told Emacs what
encoding to use, before falling back on what we have in
language-info-alist.  See also my other message.

> So it seems safer to assume that the coding system is UTF-8 when the 
> locale is "eo" (which IIUC is what the above suggested change does), and 
> to expect users who would not like that default to add
> 
> (prefer-coding-system 'iso-latin-3)
> 
> in their init file, than to assume ISO-8859-3 when the locale is "eo" 
> (which IIUC is what Emacs currently does), and to expect users who do not 
> like that default to add

It is not clear to me yet that we need to change the current
assumption, since on well-configured system the correct encoding
should be stated in locale.alias, in which Emacs looks before it falls
back to language-info-alist.