Date: Thu, 26 Sep 2002 11:50:38 +0300 From: Ruslan Ermilov <ru@FreeBSD.org> To: Juli Mallett <jmallett@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/usr.bin/make parse.c Message-ID: <20020926085038.GB9743@sunbay.com> In-Reply-To: <200209260644.g8Q6iUiv000195@freefall.freebsd.org> References: <200209260644.g8Q6iUiv000195@freefall.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--CdrF4e02JqNVZeln
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
On Wed, Sep 25, 2002 at 11:44:30PM -0700, Juli Mallett wrote:
> jmallett 2002/09/25 23:44:30 PDT
>=20
> Modified files:
> usr.bin/make parse.c=20
> Log:
> Remove a semicolon that appears to be a lie.
> =20
> Spotted by: SPARC64 make WARNS=3D3
> Sponsored by: Rachel Hestilow <rachel@jerkcity.com>
> =20
> Revision Changes Path
> 1.43 +1 -1 src/usr.bin/make/parse.c
>=20
As an aside. Our make(1) suffers from the parsing bug in
parse.c:ParseReadLine(). When it sees a colon (`:') it
marks the line as being a "dependency" line, and when it
later sees a semicolon (`;') it replaces it by a newline.
The net effect is that the following fragment blows up:
%%%
HDRS=3D foo.h bar.h
SRCDIR=3D ${.CURDIR}
barf:
=2Efor h in ${HDRS:S;^;${SRCDIR}/;}
@echo ${h}
=2Eendfor
%%%
This, OTOH, works:
%%%
HDRS=3D foo.h bar.h
SRCDIR=3D ${.CURDIR}
swallow:
=2Efor h in ${HDRS:S/^/${SRCDIR}\//}
@echo ${h}
=2Eendfor
%%%
In OpenBSD, this has been fixed yet in 2001 by the new parsing code
(parse.c,v 1.59 and related changes).
Cheers,
--=20
Ruslan Ermilov Sysadmin and DBA,
ru@sunbay.com Sunbay Software AG,
ru@FreeBSD.org FreeBSD committer,
+380.652.512.251 Simferopol, Ukraine
http://www.FreeBSD.org The Power To Serve
http://www.oracle.com Enabling The Information Age
--CdrF4e02JqNVZeln
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (FreeBSD)
iD8DBQE9kspeUkv4P6juNwoRAokWAJ9GZaA3IwO1WTn7S5GMQyyG/fwxAQCcDv44
UpvlNfQTtvcbOww+Iz08jXI=
=wg4P
-----END PGP SIGNATURE-----
--CdrF4e02JqNVZeln--
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020926085038.GB9743>
