Article View: comp.std.c
Article #1128Re: Macro sustitution inside quotes
From: Henry Spencer
Date: Tue, 10 Apr 1990 18:50
Date: Tue, 10 Apr 1990 18:50
25 lines
1699 bytes
1699 bytes
In article <1284@necisa.ho.necisa.oz> boyd@necisa.ho.necisa.oz (Boyd Roberts) writes: > #define string(s) # s >It is not obvious or intuitive what kind of expansion occurs. Whereas: > #define string(s) "s" >evaluates in the way you would expect. Uh, in the way *who* would expect? I, for one, certainly don't expect the preprocessing phase to look for "identifiers" inside strings! Especially since K&R1 outlawed substitution into strings, albeit with slightly ambiguous language. >Apart from that, # operators break things. Why weren't the Reiser >conventions just formalised? Oh no, that would be too easy. The Reiser conventions are almost impossible to implement in many C compilers, especially the ones that tokenize at preprocessor time rather than doing preprocessor operations on raw text. They were never documented, and in fact they openly violate K&R1, which many non-Unix C implementors used as the basis for their compilers. There is no shortage of existing code which relies on the Reiser botches *not* being done. They were not in any sense a de facto standard -- they were undocumented quirks of the Unix preprocessor. -- Apollo @ 8yrs: one small step.| Henry Spencer at U of Toronto Zoology Space station @ 8yrs: .| uunet!attcan!utzoo!henry henry@zoo.toronto.edu
Technical Details
Message-ID:
<1990Apr10.185011.6066@utzoo.uucp>Path:
arc1-ca.pugleaf.net!utzoo!henryReferences:
<636@mahendo.Jpl.Nasa.Gov> <1281@necisa.ho.necisa.oz> <12534@smoke.BRL.MIL> <1284@necisa.ho.necisa.oz>Show Full Headers
Complete Article Headers
Newsgroups: comp.std.c Path: arc1-ca.pugleaf.net!utzoo!henry From: henry@utzoo.uucp (Henry Spencer) Subject: Re: Macro sustitution inside quotes Message-ID: <1990Apr10.185011.6066@utzoo.uucp> Organization: U of Toronto Zoology References: <636@mahendo.Jpl.Nasa.Gov> <1281@necisa.ho.necisa.oz> <12534@smoke.BRL.MIL> <1284@necisa.ho.necisa.oz> Date: Tue, 10 Apr 90 18:50:11 GMT