Subject: bug#68559: [PATCH] Improve Python shell completion

From: Eli Zaretskii <[email-masked]>
Date: Fri, 16 Feb 2024 09:41:37 +0200

> From: Liu Hui <[email-masked]>
> Date: Fri, 16 Feb 2024 12:06:38 +0800
> Cc: Mattias Engdegård <[email-masked]>, 
> 	[email-masked], [email-masked]
> 
> On Fri, Feb 16, 2024 at 12:37 AM Eli Zaretskii <[email-masked]> wrote:
> >
> > The python-*-completion-at-point-* tests never worked for me, and I
> > always assumed it was something specific to MS-Windows.  But maybe
> > not.  There was no change in the tests that fail for me before and
> > after the recent changes related to Python.
> 
> The Python shell completion relies on the readline module, which is
> not available for Python on MS-Windows. According to the instruction
> in python.el:
> 
> ;; readline based shell (it's known to work with PyPy).  If your
> ;; Python installation lacks readline (like CPython for Windows),
> ;; installing pyreadline (URL `https://ipython.org/pyreadline.html')
> ;; should suffice.  To troubleshoot why you are not getting any
> ;; completions, you can try the following in your Python shell:
> 
> ;; >>> import readline, rlcompleter
> 
> ;; If you see an error, then you need to either install pyreadline or
> ;; setup custom code that avoids that dependency.

I don't know if I have CPython, but the above does show an error
message.

> It may be necessary to install pyreadline (for Python 2.7) or
> pyreadline3 (for Python 3).

I will see if I can do that, thanks.

Regardless, patches to the test suite to skip the tests which rely on
those modules, if they aren't installed, will be welcome.