%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/em-unix.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\330\311\304&\210\313\345\315\316\346DD\347\323\330\311\304&\210\313\350\315\316\351DD\352\323\330\311\304&\210\313\353\315\316\354DD\355\323\330\311\304&\210\313\356\315\316\357DD\360\323\330\311\304&\210\313\361\315\316\362DD\363\323\330\311\304&\210\313\364\315\316\365DD\366\323\330\311\304&\210\313\367\315\316\370DD\371\323\330\311\304&\210\313\372\315\316\373DD\374\323\330\311\304&\210\313\375\315\316\376DD\377\323\330\311\304&\207" [require esh-mode 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 funcall function #[0 "\300\207" [nil] 1] "A list of functions to run when `eshell-unix' is loaded." :version "24.1" :type hook eshell-plain-grep-behavior #[0 "\300\207" [nil] 1] "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 #[0 "\300\301!?\207" [eshell-search-path "grep"] 2] "If non-nil, no grep is available on the current machine." eshell-plain-diff-behavior #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [nil] 1] "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 #[0 "\300\207" [nil] 1] "If non-nil, `rm' will remove directory entries.\nOtherwise, `rmdir' is required." eshell-rm-interactive-query #[0 "\300 \301U\207" [user-uid 0] 2] "If non-nil, `rm' will query before removing anything." eshell-mv-interactive-query #[0 "\300 \301U\207" [user-uid 0] 2] "If non-nil, `mv' will query before overwriting anything." eshell-mv-overwrite-files #[0 "\300\207" [t] 1] "If non-nil, `mv' will overwrite files without warning." eshell-cp-interactive-query #[0 "\300 \301U\207" [user-uid 0] 2] "If non-nil, `cp' will query before overwriting anything." eshell-cp-overwrite-files #[0 "\300\207" [t] 1] "If non-nil, `cp' will overwrite files without warning." eshell-ln-interactive-query #[0 "\300 \301U\207" [user-uid 0] 2] "If non-nil, `ln' will query before overwriting anything." eshell-ln-overwrite-files #[0 "\300\207" [nil] 1] "If non-nil, `ln' will overwrite files without warning." eshell-default-target-is-dot #[0 "\300\207" [nil] 1] "If non-nil, the default destination for cp, mv or ln is `.'." eshell-du-prefer-over-ange #[0 "\300\207" [nil] 1] "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 #[0 "\302\211>\262\203\303\304\305\306\307$\210\310\301!\210\311\312	\"\211\207" [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")] 5 (#$ . 4115)])
(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)
#@70 Invoke man, flattening the arguments appropriately.

