Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site brl-tgr.ARPA Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!godot!harvard!seismo!brl-tgr!tgr!gwyn@Brl-Vld.ARPA From: gwyn@Brl-Vld.ARPA (VLD/VMB) Newsgroups: net.lang.c Subject: ANSI proposal for preprocessor strings Message-ID: <8436@brl-tgr.ARPA> Date: Thu, 21-Feb-85 20:56:14 EST Article-I.D.: brl-tgr.8436 Posted: Thu Feb 21 20:56:14 1985 Date-Received: Tue, 26-Feb-85 05:40:58 EST Sender: news@brl-tgr.ARPA Lines: 24 I got my copy of the Feb. 1985 "preliminary draft proposed ANS" for C yesterday and quickly scanned it for interesting changes. It is really in pretty good shape now, and many of the points that have been debated in INFO-C have been dealt with. One new feature of general interest is the way strings are handled by the preprocessor; instead of quoting rules I'll just post the example from section C.8.2: #define debug(s, t) printf("x" # s "= %d, x" # t "= %s", \ x ## s, x ## t) debug(1, 2) results in ... printf("x1= %d, x2= %s", x1, x2) Space around the # and ## tokens in the macro definition is optional. Another interesting addition is trigraphs for characters not in the ISO 646 Invariant Code Set. Example: ??< for {. The [like ] macros have been changed, for the better. And there are many other improvements both to the language and to the specification document.