perl giving setlocale failures with recent cygwin's, Egor please comment?

Christopher Faylor cgf@redhat.com
Thu Aug 29 07:55:00 GMT 2002


On Thu, Aug 29, 2002 at 04:44:41PM +0200, Corinna Vinschen wrote:
>On Thu, Aug 29, 2002 at 10:34:25AM -0400, Chris Faylor wrote:
>> On Thu, Aug 29, 2002 at 10:58:47PM +0900, Kazuhiro Fujieda wrote:
>> >>>> On Thu, 29 Aug 2002 12:56:52 +0400
>> >>>> egor duda <deo@logos-m.ru> said:
>> >
>> >> Yes, it's definitely so. Previously, setlocale (LC_CTYPE, "") was
>> >> returning "C", while now, in MB_CAPABLE configuration, it returns NULL.
>> >> 
>> >> I'm not sure whether it's better to fix it in newlib or in perl, though.
>> >
>> >setlocale(category, "") commonly returns "C" when any relevant
>> >environment variables aren't set. The MB_CAPABLE version of
>> >setlocale should be fixed.
>> 
>> Is it not doing that?  AFAICT, that's how it works.
>
>AFAICS, it doesn't init itself by getting the env. vars settings.
>In the special case of setlocale(LC_ALL, "") it initializes itself
>to the "C" locale instead.  But all other setlocale(LC_xxx, "")
>return NULL.

It's not that simple.  In the case of LC_CTYPE and LC_MESSAGES, in
the perl usage, it will return NULL.  It returns "C" for everything
else.

This function differs a lot from the BSD function of the same name.
I wonder if just importing a newer version from BSD would solve
the problem.

cgf



More information about the Cygwin-developers mailing list