1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-19 18:13:55 +00:00

(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".
This commit is contained in:
John Wiegley 2001-06-09 05:24:15 +00:00
parent 4c6a53caf7
commit 05a685722c

View File

@ -613,10 +613,10 @@ must be implemented via rewriting, rather than as a function."
(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 @@ must be implemented via rewriting, rather than as a function."
"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)))