diff options
Diffstat (limited to 'Lib/rlcompleter.py')
| -rw-r--r-- | Lib/rlcompleter.py | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/Lib/rlcompleter.py b/Lib/rlcompleter.py index be8aee0f7e..378f5aa647 100644 --- a/Lib/rlcompleter.py +++ b/Lib/rlcompleter.py @@ -103,13 +103,16 @@ class Completer:          """          import keyword          matches = [] +        seen = {"__builtins__"}          n = len(text)          for word in keyword.kwlist:              if word[:n] == text: +                seen.add(word)                  matches.append(word) -        for nspace in [builtins.__dict__, self.namespace]: +        for nspace in [self.namespace, builtins.__dict__]:              for word, val in nspace.items(): -                if word[:n] == text and word != "__builtins__": +                if word[:n] == text and word not in seen: +                    seen.add(word)                      matches.append(self._callable_postfix(val, word))          return matches  | 
