You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a symbol is double defined but with different prompts, where the active prompt is depending on a common setting both prompts may show.
For example to indicate to users that a given setting is EXPERIMENTAL under some circumstances, one prompt is shown when FOO is enabled also, and the other prompt is shown when FOO is disabled.
This happens when configs right below the second symbol is guarded (depends on) with an if.
Code that reproduces this:
config FOO
bool "FOO"
default n
bool
config BAR
bool "bar" if !FOO
config BAR
bool "bar [EXPERIMENTAL]" if FOO
if BAR
config BAZ
bool "Baz is here"
endif
As expected
Unexpected, both prompts are now shown:
Expected behavior
Only a sing prompt should be shown when FOO=n and BAR=y
Workaround
Add a DUMMY config between the last config and the if, like this:
config FOO
bool "FOO"
config BAR
bool "bar" if !FOO
config BAR
bool "bar [EXPERIMENTAL]" if FOO
config DUMMY
bool
if BAR
config BAZ
bool "Baz is here"
endif
Almost as before:
Now working as expected:
Cons on the workaround
BAZ setting is no longer indented as it is no longer seen as a submenu to BAR.
Additional info
This code is believed to be responsible for the observed behavior:
Problem description
When a symbol is double defined but with different prompts, where the active prompt is depending on a common setting both prompts may show.
For example to indicate to users that a given setting is
EXPERIMENTAL
under some circumstances, one prompt is shown whenFOO
is enabled also, and the other prompt is shown whenFOO
is disabled.This happens when configs right below the second symbol is guarded (
depends on
) with anif
.Code that reproduces this:
As expected
Unexpected, both prompts are now shown:
Expected behavior
Only a sing prompt should be shown when
FOO=n
andBAR=y
Workaround
Add a
DUMMY
config between the lastconfig
and theif
, like this:Almost as before:
Now working as expected:
Cons on the workaround
BAZ
setting is no longer indented as it is no longer seen as a submenu toBAR
.Additional info
This code is believed to be responsible for the observed behavior:
Kconfiglib/menuconfig.py
Lines 1504 to 1513 in 061e71f
The text was updated successfully, but these errors were encountered: