From: "Michael Kerrisk (man-pages)" <mtk.manpages@gmail.com>
To: "Alejandro Colomar (man-pages)" <alx.manpages@gmail.com>
Cc: mtk.manpages@gmail.com, linux-man <linux-man@vger.kernel.org>,
Bruno Haible <bruno@clisp.org>
Subject: Re: setlocale.3: Wording issues
Date: Fri, 8 Jan 2021 14:17:21 +0100 [thread overview]
Message-ID: <879e52c6-e4f7-e5ea-5766-4893d01038db@gmail.com> (raw)
In-Reply-To: <51d1c9c9-5d86-264b-e86c-7cccd9401f7b@gmail.com>
[CC += Bruno]
Hi Alex,
On 1/8/21 2:05 PM, Alejandro Colomar (man-pages) wrote:
> 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).
Ah sorry. Now I see what you mean. I'm not sure of this, but I suspect
that it's supposed to mean:
Use [strcoll(3)+strxfrm(3)] for non-wide-char strings and
[wcscoll(3)+wcsxfrm(3)] for wide char strings.
Maybe Bruno can help.
Thanks,
Michael
--
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/
next prev parent reply other threads:[~2021-01-08 13:18 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-07 18:32 setlocale.3: Wording issues Alejandro Colomar (man-pages)
2021-01-08 9:26 ` Michael Kerrisk (man-pages)
2021-01-08 11:41 ` Alejandro Colomar (man-pages)
2021-01-08 12:45 ` Michael Kerrisk (man-pages)
2021-01-08 13:05 ` Alejandro Colomar (man-pages)
2021-01-08 13:17 ` Michael Kerrisk (man-pages) [this message]
2021-01-08 13:21 ` Alejandro Colomar (man-pages)
2021-01-08 16:10 ` Bruno Haible
2021-01-09 8:42 ` Michael Kerrisk (man-pages)
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=879e52c6-e4f7-e5ea-5766-4893d01038db@gmail.com \
--to=mtk.manpages@gmail.com \
--cc=alx.manpages@gmail.com \
--cc=bruno@clisp.org \
--cc=linux-man@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox