GNU bug report logs - #59545
29.0.50; Eshell fails to redirect output of sourced eshell file

Previous Next

Package: emacs;

Reported by: Milan Zimmermann <milan.zimmermann <at> gmail.com>

Date: Thu, 24 Nov 2022 15:50:02 UTC

Severity: normal

Found in version 29.0.50

Done: Jim Porter <jporterbugs <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Jim Porter <jporterbugs <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 59545 <at> debbugs.gnu.org, milan.zimmermann <at> gmail.com, michael.albinus <at> gmx.de
Subject: bug#59545: 29.0.50; Eshell fails to redirect output of sourced eshell file
Date: Sun, 25 Dec 2022 13:49:43 -0800
[Message part 1 (text/plain, inline)]
On 12/24/2022 5:36 PM, Jim Porter wrote:
> I'll also see if I can fix the FIXME comment I added, but this is a part 
> of Eshell that's fairly brittle, and I think the *real* fix for that is 
> moving to running Eshell commands in a separate thread, as discussed on 
> emacs-devel.

Ok, it turns out that the regression test that was failing 
(eshell-tests/queue-input) wasn't testing the right thing, so I've fixed 
that and also found a real bug in the queued-input code. The FIXME 
comment is now resolved, although I admit I'm not 100% sure why it 
helped improve things. I still don't entirely understand 
'eshell-do-eval's inner workings...

I also added an assertion to make sure we're not trying to close I/O 
handles more times than we should, which revealed another bug (this time 
with my patch), so I've fixed that too.

I think this should resolve all the issues now, so unless anyone has 
objections, I'll merge this to the master branch in a few days.
[0001-Fix-reference-counting-of-Eshell-I-O-handles.patch (text/plain, attachment)]

This bug report was last modified 2 years and 143 days ago.

Previous Next


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