;ELC
;;; Compiled by layer@bear.franz.com on Mon Jul 23 17:50:02 2007
;;; from file /acl/acl81/src/eli/fi-shell.el
;;; in Emacs version 21.4.1
;;; with bytecomp version 2.85.4.1
;;; 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 "`fi-shell.el' was compiled for Emacs 19.29 or later"))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
#@30 The shell major-mode keymap.
(defvar fi:shell-mode-map nil (#$ . 602))
#@46 Used for super-key processing in shell mode.
(defvar fi:shell-mode-super-key-map nil (#$ . 679))
#@278 *Default Shell image to invoke from (fi:shell). If the value
is a string then it names the image file or image path that
`fi:shell' invokes. Otherwise, the value of this variable is given
to funcall, the result of which should yield a string which is the image
name or path.
(defvar fi:shell-image-name (byte-code "\301 \203 \203 \302\303\304\305!\"\207\306\207\307\207" [*on-windows-nt* on-ms-windows format "%s/system32/cmd.exe" getenv "WINDIR" "C:\\COMMAND.COM" "csh"] 4) (#$ . -783))
#@62 *Default Shell image arguments when invoked from (fi:shell).
(defvar fi:shell-image-arguments (byte-code "\301 \203 \205\f \302\207\303\207" [*on-windows-nt* on-ms-windows ("/q") ("-i")] 1) (#$ . -1282))
#@197 *Regexp used by Newline command in shell mode to match subshell prompts.
Anything from beginning of line up to the end of what this pattern matches
is deemed to be prompt, and is not re-executed.
(defvar fi:shell-prompt-pattern "^[-_.a-zA-Z0-9]*[#$%>] *" (#$ . -1495))
#@184 *If non-nil when fi:shell-mode is first entered, setup a binding that
causes ! to do history processing and substitute the values from the
history list into the current command line.
(defvar fi:shell-mode-use-history nil (#$ . -1771))
#@424 Major mode for interacting with an inferior shell.
The keymap for this mode is bound to fi:shell-mode-map:
\{fi:shell-mode-map}
Entry to this mode runs the following hooks:
fi:subprocess-mode-hook
fi:shell-mode-hook
in the above order.
When calling from a program, argument is MODE-HOOK,
which is funcall'd just after killing all local variables but before doing
any other mode setup.
(defalias 'fi:shell-mode #[(&optional mode-hook) "\304 \210\203\n \210\305\306\307\303\310\311#\210\312!\210\313\314\315\"\207" [mode-hook major-mode mode-name fi:shell-mode-map fi::kill-all-local-variables fi:shell-mode "Shell" fi::initialize-mode-map fi:shell-super-key-map shell use-local-map run-hooks fi:subprocess-mode-hook fi:shell-mode-hook] 4 (#$ . 2013) nil])
#@26 Expand !$ in shell mode.
(defalias 'fi:shell-mode-bang #[(&optional arg) "\302\303!\210\304 \211\305U\203 \306 !\202 \307c\210\310\311\")\207" [c arg message "!-" read-char 36 fi:pop-input-last-word "!" insert-char 1] 4 (#$ . 2818) "*p"])
#@522 Start a shell in a buffer whose name is determined from the optional
prefix argument BUFFER-NUMBER. Shell buffer names start with `*shell*'
and end with an optional "". If BUFFER-NUMBER is not given it defaults
to 1. If BUFFER-NUMBER is 1, then the trailing "<1>" is omited. If
BUFFER-NUMBER is < 0, then the first available buffer name is chosen (a
buffer with no process attached to it.
The shell image file and image arguments are taken from the variables
`fi:shell-image-name' and `fi:shell-image-arguments'.
(defalias 'fi:shell #[(&optional buffer-number) "\305\306\307 \310\n\f\311 \205 \312& \207" [buffer-number default-directory fi:shell-prompt-pattern fi:shell-image-name fi:shell-image-arguments fi::make-subprocess nil "shell" fi:shell-mode on-ms-windows fi::subprocess-dos-filter] 10 (#$ . 3068) "p"])
(defalias 'fi::subprocess-dos-filter #[(process output &optional stay cruft) "\303 \n\304$\207" [process output stay fi::subprocess-filter t] 5])