summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/shortdoc.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp/shortdoc.el')
-rw-r--r--lisp/emacs-lisp/shortdoc.el16
1 files changed, 9 insertions, 7 deletions
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")