On 04/09/2025 19:03, Vegard Nossum wrote:
@@ -214,6 +214,11 @@ static void sym_calc_visibility(struct symbol *sym)
         struct property *prop;
         tristate tri;

+       if (sym->flags & SYMBOL_HIDDEN) {
+               sym->visible = yes;

...I just saw the irony here after having already pressed "Send".

Let me explain:

SYMBOL_HIDDEN is your new flag that indicates that somebody used
"transitional" on the config entry.

sym->visible is tristate value that gives you the condition for whether
a symbol can take on a value -- y/m means the option is visible to the
user (hence the name) and thus eligible to have a value assigned to it.
In this case you've explicitly hidden the symbol from the user but you
_want_ it to be able to take on a value from the .config that was read in.

If we want to be perfectly clear, we'd rename SYMBOL_HIDDEN to
SYMBOL_TRANSITIONAL and rename sym->visible to sym->assignable or
something like that. Then the logic would be:

if (sym->flags & SYMBOL_TRANSITIONAL)
    sym->assignable = yes;

which is much more intuitive.


Vegard

Reply via email to