;ELC ;;; compiled by jwz@thalidomide on Sat May 21 06:42:56 1994 ;;; from file /th/jwz/emacs19/lisp/prim/minibuf.el ;;; emacs version 19.10 Lucid (beta25). ;;; bytecomp version 2.24; 26-Apr-94. ;;; 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 insert-default-directory t "\ *Non-nil means when reading a filename start with default dir in minibuffer.") (defvar minibuffer-completion-table nil "\ Alist or obarray used for completion in the minibuffer. This becomes the ALIST argument to `try-completion' and `all-completions'. The value may alternatively be a function, which is given three arguments: STRING, the current buffer contents; PREDICATE, the predicate for filtering possible matches; CODE, which says what kind of things to do. CODE can be nil, t or `lambda'. nil means to return the best completion of STRING, nil if there is none, or t if it is was already a unique completion. t means to return a list of all possible completions of STRING. `lambda' means to return t if STRING is a valid completion as it stands.") (defvar minibuffer-completion-predicate nil "\ Within call to `completing-read', this holds the PREDICATE argument.") (defvar minibuffer-completion-confirm nil "\ Non-nil => demand confirmation of completion before exiting minibuffer.") (defvar minibuffer-confirm-incomplete nil "\ If true, then in contexts where completing-read allows answers which are not valid completions, an extra RET must be typed to confirm the response. This is helpful for catching typos, etc.") (defvar completion-auto-help t "\ *Non-nil means automatically provide help for invalid completion input.") (defvar enable-recursive-minibuffers nil "\ *Non-nil means to allow minibuffer commands while in the minibuffer. More precisely, this variable makes a difference when the minibuffer window is the selected window. If you are in some other window, minibuffer commands are allowed even if a minibuffer is active.") (defvar minibuffer-max-depth 1 "\ *Global maximum number of minibuffers allowed; compare to enable-recursive-minibuffers, which is only consulted when the minibuffer is reinvoked while it is the selected window.") (defvar minibuffer-setup-hook nil "\ Normal hook run just after entry to minibuffer.") (defvar minibuffer-exit-hook nil "\ Normal hook run just after exit from minibuffer.") (defvar minibuffer-help-form nil "\ Value that `help-form' takes on inside the minibuffer.") (defvar minibuffer-local-map (byte-code "  \" )" [make-sparse-keymap map set-keymap-name minibuffer-local-map] 3) "\ Default keymap to use when reading from the minibuffer.") (defvar minibuffer-local-completion-map (byte-code "  \" \" )" [make-sparse-keymap map set-keymap-name minibuffer-local-completion-map set-keymap-parent minibuffer-local-map] 3) "\ Local keymap for minibuffer input with completion.") (defvar minibuffer-local-must-match-map (byte-code "  \" \" )" [make-sparse-keymap map set-keymap-name minibuffer-must-match-map set-keymap-parent minibuffer-local-completion-map] 3) "\ Local keymap for minibuffer input with completion, for exact match.") (byte-code " # # ###### # # # # # ###" [define-key minibuffer-local-map "" abort-recursive-edit " " exit-minibuffer "\n" minibuffer-local-completion-map " " minibuffer-complete " " minibuffer-complete-word "?" minibuffer-completion-help minibuffer-local-must-match-map minibuffer-complete-and-exit "" next-history-element "" previous-history-element [next] [prior] "" previous-matching-history-element "" next-matching-history-element [next] next-complete-history-element [prior] previous-complete-history-element] 4) (defvar read-expression-map (byte-code "  \" \" # )" [make-sparse-keymap map set-keymap-parent minibuffer-local-map set-keymap-name read-expression-map define-key "" lisp-complete-symbol] 4) "\ Minibuffer keymap used for reading Lisp expressions.") (defvar read-shell-command-map (byte-code "  \" \" # # # )" [make-sparse-keymap map set-keymap-parent minibuffer-local-map set-keymap-name read-shell-command-map define-key " " comint-dynamic-complete "" "" comint-dynamic-list-completions] 4) "\ Minibuffer keymap used by shell-command and related commands.") (fset 'minibuffer-window-active-p #[(window) " ‰# =? ‰# )=)" [previous-window window nil prev next-window should-be-same] 5 "\ Return t if WINDOW (a minibuffer window) is now active."]) (fset 'reset-buffer #[(buffer) "q  ! \")" [buffer kill-all-local-variables nil buffer-read-only erase-buffer buffer-file-name buffer-file-truename set-buffer-modified-p buffer-backed-up buffer-auto-save-file-name set-buffer-dedicated-screen] 3]) (defvar minibuffer-history-variable 'minibuffer-history "\ History list symbol to add minibuffer values to. Each minibuffer output is added with (set minibuffer-history-variable (cons STRING (symbol-value minibuffer-history-variable)))") (defvar minibuffer-history-minimum-string-length 3 "\ If this variable is non-nil, a string will not be added to the minibuffer history if its length is less than that value.") (fset 'read-from-minibuffer #[(prompt &optional initial-contents keymap readp history) " V =!!V Y \n\n9\n!!\n\"\n@!!\n@\" \"   =!! \"!! =?! q!!#!%\"!\" !!--:-@c-Ab-c/0!p12\n\n:\n@\n\n:\nA4567189!!=\"q?!@ ABCDEF696!6JG=AGAG@A;HAGHW6AGBL)BB@BA\"A*." [enable-recursive-minibuffers minibuffer-depth 0 selected-window minibuffer-window error gettext "Command attempted to use minibuffer while in minibuffer" minibuffer-max-depth minibuffer-max-depth-exceeded history boundp "History list %S is unbound" noninteractive message "%s" prompt default-directory dir owindow window window-buffer get-buffer-create format " *Minibuf-%d" buffer window-screen screen selected-screen current-window-configuration mconfig oconfig ((byte-code "q! !!" [buffer buffer-disable-undo nil buffer-read-only erase-buffer mconfig set-window-configuration oconfig] 2)) reset-buffer make-local-variable print-escape-newlines t mode-motion-hook minibuf-mouse-tracker set-window-buffer select-window set-window-hscroll erase-buffer buffer-enable-undo nil initial-contents use-local-map keymap minibuffer-local-map current-prefix-arg minibuffer-help-form minibuffer-history minibuffer-scroll-window minibuffer-history-position minibuffer-history-variable help-form mouse-grabbed-buffer minibuffer-setup-hook run-hooks exit (byte-code " V‰!*!" [recursion-depth minibuffer-depth t standard-input standard-output read-minibuffer-internal prompt] 2) signal quit minibuffer-exit-hook buffer-string val err readp e (byte-code " !A GW Ŏ \nA#!!*\n@;\nD\n)" [read-from-string val v match-data _match_data_ ((store-match-data _match_data_)) string-match "[ \n]*\\'" error gettext "Trailing garbage following expression" quote] 5) ((error (byte-code "‡" [e err nil] 1))) list minibuffer-history-minimum-string-length] 7 "\ Read a string from the minibuffer, prompting with string PROMPT. If optional second arg INITIAL-CONTENTS is non-nil, it is a string to be inserted into the minibuffer before reading input. If INITIAL-CONTENTS is (STRING . POSITION), the initial input is STRING, but point is placed POSITION characters into the string. Third arg KEYMAP is a keymap to use whilst reading; if omitted or nil, the default is `minibuffer-local-map'. If fourth arg READ is non-nil, then interpret the result as a lisp object and return that object: in other words, do `(car (read-from-string INPUT-STRING))' Fifth arg HISTORY, if non-nil, specifies a history list and optionally the initial position in the list. It can be a symbol, which is the history list variable to use, or it can be a cons cell (HISTVAR . HISTPOS). In that case, HISTVAR is the history list variable to use, and HISTPOS is the initial position (the position in the list which INITIAL-CONTENTS corresponds to). If HISTORY is `t', no history will be recorded. Positions are counted starting from 1 at the beginning of the list."]) (byte-code "MMMMM" [minibuffer-max-depth-exceeded #[nil "\"! )=! !!qeb#Ҕҕ|dbc )!!= !)" [beep t minibuffer-limit-exceeded message "Minibuffer already active: abort it with `^]', enable new one with `n': " cursor-in-echo-area read-char char 110 y-or-n-p "Enable recursive minibuffers for other sessions too? " nil minibuffer-max-depth find-file-noselect substitute-in-file-name "~/.emacs" re-search-forward "^(setq minibuffer-max-depth \\([0-9]+\\|'?nil\\|'?()\\))\n" 0 "\n(setq minibuffer-max-depth nil)\n" save-buffer "Multiple minibuffers enabled" sit-for 1 29 abort-recursive-edit error "Minibuffer already active"] 5] temp-minibuffer-message #[(m) "ddb! c)!d| ? ! ‰*" [savemax message nil m t inhibit-quit sit-for 2 quit-flag unread-command-event character-to-event interrupt-char] 2] exact-minibuffer-completion-p #[(buffer-string) "! \" Ƙȍ  !):@9 \"    @@   ^ A X+=  #" [minibuffer-completion-table nil vectorp intern-soft buffer-string tem "nil" found (byte-code "\n\"Ç" [mapatoms #[(s) " !\n\"" [symbol-name s buffer-string throw found t] 3] minibuffer-completion-table nil] 3) minibuffer-completion-predicate t completion-ignore-case assoc tail s win lambda] 5] minibuffer-do-completion-1 #[(buffer-string completion) "=Ç ? c ! Ȫɪ ʪ)" [completion none t unique buffer-string completedp erase-buffer exact-minibuffer-completion-p completed-exact exact completed uncompleted] 3] minibuffer-do-completion #[(buffer-string) " \n # \"=\"!!= c =   = !!+" [try-completion buffer-string minibuffer-completion-table minibuffer-completion-predicate completion minibuffer-do-completion-1 status last-exact-completion last nil none ding no-completion temp-minibuffer-message gettext " [No match]" unique erase-buffer exact minibuffer-completion-help uncompleted completion-auto-help " [Next char not unique]"] 4]] 2) (fset 'completing-read #[(prompt table &optional predicate require-match initial-contents history) " \n=?\n \n  %," [table predicate require-match t nil last-exact-completion minibuffer-completion-confirm minibuffer-completion-predicate minibuffer-completion-table read-from-minibuffer prompt initial-contents minibuffer-local-completion-map minibuffer-local-must-match-map history] 6 "\ Read a string in the minibuffer, with completion. Args: PROMPT, TABLE, PREDICATE, REQUIRE-MATCH, INITIAL-CONTENTS, HISTORY. PROMPT is a string to prompt with; normally it ends in a colon and a space. TABLE is an alist whose elements' cars are strings, or an obarray. PREDICATE limits completion to a subset of TABLE. See `try-completion' for more details on completion, TABLE, and PREDICATE. If REQUIRE-MATCH is non-nil, the user is not allowed to exit unless the input is (or completes to) an element of TABLE. If it is also not t, Return does not exit if it does non-null completion. If INITIAL-CONTENTS is non-nil, insert it in the minibuffer initially. If it is (STRING . POSITION), the initial input is STRING, but point is placed POSITION characters into the string. HISTORY, if non-nil, specifies a history list and optionally the initial position in the list. It can be a symbol, which is the history list variable to use, or it can be a cons cell (HISTVAR . HISTPOS). In that case, HISTVAR is the history list variable to use, and HISTPOS is the initial position (the position in the list which INITIAL-CONTENTS corresponds to). If HISTORY is `t', no history will be recorded. Positions are counted starting from 1 at the beginning of the list. Completion ignores case if the ambient value of `completion-ignore-case' is non-nil."]) (fset 'minibuffer-complete #[nil " =  ! ! !!pɎ !qd \" e\" *ª !=?=!!=!!))" [last-command this-command nil minibuffer-scroll-window window windowp window-buffer buffer-name obuf ((set-buffer obuf)) pos-visible-in-window-p set-window-start scroll-other-window minibuffer-do-completion buffer-string status none unique temp-minibuffer-message gettext " [Sole completion]" exact " [Complete, but not unique]" t] 4 "\ Complete the minibuffer contents as far as possible. Return nil if there is no valid completion, else t. If no characters can be completed, display a list of possible completions. If you repeat this command after it displayed such a list, scroll the window of possible completions." nil]) (fset 'minibuffer-complete-and-exit #[nil "edU\"  !\" !==== !!ª\"*" [throw exit nil buffer-string exact-minibuffer-completion-p minibuffer-do-completion status unique exact completed-exact completed-exact-unique minibuffer-completion-confirm temp-minibuffer-message gettext " [Confirm]"] 4 "\ Complete the minibuffer contents, and maybe exit. Exit if the name is valid with no completion needed. If name was completed to a valid match, a repetition of this command will exit." nil]) (fset 'self-insert-and-exit #[nil "!\"" [self-insert-command 1 throw exit nil] 3 "\ Terminate minibuffer input." nil]) (fset 'exit-minibuffer #[nil "\"  !\"Ǫ  #\n= ˘\"\n!!! )\"!\"!+" [minibuffer-confirm-incomplete throw exit nil buffer-string exact-minibuffer-completion-p minibuffer-completion-table t try-completion minibuffer-completion-predicate completion "" temp-minibuffer-message gettext " [incomplete; confirm]" " [no completions; confirm]" inhibit-quit next-command-event quit-flag event last-command-event interrupt-char event-to-character dispatch-event] 5 "\ Terminate this minibuffer argument. If minibuffer-confirm-incomplete is true, and we are in a completing-read of some kind, and the contents of the minibuffer is not an existing completion, requires an additional RET before the minibuffer will be exited (assuming that RET was the character that invoked this command: the character in question must be typed again)." nil]) (fset 'minibuffer-complete-word #[nil " \n # \"=\"!!ɂ=!!Ђ==V!!=!=! =!!!* cebG\"# GW卫eb#u#`d|db*+" [buffer-string try-completion minibuffer-completion-table minibuffer-completion-predicate completion minibuffer-do-completion-1 status none ding nil no-completion temp-minibuffer-message gettext " [No match]" unique " [Sole completion]" t uncompleted exact #[(s) "" [nil (byte-code " \nP #db\ncŇ" [try-completion buffer-string s minibuffer-completion-table minibuffer-completion-predicate t] 4) ((error))] 3] last-command-char char foo 0 char-to-string 32 " " 45 "-" completion-auto-help minibuffer-completion-help " [Complete, but not unique]" " [Ambiguous]" erase-buffer n len match (byte-code " \nW H H\" Tj\"bɇ" [0 n len char-equal buffer-string completion throw match nil t] 5) re-search-forward "\\W"] 5 "\ Complete the minibuffer contents at most a single word. After one word is completed as much as possible, a space or hyphen is added, provided that matches some possible completion. Return nil if there is no valid completion, else t." nil]) (fset 'display-completion-list #[(completions) "p ! q !!Y !\nˉ  @;G:@;A@;@GA@G\\D\" V  T A*0) \\ \n  ^X \n  U T )!! WW ˉ@U\"!TWq \\:@!A@!@GA@G\\\\!G\\)AT+.\nq*!" [bufferp standard-output old-buffer completions princ gettext "There are no possible completions of what you have typed." screen-width selected-screen 80 win-width 0 max-width count tail elt signal wrong-type-argument stringp len 2 cols 1 rows "Possible completions are:" r terpri tail2 column indent indent-to write-char 32 run-hooks completion-setup-hook] 5 "\ Display the list of completions, COMPLETIONS, using `standard-output'. Each element may be just a symbol or string or may be a list of two strings to be printed as if concatenated. At the end, run the normal hook `completion-setup-hook'. It can find the completion buffer in `standard-output'."]) (fset 'minibuffer-completion-help #[nil "!! #!\"!!!\"!)" [message gettext "Making completion list..." all-completions buffer-string minibuffer-completion-table minibuffer-completion-predicate completions nil ding no-completion temp-minibuffer-message " [No completions]" "*Completions*" display-completion-list sort string-lessp] 5 "\ Display a list of possible completions of the current minibuffer contents." nil]) (defvar minibuffer-history nil "\ Default minibuffer history list. This is used for all minibuffer input except when an alternate history list is specified.") (byte-code "!!!!!!!‡" [boundp minibuffer-history-search-history nil function-history variable-history buffer-history shell-command-history file-name-history read-expression-history] 2) (defvar minibuffer-history-sexp-flag nil "\ Non-nil when doing history operations on `command-history'. More generally, indicates that the history list being acted on contains expressions rather than strings.") (fset 'previous-matching-history-element #[(regexp n) "J\n=!!\nU  \nWͪ\\] G^ U U!!! S 8! S 8\";\nW̪\\\n,  S 8!c)eb+@@=@@=A" [minibuffer-history-variable nil minibuffer-history-position pos prevpos history t error gettext "history is not being recorded in this context" n 0 1 -1 "No later matching history item" "No earlier matching history item" string-match regexp minibuffer-history-sexp-flag prin1-to-string erase-buffer elt command-history previous-matching-history-element next-matching-history-element] 6 "\ Find the previous history element that matches REGEXP. (Previous history elements refer to earlier actions.) With prefix argument N, search for Nth previous match. If N is negative, find the next or Nth next match." (byte-code " J=!!!\n@ % !*D" [t nil minibuffer-history-sexp-flag enable-recursive-minibuffers minibuffer-history-variable error gettext "history is not being recorded in this context" read-from-minibuffer "Previous element matching (regexp): " minibuffer-history-search-history minibuffer-local-map prefix-numeric-value current-prefix-arg] 6)]) (fset 'next-matching-history-element #[(regexp n) " \n[\"" [previous-matching-history-element regexp n] 3 "\ Find the next history element that matches REGEXP. (The next history element refers to a more recent action.) With prefix argument N, search for Nth next match. If N is negative, find the previous or Nth previous match." (byte-code " J=!!!\n@ % !*D" [t nil minibuffer-history-sexp-flag enable-recursive-minibuffers minibuffer-history-variable error gettext "history is not being recorded in this context" read-from-minibuffer "Next element matching (regexp): " minibuffer-history-search-history minibuffer-local-map prefix-numeric-value current-prefix-arg] 6)]) (fset 'next-history-element #[(n) "J=!!Z]JG^UY!!\"! SJ8;ҏc)db)" [minibuffer-history-variable t error gettext "history is not being recorded in this context" 1 minibuffer-history-position n narg format 0 "No following item in %s" "No preceding item in %s" erase-buffer elt minibuffer-history-sexp-flag nil (byte-code " !)" [t print-readably prin1-to-string elt] 2) ((error (prin1-to-string elt)))] 5 "\ Insert the next element of the minibuffer history into the minibuffer." "p"]) (fset 'previous-history-element #[(n) " [!" [next-history-element n] 2 "\ Inserts the previous element of the minibuffer history into the minibuffer." "p"]) (fset 'next-complete-history-element #[(n) "`e`{!P \"b)" [point-at-start next-matching-history-element "^" regexp-quote n] 5 "\ Get next element of history which is a completion of minibuffer contents." "p"]) (fset 'previous-complete-history-element #[(n) " [!" [next-complete-history-element n] 2 "\ Get previous element of history which is a completion of minibuffer contents." "p"]) (fset 'read-minibuffer #[(prompt &optional initial-contents history) " %*" [t nil minibuffer-completion-table minibuffer-history-sexp-flag read-from-minibuffer prompt initial-contents read-expression-map history read-expression-history] 6 "\ Return a Lisp object read using the minibuffer. Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS is a string to insert in the minibuffer before reading. Third arg HISTORY, if non-nil, specifies a history list."]) (fset 'read-string #[(prompt &optional initial-contents history) " %)" [nil minibuffer-completion-table read-from-minibuffer prompt initial-contents minibuffer-local-map history] 6 "\ Return a string from the minibuffer, prompting with string PROMPT. If non-nil, optional second arg INITIAL-CONTENTS is a string to insert in the minibuffer before reading. Third arg HISTORY, if non-nil, specifies a history list."]) (fset 'eval-minibuffer #[(prompt &optional initial-contents history) "\n #!" [eval read-minibuffer prompt initial-contents history] 5 "\ Return value of Lisp expression read using the minibuffer. Prompt with PROMPT. If non-nil, optional second arg INITIAL-CONTENTS is a string to insert in the minibuffer before reading. Third arg HISTORY, if non-nil, specifies a history list."]) (fset 'read-command #[(prompt) "\n Ɖ&!" [intern completing-read prompt obarray commandp t nil] 8 "\ Read the name of a command and return as a symbol. Prompts with PROMPT."]) (fset 'read-function #[(prompt) "\n &!" [intern completing-read prompt obarray fboundp t nil function-history] 8 "\ Read the name of a function and return as a symbol. Prompts with PROMPT."]) (fset 'read-variable #[(prompt) "\n &!" [intern completing-read prompt obarray user-variable-p t nil variable-history] 8 "\ Read the name of a user variable and return it as a symbol. Prompts with PROMPT. A user variable is one whose documentation starts with a `*' character."]) (fset 'read-buffer #[(prompt &optional default require-match) "! !!# \"    & К b!]  ! ! +" [default format gettext "%s(default %s) " prompt bufferp buffer-name mapcar #[(b) " ! B" [buffer-name b] 2] buffer-list nil result alist completing-read require-match buffer-history "" get-buffer] 8 "\ Read the name of a buffer and return as a string. Prompts with PROMPT. Optional second arg DEFAULT is value to return if user enters an empty line. If optional third arg REQUIRE-MATCH is non-nil, only existing buffer names are allowed."]) (fset 'read-number #[(prompt &optional integers-only) " !Ǐ !q l *" [integers-only integerp numberp nil num pred (byte-code " !Ɖ%)" [nil minibuffer-completion-table read-from-minibuffer prompt num prin1-to-string t] 6) ((invalid-read-syntax) (end-of-file)) beep] 3 "\ Reads a number from the minibuffer."]) (fset 'read-shell-command #[(prompt &optional initial-input history) " %)" [nil minibuffer-completion-table read-from-minibuffer prompt initial-input read-shell-command-map history shell-command-history] 6 "\ Just like read-string, but uses read-shell-command-map: \\{read-shell-command-map}"]) (byte-code "MM" [un-substitute-in-file-name #[(string) " G‰ =  \"  ͕# Tr \\\" W H I T T =e T`." ["\\$" string nil ch o n new olen regexp system-type vax-vms string-match 1 0 make-string 36] 6] read-file-name-1 #[(history prompt dir default must-match initial-contents completer) " \" ƪ  P!GTB! =  &)Ҫ:@=!J׏JABL))!!:@!*" [dir default-directory abbreviate-file-name t insert-default-directory initial-contents "" un-substitute-in-file-name insert system-type vax-vms completion-ignore-case completing-read prompt completer must-match history val minibuffer-history hist boundp nil (expand-file-name val) ((error)) e error gettext "No file name specified" default substitute-in-file-name] 8]] 2) (fset 'read-file-name #[(prompt &optional dir default must-match initial-contents history) " &" [read-file-name-1 history file-name-history prompt dir default buffer-file-name must-match initial-contents read-file-name-internal] 8 "\ Read file name, prompting with PROMPT and completing in directory DIR. Value is not expanded---you must call `expand-file-name' yourself. Value is subject to interpreted by substitute-in-file-name however. Default name to DEFAULT if user enters a null string. (If DEFAULT is omitted, the visited file name is used.) Fourth arg MUST-MATCH non-nil means require existing file's name. Non-nil and non-t means also require confirmation after completion. Fifth arg INITIAL-CONTENTS specifies text to start with. Sixth arg HISTORY specifies the history list to use. Default is `file-name-history'. DIR defaults to current buffer's directory default."]) (byte-code "MMMM" [read-directory-name #[(prompt &optional dir default must-match initial-contents) "\n &" [read-file-name-1 file-name-history prompt dir default default-directory must-match initial-contents read-directory-name-internal] 8] read-file-name-internal-1 #[(string dir action completer) "\n\"\nÚ?\n\n!\n ! \n  \" !\n&+Δ\n\nGU\nHUTO\nSO\n=Ѫ\n= \"\" \";\"\"=᪁RQ\"!!P*," [string-match "\\([^$]\\|\\`\\)\\(\\$\\$\\)*\\$\\([A-Za-z0-9_]*\\|{[^}]*\\)\\'" string "" orig substitute-in-file-name sstring file-name-directory specdir completer action expand-file-name dir file-name-nondirectory 3 start 123 nil env 0 head #[nil "\n\"" [mapcar #[(x) "\"OB" [x 0 string-match "=" nil] 5] process-environment] 3] alist lambda t mapcar #[(p) "GVHUP Q" [p 0 47 "$" head] 3] all-completions e try-completion val "[^A-Za-z0-9_]" "${" "}" "$" eql un-substitute-in-file-name getenv] 9] read-file-name-internal #[(string dir action) " \n $" [read-file-name-internal-1 string dir action #[(action orig string specdir dir name) "=\n??ŏ??!)=  \"\"  \"= \");P!!\n)*" [action lambda orig nil (expand-file-name string) ((error)) sstring file-exists-p t mapcar un-substitute-in-file-name file-name-all-completions name dir default-directory d file-name-completion val completion-ignored-extensions specdir string tem] 6]] 5] read-directory-name-internal #[(string dir action) " \n $" [read-file-name-internal-1 string dir action #[(action orig string specdir dir name) " =??!! = ! !\";P!!))*" ["./" standin #[(fn) "\n %B !P%   =  \"\"\")" [name "" standin directory-files dir nil directories "\\`" regexp-quote l mapcar fn system-type vax-vms delete "." ".."] 7] dirs action lambda orig file-directory-p string file-name-as-directory t #[(n) " \n\n !!" [un-substitute-in-file-name n standin file-name-as-directory] 3] try-completion name #[(n) " C!C" [n standin file-name-as-directory] 2] val un-substitute-in-file-name specdir tem] 5]] 5]] 2)