Subject: bug#25753: 25.2; Python mode shell interaction not working 100%

From: Live System User <[email-masked]>
Date: Mon, 20 Feb 2017 17:34:08 -0500

[email-masked] writes:

> Live System User <[email-masked]> writes:
>>     I was already using that (wrapped in a "with-eval-after-load
>>     'python") from:
>>
>>     https://github.com/jorgenschaefer/elpy/issues/887#issuecomment-275175119
>>
>>     to no avail.
>
> Can you test the python code from python-shell-completion-native-setup
> outside of Emacs, e.g., save it to a file called 'native-completion.py'
> and then run 'python -i native-completion.py' and then type an
> underscore and hit <tab>.
>
> With 2.7.13, I get
>
>     $ python2 -i native-completion.py 
>     python.el: native completion setup loaded
>     >>> ___package__
>     __PYTHON_EL_native_completion_setup
>     __name__
>     __doc__
>     __import__
>     __debug__
>
>     0__dummy_completion__  1__dummy_completion__  
>     >>> _

      I get the same:

$ ▸ python2 -i native-completion.py
python.el: native completion setup loaded
>>> ___package__
__PYTHON_EL_native_completion_setup
__name__
__doc__
__import__
__debug__

0__dummy_completion__  1__dummy_completion__  
>>> _

    In Emacs I still get the (visable) *Warning* buffer with contents:

Warning (python): Your ‘python-shell-interpreter’ doesn’t seem to support readline, yet ‘python-shell-completion-native’ was t and "python" is not part of the ‘python-shell-completion-native-disabled-interpreters’ list.  Native completions have been disabled locally. 

>
> With python 3.6.0 I get:
>
>     $ python -i native-completion.py 
>     python.el: native completion setup loaded
>     >>> ___name__
>     __doc__
>     __package__
>     __loader__
>     __spec__
>     __annotations__
>     __cached__
>     __PYTHON_EL_native_completion_setup
>     __build_class__
>     __import__
>     __debug__
>
>     0__dummy_completion__  1__dummy_completion__  
>     >>> _

      With Python 3.5.2 I get something a little different:

liveuser@localhost:~$ ▸  python3 -i native-completion.py
python.el: native completion setup loaded
>>> ___loader__
__spec__
__cached__
__name__
__package__
__PYTHON_EL_native_completion_setup
__doc__
__build_class__
__import__
__debug__

0__dummy_completion__  1__dummy_completion__  
>>> _

    Thanks.