;ELC ;;; compiled by rms@mole.gnu.ai.mit.edu on Sun Aug 7 14:15:18 1994 ;;; from file /gd/gnu/emacs/19.0/lisp/complete.el ;;; emacs version 19.25.92.2. ;;; 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"))) (error "`/gd/gnu/emacs/19.0/lisp/complete.el' was compiled for Emacs 19")) (defvar PC-meta-flag t "\ *If nil, TAB does normal Emacs completion and M-TAB does Partial Completion. If t, TAB does Partial Completion and M-TAB does normal completion.") (defvar PC-word-delimiters "-_. " "\ *A string of characters which are to be treated as word delimiters by the Partial Completion system. 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 legal Emacs regular expression (not containing character ranges like `a-z').") (defvar PC-first-char (quote x) "\ *If t, first character of a string to be completed is always taken literally. If nil, word delimiters are handled even if they appear as first character. This controls whether \".e\" matches \".e*\" (t) or \"*.e*\" (nil). If neither nil nor t, first char is literal only for filename completion.") (defvar PC-include-file-path (quote ("/usr/include")) "\ *List of directories in which to look for include files. If this is nil, uses the colon-separated path in $INCPATH instead.") (defvar PC-disable-wildcards nil "\ Set this to non-nil to disable wildcard support in \\[find-file].") (defvar PC-disable-includes nil "\ Set this to non-nil to disable include-file support in \\[find-file].") (defvar PC-default-bindings t "\ Set this to nil to suppress the default partial completion key bindings.") (byte-code "\n#\n#\n#\n#\n#\n#\n#\n############" [PC-default-bindings define-key minibuffer-local-completion-map " " PC-complete " " PC-complete-word "?" PC-completion-help " " " " " " PC-force-complete-and-exit "\n" "?" minibuffer-local-must-match-map " " PC-complete-and-exit "\n" global-map PC-lisp-complete-symbol] 4) (defalias 'PC-complete #[nil "  !" [PC-was-meta-key minibuffer-complete PC-do-completion nil] 2 "\ 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." nil]) (defalias 'PC-complete-word #[nil " =\n= !!m!" [PC-was-meta-key PC-meta-flag last-command-char 32 minibuffer-complete-word self-insert-command 1 PC-do-completion word] 2 "\ 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." nil]) (defalias 'PC-complete-space #[nil " =\n cm!" [PC-was-meta-key PC-meta-flag minibuffer-complete-word " " PC-do-completion word] 2 "\ 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." nil]) (defalias 'PC-complete-and-exit #[nil " =\n " [PC-was-meta-key PC-meta-flag minibuffer-complete-and-exit PC-do-complete-and-exit] 2 "\ Like `minibuffer-complete-and-exit', but allows \"b--di\"-style abbreviations. See `PC-complete' for details." nil]) (defalias 'PC-force-complete-and-exit #[nil " )" [nil minibuffer-completion-confirm PC-do-complete-and-exit] 1 "\ Like `minibuffer-complete-and-exit', but allows \"b--di\"-style abbreviations. See `PC-complete' for details." nil]) (defalias (quote PC-do-complete-and-exit) #[nil " U\n !% =\" %!)" [buffer-size 0 exit-minibuffer PC-do-completion exit flag complete minibuffer-completion-confirm PC-temp-minibuffer-message " (Confirm)"] 3]) (defalias 'PC-completion-help #[nil " =\n !" [PC-was-meta-key PC-meta-flag minibuffer-completion-help PC-do-completion help] 2 "\ Like `minibuffer-completion-help', but allows \"b--di\"-style abbreviations. See `PC-complete' for details." nil]) (byte-code "\"! !!!( !1\n!: !C\f\"\"\"![ȇ" [defalias PC-was-meta-key #[nil " GU?! H Y !>??)" [this-command-keys 1 0 key 128 meta event-modifiers] 4] boundp PC-ignored-extensions empty-cache PC-delims PC-ignored-regexp nil PC-word-failed-flag PC-delim-regex PC-ndelims-regex PC-delims-list PC-do-completion #[(&optional mode beg end) "e \fd\n\f > \n { * \"=Y #Yۂf !Gg\n  ! |c  G\\   Q# Q& \"(P \"P *++\"T#+#+O+OQ+\\+P!*H*@!*0A0@!.D |0 !P c G\\*O*|m O O  ! !  !GVH=5=5݉##\"H=O&#TOR&G#G\\\\H>::\\O&:\\OQ&G\\\\)L#LO\\OQ*P#^_P  G\\#|@ #@ O #A@\"@BA)B=CCD!EB!)F GHI=JK!ȂAL>tnI=nMNOAPQNOR#SQTMdTM@\"[M@BMAMIm)I=?z@AGU!ȉVWXYI=Z[\\\"\"X]^B=_X\"X G\\b]XGW|` WX]Hg=us` WE`a!-X]H(>9X]Hg=Eb! S`]`c!]b! SYdeX]TO\"c T]T]W``W`#!VX!&QVZ[f\"\"X]VXGVB=^XGV^XOXB= Wb*B= C Yp S{ #p S |pY7=pځg #phEI=gijkl\"!mq\nn)oGo!,@Gp! |de @P!@\"c." [beg end minibuffer-completion-table table minibuffer-completion-predicate pred (read-file-name-internal read-directory-name-internal) filename nil dirname dirlength str string-match "<\\([^\"<>]*\\)>?$" incname ambig basestr regex p offset poss helpposs completion-ignore-case case-fold-search mode exit PC-is-complete-p complete file-name-directory 0 substitute-in-file-name PC-word-delimiters PC-delims "[" "]" PC-delim-regex "[^" "]*" PC-ndelims-regex append PC-delims-list "\\*.*/" files pat "/[^/]*\\'" "*" 2 PC-expand-many-files dir t file-name-nondirectory regexp-quote 42 PC-first-char 1 32 (36 94 46 42 43 63 91 93 92) -1 bump "\\\\\\*" "[^/]*" "\\`" "\\|\\*" "" all-completions compl word PC-word-failed-flag delete-backward-char PC-do-completion beep PC-temp-minibuffer-message " (Ambiguous dir name)" help " (No completions)" " (No match)" (help word) p2 completion-ignored-extensions PC-ignored-extensions "\\(" mapconcat "\\|" "\\)\\'" PC-ignored-regexp " (Complete, but not unique)" skip pt prefix improved try-completion mapcar list i first PC-chop-word looking-at " " delete-char "\\*" format "%s" #[(x) " \n\"\f\nÕOC" [string-match skip x 0 nil] 3] buffer-string completion-auto-help "*Completions*" display-completion-list sort string-lessp standard-output completion-base-size " (Next char not unique)" " (Sole completion)"] 7] PC-is-complete-p #[(str table pred) "<\f\n\"%!\nĚ%\n\"%\n#EC<;!C!E)" [table assoc str vectorp "nil" intern-soft pred lambda res] 5] PC-chop-word #[(new old) "\f \nT#\f T# 90\f T#9 TO;*" [-1 j i string-match PC-delim-regex old new PC-word-failed-flag 0] 4] PC-not-minibuffer] 3) (defalias 'PC-temp-minibuffer-message #[(m) "\n!!!!\n!ddb\nc)\n!d| = ͉*" [PC-not-minibuffer message m sit-for 2 "" fboundp temp-minibuffer-message savemax t inhibit-quit quit-flag nil 7 unread-command-char] 2 "\ A Lisp version of `temp_minibuffer_message' from minibuf.c."]) (defalias 'PC-lisp-complete-symbol #[nil "` Î\f\f!!gzU!u`* \n  Sf=6͂7 #." [end syntax-table buffer-syntax ((set-syntax-table buffer-syntax)) lisp-mode-syntax-table set-syntax-table backward-sexp 1 39 beg obarray minibuffer-completion-table 40 fboundp #[(sym) " ! ! !" [boundp sym fboundp symbol-plist] 2] minibuffer-completion-predicate t PC-not-minibuffer PC-do-completion nil] 4 "\ 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." nil]) (byte-code "!\"\"\"\n) >) B \"\"" [boundp PC-many-files-list nil defalias PC-try-load-many-files #[nil "\n\"f\n !@ p! !ˋ! C! q \" Aa \"TՂU A#B ,҇" [string-match "\\*" buffer-file-name pat PC-expand-many-files files first next kill-buffer error "No matching files" ((byte-code "A@!\n!)" [next find-file-noselect buf switch-to-buffer] 2)) get-file-buffer buf filename create-file-buffer erase-buffer insert-file-contents t mapconcat "\\*.*/" identity file-name-nondirectory ", " PC-many-files-list PC-after-load-many-files find-file-hooks nil] 5] PC-after-load-many-files #[nil "\n\" \"" [delq PC-after-load-many-files find-file-hooks message "Also loaded %s." PC-many-files-list] 3] PC-expand-many-files #[(name) "!q P\"eb!?Hc#/!cdb!cebp!p!))" [generate-new-buffer " *Glob Output*" erase-buffer shell-command "echo " name t looking-at ".*No match" "(\"" search-forward " " nil delete-backward-char 1 "\" \"" "\")" read files kill-buffer] 4] PC-disable-wildcards find-file-not-found-hooks PC-look-for-include-file #[nil " \"; ÔÕO ĔHʼn p! ˚ @qy!IÔÕ{ ÔSf![![!ÔÕ{  \"{ O  \" P !* \" P = @! P!A@! P  \")  @q )!! P!! P \n \") !q. !q  \" ()," [string-match "[\"<]\\([^\"<>]*\\)[\">]?$" buffer-file-name 1 0 nil new-buf path punc name kill-buffer "" buffer-list looking-at "[ ]*#[ ]*include[ ]+[<\"]\\(.+\\)[>\"][ ]*[\n/]" "[ ]*([ ]*load[ ]+\"\\([^\"]+\\)\"" "[ ]*([ ]*load-library[ ]+\"\\([^\"]+\\)\"" "[ ]*([ ]*require[ ]+'\\([^ )]+\\)[ )]" 60 load-path "\\.elc$" -1 "\\.el$" ".el" error "Not on an #include line" "\\.[a-zA-Z0-9]+$" ".h" PC-include-file-path file-exists-p file-name-as-directory "No such include file: <%s>" default-directory dir "No such include file: \"%s\"" get-file-buffer create-file-buffer erase-buffer insert-file-contents t filename buf] 5] PC-include-file-path #[nil "4!É!\"2\fTO B\fO +" [PC-include-file-path getenv "INCPATH" nil pos path env error "No include file path specified" string-match ":[^:]+$" 0] 4]] 3) (defalias 'PC-include-file-all-completions #[(file search-path &optional full) "\n\"\f!\f!\f!\f!\"\f!\f!\n \f0\n\"\nb\n@BD\f\f![ \n@\"\"\nB\n\nA*0\n\"\"@@@BAs-" [mapcar #[(dir) "!\n" [dir file-name-as-directory default-directory] 2] search-path file-name-absolute-p file expand-file-name file-name-all-completions file-name-nondirectory file-name-directory nil file-lists ndfile subdir #[(dir) " P" [dir subdir] 2] dir full file-directory-p #[(file) " P" [subdir file] 2] sort apply nconc (lambda (x y) (not (string-lessp x y))) compressed sorted] 6 "\ 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."]) (byte-code "!\">B/ /KM!" [boundp PC-old-read-file-name-internal nil defalias PC-read-include-file-name-internal #[(string dir action) "\n\"[\nÔÕO\nŔO\f \"\"\f'ƂY =8\f#Y =I\f#Y =Y\f#=+\n #" [string-match "<\\([^\"<>]*\\)>?$" string 1 name 0 nil str2 mapcar #[(x) "\n\"C" [format "<%s>" x] 3] PC-include-file-all-completions PC-include-file-path completion-table action try-completion t all-completions lambda PC-old-read-file-name-internal dir] 6] PC-disable-includes PC-look-for-include-file find-file-not-found-hooks read-file-name-internal provide complete] 3)