On Fri, Sep 05, 2025 at 11:41:18AM +0200, Vegard Nossum wrote: > > On 04/09/2025 19:10, Vegard Nossum wrote: > > 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. > > Another small clarification: Replace "is visible to the user" by "can be > set by .config". > > Actual user visibility is controlled by menu_is_visible(), not > sym->visible, so my patch still doesn't show transitional symbols to the > user in menuconfig. AFAICT, menu_is_visible() is completely independent > of sym->visible. Yeah, and I think this is another very good reason to rename stuff. > I tested menuconfig/mconf and oldconfig/conf --oldconfig with scripts/ > kconfig/tests/transitional/Kconfig and my patch and it looks correct > (only the new options are displayed). Great! Thank you for looking at this. :) -- Kees Cook