Mercurial > emacs
changeset 62789:74e26c83386f
(eshell-eval-command): If the return value of `eshell-resume-eval' is
wrapped in a list, it indicates that the command was run
asynchronously. In that case, unwrap the value before checking the
delimiter value.
author | John Wiegley <johnw@newartisans.com> |
---|---|
date | Fri, 27 May 2005 02:56:52 +0000 |
parents | ed936737c106 |
children | 0751d21ef87f |
files | lisp/eshell/esh-cmd.el |
diffstat | 1 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/eshell/esh-cmd.el Fri May 27 02:15:36 2005 +0000 +++ b/lisp/eshell/esh-cmd.el Fri May 27 02:56:52 2005 +0000 @@ -757,7 +757,7 @@ (defmacro eshell-do-subjob (object) "Evaluate a command OBJECT as a subjob. -We indicate thet the process was run in the background by returned it +We indicate that the process was run in the background by returning it ensconced in a list." `(let ((eshell-current-subjob-p t)) ,object)) @@ -1006,11 +1006,10 @@ (eshell-resume-eval)))) ;; On systems that don't support async subprocesses, eshell-resume ;; can return t. Don't treat that as an error. + (if (listp delim) + (setq delim (car delim))) (if (and delim (not (eq delim t))) - (error "Unmatched delimiter: %c" - (if (listp delim) - (car delim) - delim)))))) + (error "Unmatched delimiter: %c" delim))))) (defun eshell-resume-command (proc status) "Resume the current command when a process ends."