NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: toolchain/46750: make oddity expanding variables assigned to with +=
The following reply was made to PR toolchain/46750; it has been noted by GNATS.
From: David Holland <dholland-bugs%netbsd.org@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: toolchain/46750: make oddity expanding variables assigned to
with +=
Date: Wed, 22 Aug 2012 07:10:37 +0000
On Mon, Jul 30, 2012 at 09:50:05AM +0000, Edgar Fu? wrote:
> > The problem is that it's doing this even if the old value is the empty
> > string, so you get a leading space.
>
> If we, for a moment, set aside how make internally handles lists (and
> talk only about list elements not containing whitespace), the question is
> what we expect "FOO=" to do.
> Either we expect it to set FOO to the empty list. Then, after "FOO+=foo",
> the value should be "foo".
> Or we expect it to set FOO to a list containing an empty value. Then,
> after "FOO+=foo", the value should indeed be " foo", but FOO:[1] should
> return that empty value.
Right.
> > Relatedly, if you do
>
> Here, the question is whether we expect "FOO+=" to append an empty list
> to FOO (e.g. don't change it) or whether we expext it to append an empty
> value to the list.
Right.
> Probably that should be discussed on tech-toolchain and then made
> consistent.
The historic behavior of make has always been that variables hold
strings which are whitespace-separated lists of words. There are no
empty values. I don't think this needs discussion (nor can it be
changed without risking a lot of fallout and incompatibility...)
--
David A. Holland
dholland%netbsd.org@localhost
Home |
Main Index |
Thread Index |
Old Index