develooper Front page | perl.perl5.porters | Postings from February 2018

Re: [perl #132901] setlocale's return value is broken

Thread Previous | Thread Next
From:
Karl Williamson
Date:
February 24, 2018 20:15
Subject:
Re: [perl #132901] setlocale's return value is broken
Message ID:
8eef12a1-20a4-d775-2494-0903fabcbfa7@khwilliamson.com
On 02/24/2018 02:00 AM, Slaven Rezic wrote:
> Karl Williamson <public@khwilliamson.com> writes:
> 
>> On 02/23/2018 02:41 PM, Slaven Rezic wrote:
>>> Karl Williamson <public@khwilliamson.com> writes:
>>>
>>>> On 02/23/2018 12:33 AM, slaven@rezic.de wrote:
>>>>> # New Ticket Created by  slaven@rezic.de
>>>>> # Please include the string:  [perl #132901]
>>>>> # in the subject line of all future correspondence about this issue.
>>>>> # <URL: https://rt.perl.org/Ticket/Display.html?id=132901 >
>>>>>
>>>>>
>>>>>
>>>>> This is a bug report for perl from slaven@rezic.de,
>>>>> generated with the help of perlbug 1.41 running under perl 5.27.9.
>>>>>
>>>>>
>>>>> -----------------------------------------------------------------
>>>>> On Linux systems (checked CentOS6 and various Debians) the
>>>>> following call returns binary garbage instead of the current locale:
>>>>>
>>>>>        $ env LC_ALL=de_DE.UTF-8 perl5.27.9 -MPOSIX=setlocale,LC_ALL -e 'warn setlocale(LC_ALL)'
>>>>
>>>> I don't get garbage, but I'm not getting the shortest output possible
>>>> on Ubuntu, which I have a fix for.
>>>>
>>>> Please run the following on a DEBUGGING build, and post the output.
>>>> (The problem will not occur on systems that have querylocale(), nor in
>>>> locales, such as C, where the radix character is a dot)
>>>>
>>>> env LC_ALL=de_DE.UTF-8 env PERL_DEBUG_LOCALE_INIT=1 perl5.27.9 -DLv
>>>> -MPOSIX=setlocale,LC_ALL -e 'warn setlocale(LC_ALL)'
>>>>
>>>> (I don't know the proper syntax of stringing two env's together, so
>>>> adjust if necessary)
>>>
>>> Attached. This is with a slightly newer perl than 5.27.9 (d3a1131).
>>
>> Unfortunately the logging option you selected was lowercase 'l'
>> instead of uppercase, and so its the wrong information.  You might
>> want to try instead doing a checkout of smoke-me/khw-locale, which has
>> several bug fixes related to locales.
> 
> 2nd try, using the smoke-me/khw-locale branch and running
> 
>      env LC_ALL=de_DE.UTF-8 PERL_DEBUG_LOCALE_INIT=1 LD_LIBRARY_PATH=$(pwd) ./perl -Ilib -DLv -MPOSIX=setlocale,LC_ALL -e 'warn setlocale(LC_ALL)' >& /tmp/132901-khw-locale.log

> 
> Log attached.


Please send me config.h for this system

>>>
>>> Regards,
>>>       Slaven
>>>
>>>>>
>>>>> This does not seem to happen if the current locale is C. And I cannot
>>>>> reproduce the problem on FreeBSD systems.
>>>>>
>>>>> The problem does not happen with 5.27.8-157-gef80cd9 or earlier perl
>>>>> versions.
>>>>>
>>>>> (Discovered because the test suite of MSCHOUT/Math-Currency-0.52.tar.gz
>>>>> fails because of this problem).
>>>>>
>>>>> -----------------------------------------------------------------
>>>>> ---
>>>>> Flags:
>>>>>        category=library
>>>>>        severity=low
>>>>>        module=POSIX
>>>>> ---

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About