diff --git a/jedi/evaluate/sys_path.py b/jedi/evaluate/sys_path.py index e5ceed81..d720421b 100644 --- a/jedi/evaluate/sys_path.py +++ b/jedi/evaluate/sys_path.py @@ -99,7 +99,7 @@ def check_sys_path_modifications(module_context): def get_sys_path_powers(names): for name in names: power = name.parent.parent - if power.type in ('power', 'atom_expr'): + if power is not None and power.type in ('power', 'atom_expr'): c = power.children if c[0].type == 'name' and c[0].value == 'sys' \ and c[1].type == 'trailer': diff --git a/test/test_api/test_interpreter.py b/test/test_api/test_interpreter.py index c8ca4137..ffaee0e2 100644 --- a/test/test_api/test_interpreter.py +++ b/test/test_api/test_interpreter.py @@ -356,3 +356,9 @@ def test_name_not_findable(): setattr(X, 'NOT_FINDABLE', X.hidden) assert jedi.Interpreter("X.NOT_FINDA", [locals()]).completions() + + +def test_sys_path_docstring(): # Was an issue in #1298 + import jedi + s = jedi.Interpreter("from sys import path\npath", line=2, column=4, namespaces=[locals()]) + s.completions()[0].docstring()