Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/usr.bin/config



On Thu, Oct 30, 2014 at 8:36 PM, Alan Barrett <apb%netbsd.org@localhost> wrote:
> On Thu, 30 Oct 2014, Masao Uebayashi wrote:
>>
>> What do you expect by doing:
>>
>>  options FOO
>>  no options FOO
>>  options FOO
>
> I expect it to be equivalent to just one "options FOO".
>
> The "no options FOO" in line 2 should cancel the "options FOO" in line 1,
> and then the "options FOO" in line 3 should put it back.
>
> In the cases that I care about, the "options" and "no options" lines will be
> in different files, referenced via "include" directives.

So, while you expect that "options" works before it's defined, you
also expect the order is honored for "no" use.  I'm not sure how it
can work internally.

At this moment, "no" are evaluated when it's parsed.  Those "no agp*"
fallouts happened because agp is re-selected while resolving
dependency after all parsing is done.  IMO anything relying on order
tends to be broken by design.  For example: if BAR depends on FOO, "no
options FOO" has to disable BAR too, because BAR can't be enabled
without FOO.  But when you re-enable FOO, BAR is not enabled.  Is this
really what you're expecting?


Home | Main Index | Thread Index | Old Index