diff lisp/apropos.el @ 20335:445110a43268

(apropos-variable): New command. (apropos-command): New arg JUST-VARS.
author Richard M. Stallman <rms@gnu.org>
date Mon, 24 Nov 1997 04:55:48 +0000
parents 444df644c28f
children 048c8ad9bcaa
line wrap: on
line diff
--- a/lisp/apropos.el	Mon Nov 24 03:43:19 1997 +0000
+++ b/lisp/apropos.el	Mon Nov 24 04:55:48 1997 +0000
@@ -138,20 +138,25 @@
   (setq major-mode 'apropos-mode
 	mode-name "Apropos"))
 
+;;;###autoload
+(defun apropos-variable (regexp)
+  (interactive (list (read-string "Apropos variable (regexp): ")))
+  (apropos-command regexp nil t))
 
 ;; For auld lang syne:
 ;;;###autoload
 (fset 'command-apropos 'apropos-command)
 ;;;###autoload
-(defun apropos-command (apropos-regexp &optional do-all)
+(defun apropos-command (apropos-regexp &optional do-all just-vars)
   "Show commands (interactively callable functions) that match REGEXP.
 With optional prefix ARG, or if `apropos-do-all' is non-nil, also show
-variables."
-  (interactive (list (read-string (concat "Apropos command "
-					  (if (or current-prefix-arg
-						  apropos-do-all)
-					      "or variable ")
-					  "(regexp): "))
+variables.  If JUST-VARS is non-nil, show only variables."
+  (interactive (list (read-string (concat
+				   "Apropos command "
+				   (if (or current-prefix-arg
+					   apropos-do-all)
+				       "or variable ")
+				   "(regexp): "))
 		     current-prefix-arg))
   (let ((message
 	 (let ((standard-output (get-buffer-create "*Apropos*")))
@@ -162,7 +167,8 @@
 			    (if do-all
 				(lambda (symbol) (or (commandp symbol)
 						     (user-variable-p symbol)))
-			      'commandp)))
+			      (if just-vars 'user-variable-p
+				'commandp))))
     (if (apropos-print
 	 t
 	 (lambda (p)
@@ -170,10 +176,11 @@
 	     (while p
 	       (setcar p (list
 			  (setq symbol (car p))
-			  (if (commandp symbol)
-			      (if (setq doc (documentation symbol t))
-				  (substring doc 0 (string-match "\n" doc))
-				"(not documented)"))
+			  (if (or do-all (not just-vars))
+			      (if (commandp symbol)
+				  (if (setq doc (documentation symbol t))
+				      (substring doc 0 (string-match "\n" doc))
+				    "(not documented)")))
 			  (and do-all
 			       (user-variable-p symbol)
 			       (if (setq doc (documentation-property