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