diff options
author | João Távora <joaotavora@gmail.com> | 2020-10-30 18:43:20 +0000 |
---|---|---|
committer | João Távora <joaotavora@gmail.com> | 2020-10-30 22:31:20 +0000 |
commit | 2e1ab3e583d911afc7e263922f0672d0299bd515 (patch) | |
tree | 3fdfce6ede370ccc3d3e71cc65dbb36282a3de09 /lisp | |
parent | 7500abaa8ef1cec772b197d28d3c3c47b4bc5a86 (diff) | |
download | emacs-2e1ab3e583d911afc7e263922f0672d0299bd515.tar.gz |
Bring back elisp-eldoc-documentation-function, marked obsolete
Fixes: bug#43609
It's not useful for ElDoc's eldoc-mode mechanism in Elisp, and nothing
in Emacs uses it, but it wasn't strictly marked internal, so it's best
to bring it back.
* lisp/progmodes/elisp-mode.el (elisp--documentation-one-liner):
New helper.
(elisp-eldoc-documentation-function): New function, with
obsoletion warning.
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/progmodes/elisp-mode.el | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index c7ff351845e..ce2b924d514 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -1413,6 +1413,30 @@ which see." or argument string for functions. 2 - `function' if function args, `variable' if variable documentation.") +(defun elisp--documentation-one-liner () + (let* (str + (callback (lambda (doc &rest plist) + (setq str + (format "%s: %s" + (propertize (prin1-to-string + (plist-get plist :thing)) + 'face (plist-get plist :face)) + doc))))) + (or (progn (elisp-eldoc-var-docstring callback) str) + (progn (elisp-eldoc-funcall callback) str)))) + +(defalias 'elisp-eldoc-documentation-function 'elisp--documentation-one-liner + "Return Elisp documentation for the thing at point as one-line string. +This is meant as a backward compatibility aide to the \"old\" +Elisp eldoc behaviour. Consider variable docstrings and function +signatures only, in this order. If none applies, returns nil. +Changes to `eldoc-documentation-functions' and +`eldoc-documentation-strategy' are _not_ reflected here. As such +it is preferrable to use ElDoc's interfaces directly.") + +(make-obsolete 'elisp-eldoc-documentation-function + "use ElDoc's interfaces instead." "28.1") + (defun elisp-eldoc-funcall (callback &rest _ignored) "Document function call at point. Intended for `eldoc-documentation-functions' (which see)." |