From: Dave Love Date: Tue, 13 Jun 2000 21:06:37 +0000 (+0000) Subject: (describe-function-1): Kluge around cases of functions fset to subrs X-Git-Tag: emacs-pretest-21.0.90~3340 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=9c50afce6241c5544a17772833f6491b81cb2c3b;p=emacs.git (describe-function-1): Kluge around cases of functions fset to subrs whose doc doesn't match their symbol-name. --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 5fa1e5376dc..47f6ac0858a 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2000-06-13 Dave Love + * help.el (describe-function-1): Kluge around cases of functions + fset to subrs whose doc doesn't match their symbol-name. + * image.el (insert-image): Default STRING to a space. * info.el Doc fixes. diff --git a/lisp/help.el b/lisp/help.el index c683071ef5b..1a25fe78601 100644 --- a/lisp/help.el +++ b/lisp/help.el @@ -724,17 +724,28 @@ It can also be nil, if the definition is not associated with any file." ;; 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")) + + ;; In cases where `function' has been fset to a + ;; subr we can't search for function's name in + ;; the doc string. Kluge round that using the + ;; printed representation. The arg list then + ;; shows the wrong function name, but that + ;; might be a useful hint. + (let* ((rep (prin1-to-string def)) + (name (progn + (string-match " \\([^ ]+\\)>$" rep) + (match-string 1 rep)))) + (if (looking-at (format "(%s[ )]" name)) + (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))