Current File : //kunden/usr/share/emacs/27.2/lisp/eshell/esh-ext.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\300\303!\210\300\304!\210\305\306\307\310\311\312\313\314&\210\315\316\317\320\321DD\322\323\324\325\326\313\306& \210\315\327\317\320\330DD\331\325\332\313\306&\210\315\333\317\320\334DD\335\325\336\313\306&\207" [require esh-util esh-io esh-arg esh-opt custom-declare-group eshell-ext nil "External commands are invoked when operating system executables are\nloaded into memory, thus beginning a new process." :tag "External commands" :group eshell custom-declare-variable eshell-ext-load-hook funcall function #[0 "\300\207" [nil] 1] "A hook that gets run when `eshell-ext' is loaded." :version "24.1" :type hook eshell-binary-suffixes #[0 "\207" [exec-suffixes] 1] "A list of suffixes used when searching for executable files." (repeat string) eshell-force-execution #[0 "\301>??\207" [system-type (windows-nt ms-dos)] 2] "If non-nil, try to execute files regardless of execute permissions.\nThis can be useful on systems like Windows, where the operating system\ndoesn't support the execution bit for shell scripts; or in cases where\nyou want to associate an interpreter with a particular kind of script\nfile, but the language won't let you but a `#!' interpreter line in\nthe file, and you don't want to make it executable since nothing else\nbut Eshell will be able to understand\n`eshell-interpreter-alist'." boolean] 10)
#@50 Search the environment path for NAME.
(fn NAME)
(defalias 'eshell-search-path #[257 "\302!\203 \207\303 \304\211\211\211\203R @P\262\262\203K @P\262\305!\2045 \203D \306!\203D \307!\204D \262\304\262\304\262A\262\202 A\262\202
\207" [eshell-binary-suffixes eshell-force-execution file-name-absolute-p eshell-get-path nil file-executable-p file-readable-p file-directory-p] 8 (#$ . 1784)])
(byte-code "\300\301\302\303\304DD\305\306\307\310\311&\210\312\313\314\"\207" [custom-declare-variable eshell-windows-shell-file funcall function #[0 "\302>\205 \303\304 \"\203 \305\306!\206 \305\307!\207 \207" [system-type shell-file-name (ms-dos windows-nt) string-match "\\(cmdproxy\\|sh\\)\\.\\(com\\|exe\\)" eshell-search-path "cmd.exe" "command.com"] 3] "The name of the shell command to use for DOS/Windows batch files.\nThis defaults to nil on non-Windows systems, where this variable is\nwholly ignored." :type (choice file (const nil)) :group eshell-ext autoload eshell-parse-command "esh-cmd"] 8)
#@69 Invoke a .BAT or .CMD file on DOS/Windows systems.
(fn &rest ARGS)
(defalias 'eshell-invoke-batch-file #[128 "\211\301\302\303@#\240\210\304\305\306\307!\310B\"\"\207" [eshell-windows-shell-file subst-char-in-string 47 92 throw eshell-replace-command eshell-parse-command eshell-quote-argument "/c"] 7 (#$ . 2821)])
(byte-code "\300\301\302\303#\210\304\305\306\307\310DD\311\312\313\314\315&\210\304\316\306\307\317DD\320\312\321\314\315&\210\304\322\306\307\323DD\324\312\325\314\315&\210\304\326\306\307\327DD\330\312\331\314\315&\207" [put eshell-invoke-batch-file byte-optimizer byte-compile-inline-expand custom-declare-variable eshell-interpreter-alist funcall function #[0 "\301>\205 \302\207" [system-type (ms-dos windows-nt) (("\\.\\(bat\\|cmd\\)\\'" . eshell-invoke-batch-file))] 2] "An alist defining interpreter substitutions.\nEach member is a cons cell of the form:\n\n (MATCH . INTERPRETER)\n\nMATCH should be a regexp, which is matched against the command\nname, or a function of arity 2 receiving the COMMAND and its\nARGS (a list). If either returns a non-nil value, then\nINTERPRETER will be used for that command.\n\nIf INTERPRETER is a string, it will be called as the command name,\nwith the original command name passed as the first argument, with all\nsubsequent arguments following. If INTERPRETER is a function, it will\nbe called with all of those arguments. Note that interpreter\nfunctions should throw `eshell-replace-command' with the alternate\ncommand form, or they should return a value compatible with the\npossible return values of `eshell-external-command', which see." :type (repeat (cons (choice regexp (function :tag "Predicate")) (choice string (function :tag "Interpreter")))) :group eshell-ext eshell-alternate-command-hook #[0 "\300\207" [nil] 1] "A hook run whenever external command lookup fails.\nIf a functions wishes to provide an alternate command, they must throw\nit using the tag `eshell-replace-command'. This is done because the\nsubstituted command need not be external at all, and therefore must be\npassed up to a higher level for re-evaluation.\n\nOr, if the function returns a filename, that filename will be invoked\nwith the current command arguments rather than the command specified\nby the user on the command line." hook eshell-command-interpreter-max-length #[0 "\300\207" [256] 1] "The maximum length of any command interpreter string, plus args." integer eshell-explicit-command-char #[0 "\300\207" [42] 1] "If this char occurs before a command name, call it externally.\nThat is, although `vi' may be an alias, `i' will always call the\nexternal version." character] 8)
#@48 Initialize the external command handling code.
(defalias 'eshell-ext-initialize #[0 "\300\301\302\303\304$\207" [add-hook eshell-named-command-hook eshell-explicit-command nil t] 5 (#$ . 5484)])
#@128 If a command name begins with `*', call it externally always.
This bypasses all Lisp functions and aliases.
(fn COMMAND ARGS)
(defalias 'eshell-explicit-command #[514 "G\301V\2050 \302H=\2050 \303\304\301\"!\211\203'