Commit:     b5d609dbfa3f5a4726ef26cfd8023651aafdfb3b
Parent:     a5bf3d891a6a0fb5aa122792d965e3774108b923
Author:     Matej Laitl <[EMAIL PROTECTED]>
AuthorDate: Tue Oct 2 13:46:50 2007 -0700
Committer:  Sam Ravnborg <[EMAIL PROTECTED](none)>
CommitDate: Fri Oct 12 21:20:33 2007 +0200

    kconfig/menuconfig: distinguish between selected-by-another options and 
    menuconfig currently represents options implied by another option ('select'
    directive in Kconfig) by prefixing them with '---'.  Unfortunately the same
    notation is used for comments.  If the implied option is module capable,
    user can still switch between Y and M, all without any feedback until she
    visits option's help.  (try saying M to MAC80211 and then toggling
    This patch changes notation of selected-by-another items by introducing 2
    new representations for implied options: {*} or {M} for options selected by
    another modularized one, thus builtin or module capable, -*- or -M- for
    options that cannot be at the moment changed by user.
    The idea is to represent actual capability of the option by braces (dashes)
    around and to always report actual state by * or M inside.
    Signed-off-by: Matej Laitl <[EMAIL PROTECTED]>
    Acked-by: Randy Dunlap <[EMAIL PROTECTED]>
    Cc: Roman Zippel <[EMAIL PROTECTED]>
    Signed-off-by: Andrew Morton <[EMAIL PROTECTED]>
    Signed-off-by: Sam Ravnborg <[EMAIL PROTECTED]>
 scripts/kconfig/mconf.c |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)

diff --git a/scripts/kconfig/mconf.c b/scripts/kconfig/mconf.c
index 1935818..47e226f 100644
--- a/scripts/kconfig/mconf.c
+++ b/scripts/kconfig/mconf.c
@@ -35,9 +35,13 @@ static const char mconf_readme[] = N_(
 "kernel parameters which are not really features, but must be\n"
 "entered in as decimal or hexadecimal numbers or possibly text.\n"
-"Menu items beginning with [*], <M> or [ ] represent features\n"
-"configured to be built in, modularized or removed respectively.\n"
-"Pointed brackets <> represent module capable features.\n"
+"Menu items beginning with following braces represent features that\n"
+"  [ ] can be built in or removed\n"
+"  < > can be built in, modularized or removed\n"
+"  { } can be built in or modularized (selected by other feature)\n"
+"  - - are selected by other feature,\n"
+"while *, M or whitespace inside braces means to build in, build as\n"
+"a module or to exclude the feature respectively.\n"
 "To change any of these features, highlight it with the cursor\n"
 "keys and press <Y> to build it in, <M> to make it a module or\n"
@@ -569,7 +573,7 @@ static void build_conf(struct menu *menu)
                                if (sym_is_changable(sym))
                                        item_make("[%c]", val == no ? ' ' : 
-                                       item_make("---");
+                                       item_make("-%c-", val == no ? ' ' : 
@@ -579,10 +583,13 @@ static void build_conf(struct menu *menu)
                                case mod: ch = 'M'; break;
                                default:  ch = ' '; break;
-                               if (sym_is_changable(sym))
-                                       item_make("<%c>", ch);
-                               else
-                                       item_make("---");
+                               if (sym_is_changable(sym)) {
+                                       if (sym->rev_dep.tri == mod)
+                                               item_make("{%c}", ch);
+                                       else
+                                               item_make("<%c>", ch);
+                               } else
+                                       item_make("-%c-", ch);
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at

Reply via email to