On 7/7/2022 5:42 AM, Ken Brown wrote: > On 7/7/2022 12:42 AM, Jim Porter wrote: >> On 7/6/2022 9:35 PM, Jim Porter wrote: >>> Maybe it would be good to do it this way in general though, since >>> this would let us completely avoid the behavioral differences of EOF >>> on various platforms. I believe using a pipe should work consistently >>> everywhere, right? (It would also probably fix some other issues with >>> Eshell pipelines, but I'll need to read up on ptys, since it's been a >>> long time since I've done anything with them.) >> >> Just to clarify: by "do it this way in general", I only mean using a >> pipe when connecting commands in Eshell via "|", not using >> `eshell-needs-pipe'. This would necessitate enhancing `make-process' >> and friends to support what I described elsewhere. > > That makes sense to me. Ok, attached is a WIP patch to do this. It seems to work for me under Cygwin, although I've only lightly tested it in that environment. If this works for you too, I'll finish cleaning this up and add tests/documentation for it. Note that in my patch, I temporarily undid my previous patch to send EOF multiple times. This is just for testing purposes, but since we're using a pipe for this connection now, a single call to `process-send-eof' should be sufficient. (There are some obscure cases where we might want to keep the current behavior, like redirecting to a process created some other way, so I think it makes sense to keep that code. Probably...)