Deutsch   English   Français   Italiano  
<vp6f1v$2n5hh$1@dont-email.me>

View for Bookmarking (what is this?)
Look up another Usenet article

Path: ...!weretis.net!feeder9.news.weretis.net!news.quux.org!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!eternal-september.org!.POSTED!not-for-mail
From: Janis Papanagnou <janis_papanagnou+ng@hotmail.com>
Newsgroups: comp.unix.shell
Subject: Re: Sorting problem with Unix sort(1) with UTF-8 punctuation
 characters - locale issue
Date: Thu, 20 Feb 2025 06:37:01 +0100
Organization: A noiseless patient Spider
Lines: 54
Message-ID: <vp6f1v$2n5hh$1@dont-email.me>
References: <vp4f6o$288ui$1@dont-email.me>
 <slrnvrcfcl.3e0.naddy@lorvorc.mips.inka.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
Injection-Date: Thu, 20 Feb 2025 06:37:03 +0100 (CET)
Injection-Info: dont-email.me; posting-host="0a141bca8606bb24a822df04edda26e8";
	logging-data="2856497"; mail-complaints-to="abuse@eternal-september.org";	posting-account="U2FsdGVkX1+4zsSYBhGX3MW0xa9yICZn"
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
 Thunderbird/45.8.0
Cancel-Lock: sha1:afyLBM1SuGItgPlyRJ0gP5UAeM0=
X-Enigmail-Draft-Status: N1110
In-Reply-To: <slrnvrcfcl.3e0.naddy@lorvorc.mips.inka.de>
Bytes: 4119

On 19.02.2025 21:22, Christian Weisgerber wrote:
> 
> My working hypothesis would be that setting LC_TIME to a nonexistent
> locale causes an error that invalidates the _whole_ locale setting
> and causes a fallback to a default setting, likely the "C" locale.

One thing I've forgotten to mention here; if an unknown locale is used
I get an error "...: unknown locale". But it seems to be sufficient if
the first part (e.g. "de_DE") is existing to not create a diagnostic.
Suffixes as in "de_DE.xyz" are not notified as errors. So, yes, some
fall-back/default must be in place since the commands are executed
anyway, even with a notified wrong locale. I'd expect that "de_DE.xyz"
would fall back to "de_DE", but that is speculation. (A peek into the
'strace' differences didn't really enlighten me.[*])

Janis

[*] For  LC_ALL=de_DE.xyz@abc  for example:

open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib/locale/de_DE.xyz@abc/LC_IDENTIFICATION",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE@abc/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC)
= -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de.xyz@abc/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC)
= -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de@abc/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) =
-1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE.xyz/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC)
= -1 ENOENT (No such file or directory)
open("/usr/lib/locale/de_DE/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/usr/lib/locale/de.xyz/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) =
-1 ENOENT (No such file or directory)
open("/usr/lib/locale/de/LC_IDENTIFICATION", O_RDONLY|O_CLOEXEC) = -1
ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE.xyz@abc/LC_IDENTIFICATION",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE@abc/LC_IDENTIFICATION",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.xyz@abc/LC_IDENTIFICATION",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de@abc/LC_IDENTIFICATION",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE.xyz/LC_IDENTIFICATION",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de_DE/LC_IDENTIFICATION",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de.xyz/LC_IDENTIFICATION",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/de/LC_IDENTIFICATION",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)