Newsgroups: comp.lang.c
Path: utzoo!utgpu!jarvis.csri.toronto.edu!dgp.toronto.edu!flaps
From: flaps@dgp.toronto.edu (Alan J Rosenthal)
Subject: Re: Macro parameters getting substituted into strings
Message-ID: <8804051904.AA23088@explorer.dgp.toronto.edu>
Organization: University of Toronto
References: <11879@brl-adm.ARPA> <4099@hoptoad.uucp> <7309@brl-smoke.ARPA> <983@mcgill-vision.UUCP> <4253@hoptoad.uucp> <10194@ulysses.homer.nj.att.com>
Date:	Tue, 5 Apr 88 13:04:30 EDT


Discussing the removal of macro replacement inside strings, John
Gilmore complains that this will break dozens of application programs,
both in sysV and in BSD.

In article <10194@ulysses.homer.nj.att.com> jss@hector (Jerry Schwarz) writes:
>Once again.  The adoption of the standard will not break anything.
>New compilers will break things.  But compiler vendors can support
>compatibility modes for as long as they choose.

In this area, the compiler cannot support backward compatibility.  Given
a definition:

	#define a(b)"a b c"

what does a(x) substitute to?  ANSI says "a b c"; existing practice
says "a x c"; there is no way to accomodate both.

ajr

-- 
"Comment, Spock?"
"Very bad poetry, Captain."

