Skip site navigation (1)Skip section navigation (2)
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>