make-alpha
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]