1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-12-25 10:47:00 +00:00

(help-highlight-arguments): Don't try to highlight missing or autoloaded

arglists.  Accept structured arguments, like the first ones of `do' and
`flet'.
This commit is contained in:
Juanma Barranquero 2004-05-09 00:45:49 +00:00
parent e6662c8bbb
commit fef3a3ab7c

View File

@ -45,10 +45,10 @@ If there's no tutorial in that language, `TUTORIAL' is selected.
With ARG, you are asked to choose which language."
(interactive "P")
(let ((lang (if arg
(let ((minibuffer-setup-hook minibuffer-setup-hook))
(add-hook 'minibuffer-setup-hook
'minibuffer-completion-help)
(read-language-name 'tutorial "Language: " "English"))
(let ((minibuffer-setup-hook minibuffer-setup-hook))
(add-hook 'minibuffer-setup-hook
'minibuffer-completion-help)
(read-language-name 'tutorial "Language: " "English"))
(if (get-language-info current-language-environment 'tutorial)
current-language-environment
"English")))
@ -253,17 +253,16 @@ KIND should be `var' for a variable or `subr' for a subroutine."
(defun help-highlight-arguments (usage doc &rest args)
(when usage
(let ((case-fold-search nil)
(next (not args))
(opt nil))
;; Make a list of all arguments
(with-temp-buffer
(insert usage)
(goto-char (point-min))
(with-temp-buffer
(insert usage)
(goto-char (point-min))
(let ((case-fold-search nil)
(next (not (or args (looking-at "\\["))))
(opt nil))
;; Make a list of all arguments
(while next
(or opt (not (looking-at " &")) (setq opt t))
(if (not (re-search-forward " \\([\\[(]?\\)\\([^] &)\.]+\\)" nil t))
(if (not (re-search-forward " \\([\\[(]*\\)\\([^] &)\.]+\\)" nil t))
(setq next nil)
(setq args (cons (match-string 2) args))
(when (and opt (string= (match-string 1) "("))
@ -272,11 +271,11 @@ KIND should be `var' for a variable or `subr' for a subroutine."
(search-backward "(")
(goto-char (scan-sexps (point) 1)))))
;; Highlight aguments in the USAGE string
(setq usage (help-do-arg-highlight (buffer-string) args)))
;; Highlight arguments in the DOC string
(setq doc (and doc (help-do-arg-highlight doc args)))
;; Return value is like the one from help-split-fundoc, but highlighted
(cons usage doc))))
(setq usage (help-do-arg-highlight (buffer-string) args))))
;; Highlight arguments in the DOC string
(setq doc (and doc (help-do-arg-highlight doc args)))
;; Return value is like the one from help-split-fundoc, but highlighted
(cons usage doc)))
;;;###autoload
(defun describe-function-1 (function)