;ELC ;;; Compiled by cyd@localhost on Mon Apr 23 22:20:34 2007 ;;; from file /home/cyd/emacs/lisp/complete.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 "`complete.el' was compiled for Emacs 19.29 or later")) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (custom-declare-group 'partial-completion nil "Partial Completion of items." :prefix "pc-" :group 'minibuffer :group 'convenience) #@402 Control how the first character of a string is to be interpreted. If nil, the first character of a string is not taken literally if it is a word delimiter, so that ".e" matches "*.e*". If t, the first character of a string is always taken literally even if it is a word delimiter, so that ".e" matches ".e*". If non-nil and non-t, the first character is taken literally only for file name completion. (custom-declare-variable 'PC-first-char ''find-file '(#$ . 695) :type '(choice (const :tag "delimiter" nil) (const :tag "literal" t) (other :tag "find-file" find-file)) :group 'partial-completion) #@147 If non-nil, TAB means PC completion and M-TAB means normal completion. Otherwise, TAB means normal completion and M-TAB means Partial Completion. (custom-declare-variable 'PC-meta-flag 't '(#$ . 1300) :type 'boolean :group 'partial-completion) #@382 A string of characters treated as word delimiters for completion. Some arcane rules: If `]' is in this string, it must come first. If `^' is in this string, it must not come first. If `-' is in this string, it must come first or right after `]'. In other words, if S is this string, then `[S]' must be a valid Emacs regular expression (not containing character ranges like `a-z'). (custom-declare-variable 'PC-word-delimiters '"-_. " '(#$ . 1551) :type 'string :group 'partial-completion) #@136 A list of directories in which to look for include files. If nil, means use the colon-separated path in the variable $INCPATH instead. (custom-declare-variable 'PC-include-file-path ''("/usr/include" "/usr/local/include") '(#$ . 2047) :type '(repeat directory) :group 'partial-completion) #@63 If non-nil, include-file support in \[find-file] is disabled. (custom-declare-variable 'PC-disable-includes 'nil '(#$ . 2342) :type 'boolean :group 'partial-completion) #@69 If non-nil, default partial completion key bindings are suppressed. (defvar PC-default-bindings t (#$ . 2517)) #@54 A list of the environment variable names and values. (defvar PC-env-vars-alist nil (#$ . 2634)) (defalias 'PC-bindings #[(bind) " \f\204G\306 \307\310#\210\306 \311\312#\210\306 \313\314#\210\306 \315\316#\210\306\n\311\312#\210\306\n\313\314#\210\306\n\317\320#\210\306\n\321\320#\210\306\n\315\316#\210\306\322\323#\202\304 \205\304\306 \307\324#\210\306 \311\325#\210\306 \313\326#\210\306 \315\327#\210\306 \307\325#\210\306 \330\326#\210\306 \331\332#\210\306 \333\332#\210\306 \334\327#\210\306\n\311\325#\210\306\n\313\326#\210\306\n\317\335#\210\306\n\321\335#\210\306\n\315\327#\210\306\n\307\325#\210\306\n\330\326#\210\306\n\331\335#\210\306\n\333\335#\210\306\n\334\327#\210\306\336\324#*\207" [minibuffer-local-completion-map minibuffer-local-must-match-map must-match-map completion-map bind read-expression-map define-key " " lisp-complete-symbol " " minibuffer-complete " " minibuffer-complete-word "?" minibuffer-completion-help " " minibuffer-complete-and-exit "\n" [remap lisp-complete-symbol] nil PC-lisp-complete-symbol PC-complete PC-complete-word PC-completion-help " " " " PC-force-complete-and-exit "\n" "?" PC-complete-and-exit [remap lisp-complete-symbol] global-map PC-default-bindings] 4]) #@47 Internal variable used by `PC-do-completion'. (defvar PC-do-completion-end nil (#$ . 3875)) (make-variable-buffer-local 'PC-do-completion-end) #@92 Internal variable set in `PC-do-completion', used in `choose-completion-string-functions'. (defvar PC-goto-end nil (#$ . 4024)) (make-variable-buffer-local 'PC-goto-end) #@290 Non-nil if Partial-Completion mode is enabled. See the command `partial-completion-mode' for a description of this minor-mode. Setting this variable directly does not take effect; either customize it (see the info node `Easy Customization') or call the function `partial-completion-mode'. (custom-declare-variable 'partial-completion-mode 'nil '(#$ . 4201) :set 'custom-set-minor-mode :initialize 'custom-initialize-default :group 'partial-completion :type 'boolean) #@1275 Toggle Partial Completion mode. With prefix ARG, turn Partial Completion mode on if ARG is positive. When Partial Completion mode is enabled, TAB (or M-TAB if `PC-meta-flag' is nil) is enhanced so that if some string is divided into words and each word is delimited by a character in `PC-word-delimiters', partial words are completed as much as possible and `*' characters are treated likewise in file names. For example, M-x p-c-m expands to M-x partial-completion-mode since no other command begins with that sequence of characters, and \[find-file] f_b.c TAB might complete to foo_bar.c if that file existed and no other file in that directory begins with that sequence of characters. Unless `PC-disable-includes' is non-nil, the `<...>' sequence is interpreted specially in \[find-file]. For example, \[find-file] RET finds the file `/usr/include/sys/time.h'. See also the variable `PC-include-file-path'. Partial Completion mode extends the meaning of `completion-auto-help' (which see), so that if it is neither nil nor t, Emacs shows the `*Completions*' buffer only on the second attempt to complete. That is, if TAB finds nothing to complete, the first TAB just says "Next char not unique" and the second TAB brings up the `*Completions*' buffer. (defalias 'partial-completion-mode #[(&optional arg) "\305=\203 ?\202%\203\306!\307V\202% \204\310\202%\311\312\301\"\210\313\314 !\210 \2046\315\316\317\"\210\202?\n\204?\320\316\317\"\210 \204P\321\322\323\324#\210\325\322!\210\202^\n\204^\326\322\323\324#\210\325\322!\210 \203f\320\202g\315\327\330\"\210 \203x \204x\331\332\f\"\333\334 \203\202\335\202\203\336\"\210\337 \203\233\340\301!\210\311\341 \203\230\342\202\231\343\"\210\344 \210 \207" [arg partial-completion-mode PC-disable-includes PC-env-vars-alist process-environment toggle prefix-numeric-value 0 t message "Toggling %s off; better pass an explicit argument." nil PC-bindings remove-hook find-file-not-found-functions PC-look-for-include-file add-hook ad-disable-advice read-file-name-internal around PC-include-file ad-activate ad-enable-advice choose-completion-string-functions #[(choice buffer mini-p base-size) "\204 \203db\210\202\n\203\nb\210\303\303\211\207" [PC-goto-end mini-p PC-do-completion-end nil] 2] mapcar #[(string) "\302\303\"\304\305 OP \205 T\306O)B\207" [string d string-match "=" "$" 0 nil] 4] run-hooks partial-completion-mode-hook partial-completion-mode-on-hook partial-completion-mode-off-hook called-interactively-p customize-mark-as-set "Partial-Completion mode %sabled" "en" "dis" force-mode-line-update] 4 (#$ . 4676) (list (or current-prefix-arg 'toggle))]) (byte-code "\300\301\302\303\304!\205 \304J#\207" [add-minor-mode partial-completion-mode nil boundp partial-completion-mode-map] 5) #@520 Like minibuffer-complete, but allows "b--di"-style abbreviations. For example, "M-x b--di" would match `byte-recompile-directory', or any name which consists of three or more words, the first beginning with "b" and the third beginning with "di". The pattern "b--d" is ambiguous for `byte-recompile-directory' and `beginning-of-defun', so this would produce a list of completions just like when normal Emacs completions are ambiguous. Word-delimiters for the purposes of Partial Completion are "-", "_", ".", and SPC. (defalias 'PC-complete #[nil "\304 \203\305 \207 =\204\306\n\211\203?\307 !\203?\310\307 !!\203?r\307 !q\210\311d \"\2039\312 e\306#\202;\313 )\202B\314\306!)\207" [last-command this-command minibuffer-scroll-window window PC-was-meta-key minibuffer-complete nil window-buffer buffer-name pos-visible-in-window-p set-window-start scroll-other-window PC-do-completion] 5 (#$ . 7499) nil]) #@169 Like `minibuffer-complete-word', but allows "b--di"-style abbreviations. See `PC-complete' for details. This can be bound to other keys, like `-' and `.', if you wish. (defalias 'PC-complete-word #[nil "\302 =\203 \303=\203\304 \207\305\306!\207\305\306!\210m\205\307\310!\207" [PC-meta-flag last-command-char PC-was-meta-key 32 minibuffer-complete-word self-insert-command 1 PC-do-completion word] 2 (#$ . 8426) nil]) #@180 Like `minibuffer-complete-word', but allows "b--di"-style abbreviations. See `PC-complete' for details. This is suitable for binding to other keys which should act just like SPC. (defalias 'PC-complete-space #[nil "\301 =\203\n\302 \207\303c\210m\205\304\305!\207" [PC-meta-flag PC-was-meta-key minibuffer-complete-word " " PC-do-completion word] 2 (#$ . 8859) nil]) #@109 Like `minibuffer-complete-and-exit', but allows "b--di"-style abbreviations. See `PC-complete' for details. (defalias 'PC-complete-and-exit #[nil "\301 =\203\n\302 \207\303 \207" [PC-meta-flag PC-was-meta-key minibuffer-complete-and-exit PC-do-complete-and-exit] 2 (#$ . 9237) nil]) #@109 Like `minibuffer-complete-and-exit', but allows "b--di"-style abbreviations. See `PC-complete' for details. (defalias 'PC-force-complete-and-exit #[nil "\301\302 )\207" [minibuffer-completion-confirm nil PC-do-complete-and-exit] 1 (#$ . 9529) nil]) (defalias 'PC-do-complete-and-exit #[nil "d\302 U\203\n\303 \207\304\305!\211\205$\306=\204 \204!\303 \202$\307\310!)\207" [flag minibuffer-completion-confirm minibuffer-prompt-end exit-minibuffer PC-do-completion exit complete PC-temp-minibuffer-message " [Confirm]"] 3]) #@107 Like `minibuffer-completion-help', but allows "b--di"-style abbreviations. See `PC-complete' for details. (defalias 'PC-completion-help #[nil "\301 =\203\n\302 \207\303\304!\207" [PC-meta-flag PC-was-meta-key minibuffer-completion-help PC-do-completion help] 2 (#$ . 10067) nil]) (defalias 'PC-was-meta-key #[nil "\301 G\302U?\206!\301 \303H\211\250\203\304Y\202 \305\306!>??)\207" [key this-command-keys 1 0 128 meta event-modifiers] 4]) (byte-code "\301B\302\301!\204\303\301\304\"\210\305B\302\305!\204\303\305\304\"\210\306B\302\306!\204-\303\306\307\"\210\310B\302\310!\204<\303\310\307\"\210\311B\302\311!\204K\303\311\307\"\210\312B\302\312!\204Z\303\312\307\"\210\313B\302\313!\204i\303\313\307\"\210\307\207" [current-load-list PC-ignored-extensions default-boundp set-default empty-cache PC-delims PC-ignored-regexp nil PC-word-failed-flag PC-delim-regex PC-ndelims-regex PC-delims-list] 3) #@210 A function testing whether a minibuffer completion now will work filename-style. The function takes no arguments, and typically looks at the value of `minibuffer-completion-table' and the minibuffer contents. (defvar PC-completion-as-file-name-predicate #[nil "\207" [minibuffer-completing-file-name] 1] (#$ . 11007)) (defalias 'PC-chunk-after #[(string regexp) "\305 \"\204\306\307 #\302\n!\210\310\n!\210) \311\225\312O\305\f \"\203) \311\211\224O )\207" [regexp string message result PC-delim-regex string-match format "String %s didn't match regexp %s" error 0 nil] 4]) #@57 Like `test-completion', but ignores case when possible. (defalias 'test-completion-ignore-case #[(str table pred) "\203\n\304 \n#\207\305\304 \n#)\207" [pred str table completion-ignore-case test-completion nil] 4 (#$ . 11596)]) #@55 Like `try-completion' but return STRING instead of t. (defalias 'PC-try-completion #[(string alist &optional predicate) "\304 \n#\211\305=\203\202 )\207" [string alist predicate result try-completion t] 5 (#$ . 11836)]) #@305 Internal function to do the work of partial completion. Text to be completed lies between BEG and END. Normally when replacing text in the minibuffer, this function replaces up to point-max (as is appropriate for completing a file name). If GOTO-END is non-nil, however, it instead replaces up to END. (defalias 'PC-do-completion #[(&optional mode beg end goto-end) "\204\306  \204 d\n\f@ A\307\211BC {DA\205+\310\311D\"E\307\211FG\307\211HI\307\211JK\307\211LM\307NOPQ\312=\203u\313D #\203uO\203q\314D #D |\210Dc\210\315\202\226A\203\276\316D!\206\202\317\211G\203\276GG\211C\203\276\320G!\211K\203\276GK\230\204\276K\321D!P\211D\203\276 |\210Dc\210DG\\RS\232\204\337RS\322S\323QT\324S\325QU\326S\307\"VA\203,\316D!\321D!\327 !WX\211Y;\203 \330Y!\204 \331Y!Y\332T\333\321Y!#\334XQX\316Y!\211Y\202\366DHYXPD+A\203\337\310\335D\"\203\337D\327 !\307ZW[\310\336[\"TK\310T[K#\211K\203t[\337KO\340[K\307OQ[K\341\\K\202M\342[\340P!\211Z\203\313\316Z@!ZKYKA\211K\203\237Y\316K@!\232\204\213K\203\261\307\211A\307\343F\202\307 |\210Y\321D!P\211Dc\210DG\\*\202\336H\203\327HD\202\336\307\211A\307+A\203E\203\374DE\307OGD\337EOB\202\321D!G\316D!\211BGPD\202DG\344G!\211JG\337V\203@G\337H\345=\204@\\\343=\204<\\\203@A\203@\346\202A\337\211LK\310TJK#\211K\203\267JKH\347=\203\201J\337KOUTJKT\307ORJKUG\\TG\\K\202FJKH\350>\203\217\351\202\220\337]J\337K]\\OUJK]\\\307OQJKUG\\\346\\K)\202F\337KA\203\341\310\352JK#\211K\203\341J\337KO\353JK\341\\\307OQJ\202\277\354JPJGG\337V\203G\337H\355U\203\343I^\307\310TA\203\f\356\202 \317PDBGL\\#\211K\2042\357I\203(G\202*D #M\202}\357I\203C\321D\337KO!\202ID\337KO #\211_\211K\203|\310JK@\"\203s\360\337K@G\307K@$\210K@MBMKA\211K\204U)\361M!\210A\203\336Q\362=\204\336M`ab\232\204\250\363\364\344a\211b\365#\366Qc\307K`\203\324\310c`@\"\204\313\310\367`@\"\204\313`@KBK`A\211`\204\260K\203\335KM)M\204Q\370=\203\375d\204\375\343d\371\346!\210\372\370!)\202\226\373 \210\374F\203\n\375\202Q\362=\203\376\202\377!\210\307\202\226M\211NA\204.Q\201t>\203TQ\362=?\2058M\211K\203PK@G\230\204PKA\211K\204>K\203`Q\204`\374\201u!\210K\203vQ\204ref=\204v\343\202\226\307\211\211\354ghijQ\362=\204\270\314\201vGg\"M\"\211i\203\270\343\307klQ\370=\203\262\201wiG\"iBG\\b\210\337\211kiGW\2039` W\203\334ikH\227g\227=\203\334\346u\210\2020` W\203 \201x\201y!\203 ikHV>\203 \201z\346!\210ik\211TOc\210\2020A\203!\201x\201{!\203!\201z\346!\210 S\343jik\211TOc\210 TkT\211k\202\275h\204A`h\201xT!\203\244g\344i!UQg\314\201vBG\\ {g\"\201|\201}M\"\"\211i\203\244k\337V\204\202iG\337V\203\244Q\370=\203\271l\203\244iG\337V\203\244\307li\337\346O\211i\204\271Q\370=\203\257 \202\265h\206\265b\210*Q\370=\203\333d\204\333j\205P\313\346 S{ #\205P S |\202Pj\203\364Q\312=\205P\201~\201 #\202Pm\343=\204m\203fe=\204Q\362=\203I\306 n\201\200\220\201\201\201\202N\201\203\"!\210 opqrrq\210B\203;C\202?nZ\211s)\221\210)\202O\374\201\204!\210\307,\202\226GM@\232\203uI\203gA\204uQ\204\225\374\201\205!\210\202\225 |\210\201\206\201\207A\203\217\320BM@P!\202\222M@\"c\210\343.\207" [beg end minibuffer-completion-table table minibuffer-completion-predicate pred minibuffer-prompt-end nil string-match "<\\([^\"<>]*\\)>?$" exit test-completion PC-try-completion complete file-name-directory "" substitute-in-file-name file-name-nondirectory "[" "]" "[^" "]*" append expand-file-name file-directory-p directory-file-name replace-regexp-in-string "*\\&" "*/" "\\*.*/" "/[^/]*\\'" 0 "*" 2 PC-expand-many-files t regexp-quote 42 1 32 (36 94 46 42 43 63 91 93 92) -1 "\\\\\\*" "[^/]*" "\\`" 36 "\\|\\*" all-completions set-text-properties delete-dups help "\\(" mapconcat "\\|" "\\)\\'" "\\(\\`\\|/\\)[.][.]?/?\\'" word delete-backward-char PC-do-completion beep PC-temp-minibuffer-message " [Ambiguous dir name]" " [No completions]" " [No match]" PC-completion-as-file-name-predicate filename dirname dirlength str incname ambig basestr origstr env-on regex p offset poss helpposs completion-ignore-case case-fold-search mode PC-word-delimiters PC-delims PC-delim-regex PC-ndelims-regex PC-delims-list default-directory file dir files pat PC-first-char bump PC-env-vars-alist compl p2 completion-ignored-extensions PC-ignored-extensions PC-ignored-regexp PC-word-failed-flag this-command last-command skip pt prefix improved i first completion-auto-help prompt-end PC-do-completion-end goto-end PC-goto-end standard-output completion-base-size (help word) " [Complete, but not unique]" PC-chunk-after PC-chop-word looking-at " " delete-char "\\*" mapcar #[(x) "\302 \"\205\f \303\225\304O\207" [skip x string-match 0 nil] 3] test-completion-ignore-case field-string "*Completions*" display-completion-list sort string-lessp " [Next char not unique]" " [Sole completion]" format "%s"] 7 (#$ . 12070)]) (defalias 'PC-chop-word #[(new old) "\306\211\307\n T#\211\203\307\n\fT#\211\204\2035 \203-\307\n\fT#\211\2035\f\310TO\2026\f*\207" [j i PC-delim-regex old new PC-word-failed-flag -1 string-match 0] 4]) (byte-code "\301B\302\301!\204\303\301\304\"\210\304\207" [current-load-list PC-not-minibuffer default-boundp set-default nil] 3) #@61 A Lisp version of `temp_minibuffer_message' from minibuf.c. (defalias 'PC-temp-minibuffer-message #[(message) "\203\301 !\210\306\307!\210\301\310!\207\311\312!\203\312 !\207d\212\nb\210 c\210)\313\306\307!\210\nd|\210\f\2057\314\315\211*\207" [PC-not-minibuffer message point-max inhibit-quit quit-flag unread-command-events sit-for 2 "" fboundp temp-minibuffer-message t nil (7)] 2 (#$ . 17675)]) #@54 Internal variable used by `PC-lisp-complete-symbol'. (defvar PC-lisp-complete-end nil (#$ . 18090)) #@374 Perform completion on Lisp symbol preceding point. That symbol is compared against the symbols that exist and any additional characters determined by what is there are inserted. If the symbol starts just after an open-parenthesis, only symbols with function definitions are considered. Otherwise, all symbols with function definitions, values or properties are considered. (defalias 'PC-lisp-complete-symbol #[nil "`\212\306 p\307\216\310 !\210\311\312!\210gz\313U\203\312u\210\202`, \fSf\314=\2031\315\2022\316\317\320\232\203H\321\322\f\317$\202b\203V\322\223\210\202\\\323\317\"\321\322\f\317$-\207" [end #1=#:buffer #2=#:table lisp-mode-syntax-table beg obarray syntax-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-syntax-table] 2)) set-syntax-table backward-sexp 1 39 40 fboundp #[(sym) "\301!\206\302!\206\303!\207" [sym boundp fboundp symbol-plist] 2] t PC-lisp-complete-symbol PC-do-completion nil copy-marker minibuffer-completion-table minibuffer-completion-predicate PC-not-minibuffer last-command PC-lisp-complete-end] 5 (#$ . 18197) nil]) #@100 Perform completion on file names preceding point. Environment vars are converted to their values. (defalias 'PC-complete-as-file-name #[nil "`\305\306e\307#\203`\310\\\202e\311\312\307b\210\313\314 #-\207" [end beg minibuffer-completion-table minibuffer-completion-predicate PC-not-minibuffer re-search-backward "[^\\][ \n\"`'][^ \n\"`']" t 2 read-file-name-internal "" PC-do-completion nil] 4 (#$ . 19310) nil]) (defalias 'PC-expand-many-files #[(name) "r\306\307!q\210\310 \210\311!\203\312 !\204\313\314\315P\316\"\210eb\210\317\320\321!\322\321\323!!\324\260!?\205\226\325c\210\326\327\330\316#\203I\331\332!\210\333c\210\2027db\210\331\332!\210\334c\210eb\210\335p!\330\336p!\210\f \232\204r\337\340\321\f\211\322#\341Q$\330 \203\224\342 @!\203\215\343$ @\"\204\215 @\nB A\211\204x\n*)\207" [name default-directory p files completion-ignored-extensions PC-ignored-extensions generate-new-buffer " *Glob Output*" erase-buffer file-name-absolute-p file-directory-p "/" shell-command "echo " t looking-at ".*No match\\|\\(^\\| \\)\\(" regexp-quote "\\|" expand-file-name "\\)\\( \\|$\\)" "(\"" search-forward " " nil delete-backward-char 1 "\" \"" "\")" read kill-buffer "\\(" mapconcat "\\)\\'" file-exists-p string-match PC-ignored-regexp] 8]) (defalias 'PC-look-for-include-file #[nil "\306\307\310 \"\205\310 \311\224\311\225O\310 \312\224H\313\211\314p!\210 \315\232\203\200r\316 @q\210\212\317 \210\320\321!\203B\311\224\311\225{\311\224Sf\202\320\322!\204T\320\323!\204T\320\324!\203{\311\224\311\225{\325\f\306\326 \"\203m \312\327O\202\306\330 \"\204 \331P\202\332\333!\210*\306\334 \"\204\213 \335P\n\325=\203\305 \206\227\336 \211\203\256\337\340 @! P!\204\256 A\211\204\234 \203\274\340 @! P\202\301\332\341 \"\210)\202\346r\316 @q\210 )(\337( P!\203\340( P\202\345\332\342 \"\210)\343 !\211\203\364q\210\202\344 !q\210\345 \210\346 \347\"\210,\347\207" [new-buf path punc name load-path default-directory string-match "[\"<]\\([^\"<>]*\\)[\">]?$" buffer-file-name 1 0 nil kill-buffer "" buffer-list beginning-of-line looking-at "[ ]*#[ ]*include[ ]+[<\"]\\(.+\\)[>\"][ ]*[\n/]" "[ ]*([ ]*load[ ]+\"\\([^\"]+\\)\"" "[ ]*([ ]*load-library[ ]+\"\\([^\"]+\\)\"" "[ ]*([ ]*require[ ]+'\\([^ )]+\\)[ )]" 60 "\\.elc$" -1 "\\.el$" ".el" error "Not on an #include line" "\\.[[:alnum:]]+$" ".h" PC-include-file-path file-exists-p file-name-as-directory "No such include file: <%s>" "No such include file: `%s'" get-file-buffer create-file-buffer erase-buffer insert-file-contents t dir] 5]) (defalias 'PC-include-file-path #[nil "\206/\304\305!\306\211\211\204\307\310!\210\311\312 \"\211\203- T\306O\nB \313 O\202\n+\207" [PC-include-file-path pos path env getenv "INCPATH" nil error "No include file path specified" string-match ":[^:]+$" 0] 4]) #@207 Return all completions for FILE in any directory on SEARCH-PATH. If optional third argument FULL is non-nil, returned pathnames should be absolute rather than relative to some directory on the SEARCH-PATH. (defalias 'PC-include-file-all-completions #[(file search-path &optional full) "\306\307\"\310 !\203\311 !\312\313 !\314 !\"\207\314 !\313 !\315\211\203-\306\316\"\315\203W@\203= \202>\f\317 !\203P\306\320\312 @\"\"\nBA*\202-\321\322\323\n\"\324\"\315\211\203\202@@\232\204y@BA\211\204g-\207" [search-path file file-lists ndfile subdir dir mapcar #[(dir) "\203\302!\207 \207" [dir default-directory file-name-as-directory] 2] file-name-absolute-p expand-file-name file-name-all-completions file-name-nondirectory file-name-directory nil #[(dir) " P\207" [dir subdir] 2] file-directory-p #[(file) " P\207" [subdir file] 2] sort apply nconc #[(x y) " \231?\207" [x y] 2] full compressed sorted] 6 (#$ . 22190)]) (byte-code "\300\301\302\303\304$\210\305\306!\207" [ad-add-advice read-file-name-internal (PC-include-file nil nil (advice lambda nil (if (string-match "<\\([^\"<>]*\\)>?\\'" (ad-get-arg 0)) (let* ((string (ad-get-arg 0)) (action (ad-get-arg 2)) (name (match-string 1 string)) (str2 (substring string (match-beginning 0))) (completion-table (mapcar (lambda (x) (format (if (string-match "/\\'" x) "<%s" "<%s>") x)) (PC-include-file-all-completions name (PC-include-file-path))))) (setq ad-return-value (cond ((not completion-table) nil) ((eq action 'lambda) (test-completion str2 completion-table nil)) ((eq action nil) (PC-try-completion str2 completion-table nil)) ((eq action t) (all-completions str2 completion-table nil))))) ad-do-it))) around nil provide complete] 5)