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