;ELC ;;; Compiled ;;; in Emacs version 27.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304\305\306#\207" [require package lisp-mnt find-func finder-inf nil t] 4) #@106 Association list of the standard "Keywords:" headers. Each element has the form (KEYWORD . DESCRIPTION). (defvar finder-known-keywords '((abbrev . "abbreviation handling, typing shortcuts, and macros") (bib . "bibliography processors") (c . "C and related programming languages") (calendar . "calendar and time management tools") (comm . "communications, networking, and remote file access") (convenience . "convenience features for faster editing") (data . "editing data (non-text) files") (docs . "Emacs documentation facilities") (emulations . "emulations of other editors") (extensions . "Emacs Lisp language extensions") (faces . "fonts and colors for text") (files . "file editing and manipulation") (frames . "Emacs frames and window systems") (games . "games, jokes and amusements") (hardware . "interfacing with system hardware") (help . "Emacs help systems") (hypermedia . "links between text or other media types") (i18n . "internationalization and character-set support") (internal . "code for Emacs internals, build process, defaults") (languages . "specialized modes for editing programming languages") (lisp . "Lisp support, including Emacs Lisp") (local . "code local to your site") (maint . "Emacs development tools and aids") (mail . "email reading and posting") (matching . "searching, matching, and sorting") (mouse . "mouse support") (multimedia . "images and sound") (news . "USENET news reading and posting") (outlines . "hierarchical outlining and note taking") (processes . "processes, subshells, and compilation") (terminals . "text terminals (ttys)") (tex . "the TeX document formatter") (tools . "programming tools") (unix . "UNIX feature interfaces and emulators") (vc . "version control") (wp . "word processing")) (#$ . 540)) #@31 Keymap used in `finder-mode'. (defvar finder-mode-map (byte-code "\302 \302\303!\304 \305\306#\210\304 \307\306#\210\304 \310\311#\210\304 \312\313#\210\304 \314\306#\210\304 \315\316#\210\304 \317\320#\210\304 \321\322#\210\304 \323\324#\210\304 \325\326#\210\304 \327\303B#\210\304\330\331#\210\304\332\333#\210\304\334\335#\210\304\336\337#\210 *\207" [menu-map map make-sparse-keymap "Finder" define-key " " finder-select "f" [follow-link] mouse-face [mouse-2] finder-mouse-select " " "?" finder-summary "n" next-line "p" previous-line "q" finder-exit "d" finder-list-keywords [menu-bar finder-mode] [finder-exit] (menu-item "Quit" finder-exit :help "Exit Finder mode") [finder-summary] (menu-item "Summary" finder-summary :help "Summary item on current line in a finder buffer") [finder-list-keywords] (menu-item "List keywords" finder-list-keywords :help "Display descriptions of the keywords in the Finder buffer") [finder-select] (menu-item "Select" finder-select :help "Select item on current line in a finder buffer")] 5) (#$ . 2303)) #@43 Syntax table used while in `finder-mode'. (defvar finder-mode-syntax-table (byte-code "\302!\303\304\305 #\210 )\207" [emacs-lisp-mode-syntax-table st make-syntax-table modify-syntax-entry 59 ". "] 4) (#$ . 3361)) #@56 Internal Finder mode variable, local in Finder buffer. (defvar finder-headmark nil (#$ . 3585)) #@107 Hash table mapping keywords to lists of package names. Keywords and package names both should be symbols. (defvar finder-keywords-hash nil (#$ . 3688)) #@72 The function `finder-compile-keywords' writes keywords into this file. (defvar generated-finder-keywords-file "finder-inf.el" (#$ . 3846)) #@54 Regexp matching file names not to scan for keywords. (defvar finder-no-scan-regexp "\\(^\\.#\\|\\(loaddefs\\|ldefs-boot\\|cus-load\\|finder-inf\\|esh-groups\\|subdirs\\|leim-list\\)\\.el$\\)" (#$ . 3991)) (autoload 'autoload-rubric "autoload") #@188 Alist of built-in package descriptions. Entries have the form (PACKAGE-SYMBOL . DESCRIPTION). When generating `package--builtins', this overrides what the description would otherwise be. (defconst finder--builtins-descriptions '((emacs . "the extensible text editor") (nxml . "a new XML mode")) (#$ . 4242)) #@269 Alist of built-in package directories. Each element should have the form (DIR . PACKAGE), where DIR is a directory name and PACKAGE is the name of a package (a symbol). When generating `package--builtins', Emacs assumes any file in DIR is part of the package PACKAGE. (defvar finder--builtins-alist '(("calc" . calc) ("ede" . ede) ("erc" . erc) ("eshell" . eshell) ("gnus" . gnus) ("international" . emacs) ("language" . emacs) ("mh-e" . mh-e) ("semantic" . semantic) ("analyze" . semantic) ("bovine" . semantic) ("decorate" . semantic) ("symref" . semantic) ("wisent" . semantic) ("nxml" . nxml) ("org" . org) ("srecode" . srecode) ("term" . emacs) ("url" . url)) (#$ . 4557)) #@269 Regenerate list of built-in Emacs packages. This recomputes `package--builtins' and `finder-keywords-hash', and prints them into the file `generated-finder-keywords-file'. Optional DIRS is a list of Emacs Lisp directories to compile from; the default is `load-path'. (defalias 'finder-compile-keywords #[(&rest dirs) "\306\307\310\311\"\312\313\f\206 @\306\211AB@:\203E@@A\314\315A!!\203<\316\317\320\321A\306\n#\"!B\244B@A\211@\202B\237+C\322\323\324!\313CG#D\306\211EF\306\211GH\306\211IJ\306\211KLC\306M\211N\203\245N@\211M@AMAO\325\326\327\315A!!P\"\243!ED T\211\306\247\203\251@Y\205\256\330#\266\331QO\"\204\233\331\nO\"\205\310\332\333\334O\"!\211F\203\233\335\336!RrRq\210\337\216\340\341OA\"!\210\317\332\342 \"HE\206\343\344!\211S\205\374\332S!)\206F\211IT\236A\206\345 G\343\346!J+G\203\233\3471'\350J!0\202+\210\202.\2064\351IU\"JI\236\211K\204PI\352J\306G#BB\202oFI=\204]J\203oKA\211L\313JI\210L\353GI\210H\306V\211N\203\232N@V\354VI\355I\356V \"\"B #\210NA\211N\204z*+NA\211N\204y*\357D!\210.\f\360\361\"r\362W!q\210\363X\364 \210\365W\366\363#c\210\367\370!\210\371c\210\306I\211N\203\362N@I\372c\210\373Ip\"\210\374c\210NA\211N\204\330*\375c\210\376c\210\373 p\"\210\377c\210\201Y )\207" [package--builtins finder-keywords-hash el-file-regexp file-count dirs load-path nil make-hash-table :test eq "\\`\\([^=].*\\)\\.el\\(\\.\\(gz\\|Z\\)\\)?\\'" 0 file-exists-p directory-file-name reverse mapcar #[(f) " B\207" [d f] 2] directory-files make-progress-reporter byte-compile-info-string "Scanning files for finder" intern-soft assoc file-name-nondirectory progress-reporter-do-update string-match intern match-string 1 generate-new-buffer " *temp*" #[nil "\301!\205 \302!\207" [#1=#:temp-buffer buffer-name kill-buffer] 2] insert-file-contents expand-file-name lm-keywords-list lm-header "package" lm-synopsis "version" (error) version-to-list alist-get vector 2 puthash delq gethash progress-reporter-done sort #[(a b) "\302@!\302 @!\231\207" [a b symbol-name] 3] find-file-noselect t erase-buffer autoload-rubric "keyword-to-package mapping" search-backward "\f" "(setq package--builtins '(\n" " " prin1 "\n" "))\n\n" "(setq finder-keywords-hash\n " ")\n" #2=#:--cl-var-- d #3=#:--cl-var-- files progress package-override base-name summary keywords package version entry desc elem --dolist-tail-- f finder--builtins-alist finder-no-scan-regexp #1# str finder--builtins-descriptions package--builtin-versions kw generated-finder-keywords-file buffer-undo-list basic-save-buffer] 9 (#$ . 5242)]) #@56 Regenerate `finder-inf.el' for the Emacs distribution. (defalias 'finder-compile-keywords-make-dist #[nil "\301\302\"\210\303 \207" [command-line-args-left apply finder-compile-keywords kill-emacs] 3 (#$ . 7918)]) #@47 Insert, at column COLUMN, other args STRINGS. (defalias 'finder-insert-at-column #[(column &rest strings) "iY\203 \302c\210\303\304\"\210\305\306 \"\207" [column strings "\n" move-to-column t apply insert] 3 (#$ . 8139)]) (defvar finder-help-echo nil) #@67 Put `mouse-face' and `help-echo' properties on the previous line. (defalias 'finder-mouse-face-on-line #[nil "\212\304y\210\305\306!\203 \304y\210\204&\307\310 \"\307\311 \"\n\244\312\313 \314#\315P*\316\317 \320 \321#)\207" [finder-help-echo finder-mode-map keys1 keys -1 looking-at "[ ]" where-is-internal finder-select finder-mouse-select mapconcat key-description ", " ": select item" add-text-properties line-beginning-position line-end-position (mouse-face highlight help-echo finder-help-echo)] 4 (#$ . 8400)]) #@164 Return an alist of unknown keywords and number of their occurrences. Unknown keywords are those present in `finder-keywords-hash' but not `finder-known-keywords'. (defalias 'finder-unknown-keywords #[nil "\302\303\304 \"\210\305\306\")\207" [alist finder-keywords-hash nil maphash #[(kw packages) " \236?\205\nGB B\211\207" [kw finder-known-keywords packages alist] 2] sort #[(a b) "@ @\231\207" [a b] 2]] 3 (#$ . 8932)]) #@60 Display descriptions of the keywords in the Finder buffer. (defalias 'finder-list-keywords #[nil "\306\307!\203\n\310\307!\207\310\311\307!!\210\312 \210\313\314 \210 \315\211\203B @\211@\316\317\f!\320\321#c\210\322\323\nA\324P\"\210\325 \210) A\211\204 *eb\210`\313\326\315!\210\327 \210\330 )\207" [inhibit-read-only finder-known-keywords assoc --dolist-tail-- keyword finder-headmark get-buffer "*Finder*" pop-to-buffer get-buffer-create finder-mode t erase-buffer nil propertize symbol-name font-lock-face font-lock-constant-face finder-insert-at-column 14 "\n" finder-mouse-face-on-line set-buffer-modified-p balance-windows finder-summary buffer-read-only] 5 (#$ . 9368) nil]) (defalias 'finder-list-matches #[(key) "\305!\306 \n\"\211\204\307\310\"\210\311\312 !+\207" [key id finder-keywords-hash packages package-list-unversioned intern gethash error "No packages matching key `%s'" t package-show-package-list] 4]) (define-button-type 'finder-xref 'action 'finder-goto-xref) #@46 Jump to a lisp file for the BUTTON at point. (defalias 'finder-goto-xref #[(button) "\303\304\"\305 !\211\203\306\n!\202\307\310 \"*\207" [button file lib button-get xref locate-library finder-commentary message "Unable to locate `%s'"] 4 (#$ . 10379)]) #@103 Display FILE's commentary section. FILE should be in a form suitable for passing to `locate-library'. (defalias 'finder-commentary #[(file) "\304\305!!\211\204\306\307!\210\310\311!\210\312\313\314 \210 c\210eb\210\315 \210db\210\315 \210eb\210\316\317\312\313#\203<\320\321\312\211#\210\202+eb\210\316\322\312\313#\203b\323\324\325!!\203?\326\325\224\325\225\327\330\325!\331\332\333\334&\210\202?eb\210\313\335\312!\210\336 \210\337 \210\340 )\207" [file str buffer-read-only buffer-undo-list lm-commentary find-library-name error "Can't find any Commentary section" pop-to-buffer "*Finder-package*" nil t erase-buffer delete-blank-lines re-search-forward "^;+ ?" replace-match "" "\\<\\([-[:alnum:]]+\\.el\\)\\>" locate-library match-string 1 make-text-button xref match-string-no-properties help-echo "Read this file's commentary" :type finder-xref set-buffer-modified-p shrink-window-if-larger-than-buffer finder-mode finder-summary] 10 (#$ . 10647) (list (completing-read "Library name: " (apply-partially 'locate-file-completion-table (or find-function-source-path load-path) (find-library-suffixes))))]) (defalias 'finder-current-item #[nil "\212\302 \210\303 ) \203` W\204G\304U\203\305\306!\202 )\207" [key finder-headmark beginning-of-line current-word 0 error "No keyword or filename on this line"] 2]) #@49 Select item on current line in a Finder buffer. (defalias 'finder-select #[nil "\301 \302\303\"\203\304!\202\305!)\207" [key finder-current-item string-match "\\.el$" finder-commentary finder-list-matches] 3 (#$ . 11991) nil]) #@48 Select item in a Finder buffer with the mouse. (defalias 'finder-mouse-select #[(event) "r\301\302!\211@\262!q\210\303\302!!b\210\304 )\207" [event window-buffer event-start posn-point finder-select] 3 (#$ . 12232) "e"]) #@41 Find packages matching a given keyword. (defalias 'finder-by-keyword #[nil "\300 \207" [finder-list-keywords] 1 (#$ . 12462) nil]) (defvar finder-mode-hook nil) (byte-code "\300\301N\204\f\302\300\301\303#\210\304\305!\204\302\305\306\307#\210\300\207" [finder-mode-hook variable-documentation put "Hook run after entering Finder mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp finder-mode-map definition-name finder-mode] 4) (defvar finder-mode-map (make-sparse-keymap)) (byte-code "\301\302N\204\303\301\302\304\305!#\210\306\300!\204#\303\300\307\310#\210\311\312\300\313\"\210!\210\300\302N\2041\303\300\302\304\314!#\210\303\310\315\313#\207" [finder-mode-abbrev-table finder-mode-map variable-documentation put purecopy "Keymap for `finder-mode'." boundp definition-name finder-mode (lambda (#1=#:def-tmp-var) (defvar finder-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `finder-mode'." derived-mode-parent] 5) #@288 Major mode for browsing package documentation. \ \[finder-select] more help for the item on the current line \[finder-exit] exit Finder mode and kill the Finder buffer. This mode runs the hook `finder-mode-hook', as the final or penultimate step during initialization. (defalias 'finder-mode #[nil "\306\300!\210\307\310 \210\311\312\313 !\210\314\f!\210 \307\211\306\315!\210\316 )\317\320!\207" [delay-mode-hooks major-mode mode-name finder-mode-map finder-mode-syntax-table finder-mode-abbrev-table make-local-variable t kill-all-local-variables finder-mode "Finder" use-local-map set-syntax-table finder-headmark nil run-mode-hooks finder-mode-hook local-abbrev-table buffer-read-only buffer-undo-list] 3 (#$ . 13507) nil]) #@34 Summarize basic Finder commands. (defalias 'finder-summary #[nil "\300\301\302\303!\"\207" [message "%s" substitute-command-keys "\\\\[finder-select] = select, \\[finder-mouse-select] = select, \\[finder-list-keywords] = to finder directory, \\[finder-exit] = quit, \\[finder-summary] = help"] 4 (#$ . 14269) nil]) #@72 Exit Finder mode. Quit the window and kill all Finder-related buffers. (defalias 'finder-exit #[nil "\301p\232\203\302\303!\202\304!\205\305!)\207" [buf "*Finder*" quit-window t get-buffer kill-buffer] 2 (#$ . 14607) nil]) #@28 Unload the Finder library. (defalias 'finder-unload-function #[nil "\3011\f\302\303\304\"0\202\305\306\")\210\307\207" [#1=#:err (debug error) unload-feature finder-inf t message "Error: %S" nil] 3 (#$ . 14846)]) (provide 'finder)