diff options
-rw-r--r-- | lisp/help.el | 22 |
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)))) |