draft ANSI standard: trigraphs rear their ugly heads again

Doug Gwyn gwyn at brl-smoke.ARPA
Wed Dec 3 05:34:01 AEST 1986


In article <1381 at hoptoad.uucp> gnu at hoptoad.uucp (John Gilmore) writes:
>Since various countries reuse #, [, {, }, ], \, |, ~, and ^ as letters
>and such, they have defined three-character sequences that can be used
>to represent these characters.
>...
>Since the trigraphs are even uglier than the alternative, and since
>European compilers will not be able to use those character codes for
>anything else, there is no need for introducing the trigraphs.  "The
>X3J11 charter clearly mandates the committee to *codify common existing
>practice*" (emphasis theirs -- Rationale, pg. 1).  The committee's 
>justification for ignoring common practice here is too weak.  The
>trigraphs should be removed.

The ??* trigraphs were introduced early in the C standard drafting
process (before my time, actually).  I agree that the issue should
be re-examined now that X3J11 is paying more attention to international
issues.  Notice that X3J11 recently came down firmly on the side of the
ideas that "C source is English" and that the default start-up run-time
"locale" is "C standard".  (AT&T, and to some extent I, would have
preferred that the start-up locale be left up to the implementation, to
permit setting it via UNIX's environment, rather than requiring nearly
every international application to explicitly invoke setlocale(), but
the majority preferred to have a well-defined initial state that would
permit systems code to completely ignore locale without peril.)

It does seem rather peculiar to buy into the ISO invariant code set
characters without buying into ISO/ASCII encoding standards.

Send your comment in formally to be sure that it receives consideration.



More information about the Comp.lang.c mailing list