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

From: John Wiegley <[email-masked]>
Date: Sun, 05 Apr 2015 23:19:42 -0500

>>>>> Samer Masterson <[email-masked]> writes:

> So I need to figure out a couple things in order to unblock myself: - how
> eshell knows to wait for other external processes (excluding
> eshell-wait-for-process), and whether that can be used at command-level
> granularity. E.g. for "cmd ${ext_cmd0} | ext_cmd1", the entire process needs
> to wait for both sides of the pipe to finish, and "cmd" needs to wait for
> "ext_cmd0" to finish before executing). "cmd ${ext_cmd0}" also shouldn't
> lock Emacs. - where the entry point is for the command prompt, and how the
> command prompt is reset after a set of commands finishes.

> I've cc'd johnw because he might know the answer to the above questions, and
> what the correct approach to fixing this should be. I'll return to this when
> I've learned more about how eshell works.

I don't really know the answer anymore (Eshell is 16 years old now!), but I'm
wondering what the rationale is for making this change?  Anything that messes
with the way sub-processes are handled should be treated with extreme care.

John