GNU bug report logs - #61024
29.0.60; [PATCH] Eshell errors out when trying to redirect output of a remote process

Previous Next

Package: emacs;

Reported by: Jim Porter <jporterbugs <at> gmail.com>

Date: Mon, 23 Jan 2023 07:09:02 UTC

Severity: normal

Tags: patch

Found in version 29.0.60

Full log


Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Jim Porter <jporterbugs <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.60; [PATCH] Eshell errors out when trying to redirect output of
 a remote process
Date: Sun, 22 Jan 2023 23:07:58 -0800
[Message part 1 (text/plain, inline)]
To see this in action, run "emacs -Q -f eshell" and then:

  ~ $ cd /sudo::
  /sudo:root <at> host:~ # *echo hi there > #<foo>
  Wrong type argument: "bufferp echo-stderr"

(Any other Tramp method should reproduce this issue.) That's because the 
echo command is being redirected to two places: stdout is going to the 
buffer "foo", and stderr is going to the Eshell buffer (via a pipe 
process). However, that doesn't work for Tramp processes.

Attached is a fix with a test. I think this should definitely go in 
Emacs 29, since it's a pretty bad regression. I'm actually surprised no 
one has filed a bug on this already.

For tracking purposes, I believe this was broken by f07505d1ec (bug#21605).

For Emacs 30, it'd be interesting to see if there were a way to get 
Tramp processes to have different targets for stdout and stderr. That'd 
make them work a lot more like local processes in Eshell.
[0001-Don-t-try-to-make-a-pipe-process-for-remote-processe.patch (text/plain, attachment)]

This bug report was last modified 115 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.