From fb1dba269a461caa96b81b9072328bbc3b464739 Mon Sep 17 00:00:00 2001 From: Dave Halter Date: Tue, 12 Aug 2014 14:38:56 +0200 Subject: [PATCH] re-enable the interpretation of the None keyword --- jedi/evaluate/compiled/fake/builtins.pym | 3 ++- jedi/evaluate/finder.py | 5 ----- test/completion/stdlib.py | 2 +- test/test_api/test_full_name.py | 3 +++ 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/jedi/evaluate/compiled/fake/builtins.pym b/jedi/evaluate/compiled/fake/builtins.pym index 599fbd33..e0046d9c 100644 --- a/jedi/evaluate/compiled/fake/builtins.pym +++ b/jedi/evaluate/compiled/fake/builtins.pym @@ -13,7 +13,8 @@ def next(iterator, default=None): else: return iterator.__next__() else: - return default + if default is not None: + return default def iter(collection, sentinel=None): diff --git a/jedi/evaluate/finder.py b/jedi/evaluate/finder.py index 6916fc6d..d98fab64 100644 --- a/jedi/evaluate/finder.py +++ b/jedi/evaluate/finder.py @@ -39,11 +39,6 @@ class NameFinder(object): @debug.increase_indent def find(self, scopes, resolve_decorator=True, search_global=False): - if unicode(self.name_str) == 'None': - # Filter None, because it's really just a keyword, nobody wants to - # access it. - return [] - names = self.filter_name(scopes) types = self._names_to_types(names, resolve_decorator) diff --git a/test/completion/stdlib.py b/test/completion/stdlib.py index e2351887..57bd2220 100644 --- a/test/completion/stdlib.py +++ b/test/completion/stdlib.py @@ -18,7 +18,7 @@ next(reversed(arr)) def yielder(): yield None -#? +#? None next(reversed(yielder())) # empty reversed should not raise an error diff --git a/test/test_api/test_full_name.py b/test/test_api/test_full_name.py index 259c13d1..3398220d 100644 --- a/test/test_api/test_full_name.py +++ b/test/test_api/test_full_name.py @@ -15,6 +15,8 @@ There are three kinds of test: import textwrap +import pytest + import jedi from jedi.api import classes from jedi.evaluate import Evaluator @@ -42,6 +44,7 @@ class MixinTestFullName(object): class TestFullNameWithGotoDefinitions(MixinTestFullName, TestCase): operation = 'goto_definitions' + @pytest.mark.skipif('sys.version_info[:2] <= (2, 6)', reason='Python 2.6 also yields None.') def test_tuple_mapping(self): self.check(""" import re