summaryrefslogtreecommitdiff
path: root/lisp/eshell
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2005-05-27 02:57:18 +0000
committerJohn Wiegley <johnw@newartisans.com>2005-05-27 02:57:18 +0000
commit6b6f91b357f6fe2f1e0d72f046a1b8d8a2d6d8c3 (patch)
treecea28fba7cc58871cf937fd7799bd44e8b8834da /lisp/eshell
parent9c041409339fbd92ca875ba034bcf8ca3410330e (diff)
(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.
Diffstat (limited to 'lisp/eshell')
-rw-r--r--lisp/eshell/esh-cmd.el9
1 files changed, 4 insertions, 5 deletions
diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el
index d7c65066ac6..355369d35ae 100644
--- a/lisp/eshell/esh-cmd.el
+++ b/lisp/eshell/esh-cmd.el
@@ -757,7 +757,7 @@ nil)' if none)."
(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 @@ at the moment are:
(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."