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

> Date: Wed, 04 Mar 2015 04:14:07 -0800
> From: Samer Masterson <samer@samertm.com>
> Cc: 12689@debbugs.gnu.org
> 
> On Tue, Mar 3, 2015 at 7:54 AM, Eli Zaretskii <eliz@gnu.org> wrote:
> 
>     Does this have any effect on the feature where Eshell can run several
>     commands simultaneously via a shell-like pipe? Thanks.
> 
> I don't know what feature you're describing.

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.

> Here is the output from running
> regular pipes:
> 
> ~ $ echo hello | /bin/echo there | /bin/echo hey | echo hi # Without patch
> hi
> hey
> ~ $ echo hello | /bin/echo there | /bin/echo hey | echo hi # With patch
> hi
> hey
> there
> hello

Not sure why you intersperse internal and external echo, or why did
you use echo to begin with.

In any case, what you see are bugs, at least in the case of a pipe
that cannot connect because the receiving end doesn't read stdin.

> First, we should ignore the fact that echo does nothing with stdin, and the
> above commands print "hi" in bash. I do not understand why the command without
> the patch only prints out "hey\nhi", but it printed that consistently on my
> computer. The second output is incorrect (or at the very least unexpected?),
> but less incorrect than the first. If this is what you were talking about, then
> the commands may have appeared to be simultaneous because they were racing, but
> I'm not sure if that's intentional.

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.

Thanks.





  reply	other threads:[~2015-03-04 17:38 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 [this message]
2015-03-05 10:34         ` Samer Masterson
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=83ioegpsrt.fsf@gnu.org \
    --to=eliz@gnu.org \
    --cc=12689@debbugs.gnu.org \
    --cc=samer@samertm.com \
    /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).