I believe all the formatting infelicities are now fixed, and I've uploaded to the wiki at https://wiki.edg.com/pub/Wg21telecons2022/Teleconference2022-03-11/d2071r2.html
The actual paper has proper m-dash bullets for the universal-character-name text, but they don't seem to have translated to the paste into gmail below. 

11 Wording

These changes are relative to [N4901] “Working Draft, Standard for Programming Language C++”

Modify [lex.charset]

(lex.charset.3)The universal-character-name construct provides a way to name other characters.


              n-char: one of
                     A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
                     0 1 2 3 4 5 6 7 8 9
                     U+002D HYPHEN-MINUS
                     U+0020 SPACE

              n-char-sequence:
                     n-char
                     n-char-sequence n-char

              named-universal-character:
                     \N { n-char-sequence }

              hex-quad:
                     hexadecimal-digit hexadecimal-digit hexadecimal-digit hexadecimal-digit

              universal-character-name:
                     \u hex-quad
                     \U hex-quad hex-quad
                     named-universal-character

universal-character-name of the form \u hex-quad or \U hex-quad hex-quad designates the character in the translation character set whose UCS scalar value is the hexadecimal number represented by the sequence of hexadecimal-digits in the universal-character-name. The program is ill-formed if that number is not a UCS scalar value.

universal-character-name that is a named-universal-character designates the character named by its n-char-sequence. A character is so named if the n-char-sequence is equal to

  • the associated character name or associated character name alias specified in ISO/IEC 10646 subclause “Code charts and lists of character names” or
  • the control code alias given in Table X.

[Note: The aliases in table X are provided for control characters which otherwise have no associated character name or character name alias. These names are derived from the Unicode Character Database’s NameAliases.txt. For historical reasons, control characters are formally unnamed. – end note]

Table X

Code point
Control Code Alias
U+0000NULL
U+0001START OF HEADING
U+0002START OF TEXT
U+0003END OF TEXT
U+0004END OF TRANSMISSION
U+0005ENQUIRY
U+0006ACKNOWLEDGE
U+0007ALERT
U+0008BACKSPACE
U+0009CHARACTER TABULATION
U+0009HORIZONTAL TABULATION
U+000ALINE FEED
U+000ANEW LINE
U+000AEND OF LINE
U+000BLINE TABULATION
U+000BVERTICAL TABULATION
U+000CFORM FEED
U+000DCARRIAGE RETURN
U+000ESHIFT OUT
U+000ELOCKING-SHIFT ONE
U+000FSHIFT IN
U+000FLOCKING-SHIFT ZERO
U+0010DATA LINK ESCAPE
U+0011DEVICE CONTROL ONE
U+0012DEVICE CONTROL TWO
U+0013DEVICE CONTROL THREE
U+0014DEVICE CONTROL FOUR
U+0015NEGATIVE ACKNOWLEDGE
U+0016SYNCHRONOUS IDLE
U+0017END OF TRANSMISSION BLOCK
U+0018CANCEL
U+0019END OF MEDIUM
U+001ASUBSTITUTE
U+001BESCAPE
U+001CINFORMATION SEPARATOR FOUR
U+001CFILE SEPARATOR
U+001DINFORMATION SEPARATOR THREE
U+001DGROUP SEPARATOR
U+001EINFORMATION SEPARATOR TWO
U+001ERECORD SEPARATOR
U+001FINFORMATION SEPARATOR ONE
U+001FUNIT SEPARATOR
U+007FDELETE
U+0082BREAK PERMITTED HERE
U+0083NO BREAK HERE
U+0084INDEX
U+0085NEXT LINE
U+0086START OF SELECTED AREA
U+0087END OF SELECTED AREA
U+0088CHARACTER TABULATION SET
U+0088HORIZONTAL TABULATION SET
U+0089CHARACTER TABULATION WITH JUSTIFICATION
U+0089HORIZONTAL TABULATION WITH JUSTIFICATION
U+008ALINE TABULATION SET
U+008AVERTICAL TABULATION SET
U+008BPARTIAL LINE FORWARD
U+008BPARTIAL LINE DOWN
U+008CPARTIAL LINE BACKWARD
U+008CPARTIAL LINE UP
U+008DREVERSE LINE FEED
U+008DREVERSE INDEX
U+008ESINGLE SHIFT TWO
U+008ESINGLE-SHIFT-2
U+008FSINGLE SHIFT THREE
U+008FSINGLE-SHIFT-3
U+0090DEVICE CONTROL STRING
U+0091PRIVATE USE ONE
U+0091PRIVATE USE-1
U+0092PRIVATE USE TWO
U+0092PRIVATE USE-2
U+0093SET TRANSMIT STATE
U+0094CANCEL CHARACTER
U+0095MESSAGE WAITING
U+0096START OF GUARDED AREA
U+0096START OF PROTECTED AREA
U+0097END OF GUARDED AREA
U+0097END OF PROTECTED AREA
U+0098START OF STRING
U+009ASINGLE CHARACTER INTRODUCER
U+009BCONTROL SEQUENCE INTRODUCER
U+009CSTRING TERMINATOR
U+009DOPERATING SYSTEM COMMAND
U+009EPRIVACY MESSAGE
U+009FAPPLICATION PROGRAM COMMAND

Change in table 17 of 15.11 [cpp.predefined] paragraph 1.8:

Drafting note: the final value for the __cpp_named_character_escapes feature test macro will be selected by the project editor to reflect the date of approval.

Table 17 — Feature-test macros[tab:cpp.predefined.ft]
Macro nameValue
[…][…]
__cpp_modules201907L
__cpp_named_character_escapesXXXXXXL ** placeholder **
__cpp_namespace_attributes201411L
[…][…]

