Deprecating trigraphs
_N4140_.2.4 [lex.trigraph]

Created on 2009-03-03.00:00:00 last changed 143 months ago


Date: 2010-03-15.00:00:00

[Voted into WP at March, 2010 meeting as document N3077.]

Date: 2010-03-15.00:00:00

Notes from the March, 2010 meeting:

The CWG decided not to deprecate trigraphs, acknowledging that there are communities in which they are viewed as necessary. Instead, it was decided to address what was considered to be the most pressing issue regarding trigraphs, that is, recognizing trigraph sequences inside raw string literals.

Date: 2009-10-15.00:00:00

Notes from the October, 2009 meeting:

The CWG is interested in exploring other alternatives that address the particular problem of trigraphs in raw strings but that do not require the grammar changes of the approach in N2978. One possibility might be to recognize raw strings in some way in translation phase 1.

Date: 2009-09-15.00:00:00

Proposed resolution (September, 2009):

See paper PL22.16/09-0168 = WG21 N2978.

Date: 2009-03-15.00:00:00

Notes from the March, 2009 meeting:

IBM, at least, uses trigraphs in its header files in conditional compilation directives to select character-set dependent content in a character-set independent fashion and would thus be negatively affected by the removal of trigraphs. One possibility that was discussed was to avoid expanding trigraphs inside character string literals, which is the context that causes most surprise and confusion, but still to support them in the rest of the program text. Specifying that approach, however, would be challenging because trigraphs are replaced in phase 1, before character strings are recognized in phase 3. See also the similar discussion of universal-character-names in issue 787.

The consensus of the CWG was that trigraphs should be deprecated.

Date: 2009-03-03.00:00:00
N2800 comment UKĀ 11

Trigraphs are a complicated solution to an old problem, that cause more problems than they solve in the modern environment. Unexpected trigraphs in string literals and occasionally in comments can be very confusing for the non-expert. They should be deprecated.

Date User Action Args
2010-03-29 00:00:00adminsetmessages: + msg2651
2010-03-29 00:00:00adminsetmessages: + msg2650
2010-03-29 00:00:00adminsetstatus: review -> cd2
2009-11-08 00:00:00adminsetmessages: + msg2380
2009-09-29 00:00:00adminsetmessages: + msg2303
2009-09-29 00:00:00adminsetstatus: drafting -> review
2009-03-23 00:00:00adminsetmessages: + msg1938
2009-03-03 00:00:00admincreate