prop = sym_get_choice_prop(cs); for (e = prop->expr; e; e = e->left.expr) { if (e->right.sym->visible != no) e->right.sym->flags &= ~SYMBOL_NEW; }
bool sym_set_tristate_value(struct symbol *sym, tristate val){	tristate oldval = sym_get_tristate_value(sym);	if (oldval != val && !sym_tristate_within_range(sym, val))		return false;	if (sym->flags & SYMBOL_NEW) {		sym->flags &= ~SYMBOL_NEW;		sym_set_changed(sym);	}	if (sym_is_choice_value(sym) && val == yes) {		struct symbol *cs = prop_get_symbol(sym_get_choice_prop(sym));		cs->user.val = sym;		cs->flags &= ~SYMBOL_NEW;	}	sym->user.tri = val;	if (oldval != val) {		sym_clear_all_valid();		if (sym == modules_sym)			sym_set_all_changed();	}	return true;}