Mercurial > emacs
changeset 38007:fa54203d014a
(eshell-exit-success-p): Use a string-match to test if the last
command was Lisp or not.
(eshell-rewrite-if-command): "if" syntax is "if A B C", not "if A B x
C".
author | John Wiegley <johnw@newartisans.com> |
---|---|
date | Sat, 09 Jun 2001 05:24:15 +0000 |
parents | 13be8065f0ca |
children | 710f2cbdd6ab |
files | lisp/eshell/esh-cmd.el |
diffstat | 1 files changed, 6 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/eshell/esh-cmd.el Sat Jun 09 05:23:38 2001 +0000 +++ b/lisp/eshell/esh-cmd.el Sat Jun 09 05:24:15 2001 +0000 @@ -613,10 +613,10 @@ (eshell-invokify-arg (cadr terms) nil t) (list 'eshell-protect (eshell-invokify-arg - (if (= (length terms) 5) - (car (last terms 3)) + (if (= (length terms) 4) + (car (last terms 2)) (car (last terms))) t)) - (if (= (length terms) 5) + (if (= (length terms) 4) (list 'eshell-protect (eshell-invokify-arg (car (last terms)))) t)))) @@ -625,7 +625,9 @@ "Return non-nil if the last command was \"successful\". For a bit of Lisp code, this means a return value of non-nil. For an external command, it means an exit code of 0." - (if (string= eshell-last-command-name "#<Lisp>") + (if (save-match-data + (string-match "#<\\(Lisp object\\|function .*\\)>" + eshell-last-command-name)) eshell-last-command-result (= eshell-last-command-status 0)))