;ELC ;;; compiled by rms@delasyd.gnu.ai.mit.edu on Fri May 3 20:50:57 1996 ;;; from file /home/fsf/rms/e19/lisp/apropos.el ;;; emacs version 19.30.99.4. ;;; bytecomp version FSF 2.10 ;;; optimization is on. ;;; this file uses opcodes which do not exist in Emacs 18. (if (and (boundp 'emacs-version) (or (and (boundp 'epoch::version) epoch::version) (string-lessp emacs-version "19.29"))) (error "`apropos.el' was compiled for Emacs 19.29 or later")) #@123 *Whether the apropos commands should do more. Slows them down more or less. Set this non-nil if you have a fast machine. (defvar apropos-do-all nil (#$ . -476)) #@113 *Face for symbol name in apropos output or `nil'. This looks good, but slows down the commands several times. (defvar apropos-symbol-face (byte-code "" [window-system bold] 1) (#$ . -645)) #@120 *Face for keybinding display in apropos output or `nil'. This looks good, but slows down the commands several times. (defvar apropos-keybinding-face (byte-code "" [window-system underline] 1) (#$ . -849)) #@282 *Face for label (Command, Variable ...) in apropos output or `nil'. If this is `nil' no mouse highlighting occurs. This looks good, but slows down the commands several times. When this is a face name, as it is initially, it gets transformed to a text-property list for efficiency. (defvar apropos-label-face (byte-code "" [window-system italic] 1) (#$ . -1069)) #@115 *Face for property name in apropos output or `nil'. This looks good, but slows down the commands several times. (defvar apropos-property-face (byte-code "" [window-system bold-italic] 1) (#$ . -1444)) #@135 *Face for matching part in apropos-documentation/value output or `nil'. This looks good, but slows down the commands several times. (defvar apropos-match-face (byte-code "" [window-system secondary-selection] 1) (#$ . -1660)) #@30 Keymap used in Apropos mode. (defvar apropos-mode-map (byte-code "  # # # )" [make-sparse-keymap map define-key " " apropos-follow [mouse-2] apropos-mouse-follow [down-mouse-2] nil] 4) (#$ . 1900)) #@37 Regexp used in current apropos run. (defvar apropos-regexp nil (#$ . 2119)) #@78 List of elc files already scanned in current run of `apropos-documentation'. (defvar apropos-files-scanned nil (#$ . 2201)) #@56 Alist of symbols already found in current apropos run. (defvar apropos-accumulator nil (#$ . 2331)) #@45 Current item in or for apropos-accumulator. (defvar apropos-item nil (#$ . 2437)) #@89 Major mode for following hyperlinks in output of apropos commands. \{apropos-mode-map} (defalias 'apropos-mode #[nil " \n!ʼn" [kill-all-local-variables use-local-map apropos-mode-map apropos-mode major-mode "Apropos" mode-name] 2 (#$ . 2525) nil]) (fset (quote command-apropos) (quote apropos-command)) #@151 Shows commands (interactively callable functions) that match REGEXP. With optional prefix ARG or if `apropos-do-all' is non-nil, also show variables. (defalias 'apropos-command #[(apropos-regexp &optional do-all) "!!) ʂ\"\f#1 1 !)" [get-buffer-create "*Apropos*" standard-output print-help-return-message identity message do-all apropos-do-all apropos-internal apropos-regexp #[(symbol) " ! !" [commandp symbol user-variable-p] 2] commandp apropos-accumulator apropos-print t #[(p) " N @ !' \"&\n\n\"O' C !C #C\n\n\"OE A*" [nil symbol doc p commandp documentation t 0 string-match "\n" "(not documented)" do-all user-variable-p documentation-property variable-documentation] 9] nil] 4 (#$ . 2845) (list (read-string (concat "Apropos command " (if (or current-prefix-arg apropos-do-all) "or variable ") "(regexp): ")) current-prefix-arg)]) #@242 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. (defalias 'apropos #[(apropos-regexp &optional do-all) " \n? ? \"\n #" [apropos-internal apropos-regexp do-all apropos-do-all #[(symbol) " ! ! !" [fboundp symbol boundp symbol-plist] 2] apropos-accumulator apropos-print #[(p) " l @\n!'\n\"& \"O'\n!B\n#A \"OB\n!a Gϥ=[ @\"a GϥPF A*" [nil doc symbol p fboundp documentation t 0 string-match "\n" "(not documented)" boundp documentation-property variable-documentation symbol-plist 2 1 format "1 property (%s)" " properties"] 9] nil] 4 (#$ . 3783) "sApropos symbol (regexp): \nP"]) #@234 Show all symbols whose value's printed image matches REGEXP. With optional prefix ARG 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 #[(apropos-regexp &optional do-all) " ‰!+‰#" [do-all apropos-do-all nil apropos-accumulator p v f mapatoms #[(symbol) "\f>\f# #\f#\f# /\n/ :\f \n FB" [nil f v p symbol (apropos-regexp do-all apropos-accumulator symbol f v p) apropos-value-internal boundp symbol-value do-all fboundp symbol-function apropos-format-plist "\n " t apropos-accumulator] 4] apropos-print t] 4 (#$ . 4651) "sApropos value (regexp): \nP"]) #@262 Show symbols whose documentation contain matches for REGEXP. With optional prefix ARG 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 #[(apropos-regexp &optional do-all) " !‰ ʎ q '!‰#-" [do-all apropos-do-all nil apropos-accumulator apropos-files-scanned get-buffer-create " apropos-temp" v f standard-input ((kill-buffer standard-input)) apropos-documentation-check-doc-file mapatoms #[(symbol) " ! N\n!\f!\n\fG A=\n3\n\fGA\f \n\fEB" [apropos-safe-documentation symbol f variable-documentation v nil apropos-documentation-internal apropos-accumulator apropos-item] 4] apropos-print t] 4 (#$ . 5392) "sApropos documentation (regexp): \nP"]) (defalias 'apropos-value-internal #[(predicate symbol function) " !$ !! \"$#Ȕȕ % " [predicate symbol prin1-to-string function string-match apropos-regexp apropos-match-face put-text-property 0 face] 6]) (defalias 'apropos-documentation-internal #[(doc) ":\n@!( \"(\f'Ɣƕ\f!%" [doc apropos-documentation-check-elc-file string-match apropos-regexp apropos-match-face put-text-property 0 face copy-sequence] 7]) (defalias 'apropos-format-plist #[(pl sep &optional compare) " !‰ d @ A@#\" \f\"7\n9 @!G\n\f%9\f\\RR̔̕\f% Y\fQ AA\f *" [symbol-plist pl nil p-out p format "%s %S" compare string-match apropos-regexp apropos-property-face put-text-property 0 symbol-name face apropos-match-face sep] 7]) (defalias 'apropos-documentation-check-doc-file #[nil "c  \fP!u!m)?y`\fS}#)Ӕ` Tbh=PςQ  `ZZ\n`ZZ`T\fS{EB \n%\fb." [nil 2 end beg sepb sepa symbol type 31 backward-char insert-file-contents doc-directory internal-doc-file-name search-forward "" 1 re-search-forward apropos-regexp t 0 70 read doc apropos-accumulator apropos-item apropos-match-face put-text-property face] 7]) (defalias 'apropos-documentation-check-elc-file #[(file) " ?‰ B !# `T`\f\\\\u \f}#)\f\\b \f{ҕ ZҔ Z!wu :sA@u N!!‰EB \f% т-" [file apropos-files-scanned nil this-is-a-variable end beg doc symbol erase-buffer insert-file-contents search-forward "\n#@" t read -1 re-search-forward apropos-regexp 2 0 looking-at "(def\\(var\\|const\\) " "(a-z" variable-documentation fboundp apropos-safe-documentation apropos-accumulator apropos-item apropos-match-face put-text-property face 1] 7]) #@89 Like documentation, except it avoids calling `get_doc_string'. Will return nil instead. (defalias 'apropos-safe-documentation #[(function) "9!K= A!3GV^H^=@8^=^8;T8^8;^8?f" [function fboundp macro byte-code-function-p 4 autoload 2 lambda 3] 3 (#$ . 8195)]) #@289 Output result of various apropos commands with `apropos-regexp'. APROPOS-ACCUMULATOR is a list. Optional DOC-FN is called for each element of apropos-accumulator and may modify it resulting in (symbol fn-doc var-doc [plist-doc]). Returns sorted list of symbols and documentation found. (defalias 'apropos-print #[(do-keys doc-fn spacing) "\f \"\f\f!\",9,BBʐpˉ\f q S!!c:joj @@A` !`\f-!-\"-q!)#$$@&'('(GW('H!('H!&'T'&(#B#+$A$#*#c-cc`Z`3$!c`Z`3$  \fAB!F@H$9Y \f9$!gs!rs$@AB$CD$X." [apropos-accumulator message "No apropos matches for `%s'" apropos-regexp doc-fn sort #[(a b) "@ @" [a b] 2] apropos-label-face face (mouse-face highlight) "*Apropos*" nil point2 point1 item symbol old-buffer p standard-output apropos-mode window-system "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" "In this buffer, type \\[apropos-follow] to get full documentation.\n\n" spacing terpri apropos-item princ do-keys commandp indent-to 30 1 where-is-internal filtered keys 0 loser i key framep bufferp t mapconcat #[(key) " !\n G\n % " [key-description key apropos-keybinding-face put-text-property 0 face] 6] ", " "Type " "M-x" put-text-property 3 apropos-keybinding-face " " symbol-name "RET" eval or apropos-symbol-face apropos-print-doc describe-function "Command" apropos-macrop "Macro" "Function" describe-variable 2 "Variable" apropos-describe-plist "Plist"] 9 (#$ . 8531)]) #@30 T if SYMBOL is a Lisp macro. (defalias 'apropos-macrop #[(symbol) " !! K:! @=! @=! 8>" [fboundp symbol macro autoload 4 (macro t)] 2 (#$ . 10296)]) (defalias 'apropos-print-doc #[(action i str do-keys) " 8;Cc`Z`S $DZ/`GZZ`S#\n:!;cnC " [i apropos-item " " put-text-property 2 action str ": " apropos-label-face add-text-properties do-keys substitute-command-keys terpri] 5]) (defalias 'apropos-mouse-follow #[(event) "p!=?\np\fA@)@)!q\fA@)A@:/ A@@2 A@)bm@`\"PoL`S\"P!\n!*" [get-buffer "*Apropos*" other window-buffer event position get-text-property mouse-face error "There is nothing to follow here" apropos-follow] 4 nil "e"]) (defalias 'apropos-follow #[(&optional other) "y`) \"? \" \"?% \" 5 5 S\"FF\" OS! :^ @\"\fg\fq !-" [0 bol get-text-property item previous-single-property-change item-at action next-single-property-change action-at error "There is nothing to follow here" "There is nothing to follow in `%s'" other] 4 nil nil]) #@45 Display a pretty listing of SYMBOL's plist. (defalias 'apropos-describe-plist #[(symbol) " q! !! `Z$ \"c! " ["*Help*" standard-output princ "Symbol " prin1 symbol "'s plist is\n (" apropos-symbol-face put-text-property 8 14 face apropos-format-plist "\n " ")" print-help-return-message] 6 (#$ . 11402)])