;ELC ;;; compiled by jwz@thalidomide on Wed Mar 23 18:49:07 1994 ;;; from file /th/jwz/emacs19/lisp/ilisp/completer.el ;;; emacs version 19.10 Lucid (beta8). ;;; bytecomp version 2.22; 22-dec-93. ;;; 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 "This file was compiled for Emacs 19.")) (defvar completer-load-hook nil "\ Hook called when minibuffer partial completion is loaded.") (defvar completer-disable nil "\ *If T, turn off partial completion. Use the command \\[completer-toggle] to set this.") (defvar completer-complete-filenames t "\ *If T, then each component of a filename will be completed, otherwise just the final component will be completed.") (defvar completer-use-words nil "\ *If T, then prefer completions with the same number of words as the pattern.") (defvar completer-words "---. <" "\ *Delimiters used in partial completions. It should be a set of characters suitable for inclusion in a [] regular expression.") (defvar completer-any-delimiter nil "\ *If a character, then a delimiter in the pattern that matches the character will match any delimiter in completer-words.") (defvar completer-file-skip "^cs/$\\|@sys\\|.edu/$\\|.gov/$\\|.com/$\\|:/$" "\ *Regular expression for pathname components to not complete.") (defvar completer-exact nil "\ *If T, then you must have an exact match. Otherwise, the shortest string that matches the pattern will be used.") (defvar completer-cache-size 100 "\ *Size of cache to use for partially completed pathnames.") (defvar completer-use-cache t "\ *Set to nil to disable the partially completed pathname cache.") (defvar completer-last-pattern "" "\ The last pattern expanded.") (defvar completer-message nil "\ T if temporary message was just displayed.") (defvar completer-path-cache nil "\ Cache of (path . choices) for completer.") (defvar completer-string nil "\ Last completer string.") (defvar completer-table nil "\ Last completer table.") (defvar completer-pred nil "\ Last completer pred.") (defvar completer-mode nil "\ Last completer mode.") (defvar completer-result nil "\ Last completer result.") (fset 'completer-message #[(message &optional point) "db c`)! | \"?͉*" [point t completer-message message inhibit-quit end sit-for 2 quit-flag string-match "Lucid" emacs-version nil 7 unread-command-char] 3 "\ Display MESSAGE at optional POINT for two seconds."]) (fset 'completer-deleter #[(regexp choices &optional keep) "  @\" Ar  A A@\" An AAe  @\" Ar  A A@\" AAk Af *" [choices choiceb nil choicep keep string-match regexp] 4 "\ Destructively remove strings that match REGEXP in CHOICES and return the modified list. If optional KEEP, then keep entries that match regexp."]) (fset 'completer-regexp #[(string delimiters any) " Q G  W #Ɣ ƕ   O  =  O!    %  ,1 X  O!P ," ["[" delimiters "]" delimiter-reg string limit 0 pos "^" regexp string-match begin end delimiter any anyp format "%s%s[^%s]*%s" regexp-quote] 7 "\ Convert STRING into a regexp with words delimited by characters in DELIMITERS. Any delimiter in STRING that is the same as ANY will match any delimiter."]) (fset 'completer-words #[(regexp string &optional limit) " # X TÕj *" [limit 1000 1 0 pos count string-match regexp string] 4 "\ Return the number of words matching REGEXP in STRING up to LIMIT."]) (fset 'completer-matches #[(string choices delimiters any) " Q G\n    \nW  T#\n Ɯ= TO G[  O G   BB'! Q@ @AW T[\\ \\GXU@O*  UU T#A B A . " ["[" delimiters "]" regexp nil from 0 to pattern string len matches sub sublen choice word wordlen pat string-match completer-any-delimiter reverse choices begin end] 6 "\ Return STRING's matches in CHOICES using DELIMITERS and wildcard ANY to segment the strings."]) (fset 'completer-choice #[(string choices delimiters use-words) "A@B Ű \"\n    @G\n#\nU W\n#\nU W* A  .B" [choices t "[^" delimiters "]*[" "]" regexp use-words completer-words string words choice nil unique-p match match-count 1000 match-len current length] 6 "\ Return the best match of STRING in CHOICES with DELIMITERS between words and T if it is unique. A match is unique if it is the only possibility or when USE-WORDS the only possibility with the same number of words. The shortest string of multiple possiblities will be the best match."]) (fset 'completer-region #[(delimiters) "x`)w`)B" [delimiters nil] 3 "\ Return the completion region bounded by characters in DELIMITERS for the current buffer assuming that point is in it."]) (fset 'completer-last-component #[(string) "GS\n# W Tm\n+" [string 0 end match last string-match "/"] 4 "\ Return the start of the last filename component in STRING."]) (fset 'completer-match-record #[(string matches delimiters any dir mode) " !O  $A ?  $\"\"P@PAF*@PF)ÉF)" [dir string completer-last-component nil pattern completer-matches matches delimiters any completer-exact completer-choice completer-use-words try-completion "" mapcar list lcs match t] 8 "\ Return (match lcs choices unique) for STRING in MATCHES with DELIMITERS or ANY wildcards and DIR if a filename when in MODE."]) (fset 'completer-extension-regexp #[(extensions) "\n \n@\nAQ\nAp P)" ["\\(" regexp extensions "\\|" "\\)$"] 4 "\ Return a regexp that matches any of EXTENSIONS."]) (fset 'completer-flush #[nil "" [nil completer-path-cache] 2 "\ Flush completer's pathname cache." nil]) (fset 'completer-cache #[(path pred words any mode) "\n @@ A \n  @A A  T A)L   &AAA@ @@@GS= Y  B\nB)," [nil last completer-path-cache ptr 0 size result completer-use-cache current path completer read-file-name-internal pred words any mode t choices 47 completer-cache-size] 9 "\ Check to see if PATH is in path cache with PRED, WORDS, ANY and MODE."]) (fset 'completer-file #[(string pred words any mode) "\n= ! \"ɕ \"  O ͘ !! P GԉF   #ɕ\n> U \"@AAAA@ԡAh*! \n& =  OP F)  O#$#\" #P #PF #P&!\n%)AAA@  OP@A@'AA@(''\"**'*O'(A\n=?(F+@   U ɜU O  CF  *J@@\n=AAA@/!0AA@1230@\"232301\"1ԉWAQ23 O1!A@!\n&-@A@G'55OP''OPAABB+.\n" [completion-ignore-case case-fold-search mode exit-ok completer-last-component string last string-match "^/\\.\\./[^/]*/" 0 "[^~/]" position new "~" file-name-directory expand-file-name user words "/" len nil choices end old-choices begin exact-p (nil help) completer-match-record "" all-completions read-file-name-internal choicep "../" any t component completer-file-skip completer-cache pred lcs matches "/$" slash help 1 126 completer-extension-regexp completion-ignored-extensions extensions choiceb isext noext completer-deleter match] 8 "\ Return (match common-substring matches unique-p) for STRING using read-file-name-internal for choices that pass PRED using WORDS to delimit words. Optional ANY is a delimiter that matches any of the delimiters in WORD. If optional MODE is nil or 'help then possible matches will always be returned."]) (fset 'completer #[(string table pred words &optional any mode file-p) "; \n = ==\n>\n\n  \n= %\n=Q ! O O  \" G \" \"O!!!P!!C!F) OP\n ## #%# %##&ډF*.\n \n" [completer-string string table completer-table pred completer-pred file-p mode completer-mode (read-file-name-internal read-directory-name-internal) completer-result "" completer-complete-filenames read-file-name-internal completer-file words any completion-ignore-case case-fold-search "[" "]" pattern completer-last-component component 0 dir nil string-match has-words "^\\$" getenv 1 "/" match all-completions choices completer-regexp regexp completer-match-record completer-deleter t] 8 "\ Return (match common-substring matches unique-p) for STRING in TABLE for choices that pass PRED using WORDS to delimit words. If the flag completer-complete-filenames is T and the table is read-file-name-internal, then filename components will be individually expanded. Optional ANY is a delimiter that can match any delimiter in WORDS. Optional MODE is nil for complete, 'help for help and 'exit for exit."]) (fset 'completer-display-choices #[(choices &optional match message end display) "A  @!BAn*!\"!\nqeb\nA̪ͱ) \"" [choices " *Completions*" display-completion-list sort display nil new old copy-sequence #[(x y) " " [x y] 2] match "Guess = " ", " "" beep completer-message message " (No completions)" end] 6 "\ Display the list of possible CHOICES with optional MATCH, MESSAGE, END and DISPLAY. If MATCH is non-nil, it will be flagged as the best guess. If there are no choices, display MESSAGE. END is where to put temporary messages. If DISPLAY is present then it will be called on each possible completion and should return a string."]) (fset 'completer-goto #[(match lcs choices unique delimiters words &optional mode display) " !@ A {\"\n =  `{? b%,\n?,b\", \",\nR\" b c p F `G\\$ \"TO$$\"$c)u ` ZZ `|+ ?%\n`Uu#)b  誁\"." [nil completer-message completer-region delimiters region start end string string-match "[^ ]*\\(~\\|/\\|$\\)" file-p mode help no-insert t message lcs new unique completer-display-choices choices match display " (Sole completion)" completer-insert "[" words "/" "]" regexp completer-words point completer-last-pattern re-search-forward move 0 delimiter -1 1 beep " (No completions)" " (No match)"] 7 "\ MATCH is the best match, LCS is the longest common substring of all of the matches. CHOICES is a list of the possibilities, UNIQUE indicates if MATCH is unique. DELIMITERS are possible bounding characters for the completion region. WORDS are the characters that delimit the words for partial matches. Replace the region bounded by delimiters with the match if unique and the lcs otherwise unless optional MODE is 'help. Then go to the part of the string that disambiguates choices using WORDS to separate words and display the possibilities if the string was not extended. If optional DISPLAY is present then it will be called on each possible completion and should return a string."]) (fset 'completer-complete-goto #[(delimiters words table pred &optional no-insert display) " !\n@\nA{ \n &    F\"\")" [completer-region delimiters region apply completer-goto append completer table pred words completer-any-delimiter no-insert display] 10 "\ Complete the string bound by DELIMITERS using WORDS to bound words for partial matches in TABLE with PRED and then insert the longest common substring unless optional NO-INSERT and go to the point of ambiguity. If optional DISPLAY, it will be called on each match when possible completions are shown and should return a string."]) (fset 'completer-insert #[(match delimiters &optional buffer undo) " !@\nA Up=! { p F | b\nc+" [completer-region delimiters region start end undo buffer error "No previous pattern" completer-last-pattern match] 5 "\ Replace the region bounded with characters in DELIMITERS by MATCH and save it so that it can be restored by completer-undo."]) (fset 'completer-undo #[nil "\"!" [completer-last-pattern apply completer-insert error "No previous pattern"] 3 "\ Swap the last expansion and the last match pattern." nil]) (fset 'completer-minibuf-string #[nil "db=#e`T|ed{)" [minibuffer-completion-table read-file-name-internal re-search-backward "//\\|/~\\|.\\$" nil t] 4 "\ Remove dead filename specs from the minibuffer as delimited by // or ~ or $ and return the resulting string."]) (fset 'completer-minibuf-exit #[nil " " [nil completer-last-pattern exit-minibuffer] 1 "\ Exit and clear pattern." nil]) (fset 'completer-new-cmd #[(cmd) "  Q\n\"?ɏ)\n LJˇ" [completer-disable completer-minibuf-string string string-match "[" completer-words "/~]" nil (byte-code " \n #\n= ? ! )" [try-completion string minibuffer-completion-table minibuffer-completion-predicate completion read-file-name-internal file-exists-p] 4) ((error)) cmd t] 4 "\ Return T if we can't execute the old minibuffer version of CMD."]) (fset 'completer-minibuf #[(&optional mode) " ?\n?  &) E\"" [append completer-use-cache current-prefix-arg completer completer-minibuf-string minibuffer-completion-table minibuffer-completion-predicate completer-words completer-any-delimiter mode "^"] 8 "\ Partial completion of minibuffer expressions. Optional MODE is 'help for help and 'exit for exit. If what has been typed so far matches any possibility normal completion will be done. Otherwise, the string is considered to be a pattern with words delimited by the characters in completer-words. If completer-exact is T, the best match will be the shortest one with the same number of words as the pattern if possible and otherwise the shortest matching expression. If called with a prefix, caching will be temporarily disabled. Examples: a-f auto-fill-mode r-e rmail-expunge b--d *begining-of-defun or byte-recompile-directory by d *byte-recompile-directory if completer-any-delimiter is \" \" ~/i.e *~/ilisp.el or ~/il-el.el or ~/ilisp.elc /u/mi/ /usr/misc/" nil]) (fset 'completer-toggle #[nil "?ª!" [completer-disable message "Partial completion OFF" "Partial completion ON"] 2 "\ Turn partial completion on or off." nil]) (defvar completer-old-help (lookup-key minibuffer-local-must-match-map "?") "\ Old binding of ? in minibuffer completion map.") (fset 'completer-help #[nil " !!\"" [completer-new-cmd completer-old-help apply completer-goto completer-minibuf help] 4 "\ Partial completion minibuffer-completion-help. See completer-minibuf for more information." nil]) (defvar completer-old-completer (lookup-key minibuffer-local-must-match-map " ") "\ Old binding of TAB in minibuffer completion map.") (fset 'completer-complete #[nil " ! \"" [completer-new-cmd completer-old-completer apply completer-goto completer-minibuf] 3 "\ Partial completion minibuffer-complete. See completer-minibuf for more information." nil]) (defvar completer-old-word (lookup-key minibuffer-local-must-match-map " ") "\ Old binding of SPACE in minibuffer completion map.") (fset 'completer-word #[nil "=c ! \"" [completer-any-delimiter 32 completer-new-cmd completer-old-word apply completer-goto completer-minibuf] 3 "\ Partial completion minibuffer-complete. See completer-minibuf for more information." nil]) (defvar completer-old-exit (lookup-key minibuffer-local-must-match-map "\n") "\ Old binding of RET in minibuffer completion map.") (fset 'completer-exit #[nil " !!@ AAA@ \" \" !  ? +" [completer-new-cmd completer-old-exit completer-minibuf exit completions match unique-p apply completer-goto completer-minibuf-exit completer-insert "^" minibuffer-completion-confirm completer-message " (Confirm)" beep] 4 "\ Partial completion minibuffer-complete-and-exit. See completer-minibuf for more information." nil]) (fset 'completer-match-exit #[nil "!@!@ eb c`d| \n\"*" [completer-minibuf exit completions guess exit-ok exit-minibuffer apply completer-goto] 4 "\ Exit the minibuffer with the current best match." nil]) (byte-code " # # # # # # # #########" [define-key minibuffer-local-completion-map "" completer-undo " " completer-complete " " completer-word "?" completer-help "\n" completer-minibuf-exit " " "" completer-match-exit "" minibuffer-local-must-match-map completer-exit] 4) (fset 'completer-comint-dynamic-list-completions #[(completions) "\"" [completer-comint-dynamic-complete-1 nil help] 3 "\ List in help buffer sorted COMPLETIONS. Typing SPC flushes the help buffer."]) (fset 'completer-comint-dynamic-complete-filename #[nil "\"" [completer-comint-dynamic-complete-1 nil t] 3 "\ Dynamically complete the filename at point."]) (fset 'completer-comint-dynamic-complete-1 #[(&optional undo mode) "  \n % = !)" [undo completer-undo nil completer-string current-window-configuration conf completer-complete-goto "^ \n\"" completer-words read-file-name-internal default-directory mode help comint-restore-window-config] 6 "\ Complete the previous filename or display possibilities if done twice in a row. If called with a prefix, undo the last completion." "P"]) (byte-code "MM!:@=CCB" [comint-dynamic-complete-filename completer-comint-dynamic-complete-filename comint-dynamic-list-completions completer-comint-dynamic-list-completions #[nil "MM" [comint-dynamic-complete-filename completer-comint-dynamic-complete-filename comint-dynamic-list-completions completer-comint-dynamic-list-completions] 2] boundp comint-load-hook lambda] 3) (fset 'lisp-complete-symbol #[(&optional mode) " !W w`)!gzUuu`)\n{ \nSf=ͪ #==?& \n|c! #=@!!@D@BA`)ߐ\"!)\"-" [prefix-numeric-value mode 0 completer-undo "^ \n)]}\"" nil end backward-sexp 1 39 beg pattern 40 fboundp #[(sym) " ! ! !" [boundp sym fboundp symbol-plist] 2] predicate try-completion obarray completion t completer-complete-goto "^ \n()[]{}'`" completer-words #[(choice) "\n!!\nD\n" [fboundp intern choice " "] 3] message "Making completion list..." all-completions list new intern " " "*Help*" display-completion-list sort #[(x y) " " [x y] 2] "Making completion list...%s" "done"] 9 "\ Perform partial 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. If called with a negative prefix, the last completion will be undone." "P"]) (byte-code "!!" [provide completer run-hooks completer-load-hook] 2)