maintainer-feedback requested: [Bug 252875] devel/ipython: completion still broken after 7.19.0_2
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Thu Jan 21 05:38:38 UTC 2021
Bugzilla Automation <bugzilla at FreeBSD.org> has asked freebsd-python (Nobody)
<python at FreeBSD.org> for maintainer-feedback:
Bug 252875: devel/ipython: completion still broken after 7.19.0_2
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252875
--- Description ---
The patch to 7.19.0_2 exposed some other problems:
File
"/usr/local/lib/python3.9/site-packages/prompt_toolkit/completion/base.py",
line 196, in get_completions_async
for item in self.get_completions(document, complete_event):
File "/usr/local/lib/python3.9/site-packages/IPython/terminal/ptutils.py",
line 116, in get_completions
exc_type, exc_value, exc_tb = sys.exc_info()
NameError: name 'sys' is not defined
It turns out that ptutils.py needs two additional imports:
import sys
import traceback
(see attached patch)
This however exposes another bug:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/IPython/terminal/ptutils.py",
line 115, in get_completions
yield from self._get_completions(body, offset, cursor_position,
self.ipy_completer)
File "/usr/local/lib/python3.9/site-packages/IPython/terminal/ptutils.py",
line 131, in _get_completions
for c in completions:
File "/usr/local/lib/python3.9/site-packages/IPython/core/completer.py", line
438, in _deduplicate_completions
completions = list(completions)
File "/usr/local/lib/python3.9/site-packages/IPython/core/completer.py", line
1817, in completions
for c in self._completions(text, offset,
_timeout=self.jedi_compute_type_timeout/1000):
File "/usr/local/lib/python3.9/site-packages/IPython/core/completer.py", line
1874, in _completions
signature = _make_signature(jm)
File "/usr/local/lib/python3.9/site-packages/IPython/core/completer.py", line
991, in _make_signature
return '(%s)'% ', '.join([f for f in (_formatparamchildren(p) for p in
completion.params) if f])
AttributeError: 'Completion' object has no attribute 'params'
Looking at the differences between completer.py in this version and the one on
github HEAD, they are significant.
It seems to me that until a new version of IPython is released, py-parso and
py-jedi should be rolled back as proposed in #252395.
More information about the freebsd-python
mailing list