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

From: Doug Davis <[email-masked]>
Date: Sun, 23 May 2021 17:02:47 -0400

Hi João & Pankaj,

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

> Pankaj Jangid <[email-masked]> writes:
>
>> If ‘eglot’ is running and ‘tab-always-indent’ is set to ’complete. Then
>> in python-mode, TAB doesn’t cycle point column positions. For example,
>> in the following code if you are at end of line 2 and then you press RET
>> then TAB doesn’t move the point to left margin. Without ‘eglot’ this
>> works fine.
>>
>> #+begin_src python
>> def greet(s):
>>     print(f"Hello {s}!")
>> #+end_src
>
> Hello Pankaj,
>
> I cannot reproduce this.  Here's what I ran:
>
>   $ emacs --version | head -1
>   GNU Emacs 26.3
>   $ emacs -Q -f package-initialize -L ~/path/to/eglot/eglot -l eglot \
>     ~/path/to/a/python/file.py -f eglot

Just driving by, hopefully this is helpful; it looks like company may be
the missing ingredient. If I follow these steps but add:
`-L ~/path/to/company -l company`, run both

M-x company-mode
and
M-x eglot

with `tab-always-indent' set to 'complete I'm able to reproduce the
issue described by Pankaj. If I skip loading Eglot but only use company
the issue doesn't surface.

Cheers,
Doug