From 3da4ff1f897ae9bae128316e5a0253ea3893de80 Mon Sep 17 00:00:00 2001 From: ColinDuquesnoy Date: Fri, 20 Dec 2013 13:48:49 +0100 Subject: [PATCH 1/4] Fix for #357/#331 --- jedi/builtin.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/jedi/builtin.py b/jedi/builtin.py index 01f8b3f2..d2b5ce23 100644 --- a/jedi/builtin.py +++ b/jedi/builtin.py @@ -352,6 +352,8 @@ def _parse_function_doc(func): # get full string, parse round parentheses: def func(a, (b,c)) try: + if not hasattr(func, "__name__"): + return '', 'pass' count = 0 debug.dbg(func, func.__name__, doc) start = doc.index('(') From c7d4c0453a251ea09ef2cb3008d93a6274f42436 Mon Sep 17 00:00:00 2001 From: ColinDuquesnoy Date: Fri, 20 Dec 2013 13:48:58 +0100 Subject: [PATCH 2/4] Add a regression test --- test/test_regression.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/test_regression.py b/test/test_regression.py index c50998c8..8c19e8a8 100644 --- a/test/test_regression.py +++ b/test/test_regression.py @@ -169,3 +169,8 @@ class TestRegression(TestCase): " yield 1\n" \ "abc()." assert Script(s).completions() + + def test_pyqt(self): + code = "from PyQt4.Qt import QDialog; QDialog." + s = jedi.Script(code) + assert s.completions() From 478140caabc8dd963b2423dc7ee463259fd1f08d Mon Sep 17 00:00:00 2001 From: Colin Date: Sat, 21 Dec 2013 14:23:41 +0100 Subject: [PATCH 3/4] Add a comment --- jedi/builtin.py | 1 + 1 file changed, 1 insertion(+) diff --git a/jedi/builtin.py b/jedi/builtin.py index d2b5ce23..85f1f745 100644 --- a/jedi/builtin.py +++ b/jedi/builtin.py @@ -352,6 +352,7 @@ def _parse_function_doc(func): # get full string, parse round parentheses: def func(a, (b,c)) try: + # unbound methods such as pyqtSignals have no __name__ if not hasattr(func, "__name__"): return '', 'pass' count = 0 From d96bc94b0b9f3f13c54c9be153f27d32a5028ca8 Mon Sep 17 00:00:00 2001 From: Colin Date: Sat, 21 Dec 2013 14:24:12 +0100 Subject: [PATCH 4/4] Remove test pyqt --- test/test_regression.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/test/test_regression.py b/test/test_regression.py index 8c19e8a8..c50998c8 100644 --- a/test/test_regression.py +++ b/test/test_regression.py @@ -169,8 +169,3 @@ class TestRegression(TestCase): " yield 1\n" \ "abc()." assert Script(s).completions() - - def test_pyqt(self): - code = "from PyQt4.Qt import QDialog; QDialog." - s = jedi.Script(code) - assert s.completions()