;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:20:32 2007 ;;; from file /home/cyd/emacs/lisp/apropos.el ;;; in Emacs version 22.0.99 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. (if (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`apropos.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\207" [require button custom-declare-group apropos nil "Apropos commands for users and programmers." :group help :prefix "apropos"] 8) #@124 *Whether the apropos commands should do more. Slows them down more or less. Set this non-nil if you have a fast machine. (custom-declare-variable 'apropos-do-all 'nil '(#$ . -756) :group 'apropos :type 'boolean) #@59 *Face for symbol name in Apropos output, or nil for none. (custom-declare-variable 'apropos-symbol-face ''bold '(#$ . -976) :group 'apropos :type 'face) #@67 *Face for lists of keybinding in Apropos output, or nil for none. (custom-declare-variable 'apropos-keybinding-face ''underline '(#$ . -1135) :group 'apropos :type 'face) #@161 *Face for label (`Command', `Variable' ...) in Apropos output. A value of nil means don't use any special font for them, and also turns off mouse highlighting. (custom-declare-variable 'apropos-label-face ''italic '(#$ . -1313) :group 'apropos :type 'face) #@61 *Face for property name in apropos output, or nil for none. (custom-declare-variable 'apropos-property-face ''bold-italic '(#$ . -1576) :group 'apropos :type 'face) #@220 *Face for matching text in Apropos documentation/value, or nil for none. This applies when you look for matches in the documentation or variable value for the pattern; the part that matches gets displayed in this font. (custom-declare-variable 'apropos-match-face ''match '(#$ . -1748) :group 'apropos :type 'face) #@205 *Non-nil means sort matches by scores; best match is shown first. This applies to all `apropos' commands except `apropos-documentation'. If value is `verbose', the computed score is shown for each match. (custom-declare-variable 'apropos-sort-by-scores 'nil '(#$ . -2070) :group 'apropos :type '(choice (const :tag "off" nil) (const :tag "on" t) (const :tag "show scores" verbose))) #@180 *Non-nil means sort matches by scores; best match is shown first. This applies to `apropos-documentation' only. If value is `verbose', the computed score is shown for each match. (custom-declare-variable 'apropos-documentation-sort-by-scores 't '(#$ . -2460) :group 'apropos :type '(choice (const :tag "off" nil) (const :tag "on" t) (const :tag "show scores" verbose))) #@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\304\313\314#\210)\207" [map button-buffer-map make-sparse-keymap set-keymap-parent define-key " " apropos-follow " " scroll-up "" scroll-down "q" quit-window] 4) (#$ . 2836)) #@35 *Hook run when mode is turned on. (defvar apropos-mode-hook nil (#$ . -3159)) #@37 Apropos pattern as entered by user. (defvar apropos-pattern nil (#$ . 3243)) #@48 Apropos pattern passed through `regexp-quote'. (defvar apropos-pattern-quoted nil (#$ . 3326)) #@65 Current list of apropos words extracted from `apropos-pattern'. (defvar apropos-words nil (#$ . 3427)) #@37 Current list of words and synonyms. (defvar apropos-all-words nil (#$ . 3536)) #@37 Regexp used in current apropos run. (defvar apropos-regexp nil (#$ . 3621)) #@36 Regexp matching apropos-all-words. (defvar apropos-all-words-regexp nil (#$ . 3703)) #@78 List of elc files already scanned in current run of `apropos-documentation'. (defvar apropos-files-scanned nil (#$ . 3794)) #@56 Alist of symbols already found in current apropos run. (defvar apropos-accumulator nil (#$ . 3924)) #@47 Current item in or for `apropos-accumulator'. (defvar apropos-item nil (#$ . 4030)) #@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")) (#$ . 4121)) (define-button-type 'apropos-symbol 'face apropos-symbol-face 'help-echo "mouse-2, RET: Display more help on this symbol" 'follow-link t 'action 'apropos-symbol-button-display-help 'skip t) #@62 Display further help for the `apropos-symbol' button BUTTON. (defalias 'apropos-symbol-button-display-help #[(button) "\305\306!!\206\307\310\311!\"\312 \203\313\314\"\206 \313\302\"\315\n!\203E\316 \317\320\321 \"r\322\216\323\324\325\n!!!\210\nb\210\326\327!,\202H\n!+\207" [button use-mouse-action action save-selected-window-alist save-selected-window-window apropos-next-label-button button-start error "There is nothing to follow for `%s'" button-label nil button-get mouse-action markerp selected-window mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) select-window display-buffer marker-buffer recenter 0] 4 (#$ . 4601)]) (byte-code "\300\301\302\303\304\305\306\307\310\311& \210\300\312\302\313\304\314\306\307\310\315& \210\300\316\302\317\304\320\306\307\310\321& \210\300\322\302\323\304\324\306\307\310\325& \210\300\326\302\327\304\330\306\307\310\331& \210\300\332\302\333\304\334\306\307\310\335& \210\300\336\302\337\304\340\306\307\310\341& \210\300\342\302\343\304\344\306\307\310\345& \207" [define-button-type apropos-function apropos-label "Function" help-echo "mouse-2, RET: Display more help on this function" follow-link t action #[(button) "\301\302\303\"!\207" [button describe-function button-get apropos-symbol] 4] apropos-macro "Macro" "mouse-2, RET: Display more help on this macro" #[(button) "\301\302\303\"!\207" [button describe-function button-get apropos-symbol] 4] apropos-command "Command" "mouse-2, RET: Display more help on this command" #[(button) "\301\302\303\"!\207" [button describe-function button-get apropos-symbol] 4] apropos-variable "Variable" "mouse-2, RET: Display more help on this variable" #[(button) "\301\302\303\"!\207" [button describe-variable button-get apropos-symbol] 4] apropos-face "Face" "mouse-2, RET: Display more help on this face" #[(button) "\301\302\303\"!\207" [button describe-face button-get apropos-symbol] 4] apropos-group "Group" "mouse-2, RET: Display more help on this group" #[(button) "\301\302\303\"!\207" [button customize-group-other-window button-get apropos-symbol] 4] apropos-widget "Widget" "mouse-2, RET: Display more help on this widget" #[(button) "\301\302\303\"!\207" [button widget-browse-other-window button-get apropos-symbol] 4] apropos-plist "Plist" "mouse-2, RET: Display more help on this plist" #[(button) "\301\302\303\"!\207" [button apropos-describe-plist button-get apropos-symbol] 4]] 10) #@174 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. (defalias 'apropos-next-label-button #[(pos) "\305\306\"\307 \205\310 \311\" \205\310 \304\" \203J \204J\f\312=\203+\n\204J\f\312=\2033\306\305\313 !!\211\203\310 \311\"\310 \304\"\202 \205O ,\207" [pos button already-hit-symbol label type next-button t nil button-get apropos-label apropos-symbol button-start] 4 (#$ . 7359)]) #@53 Make regexp matching any two of the words in WORDS. (defalias 'apropos-words-to-regexp #[(words wild) "\302\303\304\305#\306A\203 \302\303\304\305#\306R\202\307R\207" [words wild "\\(" mapconcat identity "\\|" "\\)" ""] 9 (#$ . 7889)]) #@285 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. (defalias 'apropos-read-pattern #[(subject) "\302\303\304Q!\305 ! \230\203\306 \307\"\202 )\207" [subject pattern read-string "Apropos " " (word list or regexp): " regexp-quote split-string "[ ]+"] 4 (#$ . 8139)]) #@258 Rewrite a list of words to a regexp matching all permutations. If PATTERN is a string, that means it is already a regexp. This updates variables `apropos-pattern', `apropos-pattern-quoted', `apropos-regexp', `apropos-words', and `apropos-all-words-regexp'. (defalias 'apropos-parse-pattern #[(pattern) "\306\211\n:\203\207\n\307\310\n\311#\312\f! \306\211\203w@\211\211\203c@\235\203Z\307\310@\313#@A\235\203S\306\211\2020A\211\2043B B+A\211\204*\314 \315\"\314\316\"\211)\207\312\n!\n\n\n\211\207" [apropos-words apropos-all-words pattern words apropos-pattern apropos-pattern-quoted nil mapconcat identity " " regexp-quote "\\|" apropos-words-to-regexp ".+" ".*?" word #1=#:--cl-dolist-temp-- apropos-synonyms a s syn apropos-all-words-regexp apropos-regexp] 6 (#$ . 8651)]) #@111 Return apropos scores for string STR matching WORDS. Value is a list of offsets of the words into the string. (defalias 'apropos-calc-scores #[(str words) "\306\211\n\203.\n\306\211\203'\f@\307 \"\211\203  B\fA\211\204\306 *\202;\307 \"\205;\310\224\310\225D*\207" [i scores words word #1=#:--cl-dolist-temp-- str nil string-match 0 apropos-pattern] 4 (#$ . 9511)]) #@38 Return apropos score for string STR. (defalias 'apropos-score-str #[(str) "\2032G\211\306\245[\307 \"\310\211\203- @\n \fZ\311_ \245\\\311\\ A\211\204\310\n,\207\312\207" [str l score apropos-all-words s #1=#:--cl-dolist-temp-- 10 apropos-calc-scores nil 1000 0] 5 (#$ . 9903)]) #@52 Return apropos score for documentation string DOC. (defalias 'apropos-score-doc #[(doc) "G\211\306V\203H\306\307\310\f\"\211\203\311\312 \"\307\f\211 \203@ @\f \fZ\313_ \245\\\313\\ A\211 \204%\307\f ,\202I\306)\207" [doc l i score apropos-pattern-quoted apropos-all-words 0 nil string-match 10000 apropos-calc-scores 50 s #1=#:--cl-dolist-temp--] 5 (#$ . 10203)]) #@34 Return apropos score for SYMBOL. (defalias 'apropos-score-symbol #[(symbol &optional weight) "\306!\307G\310 \"\311\211\203, @\n\312 Z\\ \fZ\312_ \245\\ A\211\204\311\n\f\2065\313_,\207" [symbol l score apropos-words s #1=#:--cl-dolist-temp-- symbol-name 0 apropos-calc-scores nil 60 3 weight] 4 (#$ . 10598)]) #@172 Return t if STR is a genuine hit. This may fail if only one of the keywords is matched more than once. This requires that at least 2 keywords (unless only one was given). (defalias 'apropos-true-hit #[(str words) "?\206 ?\206 A?\206\302 \"G\303V\207" [str words apropos-calc-scores 1] 3 (#$ . 10933)]) #@67 Return t if SYMBOL is not really matched by the current keywords. (defalias 'apropos-false-hit-symbol #[(symbol) "\302\303! \"?\207" [symbol apropos-words apropos-true-hit symbol-name] 3 (#$ . 11249)]) #@64 Return t if STR is not really matched by the current keywords. (defalias 'apropos-false-hit-str #[(str) "\302 \"?\207" [str apropos-words apropos-true-hit] 3 (#$ . 11458)]) #@60 Return t if DOC is really matched by the current keywords. (defalias 'apropos-true-hit-doc #[(doc) "\302 \"\207" [doc apropos-all-words apropos-true-hit] 3 (#$ . 11638)]) (byte-code "\302\303N\204\f\304\302\303\305#\210\306\307!\204\304\307\310\311#\210\307B\312\307!\204(\313\307\314 \"\210\306\315!\2044\304\315\310\311#\210\315B\312\315!\204D\313\315\316 \"\210\304\301\310\311#\210\301B\312\301!\204^\313\301\317\301\320\"\210 \"\210\304\311\321\320#\207" [current-load-list apropos-mode-abbrev-table apropos-mode-hook variable-documentation put "Hook run when 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 default-boundp set-default make-sparse-keymap apropos-mode-syntax-table make-syntax-table define-abbrev-table nil derived-mode-parent] 5) #@176 Major mode for following hyperlinks in output of apropos commands. \{apropos-mode-map} This mode runs the hook `apropos-mode-hook', as the final step during initialization. (defalias 'apropos-mode #[nil "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 )\315\316!\203#\316\317!\207\320\317!\207" [delay-mode-hooks major-mode mode-name apropos-mode-map apropos-mode-syntax-table apropos-mode-abbrev-table make-local-variable t kill-all-local-variables apropos-mode "Apropos" use-local-map set-syntax-table fboundp run-mode-hooks apropos-mode-hook run-hooks local-abbrev-table] 2 (#$ . 12566) nil]) #@405 Show user variables 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. (defalias 'apropos-variable #[(pattern &optional do-all) "\303\304 \204 \n\203\305\202\306#\207" [pattern do-all apropos-do-all apropos-command nil #[(symbol) "\301!\205 \302N\207" [symbol boundp variable-documentation] 2] user-variable-p] 4 (#$ . 13185) (list (apropos-read-pattern (if (or current-prefix-arg apropos-do-all) "variable" "user option")) current-prefix-arg)]) (defalias 'command-apropos 'apropos-command) #@670 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. (defalias 'apropos-command #[(pattern &optional do-all var-predicate) "\306!\210\307\310!\311\312!) \204\f\313 \206# \203\"\314\202#\315\"\211\211 \203O @\316N\204=\317 @!\203F\320 @\" A\211 \204-)\321\211\211!\"#\211$\203\334$\211@\211\"\322\"!\211!?\205\235\314\"!\205\235\323\"\324\"\211#\203\234!\325#!\\!#\326\327\330#\"O\202\235\331\205\310\"!\205\310\332\"\333\324#\211#\205\310!\325#!\\!#\326\327\330#\"OF\240\210$@A!\240\210$A\211$\204a,\334\324\321\211\324$\205\356\n\205\356\302\335\n\")\207" [pattern standard-output message do-all apropos-do-all apropos-regexp apropos-parse-pattern get-buffer-create "*Apropos*" print-help-return-message identity apropos-internal functionp commandp apropos-inhibit apropos-false-hit-symbol delq nil apropos-score-symbol documentation t apropos-score-doc 0 string-match "\n" "(not documented)" documentation-property variable-documentation apropos-print "%s" var-predicate apropos-accumulator tem score symbol doc p] 10 (#$ . 14025) (list (apropos-read-pattern (if (or current-prefix-arg apropos-do-all) "command or function" "command")) current-prefix-arg)]) #@70 Like (documentation-property SYMBOL PROPERTY RAW) but handle errors. (defalias 'apropos-documentation-property #[(symbol property raw) "\300\301\302\217\207" [nil (byte-code "\304 \n#\211\203 \305\306\307 \"O\202\310)\207" [symbol property raw doc documentation-property 0 string-match "\n" "(not documented)"] 6) ((error "(error retrieving documentation)"))] 3 (#$ . 15881)]) #@608 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. 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). Returns list of symbols and documentation found. (defalias 'apropos #[(pattern &optional do-all) "\304!\210\305\306 \n?\205 ?\205\307\"\n\206 \"\207" [pattern apropos-regexp do-all apropos-do-all apropos-parse-pattern apropos-symbols-internal apropos-internal #[(symbol) "\301!\206\302!\206\303!\206\304!\207" [symbol fboundp boundp facep symbol-plist] 2]] 4 (#$ . 16271) (list (apropos-read-pattern "symbol") current-prefix-arg)]) (defalias 'apropos-symbols-internal #[(symbols keys &optional text) "\306 \306\211\203 @\211\307N\204\nB A\211\204\n*)\310\311 \"\312 \306 #)\207" [all symbols symbol #1=#:--cl-dolist-temp-- apropos-accumulator keys nil apropos-inhibit mapcar #[(symbol) "\303\211\n\304\n!\305\n!\205\"\303\306\307\217\211\203! \310\311\312 \"O\202\"\313\314\n!\205-\315\n\316\317#\320\n!\211\205O@CAA\211\203I@ B\2029\321\322 \237\323#\n\324N\205Z\315\n\325\317#\326\n!\205e\315\n\327\317#\n\330N\205p\315\n\331\317#\257*\207" [properties doc symbol nil apropos-score-symbol fboundp (documentation symbol t) ((void-function "(alias for undefined function)") (error "(can't retrieve function documentation)")) 0 string-match "\n" "(not documented)" boundp apropos-documentation-property variable-documentation t symbol-plist mapconcat symbol-name " " widget-type widget-documentation facep face-documentation custom-group group-documentation] 11] apropos-print text] 4]) #@520 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 the function and at the names and values of properties. Returns list of symbols and values found. (defalias 'apropos-value #[(pattern &optional do-all) "\306!\210 \204\n\n\307\211\307\211\f\310\311!\210+\312\307\313\"\207" [pattern do-all apropos-do-all apropos-accumulator p v apropos-parse-pattern nil mapatoms #[(symbol) "\306\211\306 \307>\204\310\311 \312#\f\203\"\310\313 \314#\315 \316\317#\320 !\203*\306\320!\2032\306\320\n!\203:\306\204F \204F\n\205[ \321!\321 !\\\321\n!\\ \n\257 B\211\207" [f v p symbol do-all apropos-accumulator nil (apropos-regexp apropos-pattern apropos-all-words-regexp apropos-words apropos-all-words do-all apropos-accumulator symbol f v p) apropos-value-internal boundp symbol-value fboundp symbol-function apropos-format-plist "\n " t apropos-false-hit-str apropos-score-str] 6] apropos-print "\n----------------\n" f] 4 (#$ . 18276) (list (apropos-read-pattern "value") current-prefix-arg)]) #@540 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. With \[universal-argument] prefix, 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. (defalias 'apropos-documentation #[(pattern &optional do-all) "\306!\210 \204\n\n\307\211\310\311! \307\211\211\211\312\216\212q\210\313 \210 \2034\314\315!\210\316\307\317\307\320$.\207" [pattern do-all apropos-do-all apropos-accumulator apropos-files-scanned apropos-documentation-sort-by-scores apropos-parse-pattern nil get-buffer-create " apropos-temp" ((kill-buffer standard-input)) apropos-documentation-check-doc-file mapatoms #[(symbol) "\306!\307N\211\250\203\310\311 !\311\n!\312 !\312\n! \204'\n\205f \236A\211 \203V \203C A \240\210 \211@ \\\240\210\n\205f AA\n\240\210 \211@\f\\\240\207\313\314\" \\\f\\ \nF B\211\207" [symbol f v sf sv apropos-accumulator apropos-safe-documentation variable-documentation nil apropos-documentation-internal apropos-score-doc apropos-score-symbol 2 apropos-item] 5] apropos-print "\n----------------\n" t sv sf v f apropos-sort-by-scores standard-input] 7 (#$ . 19669) (list (apropos-read-pattern "documentation") current-prefix-arg)]) (defalias 'apropos-value-internal #[(predicate symbol function) " !\205\"\305\n !!\306 \"\205\"\f\203!\307\310\224\310\225\311\f %\210 \207" [predicate symbol function apropos-regexp apropos-match-face prin1-to-string string-match put-text-property 0 face] 6]) (defalias 'apropos-documentation-internal #[(doc) ":\203\n\304@!\207\205>\305 \"\205>\306!\205>\n\205>\307\310!!\305 \"\2043\305 \"\203=\311\312\224\312\225\313\n%\210\207" [doc 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] 6]) (defalias 'apropos-format-plist #[(pl sep &optional compare) "\306!\307\211\203_\310\311@A@# \203 \312\f\n\"\2033 \2035\313\314\315@!G\316 \n%\210\2025\307\n\203W \203M\203M\313\314\224\314\225\316\n%\210 \211\205T\nQAA\211\204\f *\207" [pl p-out p compare apropos-regexp apropos-property-face symbol-plist nil format "%s %S" string-match put-text-property 0 symbol-name face apropos-match-face sep] 7]) (defalias 'apropos-documentation-check-doc-file #[nil "\306\211\307\306\310c\210\311u\210\312\f P!\210\306u\210\212\313\314!m)?\205\270\315\307!\210\214`S}\210\316\306\317#)\203\262 Tb\210h\320=\203D\307\202E\321\322 `TS{\323!\203\262\n\236\211\203lA\324!\240\204\201\n\325\n\307\"\324!\\\306\211F\211B\203\252\326!\327 \"\204\236\327\"\203\252\330\331\224\331\225\332%\210 \233\240\210b\202,\207" [sepb sepa symbol type doc-directory internal-doc-file-name nil 2 31 -1 insert-file-contents search-forward "" beginning-of-line re-search-forward t 70 3 read apropos-true-hit-doc apropos-score-doc apropos-score-symbol substitute-command-keys string-match put-text-property 0 face apropos-all-words-regexp doc apropos-accumulator apropos-item apropos-match-face apropos-pattern-quoted] 7]) (defalias 'apropos-documentation-check-elc-file #[(file) " \235?\205\377\306\211\211\211\211 B\307 \210\310!\210\311\312\306\313#\205\376\314 `T` \\\315\\\306u\210\214\f }\210\316 \306\313#)\203 \317\\b\210\f {\320\225\fZ\320\224\fZ\321 !\203\322\323!\324\306w\210\306u\210\314 \211:\203wA@\202y\n\203\206\325N\202\221\326!\203\327!\203!\236\211\"\203\262\"A\"\211#A@)\330 !\\\240\204\310\331\317\"\330 !\\\306\211F\211\"!B!$\203\354\332 !\333% \"\204\341\333 \"\203\354\334\320\224\320\225\335$ %\210\n\203\364\336\202\365\317\"\233 \240\210\202-\207" [file apropos-files-scanned this-is-a-variable end beg doc nil erase-buffer insert-file-contents search-forward "\n#@" t read -1 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 symbol apropos-all-words-regexp apropos-accumulator apropos-item x apropos-match-face apropos-pattern-quoted] 7]) #@91 Like `documentation', except it avoids calling `get_doc_string'. Will return nil instead. (defalias 'apropos-safe-documentation #[(function) "\2039\203\301!\205K\211\204\242\302=\203 A\303!\2033G\304V\205^\304H\202^\242\305=\203@\3068\202^\242\307=\205^\3068;\203T\3068\202^\3108;\205^\3108\211\250?\205f\207" [function fboundp macro byte-code-function-p 4 autoload 2 lambda 3] 3 (#$ . 24318)]) #@558 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 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. (defalias 'apropos-print #[(do-keys spacing &optional text nosubst) "\204\f\306\307 \"\210\202\223\310\311\"\312\220p\313\211@q\210\314 \210\315 \203.\316\317\320\321\261\210\322\323\324\325!\261\210A\203AA\326\261\210 :\203\214B\203To\204T\327B!\210 @\211C@ AC\211DA@)\247\204uC@\313CABBC\330\331 !\332\333\334E%\210F\335=\203\241C\211DA@)\203\241\336\337C\211DA@)!\340\261\210G\203D\341 !\203D \342=\204D\343\344\345\"\203D\212\fq\210\346 !)\313H\211I\203I@\347\313JKLKLGW\203\376\350LKH!\204\362\351LKH!\203\365\352JKT\211K\202\327J\204\nLHBH+IA\211I\204\312H\211*\203&\353\354\n\355#c\210\202D\356c\210M\203D\357`\360Z`\361Z\334M$\210\357`\362Z`\334M$\210\363 \210\364\365\341 !\203S\366\202^\367 !\203]\370\202^\371N?#\210\364\362\372N?#\210\364\373\374\352#\210\364\375\376\352#\210\364\377\201P\352#\210\364\201Q\201R\313#\210\202A\352\211O,\221\210\313\207" [apropos-accumulator apropos-pattern item symbol old-buffer p message "No apropos matches for `%s'" sort #[(a b) "\203* \211A@) \211A@)V\206/ \211A@) \211A@)U\205) @ @\231\207 @ @\231\207" [apropos-sort-by-scores a x b] 3] "*Apropos*" nil apropos-mode display-mouse-p "If moving the mouse over text changes the text's color, " "you can click\n" "mouse-2 (second button from right) on that text to " "get more information.\n" "In this buffer, go to the name of the command, or function," " or variable,\n" substitute-command-keys "and type \\[apropos-follow] to get full documentation.\n\n" "\n\n" princ insert-text-button symbol-name type apropos-symbol face verbose " (" number-to-string ") " commandp self-insert-command indent-to 30 1 where-is-internal 0 framep bufferp t mapconcat #[(key) "\302\303\304\217 \203\305\306G\307 %\210\207" [key apropos-keybinding-face nil (key-description key) ((error)) put-text-property 0 face] 6] ", " "M-x ... RET" put-text-property 11 8 3 terpri apropos-print-doc 2 apropos-command apropos-macrop apropos-macro apropos-function apropos-variable 7 apropos-group 6 apropos-face 5 standard-output text spacing apropos-item x apropos-symbol-face apropos-sort-by-scores do-keys filtered keys loser i key apropos-keybinding-face nosubst buffer-read-only apropos-widget 4 apropos-plist] 8 (#$ . 24759)]) #@37 Return t if SYMBOL is a Lisp macro. (defalias 'apropos-macrop #[(symbol) "\301!\205!K\211:\205!@\302=\206!@\303=\205!\3048\305>\207" [symbol fboundp macro autoload 4 (macro t)] 2 (#$ . 27634)]) (defalias 'apropos-print-doc #[(i type do-keys) " 8\211;\2051\305c\210\306\307\n\310\"\302\n\311 \312 @&\210\313c\210\f\203(\314!\202)c\210n\2061\315 \207" [i apropos-item type apropos-label-face do-keys " " insert-text-button button-type-get apropos-label face apropos-symbol ": " substitute-command-keys terpri] 8]) #@74 Invokes any button at point, otherwise invokes the nearest label button. (defalias 'apropos-follow #[nil "\305\306 !\206\n\307\310!\311\203\312 \313\"\206\312 \302\"\314\n!\203A\315 \316\317\320 \"r\321\216\322\323\324\n!!!\210\nb\210\325\326!,\202D\n !+\207" [use-mouse-action button action save-selected-window-alist save-selected-window-window apropos-next-label-button line-beginning-position error "There is nothing to follow here" nil button-get mouse-action markerp selected-window mapcar #[(frame) "\301!D\207" [frame frame-selected-window] 3] frame-list ((byte-code "\305\211\203/\n@\306 @!\203(\307 \211A@)!\203(\310 @ \211A@)\"\210\nA\211\204*\307\f!\203:\311\f!\210\305\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- x save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window select-window] 4)) select-window display-buffer marker-buffer recenter 0] 4 (#$ . 28172) nil]) #@45 Display a pretty listing of SYMBOL's plist. (defalias 'apropos-describe-plist #[(symbol) "\303\304Dt\"\210\305 \220 q\210\306\307!\210\310!\210\306\311!\210\n\203(\312e\313\\`\314Z\315\n$\210\316\317\"c\210\306\320!\210\321 \221\207" [symbol standard-output apropos-symbol-face help-setup-xref apropos-describe-plist help-buffer princ "Symbol " prin1 "'s plist is\n (" put-text-property 7 14 face apropos-format-plist "\n " ")" print-help-return-message] 6 (#$ . 29131)]) (provide 'apropos)