Subject: Re: bug#48609: Eglot and tab-always-indent conflict in python-mode

From: Pankaj Jangid <[email-masked]>
Date: Tue, 25 May 2021 12:17:06 +0530

João Távora <[email-masked]> writes:

> When Eglot is active, the completion system can find a large number of
> completions available for that empty line.  Since you have selected
> tab-always-indent to be 'complete, Eglot will request and present those
> completions in the *Completions* buffer.
>
> The only way to cancel that operation is by C-g or clicking somewhere
> else.  This in turn makes it so that the "last" command issued isn't
> indent-for-tab-command anymore, and so there aren't two
> indent-for-tab-command commands in a row.  And that is the criteria
> consulted by python.el's indentation function to decide to cycle the
> indentation.
>
> So I'm not sure what needs to be fixed here, if anything, or how you
> would like this to behave.

I think that the best place should be python.el then. A variable
‘python-completion-on-empty-line’ or some better name. I don’t know if
such a variable already exist or not. Need to check.

Since the point-position is cycled by python.el, that is the place where
it should be configured.