Function: eshell--unmark-deferrable
eshell--unmark-deferrable is a byte-compiled function defined in
esh-cmd.el.gz.
Signature
(eshell--unmark-deferrable COMMAND)
Documentation
If COMMAND is (or ends with) a deferrable command, unmark it as such.
This changes COMMAND in-place by converting function calls listed
in eshell-deferrable-commands to their non-deferrable forms so
that Eshell doesn't erroneously allow deferring it. For example,
eshell-named-command becomes eshell-named-command*.
Source Code
;; Defined in /usr/src/emacs/lisp/eshell/esh-cmd.el.gz
(defun eshell--unmark-deferrable (command)
"If COMMAND is (or ends with) a deferrable command, unmark it as such.
This changes COMMAND in-place by converting function calls listed
in `eshell-deferrable-commands' to their non-deferrable forms so
that Eshell doesn't erroneously allow deferring it. For example,
`eshell-named-command' becomes `eshell-named-command*'."
(let ((cmd command))
(when (memq (car cmd) '(let progn))
(setq cmd (car (last cmd))))
(when (memq (car cmd) eshell-deferrable-commands)
(setcar cmd (intern-soft
(concat (symbol-name (car cmd)) "*"))))
command))