From: Mattias EngdegÄrd Date: Wed, 14 Dec 2022 11:16:28 +0000 (+0100) Subject: Shortdoc: read and evaluate strings after :eval X-Git-Tag: emacs-29.0.90~1188 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=931d97bf56328d8b030f52eef3b9737b46ab7551;p=emacs.git Shortdoc: read and evaluate strings after :eval * lisp/emacs-lisp/shortdoc.el (shortdoc--display-function): If the parameter of :eval is a string then read, evaluate and print the result. This was always the intention and is documented behaviour. --- diff --git a/lisp/emacs-lisp/shortdoc.el b/lisp/emacs-lisp/shortdoc.el index 83283247150..c6925791d08 100644 --- a/lisp/emacs-lisp/shortdoc.el +++ b/lisp/emacs-lisp/shortdoc.el @@ -1440,14 +1440,16 @@ function's documentation in the Info manual")) do (cl-case type (:eval + (insert " ") (if (stringp value) - (insert " " value "\n") - (insert " ") - (prin1 value (current-buffer)) - (insert "\n") - (insert " " double-arrow " ") - (prin1 (eval value) (current-buffer)) - (insert "\n"))) + (insert value) + (prin1 value (current-buffer))) + (insert "\n " double-arrow " ") + (let ((expr (if (stringp value) + (car (read-from-string value)) + value))) + (prin1 (eval expr) (current-buffer))) + (insert "\n")) (:no-eval* (if (stringp value) (insert " " value "\n")