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

From: kobarity <[email-masked]>
Date: Wed, 07 Feb 2024 00:12:39 +0900

Liu Hui wrote:
> On Mon, Feb 5, 2024 at 11:03 PM Liu Hui <[email-masked]> wrote:
> 
> > > Thank you for the detailed explanation and the workaround.  I
> > > confirmed that the problem is solved by the above workaround.  Just to
> > > confirm, are you of the opinion that this workaround should not be the
> > > default?
> >
> > I'm not sure if we should add more Python code in the form of strings
> > to python.el, which increases maintenance burden IMO. Maybe they could
> > be distributed separately at ELPA/Git forges.
> >
> > Actually, I'm considering simplifying this patch to mainly fix the bug
> > that python shell completion doesn't respect the delimiter of readline
> > completer. The new patch has been attached. It should support
> > the completer defined in the PYTHONSTARTUP file, e.g., jedi or a
> > custom completer like the above one. WDYT?
> 
> I have updated documentation about readline completer and fixed an
> error in commit log in the attach patch.

Thanks, I understood your concern.  I tried the new patch and
confirmed that your MyJediRL can be used as a custom completer by
storing it in a file specified in the PYTHONSTARTUP environment
variable.  This may be the better way to go.

Sorry, I noticed one more thing.  As written in the comments below, it
would be better to use `line-beginning-position' and
`line-end-position' instead of `pos-bol' and `pos-eol'.

;; This is a GNU ELPA :core package.  Avoid functionality that is not
;; compatible with the version of Emacs recorded above.