Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 (Tek) 9/26/83; site tekecs.UUCP Path: utzoo!watmath!clyde!burl!ulysses!allegra!mit-eddie!genrad!decvax!tektronix!orca!tekecs!joemu From: joemu@tekecs.UUCP (Joe Mueller) Newsgroups: net.lang.c Subject: Re: ANSI C and the C Pre-Processor Message-ID: <4082@tekecs.UUCP> Date: Thu, 27-Sep-84 13:23:12 EDT Article-I.D.: tekecs.4082 Posted: Thu Sep 27 13:23:12 1984 Date-Received: Sat, 29-Sep-84 09:42:56 EDT References: <4335@utzoo.UUCP> Organization: Tektronix, Wilsonville OR Lines: 34 > As for what should be done to bring back the lost functionality... the > ANSI C folks have basically said "if you want a general-purpose macro > processor, use m4". The programs that this "change" will break are > broken already, and should be fixed to do it right. As Henry stated, the X3J11 committee (ANSI C), felt that the preprocessor was not intended to be a general purpose macro processor, BUT, we did acknowledge that there was a large body of code that used these types of "features". The committee is currently concidering proposals for a) token concatination operations within the preprocessor. It will definitely NOT be startoftoken/**/argument. Currently it looks like the # will be used like this: startoftoken#argument. I don't believe we have definitely decided the syntax for the operation. I think that the committee did decide that the functionality was needed. b) "stringizing" (I didn't make up this term, someone else did) arguments is also under concideration. One proposal is to do the substitution if the argument name is the only thing within the quotes. i.e. #define foo(bar) printf("bar") will expand bar within the quotes where #define foo(bar) printf("the argument was bar") will not expand bar. The committee is not as dogmatic as it sounds on the net. It is our intention to produce a standard that will allow someone to do serious work without resorting to non-portable extensions. Please continue to discuss concerns about the developing standard on the net. I know several committe members (including myself) read it regularly. If you have alternate proposals for the machinery to do the above operations, let me know.