[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: CVS commit: src/usr.bin/make
In article <20100609171621.GA23176%britannica.bec.de@localhost>,
Joerg Sonnenberger <joerg%britannica.bec.de@localhost> wrote:
>On Wed, Jun 09, 2010 at 12:58:23PM -0400, Christos Zoulas wrote:
>> Log Message:
>> Explain variable expansion better. Requested by Aleksey Cheusov
>This is wrong. Loop variables are not exapnded on each loop iteration.
>Each loop iteration effectively creates a new variable. The rest of his
>confusion comes from two simple facts:
>(1) += is lazy in bmake. This is different from FreeBSD, where it forces
>(2) The evaluation of j is lazy as well. That's why he sees the last
Well, it was true when I wrote the "for" code (more than 16 years
ago!). I guess dsl re-wrote it, but the net effect is the same.
When did FreeBSD changed += not to be lazy? That would break a lot
of existing Makefiles I presume.
>Therefore I don't agree with the content and it is actually making
>things a lot more complicated than necessary.
How is the net effect different than what I am describing? Feel free
to improve the explanation, to match the actual implementation.
Main Index |
Thread Index |