mirror of
https://github.com/masscollaborationlabs/emacs.git
synced 2025-07-03 10:53:23 +00:00
Eglot: always call ElDoc callbacks in correct buffer (bug#78530)
Some minor modes adds their own eldoc display function to 'eldoc-display-functions' hook buffer-locally. So when eldoc uses 'eldoc-display-functions' to display docs, it should use the buffer-local value of the hook. But that's not always the case. In 'eldoc--invoke-strategy', the code that runs 'eldoc-display-functions' hook is wrapped in a callback function that eventually gets passed to each documentation function in 'eldoc-documentation-functions'. So now it's the documentation functions' responsibility to call the eldoc callback in the original buffer. All the eglot documentation functions indeed do that, using 'eglot--when-buffer-window' to switch to the original buffer when calling the eldoc callback. But 'eglot-code-action-suggestion' is the exception, the callback is called outside of the 'eglot--when-buffer-window' form. This patch fixes that. This bug was originally reported on eldoc-box [1]. The user found that eldoc-box's display function are rarely called, even though the minor mode is turned on. This patch fixes the issue. [1] https://github.com/casouri/eldoc-box/issues/126#issuecomment-2896611278 * lisp/progmodes/eglot.el (eglot-code-action-suggestion): Move the funcall form into the eglot--when-buffer-window form.
This commit is contained in:
parent
cb1b65f392
commit
0b2ba13c97
1 changed files with 2 additions and 2 deletions
|
@ -4168,8 +4168,8 @@ at point. With prefix argument, prompt for ACTION-KIND."
|
||||||
'display
|
'display
|
||||||
`((margin left-margin)
|
`((margin left-margin)
|
||||||
,tooltip)))))
|
,tooltip)))))
|
||||||
(setq eglot--suggestion-overlay ov)))))
|
(setq eglot--suggestion-overlay ov))))
|
||||||
(when use-text-p (funcall cb blurb)))
|
(when use-text-p (funcall cb blurb))))
|
||||||
:hint :textDocument/codeAction)
|
:hint :textDocument/codeAction)
|
||||||
(and use-text-p t))))
|
(and use-text-p t))))
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue