diff options
author | John Wiegley <[email protected]> | 2005-05-27 02:57:18 +0000 |
---|---|---|
committer | John Wiegley <[email protected]> | 2005-05-27 02:57:18 +0000 |
commit | 6b6f91b357f6fe2f1e0d72f046a1b8d8a2d6d8c3 (patch) | |
tree | cea28fba7cc58871cf937fd7799bd44e8b8834da /lisp | |
parent | 9c041409339fbd92ca875ba034bcf8ca3410330e (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')
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/eshell/esh-cmd.el | 9 |
2 files changed, 9 insertions, 5 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2795764f95..fd18c875ad 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,10 @@ 2005-05-26 John Wiegley <[email protected]> + * eshell/esh-cmd.el (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. + * eshell/em-cmpl.el (eshell-complete-parse-arguments): If the character before a space at the end of a line is \, assume the space is part of the last argument rather than a final argument diff --git a/lisp/eshell/esh-cmd.el b/lisp/eshell/esh-cmd.el index d7c65066ac..355369d35a 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." |