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

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

bug#56025: 29.0.50; em-extpipe-test-2 times out on EMBA and Cygwin


From: Jim Porter
Subject: bug#56025: 29.0.50; em-extpipe-test-2 times out on EMBA and Cygwin
Date: Sat, 18 Jun 2022 12:02:15 -0700

On 6/18/2022 10:52 AM, Ken Brown wrote:
No, I'm seeing the same results on Emacs 28.  On both Emacs 28 and Emacs 29, rev is apparently not seeing EOF unless echo outputs a newline, so rev keeps waiting for input.

Ah ha! Thanks for debugging this. The minimal fix then would be to change the command in em-extpipe-test-2 to either of these:

  echo -N "bar" | rev *>temp
  *echo "bar" | rev *>temp

One last[1] question: if you ran "echo -n bar | rev" in Cygwin Bash, does it hang there too? Maybe this is just a Cygwin limitation, or maybe Eshell is doing something wrong with its built-in pipelines in this situation.

[Side note: It took me a while to sort this out because (a) Eshell's echo does not output a newline by default, in contrast to Bash's builtin echo; (b) in Eshell in Emacs 28, you use '-n' to add a newline, while in Bash '-n' suppresses the newline; and (c) in Eshell in Emacs 29, you use '-N' to add a newline.]

This is one of the parts of Eshell that's always bothered me a bit. Eshell's echo is different enough from other echo implementations that it's easy to get tripped up. There's some further discussion of this in bug#12689 as well. I'm hesitant to change Eshell's echo too much, since it could break user scripts, but it would be nice if we could find a reasonably-compatible way of making it work more like /bin/echo.

[1] Well, probably last.





reply via email to

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