Subject: Re: workaround for pkg/14051
To: YAMAMOTO Takashi <yamt@mwd.biglobe.ne.jp>
From: Manuel Bouyer <bouyer@antioche.eu.org>
List: tech-userlevel
Date: 01/20/2002 21:24:50
On Mon, Jan 21, 2002 at 05:00:02AM +0900, YAMAMOTO Takashi wrote:
> I'm not familiar with perl.
> but I guess that warnings mentioned in PR are due to lack of support of
> some locale categories like LC_COLLATE.

This is possible, I didn't investigate much beyond variables settings.

>  
> > To work around this I propose to set LC_ALL to "C" in the system files
> > (/etc/csh.cshrc and /etc/profile). This can't cause any problems as
> > "C" is the default value used when no variables are set, and this would
> > prevent bad interractions between the NLS and locale systems.
> 
> how about other shells?

ksh uses /etc/profile too.
For other shells, pkgsrc could add a system-wide file with this.

> 
> In addition, according to susv2,
> %L in NLSPATH is defined as LC_MESSAGES, not LANG.
> I think that we shouldn't use LANG for NLS anymore
> if we want to conform to standards.
> 
> I propose:
> - use LC_MESSAGES environment variable for NLS as standards.

What about backward compatibility ? I think we should continue to support
LANG as well.

> - make symbolic links in /usr/share/nls if needed.
>   (eg. de_DE.ISO8859-1 -> de)
>   (or change default NLSPATH to use %l and implement %l ?)
> - store encoding infomation into NLS(gencat) databases for
>   future encoding conversion.
> - (optional) define non-standard NLSPATH keyword(eg. %X) that indicate
>   that LANG is used. and change default NLSPATH to use it if no others
>   are available.

This is a bit beyond my skills, I don't know much about these standarts.
Solaris uses LC_MESSAGES. 

Anyway, I don't think such a change is possible for the 1.5 branch, where my
proposal would solve the problem too.

-- 
Manuel Bouyer <bouyer@antioche.eu.org>
--