N2639: @ in basic source character set

Submitter:Philipp Klaus Krause
Submission Date:2021-01-24

Summary:

@ in basic source character set

This adds @ to the basic source character set.

Justification:

The basic source character set currently consists of the characters of the invariable subset of EBCDIC and ASCII, and other characters (even if their position is different in different EBCDIC code pages) that are used as C syntax. The character @ is present both in ASCII and in many EBCDIC code pages. In differnt EBCDIC code pages it has different positions. It even moved position in ASCII in the 1965 and 1967 updates of ASCII. Today, @ is commonly used in C source code, in particular in email adresses in both comments and string literals. Practically, C users expect this to work. With @ present in both ASCII and EBCDIC, this should be easy to support for implementations (and as witnessed by the widespread use of @ in C source, current implementations already support it). While there are EBCDIC codepages where @ is missing, such as 322, those are code pages that are missing many other characters from the current basic source character set anyway.

$, while not as widely used as @, is somewhat similar. It, too is present in both ASCII and EBCDIC, and has different positions in different EBCDIC code pages.

Do we want to add @ to the basic source character set?

Proposed change: §5.2.1p3: Replace "the following 29 graphic characters:" by "the following 30 graphic characters: ", and replace "? [" by "? @ [".

Do we want to add $ to the basic source character set?

Proposed change: Similar to the above, but for $.