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

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

bug#65795: 30.0.50; [PATCH] Keep track of all processes in Eshell pipeli


From: Jim Porter
Subject: bug#65795: 30.0.50; [PATCH] Keep track of all processes in Eshell pipelines
Date: Wed, 6 Sep 2023 21:26:19 -0700

Currently, Eshell only keeps track of the head and tail processes in a pipeline. That works for most things, but it can cause issues with Eshell thinking the pipeline is done too early. If the tail process ends first, we assume the entire pipeline is done, when that's not always true.

These patches change things so that Eshell now keeps track of every process in a pipeline and waits for them to be done before proceeding on with the rest of Eshell's evaluation. That's less error-prone, and matches the behavior of other shells.

(This also helps prepare the codebase for the addition of a new feature for Eshell: job control. I have a mostly-working version of that locally, so once this merges and I've finished the job control patches, I'll post them to a new bug.)

Attachment: 0001-Move-common-Eshell-pipeline-code-to-a-separate-funct.patch
Description: Text document

Attachment: 0002-Make-Eshell-synchronous-pipeline-code-more-similar-t.patch
Description: Text document

Attachment: 0003-Collect-all-processes-in-an-Eshell-pipeline-not-just.patch
Description: Text document

Attachment: 0004-Move-some-Eshell-tests-to-more-topical-files.patch
Description: Text document

Attachment: 0005-Wait-for-all-processes-in-a-pipeline-before-resuming.patch
Description: Text document


reply via email to

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