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))))