Re: [PATCH v3] menuconfig: distinguish between selected-by-another options and comments

Matej Laitl
2007-09-16T21:09:06Z

On Sunday 16 of September 2007 21:36:54 Roman Zippel wrote:
> On Sun, 16 Sep 2007, Matej Laitl wrote:
> > The v2 was maybe more intuitive, but had at least one flaw, where it claimed
> > the option was selected by another, while it was in fact only made
> > unchangeable by 'bool "Enable block layer" if EMBEDDED', defaulting to y.
>
> The point is that I'm getting more concerned about overloading the
> interface with nontrivial information.
> Another direction to consider would be to add this information to the help
> text, e.g. choose one syntax for nonchangable symbols and then the user
> can press help to find more detailed information.

If I understand clearly, something similar is already in v3 (hunk took from
in-progress v4):
@@ -359,6 +369,11 @@ static void get_symbol_str(struct gstr *r, struct symbol *sym)

str_printf(r, "Symbol: %s [=%s]\n", sym->name,
sym_get_string_value(sym));
+ if (sym_get_rev_dep(sym) != no)
+ str_printf(r, "Enforced value: %s (see Selected by:)\n",
+ sym_get_rev_dep(sym) == mod ? "[m] or [y]" : "[y]");
+ if (sym_get_visibility(sym) == no)
+ str_append(r, _("None of the prompts active, default value assigned\n"));
for_all_prompts(sym, prop)
get_prompt_str(r, prop);

> > The function names are maybe suboptimal, I agree.
>
> The variable name is already correct, it's the visibility value of a
> symbol not its maximum. In the case of the "if EMBEDDED" then individual
> menu entries can still be visible, if any child entry is visible (see
> menu_is_visible()).

Changed function names to sym_get_rev_dep() and sym_get_visibility().
Shouldn't I move them from symbol.c and lkc_proto.h into lkc.h? They would
fit into the section with static inline one-liners.

Bye,
Matej.