Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site ucsfcgl.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!ucbvax!ucsfcgl!arnold From: arnold@ucsfcgl.UUCP (Ken Arnold%CGL) Newsgroups: net.lang.c Subject: Re: ANSI proposal for preprocessor strings Message-ID: <454@ucsfcgl.UUCP> Date: Tue, 26-Feb-85 18:29:16 EST Article-I.D.: ucsfcgl.454 Posted: Tue Feb 26 18:29:16 1985 Date-Received: Fri, 1-Mar-85 20:43:30 EST References: <8436@brl-tgr.ARPA> Reply-To: arnold@ucsfcgl.UUCP (PUT YOUR NAME HERE) Organization: UCSF Computer Graphics Lab Lines: 35 Summary: In article <8436@brl-tgr.ARPA> gwyn@Brl-Vld.ARPA (VLD/VMB) writes: >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) Has no one on the committee yet gotten the point that changing the way this is done will require rewrites of a large amount of existing, working C code? Since the C preprocessor on 4.x bsd, System V, DECUS C, and many other systems have scanned strings in macros for parameter substitution since parameter macros were invented, dropping this feature B R E A K S E X I S T I N G C O D E. Lots of it. The standard committee should look at how C is used, and it is used with this feature in many places. Look, I'm sure we all think certain existing things in C are ugly. But how many peices of code would you like to re-write which, say, relied on the fact that 'case's fall through unless told otherse? As far as I can tell, the C language proper has not been broken on purpose this way. Why is it okay to break the preprocessor? -- DON'T BREAK WORKING CODE -- -- Ken Arnold ================================================================= Of COURSE we can implement your algorithm. We've got this Turing machine emulator...