Function: eshell-invokify-arg
eshell-invokify-arg is a byte-compiled function defined in
esh-cmd.el.gz.
Signature
(eshell-invokify-arg ARG &optional SHARE-OUTPUT SILENT)
Documentation
Change ARG so it can be invoked from a structured command.
SHARE-OUTPUT, if non-nil, means this invocation should share the current output stream, which is separately redirectable. SILENT means the user and/or any redirections shouldn't see any output from this command. If both SHARE-OUTPUT and SILENT are non-nil, the second is ignored.
Source Code
;; Defined in /usr/src/emacs/lisp/eshell/esh-cmd.el.gz
(defsubst eshell-invokify-arg (arg &optional share-output silent)
"Change ARG so it can be invoked from a structured command.
SHARE-OUTPUT, if non-nil, means this invocation should share the
current output stream, which is separately redirectable. SILENT
means the user and/or any redirections shouldn't see any output
from this command. If both SHARE-OUTPUT and SILENT are non-nil,
the second is ignored."
;; something that begins with `eshell-convert' means that it
;; intends to return a Lisp value. We want to get past this,
;; but if it's not _actually_ a value interpolation -- in which
;; we leave it alone. In fact, the only time we muck with it
;; is in the case of a {subcommand} that has been turned into
;; the interpolation, ${subcommand}, by the parser because it
;; didn't know better.
(if (and (listp arg)
(eq (car arg) 'eshell-convert)
(eq (car (cadr arg)) 'eshell-command-to-value))
(if share-output
(cadr (cadr arg))
`(eshell-commands ,(cadr (cadr arg)) ,silent))
arg))