GNU bug report logs - #69937
29.1; Eshell ${} expansion includes stderr

Previous Next

Package: emacs;

Reported by: Richard Sent <richard <at> freakingpenguin.com>

Date: Fri, 22 Mar 2024 04:27:02 UTC

Severity: normal

Found in version 29.1

Full log


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

From: Jim Porter <jporterbugs <at> gmail.com>
To: Richard Sent <richard <at> freakingpenguin.com>, 69937 <at> debbugs.gnu.org
Subject: Re: bug#69937: 29.1; Eshell ${} expansion includes stderr
Date: Thu, 21 Mar 2024 22:56:48 -0700
On 3/21/2024 9:20 PM, Richard Sent wrote:
> When performing expansion with ${} in Eshell, the expansion will include
> both stdin and stderr.
> 
> --8<---------------cut here---------------start------------->8---
> ~ $ echo ${ruby -e 'puts 0' -e 'STDERR.puts "1"' -e 'puts 2'}
> (0 1 2)
> --8<---------------cut here---------------end--------------->8---

Thanks for noticing this. I think this is simply a bug (although it may 
originally have been intentional due to Eshell's more-limited 
redirection operators in Emacs 28 and earlier). It would probably be 
good to follow other shells here, and people who *want* to capture both 
stdout and stderr can use 2>&1 as usual.

I'll try and put together a patch for this over the weekend.




This bug report was last modified 1 year and 87 days ago.

Previous Next


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