diff options
| author | Ulf Magnusson <ulfalizer@gmail.com> | 2018-10-16 06:58:54 +0200 |
|---|---|---|
| committer | Ulf Magnusson <ulfalizer@gmail.com> | 2018-10-16 07:35:53 +0200 |
| commit | 98af94da6a9ef81c8e2c56fbf60741fa8d2a2dd1 (patch) | |
| tree | 51a977d2317fbeb7653d6dfe8fbf32baded7eb39 | |
| parent | 553985a985c6aa4d5f9119223ac7fe23b83d5b3c (diff) | |
Make Kconfig.choices match its description
Kconfig.choices has accidentally been identical to
Kconfig.unique_choices all along, because named choices defined in
multiple locations (which are pretty obscure) were only added once.
Fix Kconfig.choices to match its description. This simplifies the code a
bit too.
Kconfig.unique_choices is usually what you want.
| -rw-r--r-- | kconfiglib.py | 6 | ||||
| -rw-r--r-- | tests/Kitemlists | 4 | ||||
| -rw-r--r-- | testsuite.py | 2 |
3 files changed, 7 insertions, 5 deletions
diff --git a/kconfiglib.py b/kconfiglib.py index 700870d..d9af800 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -2579,8 +2579,6 @@ class Kconfig(object): if self._peek_token() is None: choice = Choice() choice.direct_dep = self.n - - self.choices.append(choice) else: # Named choice name = self._expect_str_and_eol() @@ -2589,10 +2587,10 @@ class Kconfig(object): choice = Choice() choice.name = name choice.direct_dep = self.n - - self.choices.append(choice) self.named_choices[name] = choice + self.choices.append(choice) + choice.kconfig = self node = MenuNode() diff --git a/tests/Kitemlists b/tests/Kitemlists index fc72e5c..8aa7107 100644 --- a/tests/Kitemlists +++ b/tests/Kitemlists @@ -19,6 +19,10 @@ choice bool "choice 3" endchoice +choice NAMED + bool +endchoice + endmenu menu "menu 4" diff --git a/testsuite.py b/testsuite.py index c027189..782f3ed 100644 --- a/testsuite.py +++ b/testsuite.py @@ -1185,7 +1185,7 @@ tests/Krecursive2:1 "Wrong prompt for {}, expected '{}'" .format(repr(item), expected_prompt)) - verify_prompts(c.choices, "choice 1", "choice 2", "choice 3") + verify_prompts(c.choices, "choice 1", "choice 2", "choice 3", "choice 2") verify_prompts(c.menus, "menu 1", "menu 2", "menu 3", "menu 4", "menu 5") verify_prompts(c.comments, "comment 1", "comment 2", "comment 3") |
