%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/eshell/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/eshell/esh-io.elc

;ELC
;;; Compiled
;;; in Emacs version 27.2
;;; 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&\210\313\314\315\316\317DD\320\321\322\323\324\311\304&	\210\313\325\315\316\326DD\327\323\330\311\304&\210\313\331\315\316\332DD\333\323\330\311\304&\210\313\334\315\316\335DD\336\323\330\311\304&\210\313\337\315\316\340DD\341\323\330\311\304&\210\313\342\315\316\343DD\344\323\345\311\304&\210\346\342\347\350#\207" [require esh-arg esh-util custom-declare-group eshell-io nil "Eshell's I/O management code provides a scheme for treating many\ndifferent kinds of objects -- symbols, files, buffers, etc. -- as\nthough they were files." :tag "I/O management" :group eshell custom-declare-variable eshell-io-load-hook funcall function #[0 "\300\207" [nil] 1] "A hook that gets run when `eshell-io' is loaded." :version "24.1" :type hook eshell-number-of-handles #[0 "\300\207" [3] 1] "The number of file handles that eshell supports.\nCurrently this is standard input, output and error.  But even all of\nthese Emacs does not currently support with asynchronous processes\n(which is what eshell uses so that you can continue doing work in\nother buffers) ." integer eshell-output-handle #[0 "\300\207" [1] 1] "The index of the standard output handle." eshell-error-handle #[0 "\300\207" [2] 1] "The index of the standard error handle." eshell-print-queue-size #[0 "\300\207" [5] 1] "The size of the print queue, for doing buffered printing.\nThis is basically a speed enhancement, to avoid blocking the Lisp code\nfrom executing while Emacs is redisplaying." eshell-virtual-targets #[0 "\300\207" [(("/dev/eshell" eshell-interactive-print nil) ("/dev/kill" (lambda (mode) (if (eq mode 'overwrite) (kill-new #1="")) 'eshell-kill-append) t) ("/dev/clip" (lambda (mode) (if (eq mode 'overwrite) (let ((select-enable-clipboard t)) (kill-new #1#))) 'eshell-clipboard-append) t))] 1] "Map virtual devices name to Emacs Lisp functions.\nIf the user specifies any of the filenames above as a redirection\ntarget, the function in the second element will be called.\n\nIf the third element is non-nil, the redirection mode is passed as an\nargument (which is the symbol `overwrite', `append' or `insert'), and\nthe function is expected to return another function -- which is the\noutput function.  Otherwise, the second element itself is the output\nfunction.\n\nThe output function is then called repeatedly with single strings,\nwhich represents successive pieces of the output of the command, until nil\nis passed, meaning EOF.\n\nNOTE: /dev/null is handled specially as a virtual target, and should\nnot be added to this variable." (repeat (list (string :tag "Target") function (choice (const :tag "Func returns output-func" t) (const :tag "Func is output-func" nil)))) put risky-local-variable t] 10)
(defvar eshell-current-handles nil)
#@56 The exit code from the last command.  0 if successful.
(defvar eshell-last-command-status 0 (#$ . 3217))
#@58 The result of the last command.  Not related to success.
(defvar eshell-last-command-result nil (#$ . 3328))
#@57 If non-nil, the current buffer is a file output buffer.
(defvar eshell-output-file-buffer nil (#$ . 3443))
#@36 Initialize the I/O subsystem code.
(defalias 'eshell-io-initialize #[0 "\300\301\302\303\304$\210\305\306!\210\300\307\310\303\304$\210\311\312\313\314B\315\303$\207" [add-hook eshell-parse-argument-hook eshell-parse-redirection nil t make-local-variable eshell-current-redirections eshell-pre-rewrite-command-hook eshell-strip-redirections advice--add-function :filter-return #[0 "\300\301!\207" [advice--buffer-local eshell-post-rewrite-command-function] 2] #[257 "\300\301\"\207" [advice--set-buffer-local eshell-post-rewrite-command-function] 4 "\n\n(fn GV--VAL)"] eshell--apply-redirections] 5 (#$ . 3556)])
#@44 Parse an output redirection, such as `2>'.
(defalias 'eshell-parse-redirection #[0 "?\205>\302\303!\205>	\203\304 \207\305\306!\305\307!\211\310\230\203\"\311\312!\210\304\313\203.\314!\206/\306\315\316GSHDE\317\225b\210!\266\202\207" [eshell-current-quoted eshell-current-argument looking-at "\\([0-9]\\)?\\(<\\|>+\\)&?\\([0-9]\\)?\\s-*" eshell-finish-arg match-string 1 2 "<" error "Eshell does not support input redirection" eshell-set-output-handle string-to-number quote [overwrite append insert] 0] 8 (#$ . 4176)])
#@55 Rewrite any output redirections in TERMS.

(fn TERMS)
(defalias 'eshell-strip-redirections #[257 "\301C\211A\211\203H\211@:\203\211@@\302=\204#\211A\262A\262\202\211A\204,\303\304!\210\305\306@A@C\"DC\244\210AA\241\210\211AA\262\202A\211\207" [eshell-current-redirections t eshell-set-output-handle error "Missing redirection target" ignore append] 8 (#$ . 4714)])
#@67 Apply any redirection which were specified for COMMAND.

(fn CMD)
(defalias 'eshell--apply-redirections #[257 "\203\f\301\302C\"B\207\207" [eshell-current-redirections progn append] 5 (#$ . 5107)])
#@321 Create a new set of file handles for a command.
The default location for standard output and standard error will go to
STDOUT and STDERR, respectively.
OUTPUT-MODE and ERROR-MODE are either `overwrite', `append' or `insert';
a nil value of mode defaults to `insert'.

(fn STDOUT OUTPUT-MODE &optional STDERR ERROR-MODE)
(defalias 'eshell-create-handles #[1026 "\303\304\"\305\"\305\"	\306BI\210\n\203\202\306BI\210\207" [eshell-number-of-handles eshell-output-handle eshell-error-handle make-vector nil eshell-get-target 1] 11 (#$ . 5316)])
#@67 Protect the handles in HANDLES from a being closed.

(fn HANDLES)
(defalias 'eshell-protect-handles #[257 "\301\211W\203H\203HHAT\241\210\211T\262\202\210\207" [eshell-number-of-handles 0] 5 (#$ . 5880)])
#@141 Close an output TARGET, passing STATUS as the result.
STATUS should be non-nil on successful termination of the output.

(fn TARGET STATUS)
(defalias 'eshell-close-target #[514 "9\203\301\207\302!\2032\303!\211\2051r\211q\210\2050\304 \210\305=\2050\204-\306\301!\210\307!)\207\310\311!\205<\311!\262\203M\312!\313=\205c\314!\207\315!\203W!\207:\205c\316@A#\207" [eshell-output-file-buffer nil markerp marker-buffer save-buffer t set-buffer-modified-p kill-buffer fboundp processp process-status run process-send-eof functionp apply] 6 (#$ . 6106)])
#@354 Close all of the current handles, taking refcounts into account.
EXIT-CODE is the process exit code; mainly, it is zero, if the command
completed successfully.  RESULT is the quoted value of the last
command.  If nil, then the meta variables for keeping track of the
last execution result should not be changed.

(fn EXIT-CODE &optional RESULT HANDLES)
(defalias 'eshell-close-handles #[769 "\304\203@\305=\204\306\307!\210A@\211\nW\203q\206!\211H\203i\211HHAS\241\210\211HA\304U\203i\211H@\211<\204N\310\304U\"\210\202b\211\203b\310@\304U\"\210\211A\262\202N\210\211H\311\240\210\210\211T\262\202\311\207" [eshell-last-command-status eshell-last-command-result eshell-number-of-handles eshell-current-handles 0 quote cl--assertion-failed (or (not result) (eq (car result) 'quote)) eshell-close-target nil] 10 (#$ . 6694)])
#@72 Call `kill-append' with STRING, if it is indeed a string.

(fn STRING)
(defalias 'eshell-kill-append #[257 "\211;\205	\300\301\"\207" [kill-append nil] 4 (#$ . 7561)])
#@72 Call `kill-append' with STRING, if it is indeed a string.

(fn STRING)
(defalias 'eshell-clipboard-append #[257 "\211;\205\f\301\302\303\")\207" [select-enable-clipboard t kill-append nil] 4 (#$ . 7737)])
#@198 Convert TARGET, which is a raw argument, into a valid output target.
MODE is either `overwrite', `append' or `insert'; if it is omitted or nil,
it defaults to `insert'.

(fn TARGET &optional MODE)
(defalias 'eshell-get-target #[513 "\211\206\304\262;\203d\305\"\211\203(\3068\203\"\211A@!\202c\211A@\202c\307!\310\311\"r\211q\210	\203=\312\313\"\210\314\315\303!\210=\203M\316\202N\311\317\267\202^\320 \210\202^db\210\321 )\266\202\207\322!\203\201rq\210\211\323\267\202}\320 \210\202}db\210\321 )\207\324!\203\211\314\2079\203\232\211\325=\203\230\314L\210\207\326\327!\205\244\327!\262\204\257\330!\203\261\207\312\331\332!\"\207" [eshell-virtual-targets buffer-file-read-only buffer-read-only eshell-output-file-buffer insert assoc 2 get-file-buffer find-file-noselect t error "Cannot write to read-only file `%s'" nil make-local-variable 0 #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (overwrite 85 append 91)) erase-buffer point-marker bufferp #s(hash-table size 2 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (overwrite 116 append 122)) functionp overwrite fboundp processp markerp "Invalid redirection target: %s" eshell-stringify] 8 (#$ . 7952)])
#@85 Set handle INDEX, using MODE, to point to TARGET.

(fn INDEX MODE &optional TARGET)
(defalias 'eshell-set-output-handle #[770 "\211\205e\211;\2030\303\300!\203\211\230\202\"\303\301!\203!\211	\230\202\"\304\204+\211\305\230\2030\n\304I\207\306\"\nH@\211<\203M\235\204M\307C\"\262\202QC\262\nH\204^\n\304\310BI\210\nH\240\266\202\207" [null-device grep-null-device eshell-current-handles boundp nil "/dev/null" eshell-get-target append 1] 9 (#$ . 9221)])
#@70 Return non-nil if current handles are bound for interactive display.
(defalias 'eshell-interactive-output-p #[0 "	H@\303=\205\nH@\303=\207" [eshell-current-handles eshell-output-handle eshell-error-handle t] 2 (#$ . 9710)])
(defvar eshell-print-queue nil)
(defvar eshell-print-queue-count -1)
#@59 Output OBJECT to the standard output handle.

(fn OBJECT)
(defalias 'eshell-print #[257 "\301\"\207" [eshell-output-handle eshell-output-object] 4 (#$ . 10013)])
(put 'eshell-print 'byte-optimizer 'byte-compile-inline-expand)
#@193 Flush out any lines that have been queued for printing.
Must be called before printing begins with -1 as its argument, and
after all printing is over with no argument.

(fn &optional RESET-P)
(defalias 'eshell-flush #[256 "\303\203\n\303\207\203\304\n\"\266\305\306!\210\207" [eshell-print-queue eshell-print-queue-count eshell-output-handle nil eshell-output-object eshell-flush 0] 6 (#$ . 10248)])
#@41 Initialize the buffered printing queue.
(defalias 'eshell-init-print-buffer #[0 "\300\301!\207" [eshell-flush -1] 2 (#$ . 10665)])
#@61 A buffered print -- *for strings only*.

(fn &rest STRINGS)
(defalias 'eshell-buffered-print #[128 "\304W\203\305\306\"\307	\"\266\304\211\207\nU\203\310 \210\305\306\"PT\211\207" [eshell-print-queue-count eshell-output-handle eshell-print-queue-size eshell-print-queue 0 apply concat eshell-output-object eshell-flush] 5 (#$ . 10802)])
#@58 Output OBJECT to the standard error handle.

(fn OBJECT)
(defalias 'eshell-error #[257 "\301\"\207" [eshell-error-handle eshell-output-object] 4 (#$ . 11160)])
(put 'eshell-error 'byte-optimizer 'byte-compile-inline-expand)
#@80 Output OBJECT followed by a newline to the standard error handle.

(fn OBJECT)
(defalias 'eshell-errorn #[257 "\211\301\"\266\302\301\"\207" [eshell-error-handle eshell-output-object "\n"] 5 (#$ . 11392)])
(put 'eshell-errorn 'byte-optimizer 'byte-compile-inline-expand)
#@81 Output OBJECT followed by a newline to the standard output handle.

(fn OBJECT)
(defalias 'eshell-printn #[257 "\211\301\"\266\302\301\"\207" [eshell-output-handle eshell-output-object "\n"] 5 (#$ . 11674)])
(byte-code "\300\301\302\303#\210\304\305\306\"\207" [put eshell-printn byte-optimizer byte-compile-inline-expand autoload eshell-output-filter "esh-mode"] 4)
#@108 Insert OBJECT into TARGET.
Returns what was actually sent, or nil if nothing was sent.

(fn OBJECT TARGET)
(defalias 'eshell-output-object-to-target #[514 "\300!\203
\211!\210\202\274\2119\203J\211\301=\203\"\302\303\304!\"\210\202\274\211J\204.\211L\210\202\274\304!\262\211J;\204@\211\304J!L\210\211JPL\210\202\274\305!\203\206\306\307!!\203\274r\307!q\210`U\212b\210;\204o\304!\262\310!\210\311 \303\223\210)\211\203\201b\210\210)\202\274\211\312\313!\205\220\313!\262\203\257\314!\315=\203\274;\204\247\304!\262\316\"\210\202\274\211:\203\274\317@A#\210\207" [functionp t eshell-output-filter nil eshell-stringify markerp buffer-live-p marker-buffer insert-and-inherit point-marker fboundp processp process-status run process-send-string apply] 6 (#$ . 12053)])
#@94 Insert OBJECT, using HANDLE-INDEX specifically).

(fn OBJECT &optional HANDLE-INDEX HANDLES)
(defalias 'eshell-output-object #[769 "\211\206\206\n	H@\211\203\211<\204\302\"\202-\211\205-\302@\"\210\211A\262\202\207" [eshell-current-handles eshell-output-handle eshell-output-object-to-target] 7 (#$ . 12877)])
(provide 'esh-io)

Zerion Mini Shell 1.0