From 2832bbd8ef9861a302c2c5e7292e850643d32f48 Mon Sep 17 00:00:00 2001 From: Jim Porter Date: Wed, 28 Aug 2024 13:59:04 -0700 Subject: [PATCH] Use 'eshell-with-handles' when executing an Eshell file This makes sure we close the handles as we should, which is important for writing the output to an actual file (bug#72857). * lisp/eshell/em-script.el (esh-cmd): Require this, just to be explicit. (eshell-execute-file): Use 'eshell-with-handles'. (cherry picked from commit e97ab1c41332e179939f457cc010a606a5124ff8) --- lisp/eshell/em-script.el | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lisp/eshell/em-script.el b/lisp/eshell/em-script.el index 80dea16106b..a8662c4a2b7 100644 --- a/lisp/eshell/em-script.el +++ b/lisp/eshell/em-script.el @@ -24,6 +24,7 @@ ;;; Code: (require 'esh-mode) +(require 'esh-cmd) (require 'esh-io) ;;;###esh-module-autoload @@ -127,10 +128,9 @@ Comments begin with `#'." (with-temp-buffer (eshell-mode) (eshell-do-eval - `(let ((eshell-current-handles - (eshell-create-handles ,stdout 'insert ,stderr 'insert)) - (eshell-current-subjob-p)) - ,(eshell--source-file file args)) + `(eshell-with-handles (,stdout 'insert ,stderr 'insert) + (let ((eshell-current-subjob-p)) + ,(eshell--source-file file args))) t)))) (cl-defstruct (eshell-princ-target -- 2.39.5