Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!ll-xn!mit-eddie!barmar
From: barmar@mit-eddie.MIT.EDU (Barry Margolin)
Newsgroups: comp.lang.c
Subject: Re: ANSI C -- non-required features.
Message-ID: <4329@mit-eddie.MIT.EDU>
Date: Thu, 18-Dec-86 03:13:15 EST
Article-I.D.: mit-eddi.4329
Posted: Thu Dec 18 03:13:15 1986
Date-Received: Thu, 18-Dec-86 20:45:55 EST
References: <112@decvax.UUCP> <5458@brl-smoke.ARPA> <3987@watmath.UUCP>
Reply-To: barmar@eddie.MIT.EDU (Barry Margolin
Organization: MIT, EE/CS Computer Facilities, Cambridge, MA
Lines: 26


The way I have seen non-required features handled in other ANSI
standards is in an annex (their word for appendix, it seems) containing
additional recommendations that are not part of the standard.  For
example, in the ANSI standard for keyboards, the official standard only
specifies the location of the keys for printing characters, the space
bar, the return key, and the control and shift modifiers.  The annex
recommends that if you provide a way to type control characters, that
you use at least a specified set of key combinations (Control-2 for
0/00, Control-A thru Control-Z for 0/01 thru 1/10, Control-3 thru
Control-7 for 1/11 thru 1/15, Control-8 for 7/15), although you are not
restricted from using additional key assignments (unfortunately, some
terminal manufacturers didn't notice this last clause, and don't allow
the use of Control-[ thru Control-_, for example).

Putting things in the Rationale may also be acceptable.  The Rationale
is normally included as an annex in the standard.  You can learn alot
from Rationales, by the way; in the ASCII standard, for example, the
Rationale explains that it was a goal that each of A-Z, a-z, and 0-9 be
contiguous and ordered.  The new 8-bit character sets, unfortunately,
are forced to drop the idea of making all the alphabetic characters
contiguous (it was more important that USASCII be a subset).
-- 
    Barry Margolin
    ARPA: barmar@MIT-Multics
    UUCP: ..!genrad!mit-eddie!barmar