tab-completions crashes sage 9.3.rc2

44 views
Skip to first unread message

Vincent Delecroix

unread,
Apr 10, 2021, 4:30:13 PM4/10/21
to sage-devel, Volker Braun
Dear all,

This message is an emergency call to deactivate jedi before sage-9.3.

I had a recent post about tab-completion crashing sage. It involved
external libraries and could be somehow considered as minor. Here are
two more serious issues

1. If you tab-complete "s" with in Sage twice it will crash Sage
(see details in https://trac.sagemath.org/ticket/31632#comment:22)

2. If you tab-complete then all lazy import that starts with the
prefix are resolved
(see for example https://trac.sagemath.org/ticket/31632#comment:16)

Actually, number 1 is a consequence of number 2 and the underlying
problem is tracked at https://trac.sagemath.org/ticket/31643.

There is an easy way to go which consists in turning off jedi (and
fall back to the internal IPython completer). All problems above
will be avoided. You can test it yourself with

sage: from IPython import get_ipython
sage: ip = get_ipython()
sage: ip.Completer.use_jedi = False

Could that be done? I am welcoming any other suggestion.

Best
Vincent

jonatha...@googlemail.com

unread,
Apr 11, 2021, 2:07:34 AM4/11/21
to sage-devel
+1

In addition to the above arguments, there are two other advantages (but which do not justify deactivating jedi tab completion for sage-9.3):

- It's noticably faster without jedi.
- Keywords of functions appear first in the list, where they belong and not somewhere hidden. (Deactivating jedi as above, I can tab complete `polytopes.cube(` and immediatily see the two available keywords).

Jonathan

Vincent Delecroix

unread,
Apr 11, 2021, 5:51:28 AM4/11/21
to sage-...@googlegroups.com
Reply all
Reply to author
Forward
0 new messages