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

(apropos-command): If DO-ALL is set, search functions, not variables.

This commit is contained in:
Richard M. Stallman 1998-05-24 23:19:37 +00:00
parent 05942d060e
commit 9a909b3c42

View File

@ -165,15 +165,15 @@ normal variables."
(defun apropos-command (apropos-regexp &optional do-all var-predicate)
"Show commands (interactively callable functions) that match REGEXP.
With optional prefix ARG, or if `apropos-do-all' is non-nil, also show
user option variables.
noninteractive functions.
If VAR-PREDICATE is non-nil, show only variables that
If VAR-PREDICATE is non-nil, show only variables, and only those that
satisfy the predicate VAR-PREDICATE."
(interactive (list (read-string (concat
"Apropos command "
(if (or current-prefix-arg
apropos-do-all)
"or variable ")
"or function ")
"(regexp): "))
current-prefix-arg))
(let ((message
@ -182,12 +182,8 @@ satisfy the predicate VAR-PREDICATE."
(or do-all (setq do-all apropos-do-all))
(setq apropos-accumulator
(apropos-internal apropos-regexp
(if do-all
(lambda (symbol) (or (commandp symbol)
(user-variable-p symbol)))
(if do-all 'functionp
(or var-predicate 'commandp))))
(if do-all
(setq var-predicate 'user-variable-p))
(let ((tem apropos-accumulator))
(while tem
(if (get (car tem) 'apropos-inhibit)
@ -200,11 +196,11 @@ satisfy the predicate VAR-PREDICATE."
(while p
(setcar p (list
(setq symbol (car p))
(if (or do-all (not var-predicate))
(if (commandp symbol)
(if (setq doc (documentation symbol t))
(substring doc 0 (string-match "\n" doc))
"(not documented)")))
(unless var-predicate
(if (functionp symbol)
(if (setq doc (documentation symbol t))
(substring doc 0 (string-match "\n" doc))
"(not documented)")))
(and var-predicate
(funcall var-predicate symbol)
(if (setq doc (documentation-property