%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/eshell/ |
Current File : //usr/local/share/emacs/27.2/lisp/eshell/esh-proc.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\302\303\304\305\306\307\310\311&\210\312\313\314\315\316DD\317\320\321\322\323\310\303& \210\312\324\314\315\325DD\326\322\327\310\303&\210\312\330\314\315\331DD\332\322\327\310\303&\210\312\333\314\315\334DD\335\322\336\310\303&\210\312\337\314\315\340DD\341\322\336\310\303&\210\312\342\314\315\343DD\344\322\345\310\303&\210\312\346\314\315\347DD\350\322\323\310\303&\210\312\351\314\315\352DD\353\320\321\322\323\310\303& \207" [require esh-io custom-declare-group eshell-proc nil "When Eshell invokes external commands, it always does so\nasynchronously, so that Emacs isn't tied up waiting for the process to\nfinish." :tag "Process management" :group eshell custom-declare-variable eshell-proc-load-hook funcall function #[0 "\300\207" [nil] 1] "A hook that gets run when `eshell-proc' is loaded." :version "24.1" :type hook eshell-process-wait-seconds #[0 "\300\207" [0] 1] "The number of seconds to delay waiting for a synchronous process." integer eshell-process-wait-milliseconds #[0 "\300\207" [50] 1] "The number of milliseconds to delay waiting for a synchronous process." eshell-done-messages-in-minibuffer #[0 "\300\207" [t] 1] "If non-nil, subjob \"Done\" messages will display in minibuffer." boolean eshell-delete-exited-processes #[0 "\300\207" [t] 1] "If nil, process entries will stick around until `jobs' is run.\nThis variable sets the buffer-local value of `delete-exited-processes'\nin Eshell buffers.\n\nThis variable causes Eshell to mimic the behavior of bash when set to\nnil. It allows the user to view the exit status of a completed subjob\n(process) at their leisure, because the process entry remains in\nmemory until the user examines it using \\[list-processes].\n\nOtherwise, if `eshell-done-messages-in-minibuffer' is nil, and this\nvariable is set to t, the only indication the user will have that a\nsubjob is done is that it will no longer appear in the\n\\[list-processes\\] display.\n\nNote that Eshell will have to be restarted for a change in this\nvariable's value to take effect." eshell-reset-signals #[0 "\300\207" [#1="^\\(interrupt\\|killed\\|quit\\|stopped\\)"] 1 #1#] "If a termination signal matches this regexp, the terminal will be reset." regexp eshell-exec-hook #[0 "\300\207" [nil] 1] "Called each time a process is exec'd by `eshell-gather-process-output'.\nIt is passed one argument, which is the process that was just started.\nIt is useful for things that must be done each time a process is\nexecuted in an eshell mode buffer (e.g., `set-process-query-on-exit-flag').\nIn contrast, `eshell-mode-hook' is only executed once, when the buffer\nis created." eshell-kill-hook #[0 "\300\207" [nil] 1] "Called when a process run by `eshell-gather-process-output' has ended.\nIt is passed two arguments: the process that was just ended, and the\ntermination status (as a string). Note that the first argument may be\nnil, in which case the user attempted to send a signal, but there was\nno relevant process. This can be used for displaying help\ninformation, for example."] 10) (defvar eshell-current-subjob-p nil) #@47 A list of the current status of subprocesses. (defvar eshell-process-list nil (#$ . 3516)) #@173 Function run when killing a process. Runs `eshell-reset-after-proc' and `eshell-kill-hook', passing arguments PROC and STATUS to functions on the latter. (fn PROC STATUS) (defalias 'eshell-kill-process-function #[514 "\301>\203 \302\301\"\301!\210\303\300#\207" [eshell-kill-hook eshell-reset-after-proc delq run-hook-with-args] 6 (#$ . 3614)]) #@39 Initialize the process handling code. (defalias 'eshell-proc-initialize #[0 "\301\302!\210\303\304\305#\210\303\306\307#\210\303\310\311#\210\303\312\313#\210\303\314\315#\210\303\316\317#\207" [eshell-command-map make-local-variable eshell-process-list define-key [(meta 105)] eshell-insert-process [(control 99)] eshell-interrupt-process [(control 107)] eshell-kill-process [(control 100)] eshell-send-eof-to-process [(control 115)] list-processes [(control 92)] eshell-quit-process] 4 (#$ . 3973)]) #@158 Reset the command input location after a process terminates. The signals which will cause this to happen are matched by `eshell-reset-signals'. (fn STATUS) (defalias 'eshell-reset-after-proc #[257 "\211;\205 \301\"\205 \302\303!\210\304 \207" [eshell-reset-signals string-match require esh-mode eshell-reset] 4 (#$ . 4488)]) #@63 Wait until PROC has successfully completed. (fn &rest PROCS) (defalias 'eshell-wait-for-process #[128 "\211\2053 \211@\211\303\304!\205 \304!\262\203+ \211\236\203+ \305 \203# \306 \210\307 \n\"\210\202 \210\211A\262\202 \207" [eshell-process-list eshell-process-wait-seconds eshell-process-wait-milliseconds fboundp processp input-pending-p discard-input sit-for] 5 (#$ . 4824)]) (defalias 'eshell/wait 'eshell-wait-for-process) #@52 List processes, if there are any. (fn &rest ARGS) (defalias 'eshell/jobs #[128 "\300\301!\205 \301 \205 \302 \207" [fboundp process-list list-processes] 3 (#$ . 5268)]) #@157 Kill processes. Usage: kill [-<signal>] <pid>|<process> ... Accepts PIDs and process objects. Optionally accept signals and signal names. (fn &rest ARGS) (defalias 'eshell/kill #[128 "\301@\302\211;\203. \303\304\"\203 \305\306!!\262\202* \303\307\"\203* \310\311\312\"!\262A\262)\210\203\215 @\313\314!\205? \314!\262\203K \315@!\202O \306@!\211\203\205 \211\204^ \316\317!\210\202\205 \211\247\204m \316\320\321!\"\210\202\205 \211\247\203\200 \211\322X\203\200 \316\323\"\210\202\205 \324\"\210\210A\262\2020 \210\302\207" [case-fold-search SIGINT nil string-match "\\`-[[:digit:]]+\\'" abs string-to-number "\\`-\\([[:upper:]]+\\|[[:lower:]]+\\)\\'" intern substring 1 fboundp processp process-id error "kill: null pid. Process may actually be a network connection." "kill: invalid argument type: %s" type-of 0 "kill: bad pid: %d" signal-process] 7 (#$ . 5447)]) (put 'eshell/kill 'eshell-no-numeric-conversions t) #@114 Read the name of a process from the minibuffer, using completion. The prompt will be set to PROMPT. (fn PROMPT) (defalias 'eshell-read-process-name #[257 "\300\301\302\303 \"\304\305$\207" [completing-read mapcar #[257 "\300!\301B\207" [process-name t] 3 "\n\n(fn PROC)"] process-list nil t] 6 (#$ . 6399)]) #@76 Insert the name of PROCESS into the current buffer at point. (fn PROCESS) (defalias 'eshell-insert-process #[257 "\300\301\302!\303#\207" [insert-and-inherit "#<process " process-name ">"] 5 (#$ . 6716) (byte-code "\300\301\302!!C\207" [get-process eshell-read-process-name "Name of process: "] 3)]) #@44 Record OBJECT as now running. (fn OBJECT) (defalias 'eshell-record-process-object #[257 "\211\303\304!\205\n \304!\262\203# \203# \305\306!\210\307\310\311\312!\313!#!\210\211 \314\211\257\nB\211\207" [eshell-current-subjob-p eshell-current-handles eshell-process-list fboundp processp require esh-mode eshell-interactive-print format "[%s] %d\n" process-name process-id nil] 7 (#$ . 7024)]) (put 'eshell-record-process-object 'byte-optimizer 'byte-compile-inline-expand) #@58 Record the process ENTRY as fully completed. (fn ENTRY) (defalias 'eshell-remove-process-entry #[257 "\211@\302\303!\205 \303!\262\203&