[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: make ChangeLog NEWS main.c read.c variable.c va...
From: |
Paul Smith |
Subject: |
Re: make ChangeLog NEWS main.c read.c variable.c va... |
Date: |
Tue, 06 Oct 2009 21:04:38 -0400 |
On Tue, 2009-10-06 at 15:17 +0200, Boris Kolpackov wrote:
> Hi Paul,
>
> Paul D. Smith <address@hidden> writes:
>
> > Would it make sense to allow multiple variables to be undefined at
> > once, in the same line, similar to how "export" works?
>
> Then something like this won't work:
>
> define one two
> three
> endef
>
> undefine one two
>
> While it is a corner case, I tried to keep undefine consistent with
> define.
Does that actually work? I thought I had disabled variables with
whitespace in the name unless it was done explicitly, like foo
$(space)bar. Maybe not in define/endef.
A note: in read.c:do_undefine() I think you forgot to free (var).
In the other change you made, I think either the code or comment here is
wrong:
/* If the names are the same but ignore_mtimes are not equal, one of these
is an order-only prerequisite and one isn't. That means that we should
remove the one that isn't and keep the one that is. */
if (!cmp && dx->ignore_mtime != dy->ignore_mtime)
dx->ignore_mtime = dy->ignore_mtime = 0;
Unless I'm confused the comment says you'll remove the non-order-only
prereq and keep the one that is order-only, but the code seems to do the
opposite (remove the order-only prereq).
FWIW, I think the code is correct, not the comment :-)
--
-------------------------------------------------------------------------------
Paul D. Smith <address@hidden> Find some GNU make tips at:
http://www.gnu.org http://make.mad-scientist.net
"Please remain calm...I may be mad, but I am a professional." --Mad Scientist