Commit acfe10b7 authored by Bastien Guerry's avatar Bastien Guerry

Introduce `apropos-user-option' and update `apropos-variable'. (Bug#13276)

parent 62bcf670
2013-01-07 Bastien Guerry <>
* help.texi (Apropos): Document `apropos-user-option' and update
the doc for `apropos-variable'.
2013-01-05 Glenn Morris <>
* text.texi (HTML Mode): Remove deleted nxml C-RET binding.
......@@ -295,11 +295,16 @@ search for noninteractive functions too.
Search for functions and variables. Both interactive functions
(commands) and noninteractive functions can be found by this.
@item M-x apropos-variable
@findex apropos-variable
@item M-x apropos-user-option
@findex apropos-user-option
Search for user-customizable variables. With a prefix argument,
search for non-customizable variables too.
@item M-x apropos-variable
@findex apropos-variable
Search for variables. With a prefix argument, search for
customizable variables only.
@item M-x apropos-value
@findex apropos-value
Search for variables whose values match the specified pattern. With a
2013-01-07 Bastien Guerry <>
* menu-bar.el (menu-bar-search-documentation-menu): Use
`apropos-user-option' and fix the help message.
2013-01-07 Bastien Guerry <>
* apropos.el (apropos-do-all): Update docstring.
(apropos-user-option-button): New face.
(apropos-user-option): Rename from `apropos-variable' and update
(apropos-variable): Rewrite, now show all variables by default.
(apropos-print): Mention "User option" instead of "Variable" when
printing doc for user options. (Bug#13276)
2013-01-07 Jürgen Hötzel <>
* net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls):
......@@ -69,7 +69,7 @@
"Non nil means apropos commands will search more extensively.
This may be slower. This option affects the following commands:
`apropos-variable' will search all variables, not just user variables.
`apropos-user-option' will search all variables, not just user options.
`apropos-command' will also search non-interactive functions.
`apropos' will search all symbols, not just functions, variables, faces,
and those with property lists.
......@@ -115,6 +115,12 @@ include key-binding information in its output."
:group 'apropos
:version "24.3")
(defface apropos-user-option-button
'((t (:inherit (font-lock-variable-name-face button))))
"Button face indicating a user option in Apropos."
:group 'apropos
:version "24.4")
(defface apropos-misc-button
'((t (:inherit (font-lock-constant-face button))))
"Button face indicating a miscellaneous object type in Apropos."
......@@ -261,6 +267,15 @@ term, and the rest of the words are alternative terms.")
'action (lambda (button)
(describe-variable (button-get button 'apropos-symbol))))
(define-button-type 'apropos-user-option
'apropos-label "User option"
'apropos-short-label "o"
'face 'apropos-user-option-button
'help-echo "mouse-2, RET: Display more help on this user option"
'follow-link t
'action (lambda (button)
(describe-variable (button-get button 'apropos-symbol))))
(define-button-type 'apropos-face
'apropos-label "Face"
'apropos-short-label "F"
......@@ -461,15 +476,15 @@ This requires that at least 2 keywords (unless only one was given)."
This is used to decide whether to print the result's type or not.")
(defun apropos-variable (pattern &optional do-all)
"Show user variables that match PATTERN.
(defun apropos-user-option (pattern &optional do-all)
"Show user options that match PATTERN.
PATTERN can be a word, a list of words (separated by spaces),
or a regexp (using some regexp special characters). If it is a word,
search for matches for that word as a substring. If it is a list of words,
search for matches for any two (or more) of those words.
With \\[universal-argument] prefix, or if `apropos-do-all' is non-nil, also show
normal variables."
variables, not just user options."
(interactive (list (apropos-read-pattern
(if (or current-prefix-arg apropos-do-all)
"variable" "user option"))
......@@ -481,6 +496,17 @@ normal variables."
(get symbol 'variable-documentation)))
(defun apropos-variable (pattern &optional do-not-all)
"Show variables that match PATTERN.
When DO-NOT-ALL is not-nil, show user options only, i.e. behave
like `apropos-user-option'."
(interactive (list (apropos-read-pattern
(if current-prefix-arg "user option" "variable"))
(let ((apropos-do-all (if do-not-all nil t)))
(apropos-user-option pattern)))
;; For auld lang syne:
(defalias 'command-apropos 'apropos-command)
......@@ -1099,7 +1125,11 @@ If non-nil TEXT is a string that will be printed as a heading."
(not nosubst))
(apropos-print-doc 3 'apropos-variable (not nosubst))
(apropos-print-doc 3
(if (custom-variable-p symbol)
(not nosubst))
(apropos-print-doc 7 'apropos-group t)
(apropos-print-doc 6 'apropos-face t)
(apropos-print-doc 5 'apropos-widget t)
......@@ -1637,8 +1637,8 @@ key, a click, or a menu-item"))
'(menu-item "Find Options by Value..." apropos-value
:help "Find variables whose values match a regexp"))
(bindings--define-key menu [find-options-by-name]
'(menu-item "Find Options by Name..." apropos-variable
:help "Find variables whose names match a regexp"))
'(menu-item "Find Options by Name..." apropos-user-option
:help "Find user options whose names match a regexp"))
(bindings--define-key menu [find-commands-by-name]
'(menu-item "Find Commands by Name..." apropos-command
:help "Find commands whose names match a regexp"))
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment