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)