delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2011/09/17/17:50:22

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-1.4 required=5.0 tests=AWL,BAYES_00,RP_MATCHES_RCVD,SPF_NEUTRAL
X-Spam-Check-By: sourceware.org
Message-ID: <4E751602.8070201@cornell.edu>
Date: Sat, 17 Sep 2011 17:49:54 -0400
From: Ken Brown <kbrown AT cornell DOT edu>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:6.0.2) Gecko/20110902 Thunderbird/6.0.2
MIME-Version: 1.0
To: cygwin AT cygwin DOT com
Subject: Re: cygwin started speaking German today
References: <7856072A9D04C24B82DFE2B1112FE38A0C27492B56 AT MCHP058A DOT global-ad DOT net> <201109081246 DOT 23238 DOT bruno AT clisp DOT org> <4E68AF35 DOT 9030002 AT cwilson DOT fastmail DOT fm> <201109082344 DOT 55506 DOT bruno AT clisp DOT org> <4E69D9EA DOT 2050004 AT cwilson DOT fastmail DOT fm> <CAHWeT-bQ=Qm7qyWzb9s-=Lfgwjh-vHrEk2BvYQS6X6707+EWMg AT mail DOT gmail DOT com> <20110909145921 DOT GA27289 AT calimero DOT vinschen DOT de> <4E6F7AA1 DOT 4090808 AT redhat DOT com> <20110917204041 DOT GC28100 AT jethro DOT local DOT lan>
In-Reply-To: <20110917204041.GC28100@jethro.local.lan>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On 9/17/2011 4:40 PM, David Sastre wrote:
> On Tue, Sep 13, 2011 at 09:45:37AM -0600, Eric Blake wrote:
>> On 09/09/2011 08:59 AM, Corinna Vinschen wrote:
>>> On Sep  9 13:33, Andy Koppe wrote:
>>>> The 'C.UTF-8' default locale is not a bug, it was a deliberate design decision.
>>>
>>> Exactly.  And it has been discussed a lot on the cygwin-apps mailing
>>> list.
>>>
>>> And above all, there *is* an official way for the user to align the
>>> Cygwin locale with the Windows locale, see the -s and -u options
>>> of the locale(1) command:
>>>
>>>    http://cygwin.com/cygwin-ug-net/using-utils.html#locale
>>
>> On 09/09/2011 09:09 AM, Corinna Vinschen wrote:
>>>> OK, then the following four facilities are needed in Cygwin.
>>>>
>>>> 1) We need the name of the locale which is in effect when the user has
>>>>      not specified environment variables.
>>>
>>> In Fedora, for instance, the fallback is what is set as system default
>>> in /etc/sysconfig/i18n.
>>>
>>> In Cygwin the fallback is the system default set in
>> /etc/profile.d/lang.sh
>>> or /etc/profile.d/lang.csh.
>>>
>>> Why should libintl use anything else on Cygwin, but not on Linux?
>>>
>>
>> Given this, I think the bug is in cygwin for having base files
>> /etc/profile.d/lang.{sh,csh} which hardcode LANG to C.UTF-8 instead
>> of using locale -s -u to default LANG to the preferred Windows
>> settings. Libintl should NOT be second-guessing an explicit setting
>> of LANG, but cygwin should NOT be explicitly setting LANG to C.UTF-8
>> in its default startup scripts without any regards to the Windows
>> settings.  Whether setlocale(LC_ALL,"") returns C.UTF-8 or a
>> Windows-appropriate string _when LANG is undefined_ is still worth
>> solving, but right now, an out-of-the-box cygwin installation
>> _always has LANG defined_ by the default startup scripts.  So our
>> first focus should be to get that setting of LANG fixed to honor
>> Windows, and to teach libintl that when LANG is set we really meant
>> it.
>
> WRT the base-files package, would it be acceptable/does it make sense to set:
>
> test -z "${LC_ALL:-${LC_CTYPE:-$LANG}}"&&  export LANG=${locale -sU}
>
> in /etc/profile.d/lang.sh and
>
> if ( $?LC_ALL == 0&&  $?LC_CTYPE == 0&&  $?LANG == 0 ) setenv LANG = `locale -sU`
>
> in /etc/profile.d/lang.csh, both as proposed, _and_ a (possibly) commented-out
>
> test -z "${LC_ALL:-${LC_CTYPE:-$LANG}}"&&  export LANG=${locale -uU}
>
> in the skeletal .bash_profile and .profile (i.e. both system-wide and
> user defined settings)?

If you want the user-defined setting to take effect, wouldn't you have 
to omit the `test -z ...'?  LANG will already be set when .bash_profile 
is processed.

Ken


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019