Function: eshell-do-subjob
eshell-do-subjob is a macro defined in esh-cmd.el.gz.
Signature
(eshell-do-subjob OBJECT)
Documentation
Evaluate a command OBJECT as a subjob.
We indicate that the process was run in the background by returning it ensconced in a list.
Source Code
;; Defined in /usr/src/emacs/lisp/eshell/esh-cmd.el.gz
;;_* Command evaluation macros
;;
;; The structure of the following macros is very important to
;; `eshell-do-eval' [Iterative evaluation]:
;;
;; @ Don't use forms that conditionally evaluate their arguments, such
;; as `setq', `if', `while', `let*', etc. The only special forms
;; that can be used are `let', `condition-case' and
;; `unwind-protect'.
;;
;; @ The main body of a `let' can contain only one form. Use `progn'
;; if necessary.
;;
;; @ The two `special' variables are `eshell-current-handles' and
;; `eshell-current-subjob-p'. Bind them locally with a `let' if you
;; need to change them. Change them directly only if your intention
;; is to change the calling environment.
(defmacro eshell-do-subjob (object)
"Evaluate a command OBJECT as a subjob.
We indicate that the process was run in the background by returning it
ensconced in a list."
`(let ((eshell-current-subjob-p t))
,object))