]> git.eshelyaron.com Git - emacs.git/commit
Add support for more kinds of redirect operators in Eshell
authorJim Porter <jporterbugs@gmail.com>
Sat, 9 Jul 2022 23:26:55 +0000 (16:26 -0700)
committerJim Porter <jporterbugs@gmail.com>
Sun, 4 Sep 2022 22:15:01 +0000 (15:15 -0700)
commitab7e94fb1d9b794c9d199435d72f569fba6ab017
treebdb8f5d264c9377c519ccc61009a4d9ab9551be0
parent3d6c013a27e0b72c8fbe2d47f752dd0dfd4ff47a
Add support for more kinds of redirect operators in Eshell

* lisp/eshell/esh-arg.el: Require cl-lib.
(eshell-finish-arg): Allow passing multiple ARGUMENTS.
(eshell-quote-argument): Handle the case when 'eshell-finish-arg' was
passed multiple arguments.

* lisp/eshell/esh-cmd.el (eshell-do-pipelines)
(eshell-do-pipelines-synchronously): Only set stdout output handle.

* lisp/eshell/esh-io.el (eshell-redirection-operators-alist): New
constant.
(eshell-io-initialize): Prefer sharp quotes for functions.
(eshell-parse-redirection, eshell-strip-redirections): Add support for
more redirection forms.
(eshell-copy-output-handle, eshell-set-all-output-handles): New
functions.

* test/lisp/eshell/esh-io-tests.el
(esh-io-test/redirect-all/overwrite, esh-io-test/redirect-all/append)
(esh-io-test/redirect-all/insert, esh-io-test/redirect-copy)
(esh-io-test/redirect-copy-first, esh-io-test/redirect-pipe): New
tests.

* doc/misc/eshell.texi (Redirection): Document new redirection syntax.
(Pipelines): Document '|&' syntax.
(Bugs and ideas): Update item about redirection syntax.

* etc/NEWS: Announce this change.
doc/misc/eshell.texi
etc/NEWS
lisp/eshell/esh-arg.el
lisp/eshell/esh-cmd.el
lisp/eshell/esh-io.el
test/lisp/eshell/esh-io-tests.el