MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 52.14.236.216
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/em-unix.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:10:53 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/eshell/em-unix.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 "\300\301!\210\300\302!\210\300\303!\210\304\305\306\307\310\311\312\313&\210\314\315\306\316\317\320\321\322\312\305&	\210\314\323\306\324\321\325\312\305&\210\314\326\327\330\321\325\312\305&\210\314\331\306\332\321\325\312\305&\210\314\333\334\335\321\325\312\305&\210\314\336\306\337\321\325\312\305&\210\314\340\341\342\321\325\312\305&\210\314\343\344\345\321\325\312\305&\210\314\346\347\350\321\325\312\305&\210\314\351\352\353\321\325\312\305&\210\314\354\347\355\321\325\312\305&\210\314\356\357\360\321\325\312\305&\210\314\361\306\362\321\325\312\305&\210\314\363\306\364\321\325\312\305&\210\314\365\306\366\321\325\312\305&\207" [require eshell esh-opt pcomplete custom-declare-group eshell-unix nil "This module defines many of the more common UNIX utilities as\naliases implemented in Lisp.  These include mv, ln, cp, rm, etc.  If\nthe user passes arguments which are too complex, or are unrecognized\nby the Lisp variant, the external version will be called (if\navailable).  The only reason not to use them would be because they are\nusually much slower.  But in several cases their tight integration\nwith Eshell makes them more versatile than their traditional cousins\n(such as being able to use `kill' to kill Eshell background processes\nby name)." :tag "UNIX commands in Lisp" :group eshell-module custom-declare-variable eshell-unix-load-hook "A list of functions to run when `eshell-unix' is loaded." :version "24.1" :type hook eshell-plain-grep-behavior "If non-nil, standalone \"grep\" commands will behave normally.\nStandalone in this context means not redirected, and not on the\nreceiving side of a command pipeline." boolean eshell-no-grep-available (not (eshell-search-path "grep")) "If non-nil, no grep is available on the current machine." eshell-plain-diff-behavior "If non-nil, standalone \"diff\" commands will behave normally.\nStandalone in this context means not redirected, and not on the\nreceiving side of a command pipeline." eshell-plain-locate-behavior (featurep 'xemacs) "If non-nil, standalone \"locate\" commands will behave normally.\nStandalone in this context means not redirected, and not on the\nreceiving side of a command pipeline." eshell-rm-removes-directories "If non-nil, `rm' will remove directory entries.\nOtherwise, `rmdir' is required." eshell-rm-interactive-query (= (user-uid) 0) "If non-nil, `rm' will query before removing anything." eshell-mv-interactive-query (= (user-uid) 0) "If non-nil, `mv' will query before overwriting anything." eshell-mv-overwrite-files t "If non-nil, `mv' will overwrite files without warning." eshell-cp-interactive-query (= (user-uid) 0) "If non-nil, `cp' will query before overwriting anything." eshell-cp-overwrite-files "If non-nil, `cp' will overwrite files without warning." eshell-ln-interactive-query (= (user-uid) 0) "If non-nil, `ln' will query before overwriting anything." eshell-ln-overwrite-files "If non-nil, `ln' will overwrite files without warning." eshell-default-target-is-dot "If non-nil, the default destination for cp, mv or ln is `.'." eshell-du-prefer-over-ange "Use Eshell's du in ange-ftp remote directories.\nOtherwise, Emacs will attempt to use rsh to invoke du on the remote machine."] 10)
#@45 Initialize the UNIX support/emulation code.
(defalias 'eshell-unix-initialize #[nil "\303\211	>)\203\304\305\306\307\310$\210\311\302!\210\312\313\n\"\211\207" [module eshell-modules-list eshell-complex-commands eshell-cmpl add-hook pcomplete-try-first-hook eshell-complete-host-reference nil t make-local-variable append ("grep" "egrep" "fgrep" "agrep" "glimpse" "locate" "cat" "time" "cp" "mv" "make" "du" "diff" "su" "sudo")] 6 (#$ . 3803)])
(byte-code "\300\301\302\"\210\300\303\304\"\210\300\305\306\"\207" [defalias eshell/date current-time-string eshell/basename file-name-nondirectory eshell/dirname file-name-directory] 3)
#@53 Invoke man, flattening the arguments appropriately.
(defalias 'eshell/man #[(&rest args) "\301\302\303\"!\207" [args man apply eshell-flatten-and-stringify] 4 (#$ . 4446)])
(put 'eshell/man 'eshell-no-numeric-conversions t)
#@373 Run the info command in-frame with the same behavior as command-line `info', ie:
  'info'           => goes to top info window
  'info arg1'      => IF arg1 is a file, then visits arg1
  'info arg1'      => OTHERWISE goes to top info window and then menu item arg1
  'info arg1 arg2' => does action for arg1 (either visit-file or menu-item) and then menu item arg2
  etc.
(defalias 'eshell/info #[(&rest args) "\302\303!\210@;\204\304\202/\305\306@!!\203\306@!\202/\305\306@!\307P!\205/\306@!\307P\211\203?A\310	\311\"\210\202B\312 \210\205S\313@!\210A\211\204F\304)\207" [args file require info nil file-exists-p expand-file-name ".info" Info-find-node "Top" Info-directory Info-menu] 4 (#$ . 4678)])
#@66 From PATH, remove all of the given FILES, perhaps interactively.
(defalias 'eshell-remove-entries #[(path files &optional top-level) "\205\353\306\307\310@!\"\203	\203\343\311\312\n\"\210)\202\343\313@!\203\211\314@!\204\211\f\203E\315\316@\"\211\312\n
\"\210)\317\312\n
\"\210*\204\343\203Y\320\315\321@\"!\203\343\322@\323\211E\211\324\325 \326 \327%\210.\202\343\f\203\243\315\330@\"\211\312\n
\"\210)\317\312\n
\"\210*\204\343\203\267\320\315\331@\"!\203\343\332@\323D\211\324\325 \326 \327%\210.A\211\204\327\207" [files top-level object eshell-error-handle em-verbose eshell-output-handle string-match "\\`\\.\\.?\\'" file-name-nondirectory "rm: cannot remove `.' or `..'\n" eshell-output-object file-directory-p file-symlink-p format "rm: removing directory `%s'" "\n" y-or-n-p "rm: remove directory `%s'? " delete-directory t eshell-printn eshell-errorn eshell-exec-lisp nil "rm: removing file `%s'" "rm: remove `%s'? " delete-file em-preview em-interactive args func errprint printer] 7 (#$ . 5409)])
#@168 Implementation of rm in Lisp.
This is implemented to call either `delete-file', `kill-buffer',
`kill-process', or `unintern', depending on the nature of the
argument.
(defalias 'eshell/rm #[(&rest args) "\306!\211\307\211\211\211\211\211\211\211\211\211\f\f
\310\311\312\313#.\207" [args temp-args ext-command last-value usage-msg em-verbose eshell-flatten-list nil eshell-do-opt "rm" ((104 "help" nil nil "show this usage screen") (102 "force" nil force-removal "force removal") (105 "interactive" nil em-interactive "prompt before any removal") (110 "preview" nil em-preview "don't change anything on disk") (114 "recursive" nil em-recursive "remove the contents of directories recursively") (82 nil nil em-recursive "(same)") (118 "verbose" nil em-verbose "explain what is being done") :preserve-args :external "rm" :show-usage :usage "[OPTION]... FILE...\nRemove (unlink) the FILE(s).") #[nil "\204	\n\203\203\306\203\257@;\203!\307@!\2020@\247\203.\310@!\2020@\311\f!\203\220
\203W\312\313\f\"\211\"\"\314\"#\"\210)\315\"\314\"#\"\210*$\204\247\203i\316\312\317\f\"!\203\247\320\fC\211%%\321\322%%&'\323'&%\306%\210.\202\247\f(\324\325!\205\235\325(!)\203\372
\203\301\312\326\f\"\211\"\"\314\"#\"\210)\315\"\314\"#\"\210*$\204\247\203\323\316\312\327\f\"!\203\247\330\fC\211%%\321\322%%&'\323'&%\306%\210.\202\247\f9\203X
\203\312\331\f\"\211\"\"\314\"#\"\210)\315\"\314\"#\"\210*$\204\247\2031\316\312\332\f\"!\203\247\333\fC\211%%\321\322%%&'\323'&%\306%\210.\202\247\f;\203\247\334\f!\203\240\335\f!\204\240)\204s*\203\217$\204\205\203\205\316\312\336\f\"!\203\247\337\306\fC\340#\210\202\247\312\341\f\"\"\314\"+\"\210)\202\247\337\306\fC\340#\210)A\211\204\306\207" [em-interactive eshell-rm-interactive-query force-removal args entry em-verbose nil directory-file-name number-to-string bufferp format "rm: removing buffer `%s'" eshell-output-object "\n" y-or-n-p "rm: delete buffer `%s'? " kill-buffer eshell-printn eshell-errorn eshell-exec-lisp fboundp processp "rm: killing process `%s'" "rm: kill process `%s'? " kill-process "rm: uninterning symbol `%s'" "rm: unintern symbol `%s'? " unintern file-directory-p file-symlink-p "rm: descend into directory `%s'? " eshell-remove-entries t "rm: %s: is a directory\n" object eshell-output-handle em-preview func errprint printer proc em-recursive eshell-rm-removes-directories eshell-error-handle] 7] em-recursive em-preview em-interactive force-removal] 11 (#$ . 6530)])
(put 'eshell/rm 'eshell-no-numeric-conversions t)
#@34 Implementation of mkdir in Lisp.
(defalias 'eshell/mkdir #[(&rest args) "\305!\306\307\")\310\211\211\211\311\312\313\314#-\207" [args temp-args ext-command last-value usage-msg eshell-flatten-list mapcar eshell-stringify nil eshell-do-opt "mkdir" ((104 "help" nil nil "show this usage screen") :external "mkdir" :show-usage :usage "[OPTION] DIRECTORY...\nCreate the DIRECTORY(ies), if they do not already exist.") #[nil "\203'\304@C\211\305\306	\307\n	\310%\210.A\211\204\310\207" [args func errprint printer make-directory eshell-printn eshell-errorn eshell-exec-lisp nil] 7]] 4 (#$ . 9175)])
(put 'eshell/mkdir 'eshell-no-numeric-conversions t)
#@34 Implementation of rmdir in Lisp.
(defalias 'eshell/rmdir #[(&rest args) "\305!\306\307\")\310\211\211\211\311\312\313\314#-\207" [args temp-args ext-command last-value usage-msg eshell-flatten-list mapcar eshell-stringify nil eshell-do-opt "rmdir" ((104 "help" nil nil "show this usage screen") :external "rmdir" :show-usage :usage "[OPTION] DIRECTORY...\nRemove the DIRECTORY(ies), if they are empty.") #[nil "\203'\304@C\211\305\306	\307\n	\310%\210.A\211\204\310\207" [args func errprint printer delete-directory eshell-printn eshell-errorn eshell-exec-lisp nil] 7]] 4 (#$ . 9857)])
(put 'eshell/rmdir 'eshell-no-numeric-conversions t)
(defvar eshell-warn-dot-directories t)
#@68 Shuffle around some filesystem entries, using FUNC to do the work.
(defalias 'eshell-shuffle-files #[(command action files target func deep &rest args) "\306!\307!\206	\205\n?\310	\204+\f\204+0G\311V\203+\312\31312#\2100\205\3320\3140@!\240\210\315\316\3170@!\"\203]\n\203\320\320\32110@#3\32234\"\210)\202\320
\203\2735\323>\203o5\324=\203\273\3060@!\211\203\273\325
8\203\273\3258\203\273\325
8\3258\232\203\273\326
8\203\273\3268\203\273\326
8\3268\232\203\273\320\32710@$3\32234\"\210)\202\3200@\f\203\315\330\3170@!\"\202\316\31067\3077!\2038\203\347\3317!\2049\332>\2049\333=\203:\204\320\32110@#3\32234\"\210)\202\317\310;\204F9\334=\203F\326\306\335\314\3307!!!!8\326\306\335\314\330!!!!8\232\203F\336\33797<%\210\202
\307!\204\235=\203o\320\3401#\21133\3223>\"\210)\3413\3223>\"\210*	\204\235\342C<\2119<<9\343\3449<<9?@\345@?9<\310%\210.\336\34612\347\350\3517!\"9\352<&\2109\334=\203
=\203\336\320\35317#\21133\3223>\"\210)\3413\3223>\"\210*	\204
\3547C<\2119<<9\343\3449<<9?@\345@?9<\310%\210.)\202\317=\2036\320\35517$\21133\3223>\"\210)\3413\3223>\"\210*	\204\3178\203\304\3317!\2116\203\304\336\337\3566<%\2109\334=\203\317\3077!\203\226\3317!\204\226\3547C<\2119<<9\343\3449<<9?@\345@?9<\310%\210.\202\317\3577C<\2119<<9\343\3449<<9?@\345@?9<\310%\210.\202\317\336\33797<%\210+0A\2110\2040\310+\207" [target em-preview eshell-warn-dot-directories attr is-dir attr-target eshell-file-attributes file-directory-p nil 1 error "%s: when %s multiple files, last argument must be a directory" directory-file-name string-match "\\`\\.\\.?\\'" file-name-nondirectory format "%s: %s: omitting directory\n" eshell-output-object (ms-dos windows-nt) ms-dos 10 11 "%s: `%s' and `%s' are the same file\n" expand-file-name file-symlink-p (make-symbolic-link add-name-to-file) copy-file rename-file file-name-directory apply eshell-funcalln "%s: making directory %s" "\n" make-directory eshell-printn eshell-errorn eshell-exec-lisp eshell-shuffle-files mapcar #[(file) "\302	Q\207" [source file "/"] 3] directory-files t "%s: deleting directory %s" delete-directory "%s: %s -> %s" make-symbolic-link delete-file files command action object eshell-error-handle system-type link source no-dereference func em-recursive deep args em-verbose eshell-output-handle errprint printer] 10 (#$ . 10569)])
#@58 Rewrite `cp -v dir a.tar.gz' to `tar cvzf a.tar.gz dir'.
(defalias 'eshell-shorthand-tar-command #[(command args) "\305!@\306\307	\"\203\310\202'\306\311	\"\203\312\202'\306\313	\"\203&\314\202'\315\316	!\2035\317\nP\2029\320\nP\203A\321\nP\f\322\232\203K\323\nP\305\324\"\325\241\210\326\327\330\331\332\n	#\"\"*\207" [args archive tar-args em-verbose command last string-match "z2" "If" "gz" "zf" "\\(az\\|Z\\)" "Zf" "f" file-exists-p "u" "c" "v" "mv" "--remove-files -" 2 nil throw eshell-replace-command eshell-parse-command format "tar %s %s"] 7 (#$ . 13109)])
(defalias 'eshell-mvcpln-template '(macro . #[(command action func query-var force-var &optional preserve) "\306\307\310\311\312\313EE\314\315\310\316\317\232?\320BB\321\322BB\306\323\324\325	\326\327\n\330\331\310\316\332\333E\334BB\335\332\336\fEFC
\205:
C\"BBBBBBBF\337BBBB\257\207" [command action func query-var force-var preserve let ((len (length args))) if (or (= len 0) (and (= len 1) (null eshell-default-target-is-dot))) error "%s: missing destination file or directory" (if (= len 1) (nconc args '("."))) (setq args (eshell-stringify-list (eshell-flatten-list args))) and "ln" ((string-match eshell-tar-regexp (car (last args))) (or (> (length args) 2) (and (file-directory-p (car args)) (or (not no-dereference) (not (file-symlink-p (car args))))))) eshell-shorthand-tar-command (args) ((target (car (last args))) ange-cache) (setcdr (last args 2) nil) eshell-shuffle-files args target nil append or em-interactive ((not force)) 1 force (nil)] 25]))
#@31 Implementation of mv in Lisp.
(defalias 'eshell/mv #[(&rest args) "\306\211\211\211\211\211\211\211\f
\307\310\311\312#.	\207" [args temp-args ext-command last-value usage-msg em-verbose nil eshell-do-opt "mv" ((102 "force" nil force "remove existing destinations, never prompt") (105 "interactive" nil em-interactive "request confirmation if target already exists") (110 "preview" nil em-preview "don't change anything on disk") (118 "verbose" nil em-verbose "explain what is being done") (nil "help" nil nil "show this usage screen") :preserve-args :external "mv" :show-usage :usage "[OPTION]... SOURCE DEST\n   or: mv [OPTION]... SOURCE... DIRECTORY\nRename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n[OPTION] DIRECTORY...") #[nil "\306	G\211\307U\204\n\310U\203\204\311\312\313\"\210\n\310U\203$	\314\244\210\315	!\316\317	\")\320\f\321	!@\"\203X	G\322V\204Q\323	@!\203X\203Q\324	@!\204X\325\313	\"\202\216\321	!@\326\321	\322\"\326\241\210\327\313\330	\331\326\204y\203\202\204\202\310\202\211\206\211&\210*\326*\207" [no-dereference args len eshell-default-target-is-dot eshell-tar-regexp ange-cache t 0 1 error "%s: missing destination file or directory" "mv" (".") eshell-flatten-list mapcar eshell-stringify string-match last 2 file-directory-p file-symlink-p eshell-shorthand-tar-command nil eshell-shuffle-files "moving" rename-file target em-interactive eshell-mv-interactive-query force eshell-mv-overwrite-files] 9] em-preview em-interactive force] 8 (#$ . 14673)])
(put 'eshell/mv 'eshell-no-numeric-conversions t)
#@31 Implementation of cp in Lisp.
(defalias 'eshell/cp #[(&rest args) "\306\211\211\211\211\211\211\211\211\211\211\211\f
\307\310\311\312#.
\207" [args temp-args ext-command last-value usage-msg em-verbose nil eshell-do-opt "cp" ((97 "archive" nil archive "same as -dpR") (100 "no-dereference" nil no-dereference "preserve links") (102 "force" nil force "remove existing destinations, never prompt") (105 "interactive" nil em-interactive "request confirmation if target already exists") (110 "preview" nil em-preview "don't change anything on disk") (112 "preserve" nil preserve "preserve file attributes if possible") (82 "recursive" nil em-recursive "copy directories recursively") (118 "verbose" nil em-verbose "explain what is being done") (nil "help" nil nil "show this usage screen") :preserve-args :external "cp" :show-usage :usage "[OPTION]... SOURCE DEST\n   or:  cp [OPTION]... SOURCE... DIRECTORY\nCopy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.") #[nil "\203\n\306\211\306\fG\211\307U\204
\310U\203#\204#\311\312\313\"\210
\310U\203-\f\314\244\210\315\f!\316\317\f\")\320\321\f!@\"\203b\fG\322V\204[\323\f@!\203b\n\203[\324\f@!\204b\325\313\f\"\202\232\321\f!@\326\321\f\322\"\326\241\210\327\313\330\f\331\326\204\204\203\215 \204\215\310\202\224 \206\224!	&\210*\326)\207" [archive preserve no-dereference em-recursive args len t 0 1 error "%s: missing destination file or directory" "cp" (".") eshell-flatten-list mapcar eshell-stringify string-match last 2 file-directory-p file-symlink-p eshell-shorthand-tar-command nil eshell-shuffle-files "copying" copy-file eshell-default-target-is-dot eshell-tar-regexp ange-cache target em-interactive eshell-cp-interactive-query force eshell-cp-overwrite-files] 10] em-recursive preserve em-preview em-interactive force no-dereference archive] 12 (#$ . 16266)])
(put 'eshell/cp 'eshell-no-numeric-conversions t)
#@31 Implementation of ln in Lisp.
(defalias 'eshell/ln #[(&rest args) "\306\211\211\211\211\211\211\211\211\f
\307\310\311\312#.\n\207" [args temp-args ext-command last-value usage-msg em-verbose nil eshell-do-opt "ln" ((104 "help" nil nil "show this usage screen") (115 "symbolic" nil symbolic "make symbolic links instead of hard links") (105 "interactive" nil em-interactive "request confirmation if target already exists") (102 "force" nil force "remove existing destinations, never prompt") (110 "preview" nil em-preview "don't change anything on disk") (118 "verbose" nil em-verbose "explain what is being done") :preserve-args :external "ln" :show-usage :usage "[OPTION]... TARGET [LINK_NAME]\n   or:  ln [OPTION]... TARGET... DIRECTORY\nCreate a link to the specified TARGET with optional LINK_NAME.  If there is\nmore than one TARGET, the last argument must be a directory;  create links\nin DIRECTORY to each TARGET.  Create hard links by default, symbolic links\nwith '--symbolic'.  When creating hard links, each TARGET must exist.") #[nil "\306	G\211\307U\204\n\310U\203\204\311\312\313\"\210\n\310U\203$	\314\244\210\315	!\316\317	\")\320	!@\321\320	\322\"\321\241\210\323\313\324	
\203J\325\202K\326\321\204V\203_\204_\310\202f\206f&\210,\321\207" [no-dereference args len eshell-default-target-is-dot ange-cache target t 0 1 error "%s: missing destination file or directory" "ln" (".") eshell-flatten-list mapcar eshell-stringify last nil 2 eshell-shuffle-files "linking" make-symbolic-link add-name-to-file symbolic em-interactive eshell-ln-interactive-query force eshell-ln-overwrite-files] 9] em-preview force em-interactive symbolic] 9 (#$ . 18209)])
(put 'eshell/ln 'eshell-no-numeric-conversions t)
#@154 Implementation of cat in Lisp.
If in a pipeline, or the file is not a regular file, directory or
symlink, then revert to the system's definition of cat.
(defalias 'eshell/cat #[(&rest args) "\306!\307\310\")	\204\311\312\215\2037\313\314!\211\203(\315\316\317\320\n!\"\"\2025	\2032\321\322!\2025\321\323!)\207\324 \210\306!\307\310\")\325\211\211\211\326\314\327\330#-\207" [args eshell-in-pipeline-p ext-cat temp-args ext-command last-value eshell-flatten-list mapcar eshell-stringify special (byte-code "\304\211\205?\n@\211;\203	G\305V\203	\305H\306=\2047\307	!\211\205.\3108\305H\311>)\2047\312\313\314\"\210\nA\211\204\304*\207" [args arg --dolist-tail-- attrs nil 0 45 eshell-file-attributes 8 (100 108 45) throw special t] 4) eshell-search-path "cat" throw eshell-replace-command eshell-parse-command eshell-quote-argument error "Eshell's `cat' does not work in pipelines" "Eshell's `cat' cannot display one of the files given" eshell-init-print-buffer nil eshell-do-opt ((104 "help" nil nil "show this usage screen") :external "cat" :show-usage :usage "[OPTION] FILE...\nConcatenate FILE(s), or standard input, to standard output.") #[nil "\306\211\203 \n@\211\307\230\203\310\311\312\313\"\"\210\nA\211\204*p\306\211\203b\n@\314\315!r\fq\210\316\216\317	!\210eb\210m\204Z`\320 Td^{rq\210\321
!\210*\306y\210\202?+\nA\211\204++\322 \210\306\211\207" [args file --dolist-tail-- curbuf #1=#:temp-buffer str nil "-" throw eshell-external eshell-external-command "cat" generate-new-buffer " *temp*" ((byte-code "\301!\203\n\302!\210\301\207" [#1# buffer-name kill-buffer] 2)) insert-file-contents line-end-position eshell-buffered-print eshell-flush eshell-ensure-newline-p] 6] usage-msg] 6 (#$ . 19980)])
(put 'eshell/cat 'eshell-no-numeric-conversions t)
#@39 Use `compile' to do background makes.
(defalias 'eshell/make #[(&rest args) "\203'\304 \203'\305\306\307\301\310\311\312	\"DEE\313\314C\315\316\317!\320#)P!)\207\321\322\323\324\317!\311\316\")\"\"\207" [eshell-current-subjob-p process-environment compilation-process-setup-function args eshell-interactive-output-p lambda nil setq quote mapcar concat compile "make " mapconcat eshell-stringify eshell-flatten-list " " throw eshell-replace-command eshell-parse-command "*make"] 8 (#$ . 21815)])
(put 'eshell/make 'eshell-no-numeric-conversions t)
#@50 Go to the occurrence the current line describes.
(defalias 'eshell-occur-mode-goto-occurrence #[nil "\301 \302\303!!\210\304!b)\207" [pos occur-mode-find-occurrence pop-to-buffer marker-buffer marker-position] 3 (#$ . 22378) nil])
#@62 In Occur mode, go to the occurrence whose line you click on.
(defalias 'eshell-occur-mode-mouse-goto #[(event) "\303r\304\305	!\211@)!q\210\212\305	!\306\n8\206*\nA@:\203'\nA@@\202*\nA@)b\210\307 *\310\311!!\210\312!b)\207" [pos event position nil window-buffer event-end 5 occur-mode-find-occurrence pop-to-buffer marker-buffer marker-position] 4 (#$ . 22618) "e"])
#@212 A poor version of grep that opens every file and uses `occur'.
This eats up memory, since it leaves the buffers open (to speed future
searches), and it's very slow.  But, if your system has no grep
available...
(defalias 'eshell-poor-mans-grep #[(args) "\306 r\307\216	r\310\311!q\210\312\n\313 \210\314 \210\315\fA!\316\317\f\")\312\320!\"\f@\203w\321\322!\203:\323\321\322!!\210\320\"\203wr\324\"@!q\210\212\320\325\326\217\210)\321\322!\203dr\321\322!q\210\327 \323p!\210))
\203l
c\210\320\"A\211\"\204A+\330\331\332\"\210\330\333\334\"\210\330\335\334\"\210\330\336\334\"\210\337p\312\"\210eb\210\340 .\207" [save-selected-window--state default-directory default-dir inhibit-read-only args string internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) get-buffer-create "*grep*" t erase-buffer occur-mode eshell-flatten-list mapcar eshell-stringify nil get-buffer "*Occur*" kill-buffer find-file-noselect (byte-code "\301@!\207" [args occur] 2) ((error)) buffer-string local-set-key [mouse-2] eshell-occur-mode-mouse-goto [(control 99) (control 99)] eshell-occur-mode-goto-occurrence [(control 109)] [return] pop-to-buffer resize-temp-buffer-window inhibit-redisplay files] 4 (#$ . 23001)])
#@215 Generic service function for the various grep aliases.
It calls Emacs's grep utility if the command is not redirecting output,
and if it's not part of a command pipeline.  Otherwise, it calls the
external command.
(defalias 'eshell-grep #[(command args &optional maybe-use-occur) "\203\f	\203\f\306\n!\207\204\307 \203\f\204
\2030\310\311\312\313P\314\n!\315\316\n\")\"\"\207\317\320\315\321\314\n!\315\316\n\")\"\322#\323\324\nG\325\n$\210\326\327\n#\330\331!+\207" [maybe-use-occur eshell-no-grep-available args eshell-plain-grep-behavior eshell-in-pipeline-p eshell-in-subcommand-p eshell-poor-mans-grep eshell-interactive-output-p throw eshell-replace-command eshell-parse-command "*" eshell-flatten-list mapcar eshell-stringify mapconcat identity shell-quote-argument " " set-text-properties 0 (invisible t) format "%s -n %s" nil grep command cmd compilation-scroll-output] 7 (#$ . 24278)])
#@59 Use Emacs grep facility instead of calling external grep.
(defalias 'eshell/grep #[(&rest args) "\301\302\303#\207" [args eshell-grep "grep" t] 4 (#$ . 25204)])
#@60 Use Emacs grep facility instead of calling external egrep.
(defalias 'eshell/egrep #[(&rest args) "\301\302\303#\207" [args eshell-grep "egrep" t] 4 (#$ . 25372)])
#@60 Use Emacs grep facility instead of calling external fgrep.
(defalias 'eshell/fgrep #[(&rest args) "\301\302\303#\207" [args eshell-grep "fgrep" t] 4 (#$ . 25543)])
#@60 Use Emacs grep facility instead of calling external agrep.
(defalias 'eshell/agrep #[(&rest args) "\301\302\"\207" [args eshell-grep "agrep"] 3 (#$ . 25714)])
#@62 Use Emacs grep facility instead of calling external glimpse.
(defalias 'eshell/glimpse #[(&rest args) "\302\303\304\305\306	\"\")\207" [null-device args nil eshell-grep "glimpse" append ("-z" "-y")] 5 (#$ . 25880)])
#@59 Complete a command that wants a hostname for an argument.
(defalias 'eshell-complete-hostname #[nil "\300\301\302\211\211$\207" [pcomplete--here #[nil "\300 \207" [eshell-read-host-names] 1] nil] 5 (#$ . 26103)])
(put 'eshell-complete-hostname 'byte-optimizer 'byte-compile-inline-expand)
#@44 If there is a host reference, complete it.
(defalias 'eshell-complete-host-reference #[nil "\304\211\305\"`{\266\202\304\306\307	\"\211\205#	T\304O\310\311\312\313 \"*\207" [index arg pcomplete-stub pcomplete-last-completion-raw nil pcomplete-begin string-match "@[a-z.]*\\'" t throw pcomplete-completions eshell-read-host-names] 5 (#$ . 26398)])
(byte-code "\300\301\302\"\210\300\303\302\"\210\300\304\302\"\210\300\305\302\"\207" [defalias pcomplete/ftp eshell-complete-hostname pcomplete/ncftp pcomplete/ping pcomplete/rlogin] 3)
(defalias 'pcomplete/telnet #[nil "\300\301!\210\302\303!\210\304\305\306\211\211$\207" [require pcmpl-unix pcomplete-opt "xl(pcmpl-unix-user-names)" pcomplete--here #[nil "\300 \207" [eshell-read-host-names] 1] nil] 5])
#@68 Complete `rsh', which, after the user and hostname, is like xargs.
(defalias 'pcomplete/rsh #[nil "\301\302!\210\303\304!\210\305\306\307\211\211$\210\305\310\307\211\211$\210\311\312\313!!\206 \207" [pcomplete-default-completion-function require pcmpl-unix pcomplete-opt "l(pcmpl-unix-user-names)" pcomplete--here #[nil "\300 \207" [eshell-read-host-names] 1] nil #[nil " \207" [pcomplete-command-completion-function] 1] pcomplete-find-completion-function pcomplete-arg 1] 5 (#$ . 27168)])
(defalias 'eshell-du-size-string #[(size) "\305	\n\306$\211G\f\307W\205\310\307\fZ\311\"P*\207" [size human-readable block-size str len eshell-printable-size t 8 make-string 32] 6])
(put 'eshell-du-size-string 'byte-optimizer 'byte-compile-inline-expand)
#@45 Summarize PATH, and its member directories.
(defalias 'eshell-du-sum-directory #[(path depth) "\306!\307\211\203\256\310\311\n\211@@)\"\204\247\312\n\211@@)Q\n@\211A@);\2052\n@\211A@)\211\203<\203\246\203K\313\n@8U\203\246
\203Q
	\n@\211A@)\314=\203g\315\fT\"\202\244\316\n@8\211\203\243\317	\314$\211G\316W\205\224\320\316Z\321\"P+\f\322Q\323 \"\210))\\*\nA\211\204\n!\203\302!U\204\302\324U\203\363	\317	\314$\211G\316W\205\342\320\316Z\321\"P+\325!\322Q\323 \"\210)	*\207" [path size entries x entry symlink eshell-directory-files-and-attributes 0.0 string-match "\\`\\.\\.?\\'" "/" 12 t eshell-du-sum-directory 8 eshell-printable-size make-string 32 "\n" eshell-output-object 0 directory-file-name dereference-links only-one-filesystem depth file-size show-all human-readable block-size str len object eshell-output-handle max-depth] 8 (#$ . 27930)])
#@47 Implementation of "du" in Lisp, passing ARGS.
(defalias 'eshell/du #[(&rest args) "\203\306!\307\310\")\202\311\312\313!\211\203,\314\315\215\204,\316\317\320\321	!\"\"\202i\306!\307\310\")\322\211\211\211\211\211\211\211\211\211\211\211\211\211\211\211\323\313\324\325#.)\207" [args ext-du temp-args ext-command last-value usage-msg eshell-flatten-list mapcar eshell-stringify (".") eshell-search-path "du" have-ange-path (byte-code "\303\211\205#\n@\304\305	!\306\"\307\230\203\310\311\312\"\210\nA\211\204\303*\207" [args arg --dolist-tail-- nil file-remote-p expand-file-name method "ftp" throw have-ange-path t] 4) throw eshell-replace-command eshell-parse-command eshell-quote-argument nil eshell-do-opt ((97 "all" nil show-all "write counts for all files, not just directories") (nil "block-size" t block-size "use SIZE-byte blocks (i.e., --block-size SIZE)") (98 "bytes" nil by-bytes "print size in bytes") (99 "total" nil grand-total "produce a grand total") (100 "max-depth" t max-depth "display data only this many levels of data") (104 "human-readable" 1024 human-readable "print sizes in human readable format") (72 "is" 1000 human-readable "likewise, but use powers of 1000 not 1024") (107 "kilobytes" 1024 block-size "like --block-size 1024") (76 "dereference" nil dereference-links "dereference all symbolic links") (109 "megabytes" 1048576 block-size "like --block-size 1048576") (115 "summarize" 0 max-depth "display only a total for each argument") (120 "one-file-system" nil only-one-filesystem "skip directories on different filesystems") (nil "help" nil nil "show this usage screen") :external "du" :usage "[OPTION]... FILE...\nSummarize disk usage of each FILE, recursively for directories.") #[nil "\204\n	\206	\306\n\203\n;\203\307\n!\310>\203\311\312\311\203M\f\2037\313\314\315@!!8\316\317@!\320\"\\A\211\204)\205\201\321	\322$\211G\323W\205t\324\323Z\325\"P+\326P\327\")*\207" [by-bytes block-size max-depth system-type only-one-filesystem ange-cache 1024 string-to-number (ms-dos windows-nt) nil 0.0 11 eshell-file-attributes file-name-as-directory eshell-du-sum-directory directory-file-name 0 eshell-printable-size t 8 make-string 32 "total\n" eshell-output-object size args grand-total human-readable str len object eshell-output-handle] 6] only-one-filesystem max-depth block-size dereference-links human-readable grand-total by-bytes show-all] 17 (#$ . 28883)])
(defvar eshell-time-start nil)
(defalias 'eshell-show-elapsed-time #[nil "\303\304\305 Z\"\306\307	G\310	$\210	\311\312\n\"\210*\313\314\315\316#\207" [eshell-time-start elapsed string format "%.3f secs\n" float-time set-text-properties 0 (face bold) eshell-output-filter nil remove-hook eshell-post-command-hook eshell-show-elapsed-time t] 5])
#@35 Implementation of "time" in Lisp.
(defalias 'eshell/time #[(&rest args) "\306!\307\310\n\2033\2033\311\312@\"\204+	\203#	\310\241\210\202%\313\310\211\202	A\202\314!\315\316\")\310\211\211\211\317\320\321\322#.\207" [args last-arg continue time-args temp-args ext-command copy-alist t nil string-match "^-" ("") eshell-flatten-list mapcar eshell-stringify eshell-do-opt "time" ((104 "help" nil nil "show this usage screen") :external "time" :show-usage :usage "COMMAND...\nShow wall-clock time elapsed during execution of COMMAND.") #[nil "\303 \304\305\306\307\310$\210\311\312\313	@\314	A!\315\316\n\")\"\"\207" [eshell-time-start time-args args float-time add-hook eshell-post-command-hook eshell-show-elapsed-time nil t throw eshell-replace-command eshell-parse-command eshell-flatten-list mapcar eshell-stringify] 7] last-value usage-msg] 5 (#$ . 31752)])
#@28 Make "whoami" Tramp aware.
(defalias 'eshell/whoami #[(&rest args) "\301\302\"\206	\303 \207" [default-directory file-remote-p user user-login-name] 3 (#$ . 32652)])
(defvar eshell-diff-window-config nil)
#@56 Restore the window configuration previous to diff'ing.
(defalias 'eshell-diff-quit #[nil "\205\301!\207" [eshell-diff-window-config set-window-configuration] 2 (#$ . 32865) nil])
#@69 Return STRING, or nil if STRING contains only non-blank characters.
(defalias 'nil-blank-string #[(string) "\301\302\"\205\207" [string string-match "[^[:blank:]]"] 3 (#$ . 33054)])
(autoload 'diff-no-select "diff")
#@45 Alias "diff" to call Emacs `diff' function.
(defalias 'eshell/diff #[(&rest args) "\306!\307\310\")\n\204\311 \203\204\f\203&\312\313\314\315	\"\"\210\202\205\316	!\211G\317W\2039\312\313\314\315	\"\"\210\320\317\"@\320!@\321 %&G\317U\203U\322\202\\\320\323\"\322\241\210r\324\325\326\217q\210\327\330!\203\200\331\332!\210\333\332\334\335\336\337\340\341\342
E\343BBBBE\"\210\344p!\210,)\322\207" [args orig-args eshell-plain-diff-behavior eshell-in-pipeline-p eshell-in-subcommand-p config eshell-flatten-list mapcar eshell-stringify eshell-interactive-output-p throw eshell-replace-command eshell-parse-command "*diff" copy-sequence 2 last current-window-configuration nil 3 err (byte-code "\303	\304\nC\305\306\307\n!\310#)!#\207" [old new args diff-no-select nil-blank-string mapconcat eshell-stringify eshell-flatten-list " "] 8) ((error (byte-code "\301\302\303\304\"\"\207" [orig-args throw eshell-replace-command eshell-parse-command "*diff"] 5))) fboundp diff-mode make-local-variable compilation-finish-functions add-hook lambda (buff msg) with-current-buffer buff (diff-mode) set (make-local-variable 'eshell-diff-window-config) ((local-set-key [113] 'eshell-diff-quit) (if (fboundp 'turn-on-font-lock-if-enabled) (turn-on-font-lock-if-enabled)) (goto-char (point-min))) pop-to-buffer new old] 11 (#$ . 33280)])
(put 'eshell/diff 'eshell-no-numeric-conversions t)
#@49 Alias "locate" to call Emacs `locate' function.
(defalias 'eshell/locate #[(&rest args) "\204\306 \203	\204\n\204@;\203/\307\310@\"\203/\311\312\313\314\315!\316\317\")\"\"\207\320 r\321\216@C\322@\211A@)\",\207" [eshell-plain-locate-behavior eshell-in-pipeline-p eshell-in-subcommand-p args save-selected-window--state locate-history-list eshell-interactive-output-p string-match "^-" throw eshell-replace-command eshell-parse-command "*locate" eshell-flatten-list mapcar eshell-stringify internal--before-save-selected-window ((internal--after-save-selected-window save-selected-window--state)) locate-with-filter x] 8 (#$ . 34691)])
(put 'eshell/locate 'eshell-no-numeric-conversions t)
#@47 Alias "occur" to call Emacs `occur' function.
(defalias 'eshell/occur #[(&rest args) "\302	G\303V\203\304\305!\202\306\307	\")\207" [inhibit-read-only args t 2 error "usage: occur: (REGEXP &optional NLINES)" apply occur] 3 (#$ . 35410)])
(put 'eshell/occur 'eshell-no-numeric-conversions t)
#@27 Alias "su" to call Tramp.
(defalias 'eshell/su #[(&rest args) "\306\307!\210\310!\311\312\")\313!\310!\311\312\")\314\211\211\211\211\211\315\316\317\320#.\207" [args orig-args temp-args ext-command last-value usage-msg require tramp eshell-flatten-list mapcar eshell-stringify copy-tree nil eshell-do-opt "su" ((104 "help" nil nil "show this usage screen") (108 "login" nil login "provide a login environment") (32 nil nil login "provide a login environment") :usage "[- | -l | --login] [USER]\nBecome another USER during a login session.") #[nil "\306\307\310\311\303\"\206\312\311\313\"\206\314!\311!
\315\211\203C@\211\316\230\2037\317\202:A\211\204&*\316\235\203N\317\203U\320	\203|\311\321\"\322\230\203k\f\311\304\"\230\204|\323\324\325\326	\327\330O\f\n%C\"\202\206\323\324\325\331\f\n$C\",\"\207" [default-directory prefix dir host user args throw eshell-replace-command "root" file-remote-p "localhost" localname expand-file-name nil "-" t "~/" method "su" eshell-parse-command "cd" format "%s|su:%s@%s:%s" 0 -1 "/su:%s@%s:%s" arg --dolist-tail-- login orig-args] 11] login] 6 (#$ . 35712)])
(put 'eshell/su 'eshell-no-numeric-conversions t)
#@29 Alias "sudo" to call Tramp.
(defalias 'eshell/sudo #[(&rest args) "\306\307!\210\310!\311\312\")\313!\310!\311\312\")\314\211\211\211\211\315\316\317\320#.\207" [args orig-args temp-args ext-command last-value usage-msg require tramp eshell-flatten-list mapcar eshell-stringify copy-tree nil eshell-do-opt "sudo" ((104 "help" nil nil "show this usage screen") (117 "user" t user "execute a command as another USER") :show-usage :usage "[(-u | --user) USER] COMMAND\nExecute a COMMAND as the superuser or another USER.") #[nil "\306\307\206\310\311	\304\"\206\312\311	\313\"\206\314	!\311	!
@;\2039
@\315\235\2039
\211AA)\211\202!\n\203\\\311	\316\"\317\230\203O\311	\300\"\230\204\\\320\321\n\322\323O\f%\202b\320\324\f$\325
@
A\"-\"\207" [user default-directory prefix dir host orig-args throw eshell-external "root" file-remote-p "localhost" localname expand-file-name ("-u" "--user") method "sudo" format "%s|sudo:%s@%s:%s" 0 -1 "/sudo:%s@%s:%s" eshell-named-command x] 9] user] 5 (#$ . 36939)])
(byte-code "\300\301\302\303#\210\304\305!\207" [put eshell/sudo eshell-no-numeric-conversions t provide em-unix] 4)

MMCT - 2023