unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Samer Masterson <samer@samertm.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 12689@debbugs.gnu.org
Subject: bug#12689: 24.2; Eshell ${cmd} substitution
Date: Thu, 05 Mar 2015 02:34:00 -0800	[thread overview]
Message-ID: <1425551640.2108.1@mail.samertm.com> (raw)
In-Reply-To: <83ioegpsrt.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 1349 bytes --]


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

[-- Attachment #2: Type: text/html, Size: 1741 bytes --]

  reply	other threads:[~2015-03-05 10:34 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-10-20  8:06 bug#12689: 24.2; Eshell ${cmd} substitution Aidan Gauland
2014-12-14 12:44 ` samer
2015-02-24 10:56 ` Samer Masterson
2015-03-03 15:54   ` Eli Zaretskii
2015-03-04 12:14     ` Samer Masterson
2015-03-04 17:38       ` Eli Zaretskii
2015-03-05 10:34         ` Samer Masterson [this message]
2015-04-06  3:41           ` Samer Masterson
2015-04-06  4:19             ` John Wiegley
2015-04-06  4:54               ` Samer Masterson
2022-02-09  9:12 ` Lars Ingebrigtsen
2022-02-09 19:01   ` Jim Porter
2022-02-09 20:12     ` Lars Ingebrigtsen
2022-05-03  3:52       ` Jim Porter
2022-05-03 10:37         ` Lars Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1425551640.2108.1@mail.samertm.com \
    --to=samer@samertm.com \
    --cc=12689@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).