bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#62029: 29.0.60; Allow users to customize eldoc buffer separator


From: Dmitry Gutov
Subject: bug#62029: 29.0.60; Allow users to customize eldoc buffer separator
Date: Wed, 12 Apr 2023 04:38:28 +0300
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.0

On 11/04/2023 14:25, João Távora wrote:
Dmitry Gutov <dmitry@gutov.dev> writes:

On 30/03/2023 11:13, João Távora wrote:

You do need to set eldoc-documentation-strategy to
eldoc-documentation-compose though (this should really
be the default).

Huh, I wonder why I can see both flymake + eglot in the eldoc doc
buffer when my eldoc-documentation-strategy is the default value?
Because Eglot changes eldoc-documentation-strategy automatically.
It
shouldn't but the default value is really bad.
The reason the default value is historic.  Previously, there was a
single producer of ElDoc, and only in Emacs Lisp.  It would decide
whether to show variable _or_ function doc, even if a given symbol had
more than one meaning.  So what's the problem with setting
eldoc-documentation-strategy something like e-d-compose, you ask.
Well, because of the default value of
eldoc-echo-area-use-multiline-p,
people would be seeing "bouncing" in the echo area while editing Elisp,
which is something they are not used to.
I think a very good solution is to set e-d-strategy to e-d-compose
globally and e-e-a-use-multiline-p to 1 in emacs-lisp-mode.
I once proposed this in this bug tracker, but the message was
garbled by
some side discussion, and I gave up.  And ElDoc wasn't so powerful then.

Last time I tested Eglot's behavior (recently),

How "recently"?  Does it have this commit?

commit d00e05daa96700860dbb9dc6527105e464ffb960
Author: João Távora <joaotavora@gmail.com>
Date:   Sat Mar 25 19:53:14 2023 +0000

     Eglot: take advantage of new Eldoc options for signature doc
Only echo the "active signature", send all the other signatures for
     the *eldoc* buffer.
* lisp/progmodes/eglot.el (eglot--sig-info): Rework protocol.
     (eglot-signature-eldoc-function): Rework.

This is also in the latest released Eglot 1.14, btw.

I retested it just yesterday (and now as well), to take that screenshot.

But that was Emacs 29. With current master, it is indeed better.

Eldoc took away half the window to display the overloads of a
function's signature. Screenshot attached.

This is exactly what I've been working on and discussing with Yuan and
others, so I'm pretty familiar with the situation.

That doesn't look like good behavior to me, no matter the language or
IDE package used.

I agree, and this is why I changed it.  Let's hope noone complains
(unlikely, but possible, as this changed longstanding behaviour).

But here I was describing something not related to Eglot at all, rather
elisp-mode.el.  Do you have something to say about that?  Did you try
the patch I showed Yuan?

I have applied it. What should I be looking at?





reply via email to

[Prev in Thread] Current Thread [Next in Thread]