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

From: Mattias Engdegård <[email-masked]>
Date: Tue, 20 Feb 2024 11:16:42 +0100

17 feb. 2024 kl. 14.33 skrev kobarity <[email-masked]>:

> On Mac, it might be better to set the default value of
> `python-shell-completion-native-enable' to nil.

Not sure why the inferior Python process doesn't act on a TAB being sent to it. Is the tty somehow in a state that disables readline/libedit? Something that Emacs does when setting up the pty?

Of course from a software engineering point of view, it's silly to send what essentially are edit keystrokes to Python and then screen-scrape the output. A proper interaction protocol would be the way to go, and would work equally well on any platform including Windows.

> Disabling echo back may not be sufficient to enable native completions
> on Mac. I have not tried raw mode, but have tried
> readline.parse_and_bind('setty -echo') and
> readline.parse_and_bind('edit on').  Native completions could be
> enabled, but it was unstable.
> 
> I have no objection if Mac users check the above patch and if it is
> OK.

Afraid it wasn't.

Thanks for your patches. I suggest we apply your set-tty-raw patch on master now since it cures the test failures without breaking anything else (on Mac; I'm assuming no regression elsewhere).

Would you like me to do that for you?