From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.kundenserver.de (mout.kundenserver.de [212.227.126.134]) by sourceware.org (Postfix) with ESMTPS id E009E385843A for ; Sat, 25 Mar 2023 21:19:48 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E009E385843A Authentication-Results: sourceware.org; dmarc=fail (p=none dis=none) header.from=cygwin.com Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=cygwin.com Received: from calimero.vinschen.de ([24.134.7.25]) by mrelayeu.kundenserver.de (mreue012 [212.227.15.167]) with ESMTPSA (Nemesis) id 1MDeAZ-1pn1BU2Jj5-00ArBz for ; Sat, 25 Mar 2023 22:19:47 +0100 Received: by calimero.vinschen.de (Postfix, from userid 500) id 0FF71A80CBD; Sat, 25 Mar 2023 22:19:47 +0100 (CET) Date: Sat, 25 Mar 2023 22:19:47 +0100 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: newlocale: Linux incompatibility Message-ID: Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <8f2b7a49-2878-8481-233c-146fdb9a0e69@Shaw.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <8f2b7a49-2878-8481-233c-146fdb9a0e69@Shaw.ca> X-Provags-ID: V03:K1:jV0vUfoZg7SZxIwutbkeBNBg9vxz8Y8OQiLQE4ch3M2p9LYUj1u wObNc13LcncNBG7bnQAGaaWvhQ9ckfKrGoPP+HkfepkD9WjWgCAgIVNqHKLgS6beeIz3Ldf hYe28pQHMYiCwX5HDyarRpnvQd4/N2vUV4uXrAgBvwnTbHfkMMCBAXANmtZ6pu6A8ZKmWRn IRDh7rnuruBMs8rUSetbQ== UI-OutboundReport: notjunk:1;M01:P0:fyGUOtBLjf4=;PeIWUj/6P1oQdyP1sBlSytwl+Ws /J7G7ivOWalOLjHnd0rIyTNAehNtJkvcIF/Ds4vLFuYE6jSY+dBJXC2rqsEJlFcVoqTu3CHI+ 6jSSttFeal+kGo45H6Gr1NfTljCLmcBbO3ie+fhvueZVSZrXsuc//zDwX35RRfllfUQUQi6oI bHlVn9JSMJQubI6BU02sfhSyxzYkborzNnyk8COHMgngqKvg44ZjoQ0yEXew1uTJif6EExlXy kji7QSX+ycKWxq9xEfv4Vg27Vp3tr1l4FBKRwg3EZwOsOredVsfI6bkLAD9wOkefEIBtbBeqQ uq4W2/ekPA7HYGFXfVsihyDnDASSa2SS1XvPxMnY3cU+5A+5dsUxVFgcMRJ5NdzJ+Gh2YOKPS C50E7BejmlFoeRuaQsw2U97AKlQvOlFQcAoRUWZXzubalWOn8Dk4R1qD1kJ69CNoCX4P+EvQj D3JeyiojU0znKKaHc9b89uXh9pefsNqqOuyaf1DPcEdkFHsc8XOBcJTfPbQtFevsMP3xW5dGB jxw38YEJgDT1XI7LzIQGf50R9KUheNUJVSlH36bHAKw+PqWBceRNy4ao0/SpBbVkEVpDO6dT3 jV1FWQfAn2znZWzg/O+0vVH4FJRJ9KIhb/Z/WPGLFt5WZKOrUwx7MTbWWn5SLImmKKvpFv5kt rsOXBA/SO6p9NGAhmS5rYUcKFdfofkQTV2e3+mpMeg== X-Spam-Status: No, score=-97.7 required=5.0 tests=BAYES_00,GOOD_FROM_CORINNA_CYGWIN,KAM_DMARC_NONE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_FAIL,SPF_HELO_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On Mar 25 13:03, Brian Inglis via Cygwin wrote: > On 2023-03-25 05:49, Corinna Vinschen via Cygwin wrote: > > On Mar 24 16:49, Brian Inglis via Cygwin wrote: > > I never heard about an environment variable called LANGUAGE. This is > > about LANG/LC_ALL/LC_whatever, so POSIX syntax is required... > > Used by gettext: > > https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html Ok, I'm not using that because I didn't even know that. But I'm not sure why you even mention it, it has nothing to do with Cygwin's locale implementation which is based on the POSIX definitions. Exception here is where the data comes from since we don't maintain locale definition files and thus we don't follow https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap07.html to the letter. > > > Aha - a nice new 3.5.0 feature - as well as /proc/codesets - is that > > > charsets e.g. ISO-10646, etc. rather than encodings e.g. UTF-8, etc.! > > > It's a list of what you can use as codeset in $LANG and friends as in > > LC_CTYPE=lang_TERRITORY.codeset@modifier > > You are using codeset to mean encoding, whereas in Unicode and W3 it usually > means coded character set/charset; it can also mean charmap; see iconv(1): I'm using the POSIX definition here. Codeset is codeset, as in https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html Quote: If the locale value has the form: language[_territory][.codeset] it refers to an implementation-provided locale, where settings of language, territory, and codeset are implementation-defined. So I'm using the name "codesets" to follow POSIX documentation for setting the matching locale environment variables, exactly to avoid confusion. Corinna