Mercurial > emacs
changeset 2440:46fcbdb6cc3a
(describe-function): For Lisp functions, write a prototype call before
the docstring, instead of an argument description after it.
author | Roland McGrath <roland@gnu.org> |
---|---|
date | Wed, 31 Mar 1993 21:11:33 +0000 |
parents | b6c62e4abf59 |
children | 78098404b263 |
files | lisp/help.el |
diffstat | 1 files changed, 18 insertions(+), 15 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/help.el Wed Mar 31 10:55:33 1993 +0000 +++ b/lisp/help.el Wed Mar 31 21:11:33 1993 +0000 @@ -281,7 +281,9 @@ (princ ": ") (let* ((def (symbol-function function)) (beg (if (commandp def) "an interactive " "a "))) - (princ (cond ((stringp def) "a keyboard macro.") + (princ (cond ((or (stringp def) + (vectorp def)) + "a keyboard macro.") ((subrp def) (concat beg "built-in function.")) ((byte-code-function-p def) @@ -303,24 +305,25 @@ )) (t ""))) (terpri) + (let ((arglist (cond ((byte-code-function-p def) + (car (append def nil))) + ((eq (car-safe def) 'lambda) + (nth 1 def)) + (t t)))) + (if (listp arglist) + (progn + (princ (cons function + (mapcar (lambda (arg) + (if (memq arg '(&optional &rest)) + arg + (intern (upcase (symbol-name arg))))) + arglist))) + (terpri)))) (if (documentation function) (progn (terpri) (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))))