diff lisp/apropos.el @ 11190:509f78000a59

(apropos): Use apropos-worthy-symbol-p as default predicate. (apropos-worthy-symbol-p): New function.
author Richard M. Stallman <rms@gnu.org>
date Mon, 03 Apr 1995 21:38:06 +0000
parents 1d1c5ea9eb86
children 9fb6a9b6658b
line wrap: on
line diff
--- a/lisp/apropos.el	Mon Apr 03 21:37:39 1995 +0000
+++ b/lisp/apropos.el	Mon Apr 03 21:38:06 1995 +0000
@@ -50,13 +50,21 @@
 Makes them run 2 or 3 times slower.  Set this non-nil if you have a fast
 machine.")
 
+(defun apropos-worthy-symbol-p (symbol)
+  "Return non-nil if SYMBOL is not worthless."
+  (or (fboundp symbol)
+      (boundp symbol)
+      (symbol-plist symbol)))
+
 ;;;###autoload
 (defun apropos (regexp &optional do-all pred no-header)
   "Show all symbols whose names contain matches for REGEXP.
 If optional argument DO-ALL is non-nil (prefix argument if interactive),
 or if `apropos-do-all' is non-nil, does more (time-consuming) work such as
 showing key bindings.  Optional argument PRED is called with each symbol, and
-if it returns nil, the symbol is not shown.
+if it returns nil, the symbol is not shown.  If PRED is nil, the
+default predicate is that the symbol has a value, function definition
+or property list.
 
 Optional argument NO-HEADER means don't print `Function:' or `Variable:'
 in the output.
@@ -64,6 +72,7 @@
 Returns list of symbols and documentation found."
   (interactive "sApropos (regexp): \nP")
   (setq do-all (or apropos-do-all do-all))
+  (setq pred (or pred 'apropos-worthy-symbol-p))
   (let ((apropos-accumulate (apropos-internal regexp pred)))
     (if (null apropos-accumulate)
 	(message "No apropos matches for `%s'" regexp)