aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/eshell
diff options
context:
space:
mode:
authorJim Porter2023-01-22 22:54:53 -0800
committerJim Porter2023-01-23 09:48:09 -0800
commit7f438ff543b7bd83cee6c75be1d16abc1215d37f (patch)
treeddca7acf2572a39268ce5d6ead0182861f8b2e80 /lisp/eshell
parentcb9628373a8dcb5ace0cb8fcc7b636dea39b5703 (diff)
downloademacs-7f438ff543b7bd83cee6c75be1d16abc1215d37f.tar.gz
emacs-7f438ff543b7bd83cee6c75be1d16abc1215d37f.zip
Don't try to make a pipe process for remote processes in Eshell
Tramp currently isn't able to handle this, so the result will just produce an error (bug#61024). * lisp/eshell/esh-proc.el (eshell-gather-process-output): Check for a remote 'default-directory' before trying to make a pipe process. * test/lisp/eshell/esh-proc-tests.el (esh-var-test/output/remote-redirect): New test.
Diffstat (limited to 'lisp/eshell')
-rw-r--r--lisp/eshell/esh-proc.el9
1 files changed, 7 insertions, 2 deletions
diff --git a/lisp/eshell/esh-proc.el b/lisp/eshell/esh-proc.el
index f1ec3a905b6..fcd59ab9f37 100644
--- a/lisp/eshell/esh-proc.el
+++ b/lisp/eshell/esh-proc.el
@@ -296,8 +296,13 @@ Used only on systems which do not support async subprocesses.")
296 'unix)))) 296 'unix))))
297 (cond 297 (cond
298 ((fboundp 'make-process) 298 ((fboundp 'make-process)
299 (unless (equal (car (aref eshell-current-handles eshell-output-handle)) 299 (unless (or ;; FIXME: It's not currently possible to use a
300 (car (aref eshell-current-handles eshell-error-handle))) 300 ;; stderr process for remote files.
301 (file-remote-p default-directory)
302 (equal (car (aref eshell-current-handles
303 eshell-output-handle))
304 (car (aref eshell-current-handles
305 eshell-error-handle))))
301 (eshell-protect-handles eshell-current-handles) 306 (eshell-protect-handles eshell-current-handles)
302 (setq stderr-proc 307 (setq stderr-proc
303 (make-pipe-process 308 (make-pipe-process