Peter Samuelson wrote: > > [Greg Banks] > > Does "complete" mean all the ports have also made the change and > > been merged back? > [...] > Actually I suspect it would be more like the C99 thing: after the new > syntax is added, we start doing [TRIVIAL] patches to clean out the > old, and eventually once that is done we have the option of removing > the old syntax or leaving it in as a known oddity. [...]
Fair enough. > > I'm more concerned about subtle dependencies on execution order > > resulting from misuse of conditionals. > > Yeah, that's the real reason 'n'!='' is Considered Harmful (and warned > about in the docs even now). There are issues regardless of the behaviour of "". For example, here's one of at least 8 ways I've identified where things can go wrong when conditionals are misused. # # Testing mixed overlap, type 1 # (mixed overlap, define first, query conditional, same menu) # mainmenu_option next_comment comment 'xconfig needs this menu' define_bool CONFIG_QUUX y bool 'Set this symbol to ON' CONFIG_FOO if [ "$CONFIG_FOO" = "y" ]; then bool 'Here QUUX is a query symbol' CONFIG_QUUX fi endmenu # Expected semantics: # FOO=n => QUUX not asked, is y. # FOO=y => QUUX asked, default y, can be either y or n. # so list of valid configs is: # QUUX=y FOO=n # QUUX=y FOO=y # QUUX=n FOO=y # Actual semantics, "make config" # FOO=n => QUUX not asked, is y (CORRECT) # FOO=y => QUUX asked, default y, # if y appears twice with same value (INCORRECT) # if n appears twice with different values (INCORRECT) # list of produced configs: # QUUX=y FOO=n # QUUX=y FOO=y QUUX=y # QUUX=y FOO=y QUUX=n # Actual semantics, "make menuconfig" # FOO=n => QUUX not asked, is y (CORRECT) # FOO=y => QUUX asked, default y, # if y appears twice with same value (INCORRECT) # cannot set to n (INCORRECT) # list of produced configs: # QUUX=y FOO=n # QUUX=y FOO=y QUUX=y # Actual semantics, "make xconfig" # FOO=n => QUUX not asked # on save, get "ERROR - Attempting to write value for unconfigured variable (CONFIG_QUUX)" # does not save QUUX at all (INCORRECT) # FOO=y => QUUX asked, default y, # if y appears twice with same value (INCORRECT) # cannot set to n (INCORRECT) # list of produced configs: # FOO=n # QUUX=y FOO=y QUUX=y Greg. -- the price of civilisation today is a courageous willingness to prevail, with force, if necessary, against whatever vicious and uncomprehending enemies try to strike it down. - Roger Sandall, The Age, 28Sep2001. ------------------------------------------------------- This sf.net email is sponsored by: Dice - The leading online job board for high-tech professionals. Search and apply for tech jobs today! http://seeker.dice.com/seeker.epl?rel_code=31 _______________________________________________ kbuild-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/kbuild-devel