From d16296bbaa54549a09d6d2602fbdbbbbd48e8244 Mon Sep 17 00:00:00 2001 From: Dave Love Date: Thu, 1 Jun 2000 18:27:31 +0000 Subject: [PATCH] (describe-function-1): Distinguish special form from builtin function. Sanity-check presence of arglist for builtins. --- lisp/help.el | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/lisp/help.el b/lisp/help.el index e45061536ae..c683071ef5b 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -621,7 +621,9 @@ It can also be nil, if the definition is not associated with any file." (vectorp def)) "a keyboard macro") ((subrp def) - (concat beg "built-in function")) + (if (eq 'unevalled (cdr (subr-arity def))) + (concat beg "special form") + (concat beg "built-in function"))) ((byte-code-function-p def) (concat beg "compiled Lisp function")) ((symbolp def) @@ -716,19 +718,24 @@ It can also be nil, if the definition is not associated with any file." (if doc (progn (terpri) (princ doc) - (with-current-buffer standard-output - (beginning-of-line) - ;; Builtins get the calling sequence at the end of - ;; the doc string. Move it to the same place as - ;; for other functions. - (when (looking-at (format "(%S[ )]" function)) - (let ((start (point-marker))) - (goto-char (point-min)) - (forward-paragraph) - (insert-buffer-substring (current-buffer) start) - (insert ?\n) - (delete-region (1- start) (point-max)) - (goto-char (point-max))))) + (if (subrp (symbol-function function)) + (with-current-buffer standard-output + (beginning-of-line) + ;; Builtins get the calling sequence at the end of + ;; the doc string. Move it to the same place as + ;; for other functions. + (if (looking-at (format "(%S[ )]" function)) + (let ((start (point-marker))) + (goto-char (point-min)) + (forward-paragraph) + (insert-buffer-substring (current-buffer) start) + (insert ?\n) + (delete-region (1- start) (point-max))) + (goto-char (point-min)) + (forward-paragraph) + (insert + "[Missing arglist. Please make a bug report.]\n")) + (goto-char (point-max)))) (help-setup-xref (list #'describe-function function) interactive-p)) (princ "not documented"))))) -- 2.39.5