Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!henry From: henry@utzoo.UUCP (Henry Spencer) Newsgroups: net.lang.c Subject: Re: Preprocessor Trickery Message-ID: <4012@utzoo.UUCP> Date: Sat, 30-Jun-84 18:21:57 EDT Article-I.D.: utzoo.4012 Posted: Sat Jun 30 18:21:57 1984 Date-Received: Sat, 30-Jun-84 18:21:57 EDT References: <141@pyuxt.UUCP> Organization: U of Toronto Zoology Lines: 16 > Distasteful as it may be, the X/**/y feature is well documented in the > source of cpp by John Reiser, and is portable at least as far as System V. Since it's documented in the source, that means it's effectively entirely undocumented as far as binary licensees are concerned. Furthermore, one finds the documentation in the source only by accident, since that's not exactly the first place one looks for documentation. And it is *not* portable to most non-Bell-derived compilers, since most of their authors didn't have access to the cpp sources. The ANSI C standards effort is standardizing the preprocessor facilities as part of the language. "X/**/y" is *not* allowed in the standard. "If you want a general-purpose macro processor, use m4!" -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry