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: Is this correct action for the c compiler/preprocessor ?? Message-ID: <6115@utzoo.UUCP> Date: Mon, 4-Nov-85 19:55:52 EST Article-I.D.: utzoo.6115 Posted: Mon Nov 4 19:55:52 1985 Date-Received: Mon, 4-Nov-85 19:55:52 EST References: <8510301206.AA27124@ucbvax.berkeley.edu> Organization: U of Toronto Zoology Lines: 14 > I would think that anything inside double quotes is protected > from any/all substitution, and that the preprocessor, would > not do the parameter replacement. This is an ill-documented quirk of the Unix C preprocessor. It is not portable because many other C compilers don't do it, and X3J11 has decided to provide the capability but with a different syntax. Until that happy day when a randomly-chosen C compiler has a high probability of conforming to the ANSI soon-to-be-standard, the only safe thing to do is to avoid writing macros in which something that looks like one of the parameter names appears inside a string. -- Henry Spencer @ U of Toronto Zoology {allegra,ihnp4,linus,decvax}!utzoo!henry