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

From: Eli Zaretskii <[email-masked]>
Date: Fri, 16 Feb 2024 17:52:04 +0200

> Date: Sat, 17 Feb 2024 00:24:29 +0900
> From: kobarity <[email-masked]>
> Cc: Liu Hui <[email-masked]>,
> 	Eli Zaretskii <[email-masked]>,
> 	[email-masked]
> > Right, that bug needs to be fixed as well, but the echo problem existed prior to the change that broke the tests.
> > 
> > An alternative might be to disable the tty echo altogether. If I do it right after process creation then it has no effect; presumably Python or its readline module turns on echo just a bit later on. Anyway, running
> > 
> >   import tty
> >   tty.setraw(0)
> > 
> > in the python shell seems to put it right, with working completion and the annoying echo gone.
> > 
> > > So one workaround would be to remove the echoed back string before
> > > parsing as JSON.
> > 
> > Yes, either that or turning off echo in the tty.
> 
> I made prototype patches for each method.  I don't use Mac so it would
> be helpful if you could try these.
> 
> 0001-Remove-echoed-back-string-in-python-shell-completion.patch
> extracts only the last line to exclude echoed back strings.
> 
> 0001-Set-tty-mode-to-raw-when-setting-up-Inferior-Python.patch sets
> the Inferior Python tty to raw mode.  python-ffap-module-path-1 will
> no longer need to be skipped on Mac.  If it is safe to set tty to raw
> mode on all UNIX based systems, I prefer this method.

Will this work on MS-Windows as well?  If you are unsure, would you
please tell me how to test whether this works on Windows, so I could
collect the information for you?

Thanks.