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

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

bug#12689: 24.2; Eshell ${cmd} substitution


From: Samer Masterson
Subject: bug#12689: 24.2; Eshell ${cmd} substitution
Date: Thu, 05 Mar 2015 02:34:00 -0800


On Wed, Mar 4, 2015 at 9:38 AM, Eli Zaretskii <eliz@gnu.org> wrote:
eshell-execute-pipeline was what I had in mind. It's been a while since I last hacked Eshell, so perhaps that was a stupid question, but what prompted it was the fact that your change would wait until a process exited under some conditions, so I wondered whether it will prevent Eshell from firing up several asynchronous processes connected through a pipe.

Oh, I see what you're saying. My confusion came from not knowing that piped programs executed in parallel in traditional shells.
Not sure why you intersperse internal and external echo, or why did you use echo to begin with.
I thought the external echos would race and output out-of-order, but they just cut off after the first external echo.
I'd rather see that a pipe that does make sense, something like cat some-large-file | wc with external commands works as expected, and both programs run simultaneously in parallel (e.g., according to 'top' or a similar tool), not sequentially.
The following command

~$ sleep 1 | sleep 1 | sleep 1

runs in 1 second without my patch and 3 with it (which doesn't conform with Bash). Also

~$ cat any-file | wc

never returns with my patch. Thanks for catching these errors, and I'll ping this bug report when my new patch is ready.
-s

reply via email to

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