From 26243ac08c0619cc5b85782c64e65564b29914bb Mon Sep 17 00:00:00 2001 From: Ulf Magnusson Date: Sat, 6 Jun 2015 01:11:39 +0200 Subject: Remove _Feed.__getitem__(). Also add named choices defined in multiple locations to the block at each location. Not sure why I only added them at the first location before, as symbols don't work that way. I still doubt named choices defined in multiple locations will ever be used. --- kconfiglib.py | 28 +++++++++------------------- 1 file changed, 9 insertions(+), 19 deletions(-) (limited to 'kconfiglib.py') diff --git a/kconfiglib.py b/kconfiglib.py index b84f8bc..80f44de 100644 --- a/kconfiglib.py +++ b/kconfiglib.py @@ -934,7 +934,6 @@ class Config(object): self.end_line = None self.end_line_tokens = None - else: line = line_feeder.get_next() if line is None: @@ -1046,21 +1045,18 @@ class Config(object): menu.visible_if_expr)) elif t0 == T_CHOICE: - # We support named choices - already_defined = False - name = None - if len(tokens) > 1 and isinstance(tokens[1], str): - name = tokens[1] - already_defined = name in self.named_choices - - if already_defined: - choice = self.named_choices[name] - else: + name = tokens.get_next() + if name is None: choice = Choice() self.choices.append(choice) - if name is not None: + else: + # Named choice + choice = self.named_choices.get(name) + if choice is None: + choice = Choice() choice.name = name self.named_choices[name] = choice + self.choices.append(choice) choice.config = self choice.parent = parent @@ -1090,10 +1086,7 @@ class Config(object): if item.type == UNKNOWN: item.type = choice.type - # For named choices defined in multiple locations, only record - # at the first definition - if not already_defined: - block.append(choice) + block.append(choice) elif t0 == T_MAINMENU: text = tokens.get_next() @@ -3529,9 +3522,6 @@ class _Feed(object): def go_to_start(self): self.i = 0 - def __getitem__(self, index): - return self.items[index] - def __len__(self): return len(self.items) -- cgit v1.2.3