MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.221.20.252
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/eshell/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/eshell/esh-mode.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:54 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/eshell/esh-mode.el
;;; in Emacs version 24.3.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 "\302\303!\210\304\305!\210\304\306!\210\304\307!\210\304\310!\210\311\312\313\314\315\316\317\320&\210\321\322\313\323\324\325\317\312&\210\321\326\313\327\324\325\317\312&\210\321\330\313\331\324\325\317\312&\210\321\332\313\333\334\335\324\325\317\312&	\210\321\336\337\340\324\341\317\312&\210\321\342\313\343\324\325\317\312&\210\321\344\313\345\324\341\317\312&\210\321\346\313\347\324\325\317\312&\210\321\350\313\351\324\352\317\312&\210\321\353\313\354\324\355\317\312&\210\321\356\337\357\324\341\317\312&\210\321\360\361\362\324\363\317\312&\210\321\364\365\366\324\325\317\312&\210\321\367\313\370\324\325\317\312&\210\321\371\372\373\324\374\317\312&\210\321\375\313\376\324\377\317\312&\210\201@\201A\201B\313#\210\201C\313\211\203	@\201AN\203\201BN\204\201D\201B\201AN#\210	A\211\204\347*\201E\201A\201B\201F#\210\321\201B\337\201G\324\341\317\312&\207" [prop --dolist-tail-- provide esh-mode require 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 "A hook that gets run when `eshell-mode' is unloaded." :type hook eshell-mode-hook "A hook that gets run when `eshell-mode' is entered." eshell-first-time-mode-hook "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 "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 t "If non-nil, kill the Eshell buffer on the `exit' command.\nOtherwise, the buffer will simply be buried." boolean eshell-input-filter-functions "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 "If t, send any input immediately to a subprocess." eshell-expand-input-functions "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 "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 "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" this)) eshell-scroll-show-maximum-output "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 1024 "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 '(eshell-postoutput-scroll-to-bottom eshell-handle-control-codes eshell-handle-ansi-color eshell-watch-for-password-prompt) "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 "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 "[Pp]ass\\(word\\|phrase\\).*:\\s *\\'" "Regexp matching prompts for passwords in the inferior process.\nThis is used by `eshell-watch-for-password-prompt'." regexp eshell-skip-prompt-function "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" "If non-nil, let the user know a command is running in the mode line."] 11)
#@62 A variable which is non-nil the first time Eshell is loaded.
(defvar eshell-first-time-p t (#$ . 5388))
(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)
(defvar eshell-mode-syntax-table nil)
(defvar eshell-mode-abbrev-table nil)
(byte-code "\302\303\304\"\210\204\337\305\306 	\307W\203!\310	\311#\210	T\211\202\312\211\313W\2036\310	\311#\210	T\211\202$\314\211\315W\203K\310	\311#\210	T\211\2029\316\211\317W\203`\310	\311#\210	T\211\202N\310\320\321#\210\310\322\321#\210\310\323\321#\210\310\324\325#\210\310\326\325#\210\310\327\330#\210\310\331\330#\210\310\332\330#\210\310\333\311#\210\310\334\311#\210\310\335\336#\210\310\337\330#\210\310\340\341#\210\310\342\343#\210\310\344\345#\210\310\346\347#\210\310\316\350#\210\310\351\352#\210\310\314\353#\210\310\354\355#\210\356\357\360 \"\210)\304\207" [eshell-mode-syntax-table i define-abbrev-table eshell-mode-abbrev-table nil 0 make-syntax-table 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 #[(key val) ":\203@\302Y\205(@z\303U?\202 \304Y\205(z\303U?\205(\305\306	#\207" [key eshell-mode-syntax-table 128 119 256 modify-syntax-entry "_   "] 4] standard-syntax-table] 5)
#@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 #[nil "\301\302!\203\302>\204\302 \210\303\300!\207" [eshell-exit-hook fboundp eshell-query-kill-processes run-hooks] 2 (#$ . 7095)])
#@51 Emacs shell interactive mode.

\{eshell-mode-map}
(defalias 'eshell-mode #[nil "\306 \210\302\307\310\302!\210\311\310\303!\210\312 \313!\210\f\203<\310\314!\210\315
!@\310\305!\210@)\316
>\211A\203;A\314\240\210)\317\320\321#\210\317\322\321#\210\317\323\321#\210\317\324\325#\210\317\326\325#\210\317\327\330#\210\317\331\332#\210\310\333!\210\334\335!\211\312 M\210\310\336!\210K\317\337#\210\340\341!\342=\203\222\317\343\344#\210\317\345\346#\210\317\347\350#\210\317\351\332#\210\317\352\353#\210\317\354\355#\210\317\356\357#\210\317\360\361#\210\317\362\361#\210\317\363\364#\210\317\365\330#\210\317\366\367#\210\317\370\371#\210\317\372\373#\210\317\374\375#\210BC\376D!\210\310\377!\210E?\310\201F!\210\201eE!F\310\201G!\210\201fG\201gH\201h\201I!\2038\310\201I!\210\201gI\201h\201J!\203M\310\201J!\210\201gJ\310\201K!\210\201gK\310\201L!\210\201iL]L\310\201M!\210\201jL]M\310\201N!\210\201k N\310\201O!\210\201k O\310\201P!\210\201k P\310\201Q!\210\201k Q\310\201R!\210`R\315S!T\310\201S!\210TS)S\201gU\211V\203%V@U\201lU!\201gWX\201m\201nX\"\203\370\201o\201p\201qX\"PWW\204\201r\201sX\"\210\201t\201uW!!\204\201vW!\210*VA\211V\204\313*\201wY!\204QY\311Z[\201x \\\201y]!\210\201z\216\201{[Z\"\210,\201|\201}\201~!S\"\201gU\211V\203\312V@U\201\201\200\201\201U\"!\201\201\200\201\202U\"!^\211_\203\256\201h_!\203\256^_J>\203\247\201g^\201\203_!\210^\203\300\201\204^!\203\300^ \210*VA\211V\204i*`\203\335\201\205\201\206\201\207\311\211$\210a\203\357\201\205\201\206\201\210\311\211$\210b\203\377\310\201c!\210\201\211c\f\203!\201\205\201\212\201\213\201g\311$\210\201\205\201\214\201\215\201g\311$\210\201\205\201\216\201\217\311\211$\210d\203;\201\203\201\220!\210\201\221\201\222!\210\201\203\201\214!\207" [major-mode mode-name eshell-mode eshell-mode-map eshell-status-in-mode-line mode-line-format kill-all-local-variables "EShell" make-local-variable t make-sparse-keymap use-local-map eshell-command-running-string copy-sequence mode-line-modified define-key [return] eshell-send-input [(control 109)] [(control 106)] [(meta return)] eshell-queue-input [(meta control 109)] [(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 set-syntax-table dired-directory fmt mode-line-elt eshell-mode-abbrev-table local-abbrev-table eshell-mode-syntax-table default-directory list-buffers-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 modules-list module --dolist-tail-- module-shortname module-fullname eshell-directory-name parents dir modes eshell-private-directory-modes initfunc load-hook eshell-send-direct-to-subprocesses eshell-scroll-to-bottom-on-input eshell-scroll-show-maximum-output scroll-conservatively eshell-first-time-p expand-file-name 8 nil boundp 3000 6000 point-marker symbol-name string-match "^eshell-\\(.*\\)" "em-" match-string 1 error "Invalid Eshell module name: %s" featurep intern load file-exists-p default-file-modes set-default-file-modes ((set-default-file-modes 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] 6 (#$ . 7424)])
(put 'eshell-mode 'mode-class 'special)
#@55 Indicate in the mode line that a command has started.
(defalias 'eshell-command-started #[nil "\301\302 \207" [eshell-command-running-string "**" force-mode-line-update] 1 (#$ . 11890)])
#@56 Indicate in the mode line that a command has finished.
(defalias 'eshell-command-finished #[nil "\301\302 \207" [eshell-command-running-string "--" force-mode-line-update] 1 (#$ . 12084)])
(defalias 'eshell-toggle-direct-send #[nil "\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 #[(N) "\302\303	9\203	\304N\202	!\"\207" [eshell-last-async-proc last-command-event process-send-string char-to-string ascii-character] 5 nil "i"])
(defalias 'eshell-intercept-commands #[nil "\205M	\250\205\f	\306>?\205M\307\n!\310\n!\311\fG\312V\203*\f\313\312O\314\232\204E
\203E
@G\315V\203>\316\211\211\202+
A\211\204.\205L\317\211+\207" [eshell-last-async-proc last-input-event this-command intercept name possible-events (24 3) where-is-internal symbol-name t 7 0 "eshell-" 1 nil eshell-self-insert-command] 4])
#@61 A special version of `find-tag' that ignores read-onlyness.
(defalias 'eshell-find-tag #[(&optional tagname next-p regexp-p) "\306\307!\210\310m\311\312\313	\"@\314\f
#+\207" [find-tag-default-function no-default inhibit-read-only tagname next-p regexp-p require etags t ignore find-tag-interactive "Find tag: " find-tag] 4 (#$ . 13192) nil])
#@29 Move forward ARG arguments.
(defalias 'eshell-move-argument #[(limit func property arg) "\305\306\215\210\212\307!\210	\310V\203,`\nU\204,\311`\"\203	S	\310V\203	\307!\210\202	`)\211b\210\312=\205A\fT\nU\205A\307u)\207" [func arg limit property pos eshell-incomplete (byte-code "\300\212\301 \210`)\302 \"\207" [eshell-parse-arguments eshell-bol line-end-position] 3) 1 0 get-text-property forward-char] 4 (#$ . 13546)])
#@29 Move forward ARG arguments.
(defalias 'eshell-forward-argument #[(&optional arg) "\301d\302\303$\207" [arg eshell-move-argument forward-char arg-end] 5 (#$ . 13987) "p"])
#@30 Move backward ARG arguments.
(defalias 'eshell-backward-argument #[(&optional arg) "\301e\302\303$\207" [arg eshell-move-argument backward-char arg-begin] 5 (#$ . 14165) "p"])
(defalias 'eshell-repeat-argument #[(&optional arg) "\212\302!\210`)\303	`\"\210\304 )\207" [arg begin eshell-backward-argument kill-ring-save yank] 3 nil "p"])
#@68 Goes to the beginning of line, then skips past the prompt, if any.
(defalias 'eshell-bol #[nil "\301 \210\205	 \207" [eshell-skip-prompt-function beginning-of-line] 1 (#$ . 14511) nil])
#@48 Push a mark at the end of the last input text.
(defalias 'eshell-push-command-mark #[nil "\301S\302\"\207" [eshell-last-input-end push-mark t] 3 (#$ . 14706)])
(byte-code "\300\301\302\303#\210\304\305\301\"\207" [put eshell-push-command-mark byte-optimizer byte-compile-inline-expand custom-add-option eshell-pre-command-hook] 4)
#@130 Goto the start of the last command input.
Putting this function on `eshell-pre-command-hook' will mimic Plan 9's
9term behavior.
(defalias 'eshell-goto-input-start #[nil "b\207" [eshell-last-input-start] 1 (#$ . 15045)])
(byte-code "\300\301\302\303#\210\304\305\306\"\207" [put eshell-goto-input-start byte-optimizer byte-compile-inline-expand custom-add-option eshell-pre-command-hook eshell-push-command-mark] 4)
#@44 Print STRING to the eshell display buffer.
(defalias 'eshell-interactive-print #[(string) "\301\302\"\207" [string eshell-output-filter nil] 3 (#$ . 15468)])
(put 'eshell-interactive-print 'byte-optimizer 'byte-compile-inline-expand)
#@62 This function outputs a newline if not at beginning of line.
(defalias 'eshell-begin-on-new-line #[nil "\212b\210n\206\302\303\304	\"))\207" [eshell-last-output-end string "\n" eshell-output-filter nil] 3 (#$ . 15709)])
(put 'eshell-begin-on-new-line 'byte-optimizer 'byte-compile-inline-expand)
#@130 Output a prompt on a new line, aborting any current input.
If NO-HOOKS is non-nil, then `eshell-post-command-hook' won't be run.
(defalias 'eshell-reset #[(&optional no-hooks) "db\210\306 \306 \306 `\306 \212\fb\210n\206 \307\310\311
\"))\210\f?\205.\312\313!\210db\207" [eshell-last-input-start eshell-last-input-end eshell-last-output-start eshell-last-output-block-begin eshell-last-output-end string point-marker "\n" eshell-output-filter nil run-hooks eshell-post-command-hook no-hooks] 3 (#$ . 16016)])
(put 'eshell-reset 'byte-optimizer 'byte-compile-inline-expand)
#@404 Parse the command input from BEG to END.
The difference is that `eshell-parse-command' expects a complete
command string (and will error if it doesn't get one), whereas this
function will inform the caller whether more input is required.

If nil is returned, more input is necessary (probably because a
multi-line input string wasn't terminated properly).  Otherwise, it
will return the parsed command.
(defalias 'eshell-parse-command-input #[(beg end &optional args) "\302\211\303\304\215\211\203\302\305\306	<\203	@\202	\"\210\202 *\207" [command delim nil eshell-incomplete (byte-code "\304\305	B\n\306#\207" [beg end args command nil eshell-parse-command t] 5) message "Expecting completion of delimiter %c ..."] 4 (#$ . 16605)])
#@66 Update the input and output markers relative to point and PMARK.
(defalias 'eshell-update-markers #[(pmark) "	\304\223\210\n`\304\223\210`\304\223\207" [eshell-last-input-start pmark eshell-last-input-end eshell-last-output-end nil] 3 (#$ . 17358)])
#@145 Queue the current input text for execution by Eshell.
Particularly, don't send the text to the current process, even if it's
waiting for input.
(defalias 'eshell-queue-input #[(&optional use-region) "\301\302\"\207" [use-region eshell-send-input t] 3 (#$ . 17617) "P"])
#@612 Send the input received to Eshell for parsing and processing.
After `eshell-last-output-end', sends all text from that marker to
point as input.  Before that marker, calls `eshell-get-old-input' to
retrieve old input, copies it to the end of the buffer, and sends it.

If USE-REGION is non-nil, the current region (between point and mark)
will be used as input.

If QUEUE-P is non-nil, input will be queued until the next prompt,
rather than sent to the currently active process.  If no process, the
input is processed immediately.

If NO-NEWLINE is non-nil, the input is sent without an implied final
newline.
(defalias 'eshell-send-input #[(&optional use-region queue-p no-newline) "\205	?\306\307\211\205\310!\311=??\205\212\f\204#`
Y\203)db\210\2028\312!
b\210\313!\210)\204J\203F\f\204J\314\315!\210\f\203v\316
!\210\204_U\203l?\205\212\317\320\"\202\212\321#\202\212
`U\203\202\322\323!\202\212\307\324\325\326\217)+\207" [eshell-last-async-proc queue-p after-change-functions inhibit-point-motion-hooks proc-running-p eshell-last-output-end t nil process-status run eshell-get-old-input insert-and-inherit insert-before-markers-and-inherit 10 eshell-update-markers process-send-string "\n" process-send-region run-hooks eshell-post-command-hook err (byte-code "\305`S\"\306\307`S#\210\310`S\"\211\205-\311!\210\305\fS\"\312\313!\210\314\315\215\205-\316 )\207" [eshell-last-output-end input cmd eshell-last-input-start eshell-last-input-end buffer-substring-no-properties run-hook-with-args eshell-expand-input-functions eshell-parse-command-input eshell-update-markers run-hooks eshell-input-filter-functions eshell-terminal (byte-code "\302\303	\"\203
\304!\210\207\305	\"\210\207" [cmd input nil eshell-invoke-directly eval eshell-eval-command] 4) eshell-life-is-too-much] 5) ((quit (byte-code "\306db\210\307 \307 \307 `\307 \212
b\210n\206$\310\311\312\"))\210?\2051\313\314!\210db)\210\313\314!\210\315\316\312\"\207" [no-hooks eshell-last-input-start eshell-last-input-end eshell-last-output-start eshell-last-output-block-begin eshell-last-output-end t point-marker #1="\n" eshell-output-filter nil run-hooks eshell-post-command-hook signal quit string] 3)) (error (byte-code "\306db\210\307 \307 \307 `\307 \212
b\210n\206$\310\311\312\"))\210?\2051\313\314!\210db)\210\315!\310P\311\312\")\210\313\314!\210\316!\207" [no-hooks eshell-last-input-start eshell-last-input-end eshell-last-output-start eshell-last-output-block-begin eshell-last-output-end t point-marker #1# eshell-output-filter nil run-hooks eshell-post-command-hook error-message-string insert-and-inherit string err input] 3))) use-region copy no-newline eshell-send-direct-to-subprocesses eshell-last-input-start eshell-last-input-end input] 5 (#$ . 17895) "P"])
#@43 Add the last input text to the kill ring.
(defalias 'eshell-kill-new #[nil "\302	\"\207" [eshell-last-input-start eshell-last-input-end kill-ring-save] 3 (#$ . 20746)])
(byte-code "\300\301\302\303#\210\304\305\301\"\207" [put eshell-kill-new byte-optimizer byte-compile-inline-expand custom-add-option eshell-input-filter-functions] 4)
#@125 Send the output from PROCESS (STRING) to the interactive display.
This is done after all necessary filtering has been done.
(defalias 'eshell-output-filter #[(process string) "\203\n\306!\202p\307\310\f\211\203)\203)
@!
A\211\204)\205\322\205\322\311!\205\322\310\211\211rq\210`ed\310G\310~\210b\210``X\203q\\`W\203\\`X\203\215\\\312!\210\313\314 !`U\203\244\315\314 `Z\"\210`U\203\264\211Z\310\223\210\310\223\210`\310\223\210\316 \210+}\210b\210\317 ,+\207" [process after-change-functions inhibit-point-motion-hooks oprocbuf eshell-preoutput-filter-functions functions process-buffer t nil buffer-name insert-before-markers window-start selected-window set-window-start force-mode-line-update eshell-run-output-filters string oend obeg opoint ostart nchars buffer-read-only eshell-last-output-end eshell-last-input-end eshell-last-output-start] 5 (#$ . 21091)])
#@65 Run the `eshell-output-filter-functions' on the current output.
(defalias 'eshell-run-output-filters #[nil "r\302\303!\210)\304!\211\207" [eshell-last-output-end eshell-last-output-block-begin run-hooks eshell-output-filter-functions marker-position] 2 (#$ . 22066)])
#@365 Go to the end of buffer in all windows showing it.
Movement occurs if point in the selected window is not after the
process mark, and `this-command' is an insertion command.  Insertion
commands recognized are `self-insert-command', `yank', and
`hilit-yank'.  Depends on the value of
`eshell-scroll-to-bottom-on-input'.

This function should be a pre-command hook.
(defalias 'eshell-preinput-scroll-to-bottom #[nil "\306>\205$\307 p`
W\205#\f\310=\203db\202#\311\312\313\314#+\207" [this-command selected current eshell-scroll-to-bottom-on-input scroll eshell-last-output-end (self-insert-command yank hilit-yank) selected-window this walk-windows #[(window) "\304!	=\205\n\305=\204\n\306=\205\307!\210db\210\307!\207" [window current scroll selected window-buffer t all select-window] 2] nil t] 4 (#$ . 22343)])
#@292 Go to the end of buffer in all windows showing it.
Does not scroll if the current line is the last line in the buffer.
Depends on the value of `eshell-scroll-to-bottom-on-output' and
`eshell-scroll-show-maximum-output'.

This function should be in the list `eshell-output-filter-functions'.
(defalias 'eshell-postoutput-scroll-to-bottom #[nil "\304 p\n\305\216\306\307\310\311#,\207" [selected current eshell-scroll-to-bottom-on-output scroll selected-window ((set-buffer current)) walk-windows #[(window) "\306!	=\205V\307!\210`\nW\203?\310=\204<\311=\204<\312=\203*\f=\204<\313=\2036\f=\203<`
Y\203?\nb\210\203S`\nY\203S\212db\210\314\315!\210)\307\f!\207" [window current eshell-last-output-end scroll selected eshell-last-output-start window-buffer select-window t all this others recenter -1 eshell-scroll-show-maximum-output] 2] nil t] 4 (#$ . 23181)])
#@57 Return the location of the start of the previous input.
(defalias 'eshell-beginning-of-input #[nil "\207" [eshell-last-input-start] 1 (#$ . 24070)])
#@62 Return the location of the end of the previous output block.
(defalias 'eshell-beginning-of-output #[nil "\207" [eshell-last-input-end] 1 (#$ . 24226)])
#@62 Return the location of the end of the previous output block.
(defalias 'eshell-end-of-output #[nil "\304\211	>)\203\n\207\207" [module eshell-modules-list eshell-last-output-start eshell-last-output-end eshell-prompt] 3 (#$ . 24386)])
#@80 Kill all output from interpreter since last input.
Does not delete the prompt.
(defalias 'eshell-kill-output #[nil "\212\300 b\210\301c\210`\302 |)\207" [eshell-beginning-of-output "*** output flushed ***\n" eshell-end-of-output] 2 (#$ . 24631) nil])
#@190 Display start of this batch of interpreter output at top of window.
Sets mark to the value of point when this command is run.
With a prefix argument, narrows region to last command output.
(defalias 'eshell-show-output #[(&optional arg) "\301 b\210\302\303 \212\304 b\210\305 )\"\210\203\301 \306 }\210\306 \207" [arg eshell-beginning-of-output set-window-start selected-window eshell-beginning-of-input line-beginning-position eshell-end-of-output] 3 (#$ . 24889) "P"])
#@190 Display start of this batch of interpreter output at top of window.
Sets mark to the value of point when this command is run.
With a prefix argument, narrows region to last command output.
(defalias 'eshell-mark-output #[(&optional arg) "\301\302!!\207" [arg push-mark eshell-show-output] 3 (#$ . 25370) "P"])
#@63 Kill all text from last stuff output by interpreter to point.
(defalias 'eshell-kill-input #[nil "`V\203\302`\"\207`\303 \210\302`	\")\207" [eshell-last-output-end here kill-region eshell-bol] 3 (#$ . 25687) nil])
#@104 Put the end of the buffer at the bottom of the window.
When run interactively, widen the buffer first.
(defalias 'eshell-show-maximum-output #[(&optional interactive) "\203~\210db\210\301\302!\207" [interactive recenter -1] 2 (#$ . 25913) "p"])
#@47 Return the command input on the current line.
(defalias 'eshell-get-old-input #[(&optional use-current-region) "\203`\303 ^`\303 ]{\207\212\304 \210	\203	 \210`\305\210\n`{*\207" [use-current-region eshell-skip-prompt-function beg mark beginning-of-line nil] 3 (#$ . 26167)])
#@67 Insert after prompt old input at point as new input to be edited.
(defalias 'eshell-copy-old-input #[nil "\302 	b\210\303!)\207" [input eshell-last-output-end eshell-get-old-input insert-and-inherit] 2 (#$ . 26456) nil])
#@70 Leave or kill the Eshell buffer, depending on `eshell-kill-on-exit'.
(defalias 'eshell/exit #[nil "\300\301\302\"\207" [throw eshell-terminal t] 3 (#$ . 26685)])
#@57 Kill the current buffer (or bury it).  Good-bye Eshell.
(defalias 'eshell-life-is-too-much #[nil "\204\301 \207\302p!\207" [eshell-kill-on-exit bury-buffer kill-buffer] 2 (#$ . 26853) nil])
#@133 Truncate the buffer to `eshell-buffer-maximum-lines'.
This function could be on `eshell-output-filter-functions' or bound to
a key.
(defalias 'eshell-truncate-buffer #[nil "\212b\210\305\306`\"\307[y\210\310 \210`o\203$\311\312!\2056\313\314!\2026e`|\210\311\312!\2056\313\315\n\f\316\245$,\207" [eshell-last-output-end inhibit-read-only lines eshell-buffer-maximum-lines pos count-lines 1 t beginning-of-line called-interactively-p interactive message "Buffer too short to truncate" "Truncated buffer from %d to %d lines (%.1fk freed)" 1024.0] 6 (#$ . 27053) nil])
(custom-add-option 'eshell-output-filter-functions 'eshell-truncate-buffer)
#@91 Read a string without echoing.
Then send it to the process running in the current buffer.
(defalias 'eshell-send-invisible #[(str) "\302\303\304\305!\"!\211;\203\306	\307P\"\202\310\311!)\207" [eshell-last-async-proc str read-passwd format "%s Password: " process-name process-send-string "\n" message "Warning: text will be echoed"] 6 (#$ . 27711) "P"])
#@311 Prompt in the minibuffer for password and send without echoing.
This function uses `eshell-send-invisible' to read and send a password to the
buffer's process if STRING contains a password prompt defined by
`eshell-password-prompt-regexp'.

This function could be in the list `eshell-output-filter-functions'.
(defalias 'eshell-watch-for-password-prompt #[nil "\205\212	b\210\304 \210\305\n\306#\205\307\310!)\207" [eshell-last-async-proc eshell-last-output-block-begin eshell-password-prompt-regexp eshell-last-output-end beginning-of-line re-search-forward t eshell-send-invisible nil] 4 (#$ . 28080)])
(custom-add-option 'eshell-output-filter-functions 'eshell-watch-for-password-prompt)
#@51 Act properly when certain control codes are seen.
(defalias 'eshell-handle-control-codes #[nil "\212`	b\210l\204
\305 \210`\nW\205u\306f\211\307=\203M`T\nW\203@`Tf\310>\2032\311\312!\210\202q`T\305 \210`\f|\210)\202q\313``T\314#\210\306u\210\202q\315=\203]\311\312!\210\316 \210\202q\317=\203n\320\312!\210\311\312!\210\202q\306u\210)\202
*\207" [orig eshell-last-output-block-begin eshell-last-output-end char end beginning-of-line nil 13 (10 13) delete-char 1 add-text-properties (invisible t) 7 beep 8 delete-backward-char] 5 (#$ . 28783)])
(byte-code "\300\301\302\"\210\303\304\305\"\207" [custom-add-option eshell-output-filter-functions eshell-handle-control-codes autoload ansi-color-apply-on-region "ansi-color"] 3)
#@26 Handle ANSI color codes.
(defalias 'eshell-handle-ansi-color #[nil "\302	\"\207" [eshell-last-output-start eshell-last-output-end ansi-color-apply-on-region] 3 (#$ . 29532)])
(custom-add-option 'eshell-output-filter-functions 'eshell-handle-ansi-color)

MMCT - 2023