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