From 541eec259be19464f855f852f99df4f995a380cc Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Fri, 24 Mar 2023 14:34:05 +0000 Subject: [PATCH] Eldoc: fix bug recently introduced in "old" protocol In the "old" protocol, eldoc-documentation-strategy is actually used as the deprecated eldoc-documentation-function and it is itself the "origin" of the doc snippet to be displayed. * lisp/emacs-lisp/eldoc.el (eldoc--invoke-strategy): Fix. --- lisp/emacs-lisp/eldoc.el | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/lisp/emacs-lisp/eldoc.el b/lisp/emacs-lisp/eldoc.el index 2108e189fbd..05033f39cba 100644 --- a/lisp/emacs-lisp/eldoc.el +++ b/lisp/emacs-lisp/eldoc.el @@ -911,8 +911,11 @@ the docstrings eventually produced, using (let* ((eldoc--make-callback #'make-callback) (res (funcall eldoc-documentation-strategy))) ;; Observe the old and the new protocol: - (cond (;; Old protocol: got string, output immediately; - (stringp res) (register-doc 0 res nil) (display-doc)) + (cond (;; Old protocol: got string, e-d-strategy is iself the + ;; origin function, and we output immediately; + (stringp res) + (register-doc 0 res nil eldoc-documentation-strategy) + (display-doc)) (;; Old protocol: got nil, clear the echo area; (null res) (eldoc--message nil)) (;; New protocol: trust callback will be called; -- 2.39.2