diff options
| author | Jim Porter | 2024-07-19 18:02:16 -0700 |
|---|---|---|
| committer | Jim Porter | 2024-07-27 13:57:17 -0700 |
| commit | 50339b38fdef31982744bdb8b51838012dd4ef47 (patch) | |
| tree | f7c99d102a5fa8688ce680836e6e7ba7cb772613 /java | |
| parent | 8bfdee8689f8b99f353179898e922ec3d975a113 (diff) | |
| download | emacs-50339b38fdef31982744bdb8b51838012dd4ef47.tar.gz emacs-50339b38fdef31982744bdb8b51838012dd4ef47.zip | |
Use 'unwind-protect' to ensure that Eshell always closes I/O handles
See bug#72220.
* lisp/eshell/esh-cmd.el (eshell-with-handles): New macro...
(eshell-commands): ... use it.
(eshell-with-copied-handles): Remove STEAL-P and allow multiple body
forms (this is an incompatible change, but the macro is currently
internal despite the name).
(eshell-parse-command, eshell-do-pipelines)
(eshell-do-pipelines-synchronously, eshell--invoke-command-directly-p):
Remove handle stealing.
(eshell-structure-basic-command, eshell-do-command)
(eshell-lisp-command): Remove 'eshell-close-handles'.
(eshell-protect): Make obsolete.
(eshell-rewrite-for-command, eshell-rewrite-while-command)
(eshell-rewrite-if-command, (eshell-parse-pipeline): Remove
'eshell-protect'.
* lisp/eshell/esh-io.el (eshell-duplicate-handles): Make STEAL-P
obsolete.
* lisp/eshell/esh-proc.el (eshell-gather-process-output): Call
'eshell-protect-handles' one more time. Remove 'eshell-close-handles'.
* lisp/eshell/esh-var.el (eshell-parse-variable-ref): Reimplement
$<COMMAND> form using 'eshell-with-handles'.
* test/lisp/eshell/esh-cmd-tests.el
(esh-cmd-test/command-not-found/pipeline): New test.
* test/lisp/eshell/em-tramp-tests.el
(em-tramp-test/should-replace-command): Adjust check for
'eshell-with-copied-handles'.
Diffstat (limited to 'java')
0 files changed, 0 insertions, 0 deletions