linux/scripts/kconfig
Li Zefan 3fb9acb329 kconfig: fix to tag NEW symbols correctly
Those configs are not new:

  $ cat .config
  ...
  CONFIG_NAMESPACES=y
  ...
  CONFIG_BLOCK=y
  ...

But are tagged as NEW:

  $ yes "" | make config > myconf
  $ cat myconf | grep '(NEW)'
  Namespaces support (NAMESPACES) [Y/?] (NEW) y
  ...
  Enable the block layer (BLOCK) [Y/?] (NEW) y
  ...

You can also notice this bug when using gconfig/xconfig.

It's because the SYMBOL_DEF_USER bit of an invisible symbol is cleared
when the config file is read:

int conf_read(const char *name)
{
	...
	for_all_symbols(i, sym) {
		if (sym_has_value(sym) && !sym_is_choice_value(sym)) {
			/* Reset values of generates values, so they'll appear
			 * as new, if they should become visible, but that
			 * doesn't quite work if the Kconfig and the saved
			 * configuration disagree.
			 */
			if (sym->visible == no && !conf_unsaved)
				sym->flags &= ~SYMBOL_DEF_USER;
	...
}

But a menu item which represents an invisible symbol is still
visible, if it's sub-menu is visible, so its SYMBOL_DEF_USER
bit should be set to indicate it's not NEW.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-02 15:10:32 +02:00
..
lxdialog menuconfig: add support to show hidden options which have prompts 2010-04-14 15:34:19 +02:00
.gitignore gitignore: ignore Kconfig i18n files 2009-06-09 22:37:47 +02:00
check.sh kbuild: check if we can link gettext not just compile 2007-10-12 21:13:50 +02:00
conf.c kconfig: introduce nonint_oldconfig and loose_nonint_oldconfig 2010-06-02 14:40:09 +02:00
confdata.c kbuild: generate modules.builtin 2009-12-12 13:08:16 +01:00
expr.c kconfig: print the range of integer/hex symbol in help text 2010-06-02 15:10:32 +02:00
expr.h Improve kconfig symbol hashing 2010-02-02 14:33:55 +01:00
gconf.c gconfig: add support to show hidden options that have prompts 2010-04-14 15:34:19 +02:00
gconf.glade gconfig: add support to show hidden options that have prompts 2010-04-14 15:34:19 +02:00
images.c
kconfig_load.c
kxgettext.c kbuild: add static to prototypes 2009-09-20 12:27:44 +02:00
lex.zconf.c_shipped kconfig: Mark various internal functions static 2009-11-15 15:00:16 -08:00
lkc.h kconfig: new configuration interface (nconfig) 2010-02-02 14:33:55 +01:00
lkc_proto.h menuconfig: add support to show hidden options which have prompts 2010-04-14 15:34:19 +02:00
Makefile kconfig: introduce nonint_oldconfig and loose_nonint_oldconfig 2010-06-02 14:40:09 +02:00
mconf.c menuconfig: add support to show hidden options which have prompts 2010-04-14 15:34:19 +02:00
menu.c kconfig: fix to tag NEW symbols correctly 2010-06-02 15:10:32 +02:00
nconf.c nconfig: minor fix 2010-02-02 14:33:55 +01:00
nconf.gui.c nconfig: mark local functions as such 2010-02-02 14:33:55 +01:00
nconf.h kconfig: new configuration interface (nconfig) 2010-02-02 14:33:55 +01:00
POTFILES.in kconfig: gettext support for lxdialog 2008-01-28 23:14:39 +01:00
qconf.cc kconfig: make use of menu_get_ext_help in qconfig 2009-09-20 12:27:41 +02:00
qconf.h kconfig/xconfig: sync main view with search dialog current menu 2007-05-02 20:58:08 +02:00
streamline_config.pl kconfig: Fix make O=<dir> local{mod,yes}config 2009-11-20 09:45:55 -05:00
symbol.c kconfig: recalc symbol value before showing search results 2010-03-23 12:29:07 +01:00
util.c menuconfig: wrap long help lines 2010-02-02 14:33:55 +01:00
zconf.gperf kconfig: Mark various internal functions static 2009-11-15 15:00:16 -08:00
zconf.hash.c_shipped kconfig: Mark various internal functions static 2009-11-15 15:00:16 -08:00
zconf.l kconfig: Mark various internal functions static 2009-11-15 15:00:16 -08:00
zconf.tab.c_shipped kconfig: fix zconfdump() 2010-04-14 15:34:18 +02:00
zconf.y kconfig: fix zconfdump() 2010-04-14 15:34:18 +02:00