diff options
author | Jim Porter <jporterbugs@gmail.com> | 2024-11-01 10:40:25 -0700 |
---|---|---|
committer | Jim Porter <jporterbugs@gmail.com> | 2024-11-01 11:41:21 -0700 |
commit | 673c906a5b7255987c09f534de45e555fc7fc9ae (patch) | |
tree | 883e84a69ec1b13474e7d71109e0dc6cc552007f /lisp/emacs-lisp | |
parent | ffda8dfe847094bd8488059be2f96270fe298fa5 (diff) | |
download | emacs-673c906a5b7255987c09f534de45e555fc7fc9ae.tar.gz emacs-673c906a5b7255987c09f534de45e555fc7fc9ae.tar.bz2 emacs-673c906a5b7255987c09f534de45e555fc7fc9ae.zip |
Improve evaluation of conditional Eshell forms
This simplifies the logic for building these forms and also fixes an
issue where a subcommand in a "&&" or "||" conditional had its output
suppressed.
* lisp/eshell/esh-cmd.el (eshell-structure-basic-command): Make
obsolete.
(eshell-silence-test-command): New function...
(eshell-rewrite-while-command, eshell-rewrite-if-command): ... use it,
and make the command form ourselves.
(eshell-parse-pipeline): Use 'and' and 'or' to make the conditional
command sequence.
(eshell-command-success): New macro.
(eshell-do-eval): Add support for 'and' and 'or' forms.
* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/and-operator/output)
(esh-cmd-test/or-operator/output): New tests.
Diffstat (limited to 'lisp/emacs-lisp')
0 files changed, 0 insertions, 0 deletions