-;;; apropos.el --- apropos commands for users and programmers.
+;;; apropos.el --- apropos commands for users and programmers
;; Copyright (C) 1989, 1994, 1995 Free Software Foundation, Inc.
map)
"Keymap used in Apropos mode.")
+(defvar apropos-mode-hook nil
+ "*Hook run when mode is turned on.")
(defvar apropos-regexp nil
"Regexp used in current apropos run.")
"Alist of symbols already found in current apropos run.")
(defvar apropos-item ()
- "Current item in or for apropos-accumulator.")
+ "Current item in or for `apropos-accumulator'.")
\f
;;;###autoload
-(defun apropos-mode ()
+(define-derived-mode apropos-mode fundamental-mode "Apropos"
"Major mode for following hyperlinks in output of apropos commands.
-\\{apropos-mode-map}"
- (interactive)
- (kill-all-local-variables)
- (use-local-map apropos-mode-map)
- (setq major-mode 'apropos-mode
- mode-name "Apropos"))
+\\{apropos-mode-map}")
;;;###autoload
(defun apropos-variable (regexp &optional do-all)
"Show user variables that match REGEXP.
-With optional prefix ARG or if `apropos-do-all' is non-nil, also show
+With optional prefix DO-ALL or if `apropos-do-all' is non-nil, also show
normal variables."
(interactive (list (read-string
(concat "Apropos "
(fset 'command-apropos 'apropos-command)
;;;###autoload
(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
+ "Show commands (interactively callable functions) that match APROPOS-REGEXP.
+With optional prefix DO-ALL, or if `apropos-do-all' is non-nil, also show
noninteractive functions.
If VAR-PREDICATE is non-nil, show only variables, and only those that
;;;###autoload
(defun apropos (apropos-regexp &optional do-all)
- "Show all bound symbols whose names match REGEXP.
-With optional prefix ARG or if `apropos-do-all' is non-nil, also show unbound
-symbols and key bindings, which is a little more time-consuming.
-Returns list of symbols and documentation found."
+ "Show all bound symbols whose names match APROPOS-REGEXP.
+With optional prefix DO-ALL or if `apropos-do-all' is non-nil, also
+show unbound symbols and key bindings, which is a little more
+time-consuming. Returns list of symbols and documentation found."
(interactive "sApropos symbol (regexp): \nP")
(setq apropos-accumulator
(apropos-internal apropos-regexp
;;;###autoload
(defun apropos-value (apropos-regexp &optional do-all)
- "Show all symbols whose value's printed image matches REGEXP.
-With optional prefix ARG or if `apropos-do-all' is non-nil, also looks
+ "Show all symbols whose value's printed image matches APROPOS-REGEXP.
+With optional prefix DO-ALL or if `apropos-do-all' is non-nil, also looks
at the function and at the names and values of properties.
Returns list of symbols and values found."
(interactive "sApropos value (regexp): \nP")
;;;###autoload
(defun apropos-documentation (apropos-regexp &optional do-all)
- "Show symbols whose documentation contain matches for REGEXP.
-With optional prefix ARG or if `apropos-do-all' is non-nil, also use
+ "Show symbols whose documentation contain matches for APROPOS-REGEXP.
+With optional prefix DO-ALL or if `apropos-do-all' is non-nil, also use
documentation that is not stored in the documentation file and show key
bindings.
Returns list of symbols and documentation found."
(defun apropos-safe-documentation (function)
- "Like documentation, except it avoids calling `get_doc_string'.
+ "Like `documentation', except it avoids calling `get_doc_string'.
Will return nil instead."
(while (and function (symbolp function))
(setq function (if (fboundp function)
(if (and apropos-label-face
(symbolp apropos-label-face))
`(face ,apropos-label-face
- mouse-face highlight)))
+ mouse-face highlight
+ help-echo "mouse-2: display help on this item")))
(with-output-to-temp-buffer "*Apropos*"
(let ((p apropos-accumulator)
(old-buffer (current-buffer))
symbol item point1 point2)
(set-buffer standard-output)
(apropos-mode)
- (if window-system
+ (if (display-mouse-p)
(insert "If you move the mouse over text that changes color,\n"
(substitute-command-keys
"you can click \\[apropos-mouse-follow] to get more information.\n")))
(insert
(mapconcat
(lambda (key)
- (setq key (condition-case ()
+ (setq key (condition-case ()
(key-description key)
(error)))
(if apropos-keybinding-face