Tom Tromey <[EMAIL PROTECTED]> writes:
> Akim> * automake.in (read_am_file): TRUE and FALSE are predefined
> Akim> conditionals.
> Akim> (&by_condition): Adjust.
> Akim> (&conditional_string): Recognize (TRUE|FALSE)_(TRUE|FALSE).
> Akim> (&make_condition): Use it.
> Akim> * tests/cond9.test: s/FALSE/WRONG/.
>
> I don't really like the use of TRUE and FALSE, but it's hard to
> conceive of a scenario where a user would want to redefine them.
I've been driven by the same thinking.
> The reason I don't like them is that I want the future of automake
> to be more sensitive to namespace issues.
Very much agreed.
If you prefer we can go to small caps, or mixed case. Or underscores
etc. Or even 0/1. But all these solutions seemed to be making it
obscure, while after all TRUE and FALSE are not likely to be used.
> For instance one reason I like the work you're doing on "target
> merging" is that it makes it easier to rename internal targets
> following the new namespace rules.
I understand.
> Is there any way to prohibit the user from doing:
>
> AM_CONDITIONAL(TRUE, blah)
>
> ?
Yep, easily from conditional.m4
> If they try this it won't work but will instead be gratuitously
> confusing.
>
> This patch is ok, but please add some text to the manual indicating
> the predefined TRUE and FALSE conditions (and maybe mention that one
> might want to use them for debugging), and also mention that
> redefining these won't work.
I meant to completely finish this, and then document. There are some
choices to make, and I am still unsure how I'd like to proceed. But
if you prefer, I can document incrementally. If I don't, I _will_
write the documentation at the end.