Re: make ChangeLog NEWS main.c read.c variable.c va...
Paul Smith <[email protected]>
| Newsgroups | gmane.comp.gnu.make.devel |
|---|---|
| Organization | GNU's Not Unix! |
| Message-ID | <[email protected]> |
On Tue, 2009-10-06 at 15:17 +0200, Boris Kolpackov wrote: > Hi Paul, > > Paul D. Smith <[email protected]> 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 <[email protected]> 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