bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#69937: 29.1; Eshell ${} expansion includes stderr


From: Jim Porter
Subject: bug#69937: 29.1; Eshell ${} expansion includes stderr
Date: Sat, 23 Mar 2024 12:31:37 -0700

On 3/21/2024 10:56 PM, Jim Porter wrote:
I'll try and put together a patch for this over the weekend.

I looked into this some more and found that it's not quite so easy to do this in a way that preserves functionality. Normally, you should be able to use the "2>&1" syntax to redirect (and thus capture) *all* the output. However, that fails for the $<command> form, since it will mis-parse this:

  $<command 2>&1>

Escaping the inner ">" won't work, since the parser doesn't unescape that character. Unescaping that would be tricky to get anyway, so I'm not sure it's the best route. Another hypothetical syntax would be (whitespace just for readability):

  $< { command 2>&1 } >

That *also* doesn't work today, but reworking 'eshell-find-delimiter' should make that possible, and likely fix some other surprising cases in the Eshell syntax. I have some ideas for how to do this, but it's a pretty invasive change, so it'll take quite a bit of thought. I don't have time to do this right now, but I'll take a look in the coming month or so.

Thankfully, aside from this wrinkle, all the *other* parts to fix this bug are pretty straightforward, and in fact I already have a WIP patch for them.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]