summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/help.el22
1 files changed, 18 insertions, 4 deletions
diff --git a/lisp/help.el b/lisp/help.el
index d968aedb7a7..95d08297361 100644
--- a/lisp/help.el
+++ b/lisp/help.el
@@ -311,10 +311,24 @@ C-w print information on absence of warranty for GNU Emacs."
;;; (nth 1 def)
))
(t "")))
- (terpri))
- (if (documentation function)
- (princ (documentation function))
- (princ "not documented"))
+ (terpri)
+ (if (documentation function)
+ (princ (documentation function))
+ (princ "not documented"))
+ (cond ((byte-code-function-p def)
+ (save-excursion
+ (set-buffer standard-output)
+ (or (eq (char-after (1- (point-max))) ?\n)
+ (terpri)))
+ (terpri)
+ (princ (car (append def nil))))
+ ((eq (car-safe def) 'lambda)
+ (save-excursion
+ (set-buffer standard-output)
+ (or (eq (char-after (1- (point-max))) ?\n)
+ (terpri)))
+ (terpri)
+ (princ (nth 1 def)))))
(print-help-return-message)
;; Return the text we displayed.
(save-excursion (set-buffer standard-output) (buffer-string))))