From owner-cvs-all Thu Sep 26 1:51:18 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 540F237B401; Thu, 26 Sep 2002 01:51:16 -0700 (PDT) Received: from whale.sunbay.crimea.ua (whale.sunbay.crimea.ua [212.110.138.65]) by mx1.FreeBSD.org (Postfix) with ESMTP id 7CEF243E4A; Thu, 26 Sep 2002 01:51:10 -0700 (PDT) (envelope-from ru@whale.sunbay.crimea.ua) Received: (from ru@localhost) by whale.sunbay.crimea.ua (8.11.6/8.11.2) id g8Q8ocl16621; Thu, 26 Sep 2002 11:50:38 +0300 (EEST) (envelope-from ru) Date: Thu, 26 Sep 2002 11:50:38 +0300 From: Ruslan Ermilov To: Juli Mallett 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> References: <200209260644.g8Q6iUiv000195@freefall.freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="CdrF4e02JqNVZeln" Content-Disposition: inline In-Reply-To: <200209260644.g8Q6iUiv000195@freefall.freebsd.org> User-Agent: Mutt/1.3.99i Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG --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 > =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