;ELC
;;; Compiled
;;; in Emacs version 26.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\302\303!\210\302\304!\210\302\305!\210\302\306!\210\302\307!\210\310\311\312\313\314\315\316\317&\210\320\321\322\323\324DD\325\326\327\316\311&\210\320\330\322\323\331DD\332\326\327\316\311&\210\320\333\322\323\334DD\335\326\327\316\311&\210\320\336\322\323\337DD\340\341\342\326\327\316\311& \210\320\343\322\323\344DD\345\326\346\316\311&\210\320\347\322\323\350DD\351\326\327\316\311&\210\320\352\322\323\353DD\354\326\346\316\311&\210\320\355\322\323\356DD\357\326\327\316\311&\210\320\360\322\323\361DD\362\326\363\316\311&\210\320\364\322\323\365DD\366\326\367\316\311&\210\320\370\322\323\371DD\372\326\346\316\311&\210\320\373\322\323\374DD\375\326\376\316\311&\210\320\377\322\323\201@ DD\201A \326\327\316\311&\210\320\201B \322\323\201C DD\201D \326\327\316\311&\210\320\201E \322\323\201F DD\201G \326\201H \316\311&\210\320\201I \322\323\201J DD\201K \326\201L \316\311&\210\201M \201N \201O \312#\210\201P \211\203i\211@\201N N\203b\201O N\204b\201Q \201O \201N N#\210A\266\202\202>\210\201R \201N \201O \201S #\210\320\201O \322\323\201T DD\201U \326\346\316\311&\207" [provide esh-mode require esh-util esh-module esh-cmd esh-io esh-var custom-declare-group eshell-mode nil "This module contains code for handling input from the user." :tag "User interface" :group eshell custom-declare-variable eshell-mode-unload-hook funcall function #[0 "\300\207" [nil] 1] "A hook that gets run when `eshell-mode' is unloaded." :type hook eshell-mode-hook #[0 "\300\207" [nil] 1] "A hook that gets run when `eshell-mode' is entered." eshell-first-time-mode-hook #[0 "\300\207" [nil] 1] "A hook that gets run the first time `eshell-mode' is entered.\nThat is to say, the first time during an Emacs session." eshell-exit-hook #[0 "\300\207" [nil] 1] "A hook that is run whenever `eshell' is exited.\nThis hook is only run if exiting actually kills the buffer." :version "24.1" eshell-kill-on-exit #[0 "\300\207" [t] 1] "If non-nil, kill the Eshell buffer on the `exit' command.\nOtherwise, the buffer will simply be buried." boolean eshell-input-filter-functions #[0 "\300\207" [nil] 1] "Functions to call before input is processed.\nThe input is contained in the region from `eshell-last-input-start' to\n`eshell-last-input-end'." eshell-send-direct-to-subprocesses #[0 "\300\207" [nil] 1] "If t, send any input immediately to a subprocess." eshell-expand-input-functions #[0 "\300\207" [nil] 1] "Functions to call before input is parsed.\nEach function is passed two arguments, which bounds the region of the\ncurrent input text." eshell-scroll-to-bottom-on-input #[0 "\300\207" [nil] 1] "Controls whether input to interpreter causes window to scroll.\nIf nil, then do not scroll. If t or `all', scroll all windows showing\nbuffer. If `this', scroll only the selected window.\n\nSee `eshell-preinput-scroll-to-bottom'." (radio (const :tag "Do not scroll Eshell windows" nil) (const :tag "Scroll all windows showing the buffer" all) (const :tag "Scroll only the selected window" this)) eshell-scroll-to-bottom-on-output #[0 "\300\207" [nil] 1] "Controls whether interpreter output causes window to scroll.\nIf nil, then do not scroll. If t or `all', scroll all windows showing\nbuffer. If `this', scroll only the selected window. If `others',\nscroll only those that are not the selected window.\n\nSee variable `eshell-scroll-show-maximum-output' and function\n`eshell-postoutput-scroll-to-bottom'." (radio (const :tag "Do not scroll Eshell windows" nil) (const :tag "Scroll all windows showing the buffer" all) (const :tag "Scroll only the selected window" this) (const :tag "Scroll all windows other than selected" others)) eshell-scroll-show-maximum-output #[0 "\300\207" [t] 1] "Controls how interpreter output causes window to scroll.\nIf non-nil, then show the maximum output when the window is scrolled.\n\nSee variable `eshell-scroll-to-bottom-on-output' and function\n`eshell-postoutput-scroll-to-bottom'." eshell-buffer-maximum-lines #[0 "\300\207" [1024] 1] "The maximum size in lines for eshell buffers.\nEshell buffers are truncated from the top to be no greater than this\nnumber, if the function `eshell-truncate-buffer' is on\n`eshell-output-filter-functions'." integer eshell-output-filter-functions #[0 "\300\207" [(eshell-postoutput-scroll-to-bottom eshell-handle-control-codes eshell-handle-ansi-color eshell-watch-for-password-prompt)] 1] "Functions to call before output is displayed.\nThese functions are only called for output that is displayed\ninteractively, and not for output which is redirected." eshell-preoutput-filter-functions #[0 "\300\207" [nil] 1] "Functions to call before output is inserted into the buffer.\nThese functions get one argument, a string containing the text to be\ninserted. They return the string as it should be inserted." eshell-password-prompt-regexp #[0 "\301\302\303!\"\207" [password-word-equivalents format "\\(%s\\).*:\\s *\\'" regexp-opt] 4] "Regexp matching prompts for passwords in the inferior process.\nThis is used by `eshell-watch-for-password-prompt'." regexp eshell-skip-prompt-function #[0 "\300\207" [nil] 1] "A function called from beginning of line to skip the prompt." (choice (const nil) function) defvaralias eshell-status-in-modeline eshell-status-in-mode-line (saved-value saved-variable-comment) put make-obsolete-variable "24.3" #[0 "\300\207" [t] 1] "If non-nil, let the user know a command is running in the mode line."] 10)
#@62 A variable which is non-nil the first time Eshell is loaded.
(defvar eshell-first-time-p t (#$ . 5880))
(defvar eshell-mode nil)
(defvar eshell-mode-map nil)
(defvar eshell-command-running-string "--")
(defvar eshell-command-map nil)
(defvar eshell-command-prefix nil)
(defvar eshell-last-input-start nil)
(defvar eshell-last-input-end nil)
(defvar eshell-last-output-start nil)
(defvar eshell-last-output-block-begin nil)
(defvar eshell-last-output-end nil)
(defvar eshell-currently-handling-window nil)
(define-abbrev-table 'eshell-mode-abbrev-table nil)
(defvar eshell-mode-syntax-table (byte-code "\300 \301\211\302W\203 \303\304#\210\211T\262\202 \305\262\211\306W\203, \303\304#\210\211T\262\202 \307\262\211\310W\203B \303\304#\210\211T\262\202/ \311\262\211\312W\203X \303\304#\210\211T\262\202E \303\313\314#\210\303\315\314#\210\303\316\314#\210\303\317\320#\210\303\321\320#\210\303\322\323#\210\303\324\323#\210\303\325\323#\210\303\326\304#\210\303\327\304#\210\303\330\331#\210\303\332\323#\210\303\333\334#\210\303\335\336#\210\303\337\340#\210\303\341\342#\210\303\311\343#\210\303\344\345#\210\303\307\346#\210\303\347\350#\210\351\352\353\354\355\356!\357\"\360\361%\362 \"\210\207" [make-syntax-table 0 48 modify-syntax-entry "_ " 58 65 91 97 123 128 32 " " 9 12 10 "> " 13 96 "' " 39 44 46 45 124 ". " 35 34 "\" " 92 "/ " 40 "() " 41 ")( " "(} " 125 "){ " "(] " 93 ")[ " map-char-table make-byte-code 514 ":\203 @\301Y\205( @z\302U?\202 \303Y\205( z\302U?\205( \304\305\300#\207" vconcat vector [128 119 256 modify-syntax-entry "_ "] 6 "\n\n(fn KEY VAL)" standard-syntax-table] 9))
#@146 Function added to `kill-buffer-hook' in Eshell buffers.
This runs the function `eshell-kill-processes-on-exit',
and the hook `eshell-exit-hook'.
(defalias 'eshell-kill-buffer-function #[0 "\301\302!\203 \302>\204 \302 \210\303\300!\207" [eshell-exit-hook fboundp eshell-query-kill-processes run-hooks] 2 (#$ . 7562)])
(defvar eshell-mode-hook nil)
(byte-code "\300\301N\204\f \302\300\301\303#\210\304\305!\204 \302\305\306\307#\210\300\207" [eshell-mode-hook variable-documentation put "Hook run after entering Eshell mode.\nNo problems result if this variable is not bound.\n`add-hook' automatically binds it. (This is true for all hook variables.)" boundp eshell-mode-map definition-name eshell-mode] 4)
(defvar eshell-mode-map (make-sparse-keymap))
(byte-code "\301\302N\204 \303\301\302\304\305!#\210\306\307!\204 \303\307\310\311#\210\312\313 !\210\307\302N\204- \303\307\302\304\314!#\210\306\300!\204B \303\300\310\311#\210\315\316\300\317\"\210!\210\300\302N\204P \303\300\302\304\320!#\210\303\311\321\317#\207" [eshell-mode-abbrev-table eshell-mode-map variable-documentation put purecopy "Keymap for `eshell-mode'." boundp eshell-mode-syntax-table definition-name eshell-mode (lambda (#1=#:def-tmp-var) (defvar eshell-mode-syntax-table #1#)) make-syntax-table "Syntax table for `eshell-mode'." (lambda (#1#) (defvar eshell-mode-abbrev-table #1#)) define-abbrev-table nil "Abbrev table for `eshell-mode'." derived-mode-parent] 5)
#@152 Emacs shell interactive mode.
This mode runs the hook `eshell-mode-hook', as the final or penultimate step
during initialization.
\{eshell-mode-map}
(defalias 'eshell-mode #[0 "\306\300!\210\307\310 \210\311\312\313!\210\314\f!\210
@\306\311!\210\307 \306\303!\210\315 \313!\210A\203J \306\316!\210\317!\306\320!\210\321>\211\203I \211\316\240\210\210\322\323\324#\210\322\325\326#\210\322\327\330#\210\322\331\332#\210\306\333!\210\334\335!\211\315 M\210\306\336!\210K\322\337#\210\340\341!\342=\203\216 \322\343\344#\210\322\345\346#\210\322\347\350#\210\322\351\332#\210\322\352\353#\210\322\354\355#\210\322\356\357#\210\322\360\361#\210\322\362\361#\210\322\363\364#\210\322\365\330#\210\322\366\367#\210\322\370\371#\210\322\372\373#\210\322\374\375#\210
@\306\376!\210\377B!>\306\201C !\210\201X C\201Y D\201Z \201E !\203\"\306\201E !\210\201Y E\201Z \201F !\2037\306\201F !\210\201Y F\306\201G !\210\201Y G\306\201H !\210\201[ H]H\306\201I !\210\201\\ H]I\306\201J !\210\201] J\306\201K !\210\201] K\306\201L !\210\201] L\306\201M !\210\201] M\306\201N !\210`N\317O!\306\201O !\210O\201^ PO\211\203\371\211@\201_ !\201Y \201` \201a \"\203\321\201b \201c \201d \"P\262\211\204\336\201e \201f \"\210\201g \201h !!\204\360\201i !\210\266A\266\202\202\252\210\201j Q!\2045Q\307\201k \201l \201m \201n \201o \201p !\201q \"\201r $\216\201s R!\210\201t \"\210)\266\201u \201v \201w !O\"\211\203\226\211@\201x \201y \201z \"!\201x \201y \201{ \"!\203~\201Z !\203~\211J>\203x\201Y \262\201| !\210\211\203\215\201} !\203\215\211 \210\266A\266\202\202B\210S\203\251\201~ \201 \201\200 \307\211$\210T\203\273\201~ \201 \201\201 \307\211$\210U\203\313\306\201V !\210\201\202 VA\203\356\201~ \201\203 \201\204 \201Y \307$\210\201~ \201\205 \201\206 \201Y \307$\210\201~ \201\207 \201\210 \307\211$\210W\203\201| \201\211 !\210\201| \201\205 !\210)\201\212 \201\213 !\207" [delay-mode-hooks major-mode mode-name eshell-mode-map eshell-mode-syntax-table eshell-mode-abbrev-table make-local-variable t kill-all-local-variables eshell-mode "Eshell" use-local-map set-syntax-table make-sparse-keymap eshell-command-running-string copy-sequence mode-line-format mode-line-modified define-key "
" eshell-send-input "\215" eshell-queue-input [(meta control 108)] eshell-show-output [(control 97)] eshell-bol eshell-command-prefix make-symbol "eshell-command-prefix" eshell-command-map [(control 99)] key-binding [(meta 46)] find-tag [(meta 46)] eshell-find-tag [(meta 111)] eshell-mark-output [(meta 100)] eshell-toggle-direct-send [(control 97)] [(control 98)] eshell-backward-argument [(control 101)] eshell-show-maximum-output [(control 102)] eshell-forward-argument [return] eshell-copy-old-input [(control 109)] [(control 111)] eshell-kill-output [(control 114)] [(control 116)] eshell-truncate-buffer [(control 117)] eshell-kill-input [(control 119)] backward-kill-word [(control 121)] eshell-repeat-argument list-buffers-directory expand-file-name local-abbrev-table eshell-status-in-mode-line default-directory tab-width auto-fill-function print-length print-level require-final-newline max-lisp-eval-depth max-specpdl-size eshell-last-input-start eshell-last-input-end eshell-last-output-start eshell-last-output-end eshell-last-output-block-begin eshell-modules-list bidi-paragraph-direction eshell-directory-name eshell-private-directory-modes eshell-send-direct-to-subprocesses eshell-scroll-to-bottom-on-input eshell-scroll-show-maximum-output scroll-conservatively eshell-first-time-p 8 nil boundp 3000 6000 point-marker left-to-right symbol-name string-match "^eshell-\\(.*\\)" "em-" match-string 1 error "Invalid Eshell module name: %s" featurep intern load file-exists-p default-file-modes make-byte-code 0 "\301\300!\207" vconcat vector [set-default-file-modes] 2 set-default-file-modes make-directory append eshell-subgroups eshell intern-soft format "%s-load-hook" "%s-initialize" run-hooks fboundp add-hook pre-command-hook eshell-intercept-commands eshell-preinput-scroll-to-bottom 1000 eshell-pre-command-hook eshell-command-started eshell-post-command-hook eshell-command-finished kill-buffer-hook eshell-kill-buffer-function eshell-first-time-mode-hook run-mode-hooks eshell-mode-hook] 10 (#$ . 9018) nil])
(put 'eshell-mode 'mode-class 'special)
#@55 Indicate in the mode line that a command has started.
(defalias 'eshell-command-started #[0 "\301\302 \207" [eshell-command-running-string "**" force-mode-line-update] 1 (#$ . 13424)])
#@56 Indicate in the mode line that a command has finished.
(defalias 'eshell-command-finished #[0 "\301\302 \207" [eshell-command-running-string "--" force-mode-line-update] 1 (#$ . 13616)])
(defalias 'eshell-toggle-direct-send #[0 "\203 \301\302\303\304\305#\210\306\307!\207\305\310\303\304\305\211$\210\306\311!\207" [eshell-send-direct-to-subprocesses nil remove-hook pre-command-hook eshell-intercept-commands t message "Sending subprocess input on RET" add-hook "Sending subprocess input directly"] 5 nil nil])
(defalias 'eshell-self-insert-command #[0 "\302\303 9\203 \304N\202 !\"\207" [eshell-last-async-proc last-command-event process-send-string char-to-string ascii-character] 5 nil nil])
(defalias 'eshell-intercept-commands #[0 "\205L \250\205\f \303>?\205L \304\n!\305\n!\306G\307V\203' \310\307O\311\232\204C \203C @G\312V\203< |