;ELC   
;;; Compiled by buildd@akateko.buildd on Fri Oct 25 13:50:23 2013
;;; from file /build/buildd/emacs23-23.4+1/debian/build-x/lisp/eshell/eshell.el
;;; in Emacs version 23.4.1
;;; with all optimizations.

;;; This file uses dynamic docstrings, first added in Emacs 19.29.

;;; This file does not contain utf-8 non-ASCII characters,
;;; and so can be loaded in Emacs versions earlier than 23.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\303\304\305\306\307\310\311\312\313\314\315\316&\210\317\320\321\"\207" [require esh-util esh-mode custom-declare-group eshell nil "A command shell implemented entirely in Emacs Lisp.\nIt invokes no external processes beyond those requested by the\nuser, and is intended to be a functional replacement for command\nshells such as bash, zsh, rc, 4dos." :tag "The Emacs shell" :link (info-link "(eshell)Top") :version "21.1" :group applications defalias eshell-defgroup defgroup] 12)
#@57 Add `eshell-buffer-name' to `same-window-buffer-names'.
(defalias 'eshell-add-to-window-buffer-names #[nil "\301\302\"\207" [eshell-buffer-name add-to-list same-window-buffer-names] 3 (#$ . 1065)])
(put 'eshell-add-to-window-buffer-names 'byte-optimizer 'byte-compile-inline-expand)
#@62 Remove `eshell-buffer-name' from `same-window-buffer-names'.
(defalias 'eshell-remove-from-window-buffer-names #[nil "\302	\"\211\207" [eshell-buffer-name same-window-buffer-names delete] 3 (#$ . 1355)])
(put 'eshell-remove-from-window-buffer-names 'byte-optimizer 'byte-compile-inline-expand)
#@41 A hook run once Eshell has been loaded.
(custom-declare-variable 'eshell-load-hook 'nil '(#$ . 1657) :type 'hook :group 'eshell)
#@49 A hook run when Eshell is unloaded from memory.
(custom-declare-variable 'eshell-unload-hook ''(eshell-remove-from-window-buffer-names eshell-unload-all-modules) '(#$ . 1792) :type 'hook :group 'eshell)
#@39 The basename used for Eshell buffers.
(custom-declare-variable 'eshell-buffer-name '"*eshell*" '(#$ . 2001) :set #[(symbol value) "\304\300!\203 \305	\"\nL\210\306\301\"\210\207" [eshell-buffer-name same-window-buffer-names symbol value boundp delete add-to-list] 3] :type 'string :group 'eshell)
#@58 The directory where Eshell control files should be kept.
(custom-declare-variable 'eshell-directory-name '(convert-standard-filename "~/.eshell/") '(#$ . 2310) :type 'directory :group 'eshell)
#@479 Create an interactive Eshell buffer.
The buffer used for Eshell sessions is determined by the value of
`eshell-buffer-name'.  If there is already an Eshell session active in
that buffer, Emacs will simply switch to it.  Otherwise, a new session
will begin.  A numeric prefix arg (as in `C-u 42 M-x eshell RET')
switches to the session with that number, creating it if necessary.  A
nonnumeric prefix arg means to create a new session.  Returns the
buffer selected (or created).
(defalias 'eshell #[(&optional arg) "\204\n \304\305\300C\"\210	\247\203 \306\307\310	#!\202& 	\203# \311!\202& \306!\211\2031 \312\n!\2047 \304\305\313C\"\210\314\n!\210\315=\204D \315 \210\n)\207" [eshell-buffer-name arg buf major-mode signal cl-assertion-failed get-buffer-create format "%s<%d>" generate-new-buffer buffer-live-p (and buf (buffer-live-p buf)) pop-to-buffer eshell-mode] 6 (#$ . 2510) "P"])
(defalias 'eshell-return-exits-minibuffer #[nil "\301\302\303#\210\301\304\305#\210\301\306\305#\210\301\307\305#\210\301\310\305#\210\301\311\305#\207" [eshell-mode-map define-key [(control 103)] abort-recursive-edit [return] exit-minibuffer [(control 109)] [(control 106)] [(meta return)] [(meta control 109)]] 4])
#@194 A variable which is non-nil when Eshell is not running interactively.
Modules should use this variable so that they don't clutter
non-interactive sessions, such as when using `eshell-command'.
(defvar eshell-non-interactive-p nil (#$ . 3735))
#@109 Execute the Eshell command string COMMAND.
With prefix ARG, insert output into the current buffer at point.
(defalias 'eshell-command #[(&optional command arg) "\306\307!\210\204\n 	\310\216\311\312\313\314\"\210\312\315\316\"\210\312\317\320\"\210\204% \321\322!*\204. \323\324!\210\203; \325\326\327p!\"P\212\330\331!q\311\314 \210\332\333\334!D!\335:\203^ <\203^ \336\202b \311:\337;\340\341;!!\203r \342;!\210\343;!\210:\203\243 <\203\206 \344<!\210<\203\221 \345\346\347C\"\210db\210n\203\243 o\204\243 \350\351!\210\202\224 \f\203\255 \340\f!\204\263 \345\346\352C\"\210?\205:\204\301 \353\202\305 \354ed\"\211=\355U\203\327 \356\357!\210\342\f!\202=\351U\203\352 \356\360\361 \"\210\342\f!\202\362 \363\364\365 \">?r\366\216\367\370\f!!\210eb\210:\205@\205\371 ,).\207" [arg current-prefix-arg eshell-non-interactive-p command buf proc require esh-cmd ((byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\207" [remove-hook eshell-mode-hook eshell-return-exits-minibuffer minibuffer-exit-hook eshell-add-command-to-history minibuffer-setup-hook eshell-mode] 3)) t add-hook minibuffer-setup-hook eshell-mode minibuffer-exit-hook eshell-add-command-to-history eshell-mode-hook eshell-return-exits-minibuffer read-from-minibuffer "Emacs shell command: " error "No command specified!" format " >>> #<buffer %s>" buffer-name generate-new-buffer " *eshell cmd*" eshell-eval-command eshell-commands eshell-parse-command nil "*EShell Async Command Output*" "*EShell Command Output*" buffer-live-p get-buffer kill-buffer rename-buffer eshell-wait-for-process signal cl-assertion-failed (not (eshell-interactive-process)) delete-backward-char 1 (and buf (buffer-live-p buf)) 2 count-lines 0 message "(There was no command output)" "%s" buffer-string selected-window mapcar #[(frame) "\301!B\207" [frame frame-selected-window] 3] frame-list ((byte-code "\304\211\203( \n@\305	@!\203! \306	A!\203! \307	@	A\310#\210\nA\211\204 *\306!\2034 \311\310\"\210\304\207" [save-selected-window-alist elt #1=#:--cl-dolist-temp-- save-selected-window-window nil frame-live-p window-live-p set-frame-selected-window norecord select-window] 5)) select-window display-buffer resize-temp-buffer-window intr bufname eshell-last-async-proc len save-selected-window-alist save-selected-window-window temp-buffer-resize-mode] 6 (#$ . 3985) nil])
#@275 Execute the given Eshell COMMAND, and return the result.
The result might be any Lisp object.
If STATUS-VAR is a symbol, it will be set to the exit status of the
command.  This is the only way to determine whether the value returned
corresponding to a successful execution.
(defalias 'eshell-command-result #[(command &optional status-var) "\204 \306	\203 	9\203O 	\307L\210\207\310\311!r\nq\210\312\216\313\314 \210\315\316\317\320!DD\313\"\211@\321=\204: \322\323\324C\"\210	\203G 	9\203G 	L\210\f\211A@.\207" [command status-var #1=#:temp-buffer eshell-non-interactive-p result eshell-last-command-status nil 0 generate-new-buffer " *temp*" ((byte-code "\301!\203\n \302!\210\301\207" [#1# buffer-name kill-buffer] 2)) t eshell-mode eshell-do-eval eshell-commands eshell-command-to-value eshell-parse-command quote signal cl-assertion-failed (eq (car result) 'quote) x] 6 (#$ . 6378)])
(byte-code "\300\301\302\303#\210\304\301\302\305#\207" [defalias eshell-report-bug report-emacs-bug nil make-obsolete "23.1"] 4)
#@267 Unload all modules that were loaded by Eshell, if possible.
If the user has require'd in any of the modules, or customized a
variable with a :require tag (such as `eshell-prefer-to-shell'), it
will be impossible to unload Eshell completely without restarting
Emacs.
(defalias 'eshell-unload-all-modules #[nil "\302\303!\205( \303\304!\211\203$ @\305	!\203 \306\307\310\217\210)A\211\204 )\311\312!\207" [list-iter module fboundp eshell-subgroups eshell featurep nil (byte-code "\301\302\303!\"\210\304!\210\301\305\303!\"\207" [module message "Unloading %s..." symbol-name unload-feature "Unloading %s...done"] 4) ((error)) message "Unloading eshell...done"] 4 (#$ . 7417)])
(byte-code "\300\301!\210\302\303!\207" [run-hooks eshell-load-hook provide eshell] 2)
