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!ucbvax!ucsfcgl!arnold From: arnold@ucsfcgl.UUCP (Ken Arnold%CGL) Newsgroups: net.lang.c Subject: Re: Is this correct action for the c compiler/preprocessor ?? Message-ID: <689@ucsfcgl.UUCP> Date: Fri, 1-Nov-85 17:47:42 EST Article-I.D.: ucsfcgl.689 Posted: Fri Nov 1 17:47:42 1985 Date-Received: Sun, 3-Nov-85 05:45:52 EST References: <2667@brl-tgr.ARPA> Reply-To: arnold@ucsfcgl.UUCP (Ken Arnold) Organization: UCSF Computer Graphics Lab Lines: 34 In article <2667@brl-tgr.ARPA> dfuller.wbst@Xerox.ARPA (Dave) writes: >It also fails to work correctly on the C compiler supplied with Un*x >system V for the AT&T Un*x PC but it does work the opional LPI C >compiler; But don't ask me why? > >< Dave > It does not "fail to work correctly" -- that's how it works. It allows you to say something like # define Pval(var) printf("var = %d\n", var) ... pvar(Count); pvar(Errors); ... and get something like Count = 112 Errors = 0 Being able to insert literal text in strings is very useful. Even the standards committee agreed, although they refused to continue to use this method, since some preprocessors do *not* scan strings. But scanning strings for replacements is a feature, albeit a somewhat unpopular one, which is purposefully used by many programs. Ken Arnold P.S. This was discussed at some length when several of us argued about whether the standards committee was right to reject this method. I thought not, but others thought they were, and I don't want to start it up again.