Re: setlocale.3: Wording issues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Michael,

On 1/8/21 1:45 PM, Michael Kerrisk (man-pages) wrote:
> On 1/8/21 12:41 PM, Alejandro Colomar (man-pages) wrote:
>> Hi Michael,
>>
>> On 1/8/21 10:26 AM, Michael Kerrisk (man-pages) wrote:
>>> Hi Alex,
>>>
>>> On 1/7/21 7:32 PM, Alejandro Colomar (man-pages) wrote:
>>>> Hi Michael,
>>>>
>>>> I don't understand what this paragraph means, I think it needs some wfix.
>>>>
>>>> Around setlocale.3:179:
>>>> [
>>>>        On  startup  of  the main program, the portable "C" locale is
>>>>        selected as default.  A program may be made portable  to  all
>>>>        locales by calling:
>>>>
>>>>            setlocale(LC_ALL, "");
>>>>
>>>>        after  program  initialization,  by using the values returned
>>>>        from a localeconv(3) call for  locale-dependent  information,
>>>>        by  using the multibyte and wide character functions for text
>>>>        processing if MB_CUR_MAX > 1, and by  using  strcoll(3),  wc‐
>>>>        scoll(3) or strxfrm(3), wcsxfrm(3) to compare strings.
>>>>
>>>> <<<Especially these last 2 lines
>>>>
>>>> ]
>>>
>>> I see what you mean. I had to read that a few times to parse it.
>>> It looks like the text was added in 1999. I think the following
>>> clarifies and preserves the meaning:
>>>
>>> [[
>>>        On startup of the main program, the portable "C" locale is select‐
>>>        ed  as  default.  A program may be made portable to all locales by
>>>        calling:
>>>
>>>            setlocale(LC_ALL, "");
>>>
>>>        after program initialization, and then:
>>>
>>>        (a) using the values returned from a localeconv(3)  call  for  lo‐
>>>            cale-dependent information;
>>>
>>>        (c) using the multibyte and wide character functions for text pro‐
>>>            cessing if MB_CUR_MAX > 1; and
>>>
>>>        (c) using strcoll(3), wcscoll(3) or strxfrm(3), wcsxfrm(3) to com‐
>>>            pare strings.
>>> ]]
>>>
>>> What do you think?
>>
>> Much better.
>>
>> But I still don't get why [A, B or  C, D].  What does it mean?
> 
> I don't read it that way. I see it as: [A and (B and/or C and/or D].
> Do you see what I mean?

About the three lines (a) (b) (c) as a whole, yes, I understand that part.
About [strcoll(3), wcscoll(3) or strxfrm(3), wcsxfrm(3)], nope, I still
can't understand the punctuation there.
So I can't parse the inner contents of (c).

Thanks,

Alex

> 
> Thanks,
> 
> Michael
> 
> 

-- 
Alejandro Colomar
Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
http://www.alejandro-colomar.es/



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux