From 8f13aefa238d8967d5cc673b6898fe0c14094147 Mon Sep 17 00:00:00 2001 From: Elizaveta Shashkova Date: Wed, 28 Mar 2018 17:55:21 +0300 Subject: [PATCH] Console autocompletion doubled variants for True, False, None (PY-26482) Completion elements are duplicated because these built-in constants are added to builtin dict and also added again like keywords. --- python/helpers/pydev/_pydev_bundle/_pydev_completer.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/python/helpers/pydev/_pydev_bundle/_pydev_completer.py b/python/helpers/pydev/_pydev_bundle/_pydev_completer.py index 4b51342c3e15..9d19b9a7c420 100644 --- a/python/helpers/pydev/_pydev_bundle/_pydev_completer.py +++ b/python/helpers/pydev/_pydev_bundle/_pydev_completer.py @@ -15,6 +15,7 @@ except ImportError: from _pydev_bundle import _pydev_imports_tipper from _pydevd_bundle import pydevd_xml +from _pydevd_bundle.pydevd_constants import dict_iter_items dir2 = _pydev_imports_tipper.generate_imports_tip_for_module @@ -105,7 +106,13 @@ class Completer: a = {} - for dict_with_comps in [__builtin__.__dict__, self.namespace, self.global_namespace]: #@UndefinedVariable + filtered_builtin = {} + for (key, val) in dict_iter_items(__builtin__.__dict__): + # do not use dict comprehension for Py2.6 compatibility + if val not in (True, False, None): + filtered_builtin[key] = val + + for dict_with_comps in [filtered_builtin, self.namespace, self.global_namespace]: #@UndefinedVariable a.update(dict_with_comps) filter = _StartsWithFilter(text)