C++ Logo

SG16

Advanced search

Subject: Re: New draft revision: D2029R2 (Proposed resolution for core issues 411, 1656, and 2333; numeric and universal character escapes in character and string literals)
From: Corentin Jabot (corentinjabot_at_[hidden])
Date: 2020-06-28 01:03:31


On Sun, 28 Jun 2020 at 07:37, Corentin Jabot <corentinjabot_at_[hidden]>
wrote:

>
>
> On Sun, Jun 28, 2020, 06:50 Tom Honermann via SG16 <sg16_at_[hidden]>
> wrote:
>
>> A new draft revision of P2029 (Proposed resolution for core issues 411,
>> 1656, and 2333; numeric and universal character escapes in character and
>> string literals) is now available at
>> https://rawgit.com/sg16-unicode/sg16/master/papers/d2029r2.html. This
>> addresses the CWG feedback provided during the March 23rd, 2020 core
>> issues processing teleconference
>> <http://wiki.edg.com/bin/view/Wg21summer2020/IssuesProcessingTeleconference2020-03-23>
>> .
>>
>> Wording review feedback prior to the next Core issues processing
>> teleconference would be much appreciated!
>>
> I really like the overall direction, a few comments:
> - Can we not make conditionally supported escape sequences part of the
> grammar?
>

What I would do:
simple-escape-sequence:
    any member of the basic source character set other than u, U, x, and
the members of octal-digit

And in 5.13, keep
Escape sequences not listed in Table 9 are conditionally supported, with
implementation-defined semantics

I would also keep
An escape sequence specifies a single fcode unit.

> - Can we not add notes for stateful encodings? It doesn't add anything.
> - Wide multi character literals were not a thing, let's not make them one
> now. same for conditional character literals and conditional wide
> character literals.
>
> Instead, please add text in (Z) to describe them?
> ie:
>
> -ordinary and wide characters literal consisting of a single basic-c-char,
> simple-escape-sequence, or universal-character-name that specifies a
> character that either lacks representation in the associated character
> encoding or that cannot be encoded as a single code unit
> are conditionally supported and have an implementation-defined value
> - A wide character literal consisting of multiple c-chars is
> conditionally-supported and has an implementation-defined value.
>
>
> Please change
> The sequence of characters denoted by each contiguous sequence of
> basic-s-chars, r-chars, simple-escape-sequences ([lex.ccon]), and
> universal-character-names ([lex.charset]) is encoded to a code unit sequence
> To
> Each basic-s-chars, r-chars, simple-escape-sequences ([lex.ccon]), and
> universal-character-names ([lex.charset]) is encoded to a code unit sequence
>
>
>
> - please replace applicable character encoding by character encoding
> - not sure replacing `\0` by null character is an improvement
>
>
> Corentin
>
> Tom.
>> --
>> SG16 mailing list
>> SG16_at_[hidden]
>> https://lists.isocpp.org/mailman/listinfo.cgi/sg16
>>
>



SG16 list run by sg16-owner@lists.isocpp.org