home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Geek Gadgets 1
/
ADE-1.bin
/
ade-dist
/
emacs-18.59-src.tgz
/
emacs-18.59-src.tar
/
fsf
/
emacs18
/
lisp
/
shell.elc
< prev
next >
Wrap
Text File
|
1996-09-28
|
12KB
|
204 lines
(provide (quote shell))
(defvar last-input-start nil "\
In a shell-mode buffer, marker for start of last unit of input.")
(defvar last-input-end nil "\
In a shell-mode buffer, marker for end of last unit of input.")
(defvar shell-mode-map nil)
(defvar shell-directory-stack nil "\
List of directories saved by pushd in this buffer's shell.")
(defvar shell-popd-regexp "popd" "\
*Regexp to match subshell commands equivalent to popd.")
(defvar shell-pushd-regexp "pushd" "\
*Regexp to match subshell commands equivalent to pushd.")
(defvar shell-cd-regexp "cd" "\
*Regexp to match subshell commands equivalent to cd.")
(defvar explicit-shell-file-name nil "\
*If non-nil, is file name to use for explicitly requested inferior shell.")
(defun shell-mode nil "\
Major mode for interacting with an inferior shell.
Shell name is same as buffer name, sans the asterisks.
Return at end of buffer sends line as input.
Return not at end copies rest of line to end and sends it.
The following commands imitate the usual Unix interrupt and
editing control characters:
\\{shell-mode-map}
Entry to this mode calls the value of shell-mode-hook with no args,
if that value is non-nil.
cd, pushd and popd commands given to the shell are watched
by Emacs to keep this buffer's default directory
the same as the shell's working directory.
Variables shell-cd-regexp, shell-pushd-regexp and shell-popd-regexp
are used to match these command names.
You can send text to the shell (or its subjobs) from other buffers
using the commands process-send-region, process-send-string
and lisp-send-defun." (interactive) (byte-code "ÅÈ ÉÊËÌ!ÍÄ!ÅÍÆ!Î ÍÇ!Î ÏÐ!" [major-mode mode-name mode-line-process shell-mode-map shell-directory-stack nil last-input-start last-input-end kill-all-local-variables shell-mode "Shell" (": %s") use-local-map make-local-variable make-marker run-hooks shell-mode-hook] 9))
(if shell-mode-map nil (setq shell-mode-map (make-sparse-keymap)) (define-key shell-mode-map "" (quote shell-send-input)) (define-key shell-mode-map "" (quote shell-send-eof)) (define-key shell-mode-map "" (quote kill-shell-input)) (define-key shell-mode-map "" (quote backward-kill-word)) (define-key shell-mode-map "" (quote interrupt-shell-subjob)) (define-key shell-mode-map "" (quote stop-shell-subjob)) (define-key shell-mode-map "" (quote quit-shell-subjob)) (define-key shell-mode-map "" (quote kill-output-from-shell)) (define-key shell-mode-map "" (quote show-output-from-shell)) (define-key shell-mode-map "" (quote copy-last-shell-input)))
(defvar explicit-csh-args (if (eq system-type (quote hpux)) (quote ("-i" "-T")) (quote ("-i"))) "\
Args passed to inferior shell by M-x shell, if the shell is csh.
Value is a list of strings, which may be nil.")
(defun shell nil "\
Run an inferior shell, with I/O through buffer *shell*.
If buffer exists but shell process is not running, make new shell.
Program used comes from variable explicit-shell-file-name,
or (if that is nil) from the ESHELL environment variable,
or else from SHELL if there is no ESHELL.
If a file ~/.emacs_SHELLNAME exists, it is given as initial input
(Note that this may lose due to a timing error if the shell
discards input when it starts up.)
The buffer is put in shell-mode, giving commands for sending input
and controlling the subjobs of the shell. See shell-mode.
See also variable shell-prompt-pattern.
The shell file name (sans directories) is used to make a symbol name
such as `explicit-csh-arguments'. If that symbol is a variable,
its value is used as a list of arguments when invoking the shell.
Otherwise, one argument `-i' is passed to the shell.
Note that many people's .cshrc files unconditionally clear the prompt.
If yours does, you will probably want to change it." (interactive) (byte-code "Ä ÅÆ! ÅÇ! ÈÉ!ÊËÌÍÎÏ
P! ( Ï
PÐÑ
ÒQ! 6 Ó!>