(fn &rest ARGS)
(defalias 'eshell/man #[128 "\300\301\302\"!\207" [man apply eshell-flatten-and-stringify] 5 (#$ . 4739)])
(put 'eshell/man 'eshell-no-numeric-conversions t)
#@390 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.

(fn &rest ARGS)
(defalias 'eshell/info #[128 "\300\301!\210\211@;\204\302\202/\303\304@!!\203\304@!\202/\303\304@!\305P!\205/\304@!\305P\211\203?A\262\306\307\"\210\202B\310 \210\205R\311@!\210A\262\202B\207" [require info nil file-exists-p expand-file-name ".info" Info-find-node "Top" Info-directory Info-menu] 5 (#$ . 4974)])
#@86 Remove all of the given FILES, perhaps interactively.

(fn FILES &optional TOPLEVEL)
(defalias 'eshell-remove-entries #[513 "\205\257\305\306\307@!\"\203\211\203\250\310\311\"\266\202\250\312@!\203k\313@!\204k	\203A\314\315@\"\211\311\n\"\266\316\311\n\"\266\204\250\f\203S\317\314\320@\"!\203\250\321@\322\211E\323\324\325\326%\266	\202\250	\203\202\314\327@\"\211\311\n\"\266\316\311\n\"\266\204\250\f\203\224\317\314\330@\"!\203\250\331@\322D\323\324\325\326%\266	A\262\202\207" [eshell-error-handle em-verbose eshell-output-handle em-preview em-interactive string-match "\\`\\.\\.?\\'" file-name-nondirectory "rm: cannot remove `.' or `..'\n" eshell-output-object file-directory-p file-symlink-p format-message "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] 16 (#$ . 5704)])
#@185 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.

(fn &rest ARGS)
(defalias 'eshell/rm #[128 "\306!\262\211\307\310\311#\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\2044\f\203>\203>\312\211\203\206\211@;\203O\313@!\202^\211@\247\203\\\314@!\202^\211@\315!\203\240\203z\316\317\"\211\320
\"\266\321\320
\"\266	\204~\203\213\322\316\323\"!\203~\324C\325\326\327\312%\266	\202~\211\330\331!\205\252\331!\262\203\353\203\305\316\332\"\211\320
\"\266\321\320
\"\266	\204~\203\326\322\316\333\"!\203~\334C\325\326\327\312%\266	\202~\2119\203,\203\316\335\"\211\320
\"\266\321\320
\"\266	\204~\203\322\316\336\"!\203~\337C\325\326\327\312%\266	\202~\211;\203~\203;\340!\203~\341!\203x\342!\204x\n\204P(\203j	\204a\203a\322\316\343\"!\203~\344C\345\"\210\202~\346\347\"\320)\"\266\202~\344C\345\"\210\210\211A\262\202>,\312\207" [em-interactive em-preview em-recursive em-verbose eshell-rm-interactive-query eshell-output-handle flatten-tree eshell--do-opts "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 directory-file-name number-to-string bufferp format-message "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-exists-p file-directory-p file-symlink-p "rm: descend into directory `%s'? " eshell-remove-entries t format "rm: %s: is a directory\n" eshell-rm-removes-directories eshell-error-handle] 20 (#$ . 6702)])
(byte-code "\300\301\302\303#\210\300\301\304\303#\207" [put eshell/rm eshell-no-numeric-conversions t eshell-filename-arguments] 4)
#@51 Implementation of mkdir in Lisp.

(fn &rest ARGS)
(defalias 'eshell/mkdir #[128 "\300!\301\302\"\262\303\304\305#\211A\262\242\211\2034\306@D\307\310\311\312%\266	\211A\262\202\312\207" [flatten-tree mapcar eshell-stringify eshell--do-opts "mkdir" ((104 "help" nil nil "show this usage screen") (112 "parents" nil em-parents "make parent directories as needed") :external "mkdir" :show-usage :usage "[OPTION] DIRECTORY...\nCreate the DIRECTORY(ies), if they do not already exist.") make-directory eshell-printn eshell-errorn eshell-exec-lisp nil] 19 (#$ . 9145)])
(byte-code "\300\301\302\303#\210\300\301\304\303#\207" [put eshell/mkdir eshell-no-numeric-conversions t eshell-filename-arguments] 4)
#@51 Implementation of rmdir in Lisp.

(fn &rest ARGS)
(defalias 'eshell/rmdir #[128 "\300!\301\302\"\262\303\304\305#\211\211\203-\306@C\307\310\311\312%\266	\211A\262\202\312\207" [flatten-tree mapcar eshell-stringify eshell--do-opts "rmdir" ((104 "help" nil nil "show this usage screen") :external "rmdir" :show-usage :usage "[OPTION] DIRECTORY...\nRemove the DIRECTORY(ies), if they are empty.") delete-directory eshell-printn eshell-errorn eshell-exec-lisp nil] 18 (#$ . 9872)])
(byte-code "\300\301\302\303#\210\300\301\304\303#\207" [put eshell/rmdir eshell-no-numeric-conversions t eshell-filename-arguments] 4)
(defvar eshell-warn-dot-directories t)
#@123 Shuffle around some filesystem entries, using FUNC to do the work.

(fn COMMAND ACTION FILES TARGET FUNC DEEP &rest ARGS)
(defalias 'eshell-shuffle-files #[1670 "\306!\307!\206\205	?\310\204(\204(G\311V\203(\312\313#\210\205k\314	@!\240\210\315\316\317\n@!\"\203V	\203c\320\321\n@#\322\n\"\266\202c\203\310\323>\203f\324=\203\310\306@!\211\262\203\310\3258\262\203\310\211\3258\262\203\310\3258\262\3258\262\232\203\310\3268\262\203\310\211\3268\262\203\310\3268\262\3268\262\232\203\310\327\330\n@\n$\322\n\"\266\202c@\203\333\331\317\n@!	\"\202\335\310\307!\203\344\f\203\356\332!\204\344\333>\204\344\334=\203
\204\320\321
@#\322\n\"\266\202a\310\204N\335=\203N\306\336\314\331!!!!\3268\262\306\336\314\331!!!!\3268\262\232\203N\337\340\n%\210\202\340\307!\204\2058\203o\320\341#\211\3229\"\266\342\3229\"\266\204\205\343C\344\345\346\310%\266	\337\347\350\351\352\353\354\355\f!\356\"\357\360%\361	!\"\362&\210\335=\203\3408\203\312\320\363#\211\3229\"\266\342\3229\"\266\204\340\364C\344\345\346\310%\266	)\202a8\203\320\365$\211\3229\"\266\342\3229\"\266\204a\f\203W\332!\211\262\203W\337\340\366%\210\335=\203a\307!\203B\332!\204B\364C\344\345\346\310%\266	\202a\367C\344\345\346\310%\266	\202a\337\340\n%\210\266A\262\202(\207" [em-preview eshell-warn-dot-directories eshell-error-handle system-type no-dereference em-recursive 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 format-message "%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 make-byte-code 257 "\300\301Q\207" vconcat vector ["/"] 4 "\n\n(fn FILE)" directory-files t "%s: deleting directory %s" delete-directory "%s: %s -> %s" make-symbolic-link delete-file em-verbose eshell-output-handle] 27 (#$ . 10550)])
#@77 Rewrite `cp -v dir a.tar.gz' to `tar cvzf a.tar.gz dir'.

(fn COMMAND ARGS)
(defalias 'eshell-shorthand-tar-command #[514 "\301!@\302\303\"\203\304\202&\302\305\"\203\306\202&\302\307\"\203%\310\202&\311\312!\2034\313P\262\2029\314P\262\203B\315P\262\316\232\203M\317P\262\301\320\"\321\241\210\322\323\324\325\326#\"\"\207" [em-verbose 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"] 11 (#$ . 12967)])
#@67 

(fn COMMAND ACTION FUNC QUERY-VAR FORCE-VAR &optional PRESERVE)
(defalias 'eshell-mvcpln-template '(macro . #[1541 "\300\301\302\303\304\305EE\306\307\302\310\f\311\232?\312BB\313
\314BB\300\315\316\317\320\321\322\323\302\310\324\325E\326BB\327\324\330EFC\205DC\"BBBBBBBF\331BBBB\257\207" [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 (flatten-tree 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)] 31 (#$ . 13549)]))
#@48 Implementation of mv in Lisp.

(fn &rest ARGS)
(defalias 'eshell/mv #[128 "\211\306\307\310#\211A\262\242\211A\262\242\211A\262\242\211A\262\242\311\211G\211\312U\2046\211\313U\203;\f\204;\314\315\307\"\210\211\313U\203E\316\244\210\317!\320\321\"\262\262\322
\323!@\"\203zG\324V\204s\325@!\203z\203s\326@!\204z\327\307\"\202\256\323!@\330\323\324\"\330\241\210\331\307\332\333\330\204\230\203\241\n\204\241\313\202\250\n\206\250&\210)\210\330\262,\207" [em-interactive em-preview em-verbose no-dereference eshell-default-target-is-dot eshell-tar-regexp eshell--do-opts "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...") t 0 1 error "%s: missing destination file or directory" (".") flatten-tree mapcar eshell-stringify string-match last 2 file-directory-p file-symlink-p eshell-shorthand-tar-command nil eshell-shuffle-files "moving" rename-file ange-cache eshell-mv-interactive-query eshell-mv-overwrite-files] 15 (#$ . 14501)])
(byte-code "\300\301\302\303#\210\300\301\304\303#\207" [put eshell/mv eshell-no-numeric-conversions t eshell-filename-arguments] 4)
#@48 Implementation of cp in Lisp.

(fn &rest ARGS)
(defalias 'eshell/cp #[128 "\211\306\307\310#\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\203G\311\262\311\211\211G\211\312U\204Y\211\313U\203^
\204^\314\315\307\"\210\211\313U\203h\316\244\210\317!\320\321\"\262\262\322\323!@\"\203\236G\324V\204\227\325@!\203\236\203\227\326@!\204\236\327\307\"\202\324\323!@\330\323\324\"\330\241\210\331\307\332\333\330	\204\274\203\305\204\305\313\202\314\206\314&\210)\210\330\262-\207" [no-dereference em-interactive em-preview em-recursive em-verbose eshell-default-target-is-dot eshell--do-opts "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") (114 "recursive" nil em-recursive "copy directories recursively") (82 nil nil em-recursive "as for -r") (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.") t 0 1 error "%s: missing destination file or directory" (".") flatten-tree 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-tar-regexp ange-cache eshell-cp-interactive-query eshell-cp-overwrite-files] 19 (#$ . 16104)])
(byte-code "\300\301\302\303#\210\300\301\304\303#\207" [put eshell/cp eshell-no-numeric-conversions t eshell-filename-arguments] 4)
#@48 Implementation of ln in Lisp.

(fn &rest ARGS)
(defalias 'eshell/ln #[128 "\211\306\307\310#\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\311\211G\211\312U\204<\211\313U\203A\f\204A\314\315\307\"\210\211\313U\203K\316\244\210\317!\320\321\"\262\262\322!@\323\322\324\"\323\241\210\325\307\326	\203q\327\202r\330\323\204|\203\205\n\204\205\313\202\214\n\206\214&\210)\210\323\262,\207" [em-interactive em-preview em-verbose no-dereference eshell-default-target-is-dot ange-cache eshell--do-opts "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.") t 0 1 error "%s: missing destination file or directory" (".") flatten-tree mapcar eshell-stringify last nil 2 eshell-shuffle-files "linking" make-symbolic-link add-name-to-file eshell-ln-interactive-query eshell-ln-overwrite-files] 16 (#$ . 18071)])
(byte-code "\300\301\302\303#\210\300\301\304\303#\207" [put eshell/ln eshell-no-numeric-conversions t eshell-filename-arguments] 4)
#@171 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.

(fn &rest ARGS)
(defalias 'eshell/cat #[128 "\302!\303\304\"\262\262\204V\3052S\211\211\205P\211@\211;\203.\211G\306V\203.\211\306H\307=\204I\310!\211\205?\211\3118\262\306H\312>\262\204I\313\305\314\"\210A\266\202\202\2620\203w\315\316!\211\203i\313\317\320\321!\"\"\202v\203s\322\323!\202v\322\324!\207\325 \210\302!\303\304\"\262\326\316\327#\211\211\211\203\246\211@\211\330\230\203\237\313\331\332\316\"\"\210A\266\202\202\212\210p\211\203\355\211@\333\334!r\211q\210\335\306\336\337\340!\341\"\342$\216\343!\210eb\210m\204\344`\344 Td^{rq\210\345!\210)\210\346y\210\202\311*\210A\266\202\202\251\266\347 \210\346\211\207" [eshell-in-pipeline-p eshell-ensure-newline-p flatten-tree mapcar eshell-stringify special 0 45 eshell-file-attributes 8 (100 108 45) throw t eshell-search-path "cat" 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 eshell--do-opts ((104 "help" nil nil "show this usage screen") :external "cat" :show-usage :usage "[OPTION] FILE...\nConcatenate FILE(s), or standard input, to standard output.") "-" eshell-external eshell-external-command generate-new-buffer " *temp*" make-byte-code "\301\300!\205	\302\300!\207" vconcat vector [buffer-name kill-buffer] 2 insert-file-contents line-end-position eshell-buffered-print nil eshell-flush] 14 (#$ . 19854)])
(byte-code "\300\301\302\303#\210\300\301\304\303#\207" [put eshell/cat eshell-no-numeric-conversions t eshell-filename-arguments] 4)
#@109 Use `compile' to do background makes.
Fallback to standard make when called synchronously.

(fn &rest ARGS)
(defalias 'eshell/make #[128 "\203'\303 \203'\304\305\306\301\307\310\311	\"DEE\312\313C\314\315\316!\317#\262P!)\207\320\321\322\323\316!\310\315\"\262\"\"\207" [eshell-current-subjob-p process-environment compilation-process-setup-function eshell-interactive-output-p lambda nil setq quote mapcar concat compile "make " mapconcat eshell-stringify flatten-tree " " throw eshell-replace-command eshell-parse-command "*make"] 9 (#$ . 21630)])
(put 'eshell/make 'eshell-no-numeric-conversions t)
#@50 Go to the occurrence the current line describes.
(defalias 'eshell-occur-mode-goto-occurrence #[0 "\300 \301\302!!\210\303!b\207" [occur-mode-find-occurrence pop-to-buffer marker-buffer marker-position] 4 (#$ . 22248) nil])
#@74 In Occur mode, go to the occurrence whose line you click on.

(fn EVENT)
(defalias 'eshell-occur-mode-mouse-goto #[257 "\300r\301\302!\211@\262!q\210\212\303\302!!b\210\304 \262*\305\306!!\210\307!b\207" [nil window-buffer event-end posn-point occur-mode-find-occurrence pop-to-buffer marker-buffer marker-position] 5 (#$ . 22480) "e"])
#@223 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...

(fn ARGS)
(defalias 'eshell-poor-mans-grep #[257 "\303 r\304\305\306\307\310!\311\"\312$\216r\313\314!q\210\315\316 \210\317 \210\320A!\321\322\"\262\315\323@\203\210\324\325!\203?\326\324\325!!\210\323\262\203\210r\327@!q\210\212\3301[\331@!0\202_\210\202`\210)\324\325!\203vr\324\325!q\210\332 \262\326p!\210))\211\203~\211c\210\323\262A\262\202B)\266\333\334\335\"\210\333\336\337\"\210\333\340\337\"\210\333\341\337\"\210\342p\315\"\210eb\210\343 +\262*\207" [default-directory inhibit-read-only inhibit-redisplay internal--before-save-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-save-selected-window] 2 get-buffer-create "*grep*" t erase-buffer occur-mode flatten-tree mapcar eshell-stringify nil get-buffer "*Occur*" kill-buffer find-file-noselect (error) occur 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] 9 (#$ . 22830)])
#@260 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.

(fn COMMAND ARGS &optional MAYBE-USE-OCCUR)
(defalias 'eshell-grep #[770 "\211\203\f\203\f\305!\207	\204\306 \203\n\204\2031\307\310\311\312P\313!\314\315\"\262\"\"\207\316\317\314\320\313!\314\315\"\262\"\321#\322\323G\324$\210\325\326\327\267\202Z\330\202^\331\202^\211\262#\332\333!)\207" [eshell-no-grep-available eshell-plain-grep-behavior eshell-in-pipeline-p eshell-in-subcommand-p compilation-scroll-output eshell-poor-mans-grep eshell-interactive-output-p throw eshell-replace-command eshell-parse-command "*" flatten-tree mapcar eshell-stringify mapconcat identity shell-quote-argument " " set-text-properties 0 (invisible t) format "%s -n %s" #s(hash-table size 2 test equal rehash-size 1.5 rehash-threshold 0.8125 purecopy t data ("egrep" 82 "fgrep" 86)) "grep -E" "grep -F" nil grep] 11 (#$ . 24097)])
#@76 Use Emacs grep facility instead of calling external grep.

(fn &rest ARGS)
(defalias 'eshell/grep #[128 "\300\301\302#\207" [eshell-grep "grep" t] 5 (#$ . 25166)])
#@79 Use Emacs grep facility instead of calling external grep -E.

(fn &rest ARGS)
(defalias 'eshell/egrep #[128 "\300\301\302#\207" [eshell-grep "egrep" t] 5 (#$ . 25337)])
#@79 Use Emacs grep facility instead of calling external grep -F.

(fn &rest ARGS)
(defalias 'eshell/fgrep #[128 "\300\301\302#\207" [eshell-grep "fgrep" t] 5 (#$ . 25513)])
#@77 Use Emacs grep facility instead of calling external agrep.

(fn &rest ARGS)
(defalias 'eshell/agrep #[128 "\300\301\"\207" [eshell-grep "agrep"] 4 (#$ . 25689)])
#@79 Use Emacs grep facility instead of calling external glimpse.

(fn &rest ARGS)
(defalias 'eshell/glimpse #[128 "\301\302\303\304\305\"\")\207" [null-device nil eshell-grep "glimpse" append ("-z" "-y")] 6 (#$ . 25858)])
#@59 Complete a command that wants a hostname for an argument.
(defalias 'eshell-complete-hostname #[0 "\300\301\302\211\211$\207" [pcomplete--here #[0 "\300 \207" [eshell-read-host-names] 1] nil] 5 (#$ . 26084)])
(put 'eshell-complete-hostname 'byte-optimizer 'byte-compile-inline-expand)
#@44 If there is a host reference, complete it.
(defalias 'eshell-complete-host-reference #[0 "\302\211\303\"`{\266\202\302\304\305\"\211\262\205\"\306T\"\307\310\311\312 \"\207" [pcomplete-stub pcomplete-last-completion-raw nil pcomplete-begin string-match "@[a-z.]*\\'" substring t throw pcomplete-completions eshell-read-host-names] 5 (#$ . 26375)])
(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 #[0 "\300\301!\210\302\303!\210\304\305\306\211\211$\207" [require pcmpl-unix pcomplete-opt "xl(pcmpl-unix-user-names)" pcomplete--here #[0 "\300 \207" [eshell-read-host-names] 1] nil] 5])
#@68 Complete `rsh', which, after the user and hostname, is like xargs.
(defalias 'pcomplete/rsh #[0 "\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 #[0 "\300 \207" [eshell-read-host-names] 1] nil #[0 " \207" [pcomplete-command-completion-function] 1] pcomplete-find-completion-function pcomplete-arg 1] 5 (#$ . 27142)])
#@13 

(fn SIZE)
(defalias 'eshell-du-size-string #[257 "\302	\303$\211G\304W\205\305\304Z\306\"P\207" [human-readable block-size eshell-printable-size t 8 make-string 32] 7 (#$ . 27637)])
(put 'eshell-du-size-string 'byte-optimizer 'byte-compile-inline-expand)
#@62 Summarize PATH, and its member directories.

(fn PATH DEPTH)
(defalias 'eshell-du-sum-directory #[514 "\306!\307\203\231\310\311@@\"\204\222\312@@Q@A\211@\262;\205)@A\211@\262\211\2031\203\220	\203B	@A\3138\262U\203\220\211\203I\211\262@A@\314=\203\\\315T\"\202\215@A\3168\262\211\n\203\213\317\f\314$\211G\320W\205\321\320Z\322\"P\266\203\323Q\324
\"\266\262\\\262\266A\262\202\203\253U\204\253\325U\203\317\211\317\f\314$\211G\320W\205\301\321\320Z\322\"P\266\203\326!\323Q\324
\"\266\207" [dereference-links only-one-filesystem show-all human-readable block-size eshell-output-handle eshell-directory-files-and-attributes 0.0 string-match "\\`\\.\\.?\\'" "/" 11 t eshell-du-sum-directory 7 eshell-printable-size 8 make-string 32 "\n" eshell-output-object 0 directory-file-name max-depth] 16 (#$ . 27907)])
#@64 Implementation of "du" in Lisp, passing ARGS.

(fn &rest ARGS)
(defalias 'eshell/du #[128 "\211\203\306!\307\310\"\262\202\311\262\312\313!\211\203N\3142?\211\205<\211@\315\316!\317\"\320\230\2035\321\314\322\"\210A\266\202\202\2620\204N\321\323\324\325!\"\"\202\306!\307\310\"\262\326\313\327#\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242\211A\262\242)\211A\262\242*\211\n\204\241	\206\240\330\f\203\256\f;\203\256\331\f!+\332>\203\270\333*\334\333,\203\344*\203\322\335\336@!!\3378\262*\211\340\341@!\342\"\\\262A\262\202\274\205\n\211\343
	\322$\211G\344W\205\376\345\344Z\346\"P\266\203\347P\350-\"\262)\262.\266\203\207" [show-all block-size by-bytes grand-total max-depth human-readable flatten-tree mapcar eshell-stringify (".") eshell-search-path "du" have-ange-path file-remote-p expand-file-name method "ftp" throw t eshell-replace-command eshell-parse-command eshell-quote-argument eshell--do-opts ((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.") 1024 string-to-number (ms-dos windows-nt) nil 0.0 eshell-file-attributes file-name-as-directory 11 eshell-du-sum-directory directory-file-name 0 eshell-printable-size 8 make-string 32 "total\n" eshell-output-object dereference-links only-one-filesystem system-type ange-cache eshell-output-handle] 13 (#$ . 28791)])
(put 'eshell/du 'eshell-filename-arguments t)
(defvar eshell-time-start nil)
(defalias 'eshell-show-elapsed-time #[0 "\301\302\303\304!!\"\305\306G\307$\210\211\310\311\"\266\312\313\314\315#\207" [eshell-time-start format "%.3f secs\n" float-time time-since set-text-properties 0 (face bold) eshell-output-filter nil remove-hook eshell-post-command-hook eshell-show-elapsed-time t] 6])
#@52 Implementation of "time" in Lisp.

(fn &rest ARGS)
(defalias 'eshell/time #[128 "\301!\302\303\2033\2033\304\305@\"\204)\211\203 \211\303\241\210\202#\306\262\303\262\202\262A\262\202\307!\310\311\"\262\312\313\314#\211\315 \316\317\320\303\302$\210\321\322\323@\307\nA!\310\311\"\262\"\"\266\203\207" [eshell-time-start copy-alist t nil string-match "^-" ("") flatten-tree mapcar eshell-stringify eshell--do-opts "time" ((104 "help" nil nil "show this usage screen") :external "time" :show-usage :usage "COMMAND...\nShow wall-clock time elapsed during execution of COMMAND.") float-time add-hook eshell-post-command-hook eshell-show-elapsed-time throw eshell-replace-command eshell-parse-command] 15 (#$ . 31539)])
#@45 Make "whoami" Tramp aware.

(fn &rest ARGS)
(defalias 'eshell/whoami #[128 "\301\302\"\206	\303 \207" [default-directory file-remote-p user user-login-name] 4 (#$ . 32290)])
(defvar eshell-diff-window-config nil)
#@56 Restore the window configuration previous to diff'ing.
(defalias 'eshell-diff-quit #[0 "\205\301!\207" [eshell-diff-window-config set-window-configuration] 2 (#$ . 32511) nil])
#@82 Return STRING, or nil if STRING contains only non-blank characters.

(fn STRING)
(defalias 'nil-blank-string #[257 "\300\301\"\205\211\207" [string-match "[^[:blank:]]"] 4 (#$ . 32698)])
(autoload 'diff-no-select "diff")
#@62 Alias "diff" to call Emacs `diff' function.

(fn &rest ARGS)
(defalias 'eshell/diff #[128 "\303!\304\305\"\262\204\306 \203	\204\n\203%\307\310\311\312\"\"\210\202\243\313!\262G\314W\2039\307\310\311\312\"\"\210\315\314\"@\315!@\316 G\314U\203Q\317\262\202X\315\320\"\317\241\210r\3211s\322\323C\324\305\303!\325#\262!#0\202|\210\307\310\311\312\"\"q\210\326\327!\203\234\330\331!\210\332\331\333\334\335\336\337\340\341	E\342BBBBE\"\210\343p!\210)\266\210\317\207" [eshell-plain-diff-behavior eshell-in-pipeline-p eshell-in-subcommand-p flatten-tree mapcar eshell-stringify eshell-interactive-output-p throw eshell-replace-command eshell-parse-command "*diff" copy-sequence 2 last current-window-configuration nil 3 (error) diff-no-select nil-blank-string mapconcat " " 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] 15 (#$ . 32928)])
(byte-code "\300\301\302\303#\210\300\301\304\303#\207" [put eshell/diff eshell-no-numeric-conversions t eshell-filename-arguments] 4)
#@66 Alias "locate" to call Emacs `locate' function.

(fn &rest ARGS)
(defalias 'eshell/locate #[128 "\204\304 \203	\204\n\204\211@;\203/\305\306@\"\203/\307\310\311\312\313!\314\315\"\262\"\"\207\316 r\317\320\321\322\323!\324\"\325$\216@C\326@A@\"+\207" [eshell-plain-locate-behavior eshell-in-pipeline-p eshell-in-subcommand-p locate-history-list eshell-interactive-output-p string-match "^-" throw eshell-replace-command eshell-parse-command "*locate" flatten-tree mapcar eshell-stringify internal--before-save-selected-window make-byte-code 0 "\301\300!\207" vconcat vector [internal--after-save-selected-window] 2 locate-with-filter] 9 (#$ . 34237)])
(put 'eshell/locate 'eshell-no-numeric-conversions t)
#@64 Alias "occur" to call Emacs `occur' function.

(fn &rest ARGS)
(defalias 'eshell/occur #[128 "\301\211G\302V\203\303\304!\202\305\306\")\207" [inhibit-read-only t 2 error "usage: occur: (REGEXP &optional NLINES)" apply occur] 4 (#$ . 34969)])
(byte-code "\300\301\302\303#\210\304\305!\207" [put eshell/occur eshell-no-numeric-conversions t provide em-unix] 4)

Zerion Mini Shell 1.0