Greg, in regards to another question you had - no I don't think there is value in having a variant if statement that treats 'm' differently. You can already get the same effect by using 'CONFIG_FOO=y' or 'CONFIG_FOO=m' instead of plain 'CONFIG_FOO'.
You are much better than I at finding examples of weird stuff in the config system, though, so let me know if this doesn't cover all cases. [I wrote] > else_dep() is a simple matter of reversing the polarity of the guard. No it's not - I just realised that this breaks nested if_dep. > I suppose Bourne-feature-completeness would demand 'elif_dep' as > well. I also realised that else_dep and elif_dep are exactly the same except that else_dep doesn't take a dep line. So else_dep now does double duty: if_dep CONFIG_FOO ... else_dep CONFIG_BAR ... else_dep CONFIG_BAZ !CONFIG_XYZZY ... else_dep ... fi_dep Of course if one feels uncomfortable about an empty 'else_dep' line one can always append a dummy 'y'. Incremental patch (lightly tested) over the one earlier in the thread: --- 2.5.31/scripts/Menuconfig 2002-08-15 03:57:59.000000000 -0500 +++ 2.5.31w/scripts/Menuconfig 2002-08-15 03:55:22.000000000 -0500 @@ -130,7 +130,7 @@ # Use boolean transforms, or nest conditionals. function dep_calc () { local neg arg ordep - if [ "$nest_ifdep" = n ]; then + if [ "$nest_ifdep" = n -o "$nest_ifdep" = x ]; then cur_dep=n; return 1; fi @@ -171,7 +171,15 @@ nest_ifdep=$cur_dep } -function endif () { +function else_dep () { + case "$nest_ifdep" in + y | m | x) nest_ifdep=x ;; + n) fi_dep; if_dep "$@" ;; + *) ;; # syntax error: else without if, or similar + esac +} + +function fi_dep () { nest_ifdep=${nest_stack%%' '*} nest_stack=${nest_stack#*' '} } ------------------------------------------------------- This sf.net email is sponsored by: OSDN - Tired of that same old cell phone? Get a new here for FREE! https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390 _______________________________________________ kbuild-devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/kbuild-devel