;ELC   
;;; Compiled
;;; in Emacs version 29.4
;;; with all optimizations.



(byte-code "\300\301\302\303\304\305\306\307&\210\310\311\312\313\314DD\315\316\317%\207" [custom-declare-group apropos nil "Apropos commands for users and programmers." :group help :prefix "apropos" custom-declare-variable apropos-do-all funcall function #[0 "\300\207" [nil] 1 ""] "Non-nil means apropos commands will search more extensively.\nThis may be slower.  This option affects the following commands:\n\n`apropos-user-option' will search all variables, not just user options.\n`apropos-command' will also search non-interactive functions.\n`apropos' will search all symbols, not just functions, variables, faces,\nand those with property lists.\n`apropos-value' will also search in property lists and functions.\n`apropos-documentation' will search all documentation strings, not just\nthose in the etc/DOC documentation file.\n\nThis option only controls the default behavior.  Each of the above\ncommands also has an optional argument to request a more extensive search.\n\nAdditionally, this option makes the function `apropos-library'\ninclude keybinding information in its output." :type boolean] 8)
(custom-declare-face 'apropos-symbol '((t (:inherit bold))) "Face for the symbol name in Apropos output." :version "24.3")
(custom-declare-face 'apropos-keybinding '((t (:inherit underline))) "Face for lists of keybinding in Apropos output." :version "24.3")
(custom-declare-face 'apropos-property '((t (:inherit font-lock-builtin-face))) "Face for property name in Apropos output, or nil for none." :version "24.3")
(custom-declare-face 'apropos-button '((t (:inherit (font-lock-variable-name-face button)))) "Face for buttons that indicate a face in Apropos." :version "28.1")
(custom-declare-face 'apropos-function-button '((t (:inherit (font-lock-function-name-face button)))) "Button face indicating a function, macro, or command in Apropos." :version "24.3")
(custom-declare-face 'apropos-variable-button '((t (:inherit (font-lock-variable-name-face button)))) "Button face indicating a variable in Apropos." :version "24.3")
(custom-declare-face 'apropos-user-option-button '((t (:inherit (font-lock-variable-name-face button)))) "Button face indicating a user option in Apropos." :version "24.4")
(custom-declare-face 'apropos-misc-button '((t (:inherit (font-lock-constant-face button)))) "Button face indicating a miscellaneous object type in Apropos." :version "24.3")
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\300\312\302\303\313DD\314\306\315%\210\300\316\302\303\317DD\320\306\321%\207" [custom-declare-variable apropos-match-face funcall function #[0 "\300\207" [match] 1 #1=""] "Face for matching text in Apropos documentation/value, or nil for none.\nThis applies when you look for matches in the documentation or variable value\nfor the pattern; the part that matches gets displayed in this font." :type (choice (const nil) face) :version "24.3" apropos-sort-by-scores #[0 "\300\207" [nil] 1 #1#] "Non-nil means sort matches by scores; best match is shown first.\nThis applies to all `apropos' commands except `apropos-documentation'.\nIf value is `verbose', the computed score is shown for each match." (choice (const :tag "off" nil) (const :tag "on" t) (const :tag "show scores" verbose)) apropos-documentation-sort-by-scores #[0 "\300\207" [t] 1 #1#] "Non-nil means sort matches by scores; best match is shown first.\nThis applies to `apropos-documentation' only.\nIf value is `verbose', the computed score is shown for each match." (choice (const :tag "off" nil) (const :tag "on" t) (const :tag "show scores" verbose))] 8)#@30 Keymap used in Apropos mode.
(defvar apropos-mode-map (byte-code "\302!\303	\"\210\304\305\306#\210\304\307\310#\210\304\311\312#\210\207" [button-buffer-map special-mode-map copy-keymap set-keymap-parent define-key "" apropos-follow "n" apropos-next-symbol "p" apropos-previous-symbol] 5) (#$ . 3663))#@34 Hook run when mode is turned on.
(defvar apropos-mode-hook nil (#$ . 3977))#@37 Apropos pattern as entered by user.
(defvar apropos-pattern nil (#$ . 4058))#@48 Apropos pattern passed through `regexp-quote'.
(defvar apropos-pattern-quoted nil (#$ . 4140))#@65 Current list of apropos words extracted from `apropos-pattern'.
(defvar apropos-words nil (#$ . 4240))#@37 Current list of words and synonyms.
(defvar apropos-all-words nil (#$ . 4348))#@37 Regexp used in current apropos run.
(defvar apropos-regexp nil (#$ . 4432))#@38 Regexp matching `apropos-all-words'.
(defvar apropos-all-words-regexp nil (#$ . 4513))#@78 List of elc files already scanned in current run of `apropos-documentation'.
(defvar apropos-files-scanned nil (#$ . 4605))#@522 Alist of symbols already found in current apropos run.
Each element has the form

  (SYMBOL SCORE FUN-DOC VAR-DOC PLIST WIDGET-DOC FACE-DOC CUS-GROUP-DOC)

where SYMBOL is the symbol name, SCORE is its relevance score (a
number), FUN-DOC is the function docstring, VAR-DOC is the
variable docstring, PLIST is the list of the symbols names in the
property list, WIDGET-DOC is the widget docstring, FACE-DOC is
the face docstring, and CUS-GROUP-DOC is the custom group
docstring.  Each docstring is either nil or a string.
(defvar apropos-accumulator nil (#$ . 4735))#@47 Current item in or for `apropos-accumulator'.
(defvar apropos-item nil (#$ . 5306))#@166 List of synonyms known by apropos.
Each element is a list of words where the first word is the standard Emacs
term, and the rest of the words are alternative terms.
(defvar apropos-synonyms '(("find" "open" "edit") ("kill" "cut") ("yank" "paste") ("region" "selection")) (#$ . 5396))#@227 List of current Apropos function followed by its arguments.
Used by `apropos--revert-buffer' to regenerate the current
Apropos buffer.  Each Apropos command should ensure it is set
before `apropos-mode' makes it buffer-local.
(defvar apropos--current nil (#$ . 5686))
(define-button-type 'apropos-symbol 'face 'apropos-symbol 'help-echo "\\`mouse-2', \\`RET': Display more help on this symbol" 'follow-link t 'action 'apropos-symbol-button-display-help)#@75 Display further help for the `apropos-symbol' button BUTTON.

(fn BUTTON)
(defalias 'apropos-symbol-button-display-help #[257 "\300\301\302!!\206 \303\304\305!\"!\207" [button-activate apropos-next-label-button button-start error "There is nothing to follow for `%s'" button-label] 6 (#$ . 6145)])
(byte-code "\300\301\302\303\304\305\306\307\310\311\312\313\314\315&\210\300\316\302\317\304\320\306\307\310\321\312\313\314\322&\210\300\323\302\324\304\325\306\307\310\326\312\313\314\327&\210\300\330\302\331\304\332\306\333\310\334\312\313\314\335&\210\300\336\302\337\304\340\306\341\310\342\312\313\314\343&\210\300\344\302\345\304\346\306\347\310\350\312\313\314\351&\210\300\352\302\353\304\354\306\355\310\356\312\313\314\357&\210\300\360\302\361\304\362\306\355\310\363\312\313\314\364&\210\300\365\302\366\304\367\306\355\310\370\312\313\314\371&\210\300\372\310\373\312\313\314\374&\207" [define-button-type apropos-function apropos-label "Function" apropos-short-label "f" face apropos-function-button help-echo "\\`mouse-2', \\`RET': Display more help on this function" follow-link t action #[257 "\300\301\302\"!\207" [describe-function button-get apropos-symbol] 5 "\n\n(fn BUTTON)"] apropos-macro "Macro" "m" "\\`mouse-2', \\`RET': Display more help on this macro" #[257 "\300\301\302\"!\207" [describe-function button-get apropos-symbol] 5 "\n\n(fn BUTTON)"] apropos-command "Command" "c" "\\`mouse-2', \\`RET': Display more help on this command" #[257 "\300\301\302\"!\207" [describe-function button-get apropos-symbol] 5 "\n\n(fn BUTTON)"] apropos-variable "Variable" "v" apropos-variable-button "\\`mouse-2', \\`RET': Display more help on this variable" #[257 "\300\301\302\"!\207" [describe-variable button-get apropos-symbol] 5 "\n\n(fn BUTTON)"] apropos-user-option "User option" "o" apropos-user-option-button "\\`mouse-2', \\`RET': Display more help on this user option" #[257 "\300\301\302\"!\207" [describe-variable button-get apropos-symbol] 5 "\n\n(fn BUTTON)"] apropos-face "Face" "F" apropos-button "\\`mouse-2', \\`RET': Display more help on this face" #[257 "\300\301\302\"!\207" [describe-face button-get apropos-symbol] 5 "\n\n(fn BUTTON)"] apropos-group "Group" "g" apropos-misc-button "\\`mouse-2', \\`RET': Display more help on this group" #[257 "\300\301\302\"!\207" [customize-group-other-window button-get apropos-symbol] 5 "\n\n(fn BUTTON)"] apropos-widget "Widget" "w" "\\`mouse-2', \\`RET': Display more help on this widget" #[257 "\300\301\302\"!\207" [widget-browse-other-window button-get apropos-symbol] 5 "\n\n(fn BUTTON)"] apropos-plist "Properties" "p" "\\`mouse-2', \\`RET': Display more help on this plist" #[257 "\300\301\302\"!\207" [apropos-describe-plist button-get apropos-symbol] 5 "\n\n(fn BUTTON)"] apropos-library "\\`mouse-2', \\`RET': Display more help on this library" #[257 "\300\301\302\"!\207" [apropos-library button-get apropos-symbol] 5 "\n\n(fn BUTTON)"]] 14)#@184 Return the next apropos label button after POS, or nil if there's none.
Will also return nil if more than one `apropos-symbol' button is encountered
before finding a label.

(fn POS)
(defalias 'apropos-next-label-button #[257 "\300\301\"\302\205 \303\304\"\205 \303\305\"\203J \204J \211\306=\203' \204J \211\306=\2030 \301\262\300\307!!\262\203 \303\304\"\262\303\305\"\262\202 \205O \207" [next-button t nil button-get apropos-label type apropos-symbol button-start] 8 (#$ . 9105)])#@141 Return a regexp matching any two of the words in WORDS.
WILD should be a subexpression matching wildcards between matches.

(fn WORDS WILD)
(defalias 'apropos-words-to-regexp #[514 "C\211\300\301\242!!\240\210\211\242A\204 \211\242@\207\302\303\304#\242\305#\207" [delete-dups copy-sequence mapconcat make-closure #[257 "\302\303\300\302\304\305\306\307\301\242!\"\310#\303\260\207" [V0 V1 "\\(?:" "\\)" mapconcat identity delq copy-sequence "\\|"] 12 "\n\n(fn W)"] "\\|"] 8 (#$ . 9618)])#@299 Read an apropos pattern, either a word list or a regexp.
Returns the user pattern, either a list of words which are matched
literally, or a string which is used as a regexp to search for.

SUBJECT is a string that is included in the prompt to identify what
kind of objects to search.

(fn SUBJECT)
(defalias 'apropos-read-pattern #[257 "\300\301\302Q!\303!\230\203 \304\305\306#\206 \307\310!\207\211\207" [read-string "Search for " " (word list or regexp): " regexp-quote split-string "[ 	]+" t user-error "No word list given"] 6 (#$ . 10123)])#@399 Rewrite a list of words to a regexp matching all permutations.
If PATTERN is a string, that means it is already a regexp.
MULTILINE-P, if non-nil, means produce a regexp that will match
the words even if separated by newlines.
This updates variables `apropos-pattern', `apropos-pattern-quoted',
`apropos-regexp', `apropos-words', and `apropos-all-words-regexp'.

(fn PATTERN &optional MULTILINE-P)
(defalias 'apropos-parse-pattern #[513 "\306\211:\203w \307\310\311#\312\n!\211\203Y \211@\f\211\203H @\235\203A \307\310@\313#\262@A\235\203; \211\262\306\262\202 A\262\202 B\211	B\266A\266\202\202 \210\314	\203d \315\202e \316\"\314\203q \317\202r \320\"\211\207\312!\211\207" [apropos-words apropos-all-words apropos-pattern apropos-pattern-quoted apropos-synonyms apropos-all-words-regexp nil mapconcat identity " " regexp-quote "\\|" apropos-words-to-regexp "[^b-a]+?" ".+" "[^b-a]*?" ".*?" apropos-regexp] 12 (#$ . 10681)])#@127 Return apropos scores for string STR matching WORDS.
Value is a list of offsets of the words into the string.

(fn STR WORDS)
(defalias 'apropos-calc-scores #[514 "\301\211\203& \211\203$ \211@\302\"\211\262\203 B\262A\266\202\202 \207\302\"\2052 \303\224\303\225D\207" [apropos-pattern nil string-match 0] 9 (#$ . 11658)])#@48 Return apropos score for string STR.

(fn STR)
(defalias 'apropos-score-str #[257 "\211\203* \211G\211\301\245[\302\"\211\203( \211@\303\\Z\303_\245\\\262A\266\202\202 \207\304\207" [apropos-all-words 10 apropos-calc-scores 1000 0] 8 (#$ . 12002)])#@62 Return apropos score for documentation string DOC.

(fn DOC)
(defalias 'apropos-score-doc #[257 "\211G\211\302V\2033 \302\303\"\203 \304\262\305	\"\211\2031 \211@\306\\Z\306_\245\\\262A\266\202\202 \207\302\207" [apropos-pattern-quoted apropos-all-words 0 string-match 10000 apropos-calc-scores 50] 8 (#$ . 12266)])#@64 Return apropos score for SYMBOL.

(fn SYMBOL &optional WEIGHT)
(defalias 'apropos-score-symbol #[513 "\301!\262\302G\303\"\211\203( \211@\304Z\\Z\304_\245\\\262A\266\202\202\f \206. \305_\207" [apropos-words symbol-name 0 apropos-calc-scores 60 3] 9 (#$ . 12600)])#@185 Return t if STR is a genuine hit.
This may fail if only one of the keywords is matched more than once.
This requires at least two keywords (unless only one was given).

(fn STR WORDS)
(defalias 'apropos-true-hit #[514 "?\206 \211?\206 \211A?\206 \300\"G\301V\207" [apropos-calc-scores 1] 5 (#$ . 12885)])#@80 Return t if SYMBOL is not really matched by the current keywords.

(fn SYMBOL)
(defalias 'apropos-false-hit-symbol #[257 "\301\302!\"?\207" [apropos-words apropos-true-hit symbol-name] 4 (#$ . 13201)])#@74 Return t if STR is not really matched by the current keywords.

(fn STR)
(defalias 'apropos-false-hit-str #[257 "\301\"?\207" [apropos-words apropos-true-hit] 4 (#$ . 13410)])#@70 Return t if DOC is really matched by the current keywords.

(fn DOC)
(defalias 'apropos-true-hit-doc #[257 "\301\"\207" [apropos-all-words apropos-true-hit] 4 (#$ . 13593)])#@139 Regenerate current Apropos buffer using `apropos--current'.
Intended as a value for `revert-buffer-function'.

(fn IGNORE-AUTO NOCONFIRM)
(defalias 'apropos--revert-buffer #[514 "\211\204\n \301\302!\205 \303\304\"\207" [apropos--current yes-or-no-p "Revert apropos buffer? " apply funcall] 5 (#$ . 13775)])
(defvar apropos-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [apropos-mode-hook variable-documentation put "Hook run after entering Apropos mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it.  (This is true for all hook variables.)" boundp apropos-mode-map definition-name apropos-mode] 4)
(defvar apropos-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204* \303\307\310\311#\210\312\307\306\307!\203& \313\202( \314 \"\210\307\302N\2048 \303\307\302\304\315!#\210\306\300!\204X \303\300\310\311#\210\312\300\306\300!\203P \313\202V \316\300\313\"\210\"\210\300\302N\204f \303\300\302\304\317!#\210\303\311\320\321#\207" [apropos-mode-abbrev-table apropos-mode-map variable-documentation put purecopy "Keymap for `apropos-mode'." boundp apropos-mode-syntax-table definition-name apropos-mode defvar-1 nil make-syntax-table "Syntax table for `apropos-mode'." define-abbrev-table "Abbrev table for `apropos-mode'." derived-mode-parent special-mode] 5)#@263 Major mode for following hyperlinks in output of apropos commands.

\{apropos-mode-map}

In addition to any hooks its parent mode `special-mode' might have
run, this mode runs the hook `apropos-mode-hook', as the final or
penultimate step during initialization.
(defalias 'apropos-mode #[0 "\306\300!\210\307\310 \210\311\312\310\313N\203 \314\311\313\310\313N#\210\315!\204' \316\317 \"\210\320\f!\211\2035 \211\321 =\203; \322\f\323 \"\210\210\324\325\"\204R &=\204R \326\325&C#\210\327!\210\330\f!\210&\306\331!\210\306\332!\210\333\306\334!\210\335\306\336!\210\337\306\340!\210\307 \306\341!\210\307!\306\342!\210\343\")\344\345!\207" [delay-mode-hooks major-mode mode-name apropos-mode-map apropos-mode-syntax-table apropos-mode-abbrev-table make-local-variable t special-mode apropos-mode "Apropos" mode-class put keymap-parent set-keymap-parent current-local-map char-table-parent standard-syntax-table set-char-table-parent syntax-table abbrev-table-get :parents abbrev-table-put use-local-map set-syntax-table apropos--current revert-buffer-function apropos--revert-buffer outline-search-function outline-search-level outline-level #[0 "\300\207" [1] 1] outline-minor-mode-cycle outline-minor-mode-highlight outline-minor-mode-use-buttons insert run-mode-hooks apropos-mode-hook local-abbrev-table] 5 (#$ . 15195) nil])#@123 If non-nil, this apropos query concerns multiple types.
This is used to decide whether to print the result's type or not.
(defvar apropos-multi-type t (#$ . 16554))#@450 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
variables, not just user options.

(fn PATTERN &optional DO-ALL)
(defalias 'apropos-user-option #[513 "\301\206 \204 \203 \302\202 \303#\207" [apropos-do-all apropos-command #[257 "\300!\205	 \211\301N\207" [boundp variable-documentation] 3 "\n\n(fn SYMBOL)"] custom-variable-p] 6 (#$ . 16725) (byte-code "\302\204	 	\203 \303\202 \304!D\207" [current-prefix-arg apropos-do-all apropos-read-pattern "variable" "user option"] 2)])#@251 Show variables that match PATTERN.
With the optional argument DO-NOT-ALL non-nil (or when called
interactively with the prefix \[universal-argument]), show user
options only, i.e. behave like `apropos-user-option'.

(fn PATTERN &optional DO-NOT-ALL)
(defalias 'apropos-variable #[513 "\211?\301!)\207" [apropos-do-all apropos-user-option] 4 (#$ . 17559) (byte-code "\301\203	 \302\202\n \303!D\207" [current-prefix-arg apropos-read-pattern "user option" "variable"] 2)])#@253 Show buffer-local variables that match PATTERN.
Optional arg BUFFER (default: current buffer) is the buffer to check.

The output includes variables that are not yet set in BUFFER, but that
will be buffer-local when set.

(fn PATTERN &optional BUFFER)
(defalias 'apropos-local-variable #[513 "\211\204 p\262\300\301\302#\207" [apropos-command nil #[257 "\300!\205	 \211\301N\207" [local-variable-if-set-p variable-documentation] 3 "\n\n(fn SYMBOL)"]] 6 (#$ . 18040) (byte-code "\300\301!C\207" [apropos-read-pattern "buffer-local variable"] 2)])#@440 Show functions 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.

This is the same as running `apropos-command' with a \[universal-argument] prefix,
or a non-nil `apropos-do-all' argument.

(fn PATTERN)
(defalias 'apropos-function #[257 "\300\301\"\207" [apropos-command t] 4 (#$ . 18596) (byte-code "\300\301!C\207" [apropos-read-pattern "function"] 2)])
(defalias 'command-apropos 'apropos-command)#@715 Show commands (interactively callable functions) 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
noninteractive functions.

If VAR-PREDICATE is non-nil, show only variables, and only those that
satisfy the predicate VAR-PREDICATE.

When called from a Lisp program, a string PATTERN is used as a regexp,
while a list of strings is used as a word list.

(fn PATTERN &optional DO-ALL VAR-PREDICATE)
(defalias 'apropos-command #[769 "\306F\307!\210\310\311!\312\313!)\204 \n\262\314\206( \203' \315\202( \316\"\211\211\203J \211@\317N\204= \320@!\203C \321@\f\"\211A\262\202+ \210\f\322\211\211\203\327 \211@\211\262\323!\211\262?\205\235 \315!\205\235 \3241w \325\326\"0\202y \210\327\211\262\203\234 \327=\203\211 \330\202\235 \331!\\\262\332\333\334	\"O\202\235 \335	\205\307 	!\205\307 \336\337\326#\211\262\205\307 \331!\\\262\332\333\334\n\"OF\240\210@A\240\210A\262\202O \266\340\326\322\211\326$)\205\355 \211\205\355 \341\342\"\207" [apropos--current standard-output apropos-do-all apropos-regexp apropos-accumulator apropos-multi-type apropos-command apropos-parse-pattern get-buffer-create "*Apropos*" help-print-return-message identity apropos-internal fboundp commandp apropos-inhibit apropos-false-hit-symbol delq nil apropos-score-symbol (error) documentation t error "(documentation error)" apropos-score-doc 0 string-search "\n" "(not documented)" documentation-property variable-documentation apropos-print message "%s"] 18 (#$ . 19240) (byte-code "\302\204	 	\203 \303\202 \304!D\207" [current-prefix-arg apropos-do-all apropos-read-pattern "command or function" "command"] 2)])#@96 Like (documentation-property SYMBOL PROPERTY RAW) but handle errors.

(fn SYMBOL PROPERTY RAW)
(defalias 'apropos-documentation-property #[771 "\3001 \301#\211\203 \211\302\303\304\"O\202 \305\2620\207\210\306\207" [(error) documentation-property 0 string-search "\n" "(not documented)" "(error retrieving documentation)"] 9 (#$ . 21217)])#@744 Show all meaningful Lisp symbols whose names match PATTERN.
Symbols are shown if they are defined as functions, variables, or
faces, or if they have nonempty property lists, or if they are
known keywords.

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,
consider all symbols (if they match PATTERN).

Return list of symbols and documentation found.

The *Apropos* window will be selected if `help-window-select' is
non-nil.

(fn PATTERN &optional DO-ALL)
(defalias 'apropos #[513 "\303E\304!\210\305\306	?\205 \n?\205 \307\"\206 \n\"\207" [apropos--current apropos-regexp apropos-do-all apropos apropos-parse-pattern apropos-symbols-internal apropos-internal #[257 "\300!\206 \301!\206 \302!\206 \303!\207" [fboundp boundp facep symbol-plist] 3 "\n\n(fn SYMBOL)"]] 6 (#$ . 21571) (byte-code "\301\302!D\207" [current-prefix-arg apropos-read-pattern "symbol"] 2)])#@12 

(fn SYM)
(defalias 'apropos-library-button #[257 "\211\204 \300\207\301!\302\303\304\305\306\307\211&\207" ["<nothing>" symbol-name make-text-button nil type apropos-library face apropos-symbol] 11 (#$ . 22745)])#@246 List the variables and functions defined by library FILE.
FILE should be one of the libraries currently loaded and should
thus be found in `load-history'.  If `apropos-do-all' is non-nil,
the output includes key-bindings of commands.

(fn FILE)
(defalias 'apropos-library #[257 "\306D\307\211\211\310	\"\211\204I 	\311\312!\313Q\203= \204= @@;\2036 \314@@\"\2036 @\262\202 A\262\202 \266\211\204I \315\316\"\210\211A\211\203\221 \211@\211\242\211\317\267\202~ AB\262\210\202\212 AB\262\210\202\212 \210\202\212 A@B\262\210\202\212 \243\206\204 B\262\210A\266\202\202K \210\320\321\322\323\324\206\237 \325\326#\323\324\206\251 \327\326#$\260\204\357 r\330\331!q\210p\332 \210\307\211\333\211#\333$%\334 \210\335\336!+\210\211&r&q\210\337 \210\340!)\341!)\210\266\202\202\366 \342'#)\207" [apropos--current load-history apropos-pattern default-directory buffer-read-only buffer-file-name apropos-library nil assoc "\\(?:\\`\\|[\\/]\\)" regexp-quote "\\(\\.\\|\\'\\)" string-match error "Unknown library `%s'" #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (require 89 provide 99 t 110 cl-defmethod 114)) "" format-message "Library `%s' provides: %s\nand requires: %s" mapconcat apropos-library-button (nil) " and " (nil) get-buffer-create "*Apropos*" kill-all-local-variables t erase-buffer run-hooks temp-buffer-setup-hook apropos-mode apropos--preamble internal-temp-output-buffer-show apropos-symbols-internal buffer-undo-list inhibit-modification-hooks inhibit-read-only standard-output apropos-do-all] 15 (#$ . 22972) (byte-code "\301\302\303\304\"\"\301\302\303\305\"\"\244\306\307\302\310$C\207" [load-history delq nil mapcar car #[257 "\300!\262\301!\211\262\232\203 \207" [file-name-nondirectory file-name-sans-extension] 3 "\n\n(fn L)"] completing-read "Describe library: " t] 7)])#@36 

(fn SYMBOLS KEYS &optional TEXT)
(defalias 'apropos-symbols-internal #[770 "\301\211\203 \211@\211\302N\204 \211B\262A\266\202\202 \210\262\303\304\"\305\301#)\207" [apropos-accumulator nil apropos-inhibit mapcar #[257 "\300\211\301!\302!\2057 \3031# \3041 \305\306\"00\202% 0\210\307\202% \210\310\211\262\2036 \311\312\313\"O\2027 \314\315!\205D \316\317\306#\320!\211\262\205m @C\262AA\211\262\203f @B\262\202S \321\322\237\323#\324N\205z \316\325\306#\326	!\205\256 \327N\211\203\246 \326!\203\242 \330\331\332N\203\234 \333\202\235 \334#\202\254 \335\202\254 \316\n\336\306#\262	\337N\205\273 \316\n\340\306#\257\207" [nil apropos-score-symbol fboundp (error) (void-function) documentation t "(alias for undefined function)" "(can't retrieve function documentation)" 0 string-search "\n" "(not documented)" boundp apropos-documentation-property variable-documentation symbol-plist mapconcat #[257 "\300\301\"\207" [format "%s"] 4 "\n\n(fn P)"] " " widget-type widget-documentation facep face-alias format-message "%slias for the face `%s'." obsolete-face "Obsolete a" "A" "(alias for undefined face)" face-documentation custom-group group-documentation] 14 "\n\n(fn SYMBOL)"] apropos-print] 8 (#$ . 24878)])#@596 Show all symbols whose value's printed representation matches 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 looks
at function definitions (arguments, documentation and body) and at the
names and values of properties.

Returns list of symbols and values found.

(fn PATTERN &optional DO-ALL)
(defalias 'apropos-value #[513 "\211C\304\242E\305\306\"\210\211\242\204 \211	\240\210\307\211C\307C\307C\310\311\312	%!\266\211\242\313\307\314\")\207" [apropos--current apropos-do-all apropos-accumulator apropos-multi-type apropos-value apropos-parse-pattern t nil mapatoms make-closure #[257 "\302\305\240\210\301\305\240\210\300\305\240\210\211\306>\204 \301\307\310\311#\240\210\303\242\203/ \302\307\312\313#\240\210\300\314\315\316#\240\210\317\301\242!\203: \301\305\240\210\317\302\242!\203E \302\305\240\210\317\300\242!\203P \300\305\240\210\302\242\204_ \301\242\204_ \300\242\205z \211\320\302\242!\320\301\242!\\\320\300\242!\\\302\242\301\242\300\242\257\fB\211\207" [V0 V1 V2 V3 apropos-accumulator nil (apropos-regexp apropos--current apropos-pattern-quoted pattern apropos-pattern apropos-all-words-regexp apropos-words apropos-all-words apropos-accumulator) apropos-value-internal boundp symbol-value fboundp symbol-function apropos-format-plist "\n    " t apropos-false-hit-str apropos-score-str] 6 "\n\n(fn SYMBOL)"] apropos-print "\n"] 14 (#$ . 26154) (byte-code "\301\302!D\207" [current-prefix-arg apropos-read-pattern "value"] 2)])#@225 Show buffer-local variables whose values match PATTERN.
This is like `apropos-value', but only for buffer-local variables.
Optional arg BUFFER (default: current buffer) is the buffer to check.

(fn PATTERN &optional BUFFER)
(defalias 'apropos-local-value #[513 "\211\204 p\262\303E\304\305\"\210\306\211C\307\310\311\"!\266\306\312\306\313\314\315\316!:\2032 \317\2023 \320$#)\207" [apropos--current apropos-accumulator apropos-multi-type apropos-local-value apropos-parse-pattern t nil mapatoms make-closure #[257 "\211\302>\204 \300\303\304\305#\240\210\306\300\242!\203 \300\307\240\210\300\242\205+ \211\310\300\242!\307\300\242F	B\211\207" [V0 apropos-accumulator (apropos-regexp apropos-pattern apropos-all-words-regexp apropos-words apropos-all-words apropos-accumulator) apropos-value-internal local-variable-if-set-p symbol-value apropos-false-hit-str nil apropos-score-str] 6 "\n\n(fn SYMB)"] apropos-print "\n----------------\n" format "Buffer `%s' has the following local variables\nmatching %s`%s':" buffer-name "keywords " ""] 11 (#$ . 27932) (byte-code "\300\301!C\207" [apropos-read-pattern "value of buffer-local variable"] 2)])#@81 Like `mapatoms' but only enumerates functions&vars that are predefined.

(fn F)
(defalias 'apropos--map-preloaded-atoms #[257 "\303\304!\305	!\306R\n\211\205O \211@\211@\211;\205 \307\"\262\203H \211A\211\203G \211@\2119\2034 !\210\202@ \211\242\310=\203@ A!\210A\266\202\202\" \210A\266\202\202\n \207" [lisp-directory preloaded-file-list load-history "\\`" regexp-quote regexp-opt "\\.elc?\\'" string-match defun] 8 (#$ . 29103)])#@708 Show symbols whose documentation contains matches for 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.

Note that by default this command only searches in the functions predefined
at Emacs startup, i.e., the primitives implemented in C or preloaded in the
Emacs dump image.
With \[universal-argument] prefix, or if `apropos-do-all' is non-nil, it searches
all currently defined documentation strings.

Returns list of symbols and documentation found.

(fn PATTERN &optional DO-ALL)
(defalias 'apropos-documentation #[513 "\306E\307\310\"\210\211\204 	\262\311\211\312\313\310\"r\211q\210\314\315\"\216p\f\311C\311C\311C\311C\316 \210\203= \317\202> \320\314\321	%!\210\322\311\323\311\310$*\266\206*\207" [apropos--current apropos-do-all apropos-accumulator apropos-files-scanned apropos-documentation-sort-by-scores apropos-sort-by-scores apropos-documentation apropos-parse-pattern t nil generate-new-buffer " *temp*" make-closure #[0 "\301\300!\205	 \302\300!\207" [V0 buffer-name kill-buffer] 2] apropos-documentation-check-doc-file mapatoms apropos--map-preloaded-atoms #[257 "\303\306!\240\210\302\307N\240\210\302\242\250\203 \302\310\240\210\303\311\303\242!\240\210\302\311\302\242!\240\210\301\312\303\242!\240\210\300\312\302\242!\240\210\303\242\204< \302\242\205\200 \211\f\236A\211\203l \303\242\203X A\303\242\240\210\211@\301\242\\\240\210\302\242\205\200 AA\302\242\240\210\211@\300\242\\\240\207\211\313\314\"\301\242\\\300\242\\\303\242\302\242F\fB\211\207" [V0 V1 V2 V3 apropos-accumulator apropos-item apropos-safe-documentation variable-documentation nil apropos-documentation-internal apropos-score-doc apropos-score-symbol 2] 5 "\n\n(fn SYMBOL)"] apropos-print "\n----------------\n" standard-input] 17 (#$ . 29553) (byte-code "\301\302!D\207" [current-prefix-arg apropos-read-pattern "documentation"] 2)])#@34 

(fn PREDICATE SYMBOL FUNCTION)
(defalias 'apropos-value-internal #[771 "!\2054 \303\304\305>\203 !A\202 !!)\262\306	\"\2054 \n\2033 \307\310\224\310\225\311\n%\210\207" [print-escape-newlines apropos-regexp apropos-match-face t prin1-to-string (command-history minibuffer-history) string-match put-text-property 0 face] 9 (#$ . 31646)])#@12 

(fn DOC)
(defalias 'apropos-documentation-internal #[257 "\211:\203\n \303@!\207\211\205D \211;\205D \304\"\205D \305!\205D 	\205D \306\307!!\262\304\n\"\2049 \304\"\203C \310\311\224\311\225\312	%\210\211\207" [apropos-all-words-regexp apropos-match-face apropos-pattern-quoted apropos-documentation-check-elc-file string-match apropos-true-hit-doc substitute-command-keys copy-sequence put-text-property 0 face] 7 (#$ . 32005)])#@217 Return a string representation of the plist PL.
Paired elements are separated by the string SEP.  Only include
properties matching the current `apropos-regexp' when COMPARE is
non-nil.

(fn PL SEP &optional COMPARE)
(defalias 'apropos-format-plist #[770 "\302!\262\303\211\203_ \304\305@A@#\262\203\" \306\"\2033 \307\310\311@!G\312\313%\210\2026 \303\262\203W \203M 	\203M \307\310\224\310\225\312	%\210\211\205S Q\262AA\262\202 \207" [apropos-regexp apropos-match-face symbol-plist nil format "%s %S" string-match put-text-property 0 symbol-name face apropos-property] 11 (#$ . 32454)])
(defalias 'apropos-documentation-check-doc-file #[0 "\306\211\307\306\211\310c\210\311u\210\312	P!\210\306u\210\212\313\314!\262m)?\205\276 \315\307!\210\214`S}\210\316\n\306\317#)\203\267 Tb\210h\320=\203A \307\202B \321\262\322 \262`TS{\262\323!\203\267 \321U\203a \324!\202j \307U\203\267 \325!\203\267 \236\211\203~ \fA\326!\240\204\217 \327\307\"\326!\\\306\211F\211B\203\261 \330!\262\331\"\204\247 \331\n\"\203\261 \332\333\224\333\225\334%\210\f\233\240\210b\262\202 \207" [doc-directory internal-doc-file-name apropos-all-words-regexp apropos-accumulator apropos-item apropos-match-face nil 2 31 -1 insert-file-contents search-forward "" beginning-of-line re-search-forward t 70 3 read apropos-true-hit-doc boundp fboundp apropos-score-doc apropos-score-symbol substitute-command-keys string-match put-text-property 0 face apropos-pattern-quoted] 12])#@13 

(fn FILE)
(defalias 'apropos-documentation-check-elc-file #[257 "\306!\204\f \307\"\262\211	\235\206 \310!??\205\311\211\211\211\211	B\312 \210\313!\210\314\315\311\316#\205\3171= \320 0\202? \210\311\211\262\203+ \321!\203+ `T\262`\\S\262\311u\210\214}\210\322\n\311\316#)\203+ \323\\b\210{\262\324\225Z\262\324\224Z\262\325!\203+ \326\327!\262\330\311w\210\311u\210\320 \262:\203\235 A@\202\236 \262\211\203\252 \331N\202\263 \332!\203+ \333!\203+ \236\211\203\314 \fA\fA@\334!\\\240\204\337 \335\323\"\334!\\\311\211F\211B\203\336!\262\337#\"\204\367 \337\n\"\203\340\324\224\324\225\341%\210\211\203\n\342\202\323\f\233\240\210\202+ \266\205\207" [lisp-directory apropos-files-scanned apropos-all-words-regexp apropos-accumulator apropos-item apropos-match-face file-name-absolute-p expand-file-name file-exists-p nil erase-buffer insert-file-contents search-forward "#@" t (error) read natnump re-search-forward 2 0 apropos-true-hit-doc looking-at "(def\\(var\\|const\\) " "(a-z" variable-documentation fboundp apropos-safe-documentation apropos-score-doc apropos-score-symbol substitute-command-keys string-match put-text-property face 3 apropos-pattern-quoted] 13 (#$ . 33974)])#@106 Like `documentation', except it avoids calling `get_doc_string'.
Will return nil instead.

(fn FUNCTION)
(defalias 'apropos-safe-documentation #[257 "\211\203 \2119\203 \211K\262\202  \211\242\300=\203 \211A\262\301!\203. \211G\302V\205\\ \211\302H\202\\ \211\211\242\303=\262\203> \3048\202\\ \211\242\305=\205\\ \3048;\203R \3048\202\\ \3068;\205\\ \3068\262\211\250?\205e \211\207" [macro byte-code-function-p 4 autoload 2 lambda 3] 4 (#$ . 35237)])
(byte-code "\300\301\302\303\304DD\305\306\307%\207" [custom-declare-variable apropos-compact-layout funcall function #[0 "\300\207" [nil] 1 ""] "If non-nil, use a single line per binding." :type boolean] 6)#@788 Output result of apropos searching into buffer `*Apropos*'.
The value of `apropos-accumulator' is the list of items to output.
Each element should have the format
 (SYMBOL SCORE FN-DOC VAR-DOC [PLIST-DOC WIDGET-DOC FACE-DOC GROUP-DOC]).
The return value is the list that was in `apropos-accumulator', sorted
alphabetically by symbol name; but this function also sets
`apropos-accumulator' to nil before returning.
If DO-KEYS is non-nil, output the key bindings.  If NOSUBST is
nil, substitute "ASCII quotes" (i.e., grace accent and
apostrophe) with curly quotes), and if non-nil, leave them alone.
If SPACING is non-nil, it should be a string; separate items with
that string.  If non-nil, TEXT is a string that will be printed
as a heading.

(fn DO-KEYS SPACING &optional TEXT NOSUBST)
(defalias 'apropos-print #[1026 "\204\f \306\307	\"\210\202\310\311\"\nr\312\313!q\210p\314 \210\315\211\316\211\316@A\317 \210\320\321!+\210\211Bp\316\322\316\315\211ABq\210\323 \210\324!\210\211\203\344\211@C\f\203f \204f \325!\210\202i \315\262C@\262CA@\247\204\201 C@\315CABBC`U\203\212 \326 \210\327\330!\331\332\333D\334\332\335\336&	\210`\262E\337=\203\266 CA@\203\266 \340\341CA@!\342\261\210F\204G\203D\343!\203D\344=\204D\345\346\336\"\203Drq\210\347!)\315\211\203\211@\322\315GW\203\350H!\204\375 \351H!\203 \316\262T\262\202\346 \211\204B\262\266A\266\202\202\336 \210\211\211\262\266\202\203-\352\353\354#c\210\202D\355c\210\356`\357Z`\360Z\334\361$\210\356`\362Z`\334\361$\210\326 \210\363\364\343!\203S\365\202^\366!\203]\367\202^\370?#\210\363\362\371!\203o\372\202p\373?#\210\374!\203\264\375c\210\316G\376J!\377\201K  \201L Z\315\211\316%\211c\210\232\204\255\201M `S`\201N \201O \"#\210\201P c)\266\363\201Q \201R \316#\210\363\201S \201T \316#\210\363\201U \201V \316#\210\363\201W \201X \315#\210\211A)\262\202M \210\201Y \201H !\210\316H\201Y \201I !\210\316I)\266\201Z !)\266J\203\201[ \201\\ \313!!\210\315\207" [apropos-accumulator apropos-pattern default-directory buffer-read-only buffer-file-name buffer-undo-list message "No apropos matches for `%s'" sort #[514 "\203 A@A@V\206# A@A@U\205 @@\231\207@@\231\207" [apropos-sort-by-scores] 4 "\n\n(fn A B)"] get-buffer-create "*Apropos*" kill-all-local-variables nil t erase-buffer run-hooks temp-buffer-setup-hook 0 apropos-mode apropos--preamble princ terpri insert-text-button symbol-name type apropos-symbol skip face outline-level 1 verbose " (" number-to-string ") " commandp self-insert-command indent-to 30 where-is-internal framep bufferp mapconcat #[257 "\3001 \301!0\202 \210\302\262\303\304G\305\306%\210\207" [(error) key-description nil put-text-property 0 face apropos-keybinding] 7 "\n\n(fn KEY)"] ", " "M-x ... RET" put-text-property 11 8 apropos-keybinding 3 apropos-print-doc 2 apropos-command macrop apropos-macro apropos-function custom-variable-p apropos-user-option apropos-variable boundp "  Value: " prin1-to-string truncate-string-to-width inhibit-modification-hooks inhibit-read-only standard-output apropos-item apropos-multi-type apropos-sort-by-scores apropos-compact-layout print-escape-newlines truncate-partial-width-windows truncate-lines help-window-select window-width 20 buttonize-region make-closure #[257 "\301\302\300\"\207" [V0 message "Value: %s"] 4 "\n\n(fn _)"] "\n" 7 apropos-group 6 apropos-face 5 apropos-widget 4 apropos-plist make-local-variable internal-temp-output-buffer-show select-window get-buffer-window] 25 (#$ . 35917)])#@23 

(fn I TYPE DO-KEYS)
(defalias 'apropos-print-doc #[771 "8\211;\205\276 	\203 \306\307\310\311#c\210\202 \312c\210\n\203X \313\314\"\211:\204* \211C\262\312c\210\315	\203= \316\317\313\320\"\"\202A \313\321\"\322\323@%\210	\203Q \312\202R \324c\266\202f \315\312\322\325\326\314\327\323@&	\210`i\330\232\203t \331\262\202\215 \203\215 \3321\203 \333!0\202\207 \210\202\212 \206\213 \262c\210\331\232\203\235 \334`\335\336$\210\337\250\203\247 \202\250 \f\\\340\341\"\342`\343\326$*\266n\206\276 \344 \207" [apropos-item apropos-compact-layout apropos-multi-type emacs-lisp-docstring-fill-column fill-column fill-prefix propertize "	" display (space :align-to 32) " " button-type-get face insert-text-button format "<%s>" apropos-short-label apropos-label type apropos-symbol ": " skip t default "" "(not documented)" (error) substitute-command-keys put-text-property font-lock-face shadow 5 make-string 32 fill-region nil terpri] 14 (#$ . 39496)])#@13 

(fn TEXT)
(defalias 'apropos--preamble #[257 "\302\303\304!	\203 \305\202 \306\307\261\210\211\205 \211\310\261)\207" [inhibit-read-only apropos-multi-type t substitute-command-keys "Type \\[apropos-follow] on " "a type label" "an entry" " to view its full documentation.\n\n" "\n\n"] 4 (#$ . 40481)])#@74 Invokes any button at point, otherwise invokes the nearest label button.
(defalias 'apropos-follow #[0 "\300\301\302 !\206 \303\304!!\207" [button-activate apropos-next-label-button line-beginning-position error "There is nothing to follow here"] 3 (#$ . 40796) [nil (apropos-mode)]])#@66 Move cursor down to the next symbol in an `apropos-mode' buffer.
(defalias 'apropos-next-symbol #[0 "\300y\210\301 \302=?\205 `dW\205 \300y\210\202 \207" [nil face-at-point apropos-symbol] 2 (#$ . 41087) [nil (apropos-mode)]])#@66 Move cursor back to the last symbol in an `apropos-mode' buffer.
(defalias 'apropos-previous-symbol #[0 "\300y\210\301 \302=?\205 `eV\205 \300y\210\202 \207" [-1 face-at-point apropos-symbol] 2 (#$ . 41322) [nil (apropos-mode)]])#@58 Display a pretty listing of SYMBOL's plist.

(fn SYMBOL)
(defalias 'apropos-describe-plist #[257 "\301\302\303D\304\305!\"\210\306\307 \310\311\"\")\207" [help-buffer-under-preparation t help-setup-xref apropos-describe-plist called-interactively-p interactive help--window-setup help-buffer make-closure #[0 "	q\210\302\303!\210\304\300!\210\302\305\306!!\210\307e\310\\`\311Z\312\313$\210\314\300\315\"c\210\302\316!\207" [V0 standard-output princ "Symbol " prin1 substitute-command-keys "'s plist is\n (" put-text-property 7 14 face apropos-symbol apropos-format-plist "\n  " ")"] 5]] 6 (#$ . 41560)])
(provide 'apropos)