On Tue, Mar 1, 2022 at 2:48 AM Jens Maurer <Jens.Maurer@gmx.net> wrote:
On 01/03/2022 01.04, Steve Downey wrote:
> I'll upload a D2071 to the wiki. Jens, do you have a preference about R2 vs R3 for it, since we did review the paper last week? 

Keeping R2 is fine.

> Wording:

Italics for named-universal-character , please.
Italics for n-char-sequence, please.

(Both are grammar non-terminals.)

Bullets instead of lone hyphens in the text.


In the note:

"character name alias" should always have "associated"
in front of it, because I guess that's the term of art.


NameAliases.txt should be monospace font.


Jens



> Modify [lex.charset]
>
>     (lex.charset.3)The universal-character-name construct provides a way to name other characters.
>
>
>               /n-char/: one of
>                      |A B C D E F G H I J K L M N O P Q R S T U V W X Y Z|
>                      |0 1 2 3 4 5 6 7 8 9|
>                      |U+002D HYPHEN-MINUS|
>                      |U+0020 SPACE|
>
>               /n-char-sequence/:
>                      /n-char/
>                      /n-char-sequence/ /n-char/
>
>               /named-universal-character/:
>                      |\N| { /n-char-sequence/ }
>
>               /hex-quad/:
>                      /hexadecimal-digit/ /hexadecimal-digit/ /hexadecimal-digit/ /hexadecimal-digit/
>
>               /universal-character-name/:
>                      |\u| /hex-quad/
>                      |\U| /hex-quad/ /hex-quad/
>                      /named-universal-character/
>
>     A /universal-character-name/ of the form |\u| /hex-quad/ or |\U| /hex-quad/ /hex-quad/ designates the character in the translation character set whose UCS scalar value is the hexadecimal number represented by the sequence of /hexadecimal-digits/ in the /universal-character-name/. The program is ill-formed if that number is not a UCS scalar value.
>
>     A universal-character-name that is a named-universal-character designates the character named by its n-char-sequence. A character is so named if the n-char-sequence is equal to - the associated character name or associated character name alias specified in ISO/IEC 10646 subclause “Code charts and lists of character names” or - the control code alias given in Table X.
>
>     [Note: The aliases in table X are provided for control characters which otherwise have no associated character name or character name alias. These names are derived from the Unicode Character Database’s NameAliases.txt. For historical reasons, control characters are formally unnamed. – end note]
>
>
> On Sun, Feb 27, 2022 at 3:36 AM Corentin Jabot <corentinjabot@gmail.com <mailto:corentinjabot@gmail.com>> wrote:
>
>
>
>     On Sun, Feb 27, 2022 at 9:24 AM Jens Maurer <Jens.Maurer@gmx.net <mailto:Jens.Maurer@gmx.net>> wrote:
>
>
>         Steve, please make sure to upload your fixed paper to the 2022-03-11 core
>         telecon wiki, under the "D" name.
>
>         On 26/02/2022 09.42, Corentin Jabot wrote:
>         >
>         >
>         > On Fri, Feb 25, 2022 at 11:33 PM Jens Maurer <Jens.Maurer@gmx.net <mailto:Jens.Maurer@gmx.net> <mailto:Jens.Maurer@gmx.net <mailto:Jens.Maurer@gmx.net>>> wrote:
>         >
>         >     On 25/02/2022 23.20, Corentin Jabot wrote:
>         >     > Can we flip it around?
>         >     >
>         >     > 
>         >     > Then the named-universal-character designates the element of the translation character set whose UCS scalar value is equal to the code point of that character.
>         >     > Otherwise, the program is ill-formed.
>         >     > [Note: The lists of names and aliases are guaranteed to be disjoint. An n-char sequence will be found in at most one list. --end note]
>         >
>         >     We want to avoid "matches" because it might mean "some fuzzy match" instead of
>         >     equality.
>         >
>         >     We want to start the paragraph with the same introducer as the preceding one.
>         >
>         >
>         > This is challenging. 
>         > There are a lot of moving pieces.
>         > Can we rewrite the previous paragraph too?
>         >
>         >
>         > If the n-char-sequence of a named-universal-character is exactly equal to either
>         > -  The name alias of a character as specified in ISO/IEC 10646 clause 34 "Character names list"
>         > -  The associated name of a character as specified in ISO/IEC 10646 clause 34 "Character names list"
>         > -  A control code alias of a character as specified in table X
>         > Then the named-universal-character designates the code point of that character.
>         >
>         > A universal-character-name designates the character in the translation character set whose UCS scalar value is:
>         >   - For a universal-character-name of the form \u hex-quad or \U hex-quad hex-quad, the hexadecimal number represented by the sequence of hexadecimal-digits in the universal-character-name.
>         >   - For a named-universal-character, the code point it designates.
>         >
>         > If a universal-character-name does not designate a UCS scalar value, the program is ill-formed.
>
>         I think part of the confusion stemmed from the fact that people were looking at an old
>         version of the paper, because I hadn't updated the link at the top of the wiki page.
>
>         Suggestion:
>
>         A universal-character-name that is a named-universal-character designates the
>         character named by its n-char-sequence.  A character is so named if the
>         n-char-sequence is equal to
>           - the associated character name or associated character name alias specified in
>         ISO/IEC 10646 subclause "Code charts and lists of character names" or
>           - the control code alias given in Table X.
>         The program is ill-formed if there is no such character.
>
>
>     This is great! 
>
>
>         Jens
>