Subject: bug#53517: 29.0.50; [PATCH] `eshell-eval-using-options' :preserve-args breaks :external handling in some cases

From: Jim Porter <[email-masked]>
Date: Mon, 24 Jan 2022 22:29:20 -0800

On 1/24/2022 9:19 PM, Jim Porter wrote:
> On 1/24/2022 5:11 PM, Jim Porter wrote:
>> (It might be nice to fix that too, but I think it's still useful to
>> keep the original raw args around unchanged. Improving "-" support
>> could be done later.)
> 
> Actually, I'll do that now. Doing so fixes an issue I found in the 
> implementation of `eshell/cat'. "cat -" should read from stdin (and the 
> Eshell implementation should use the external /bin/cat to do this), but 
> it was getting parsed as "cat", so it erroneously thought there were 
> *no* input files.

Just a note: `cat' with no args *should* read from stdin, but this 
doesn't actually work in Eshell yet; to read from stdin, you need to 
explicitly say "cat -" or "*cat". I plan to fix these bits in a separate 
bug, since I have a WIP patch series to allow piping to Lisp functions 
in Eshell. That involves rewriting most of `eshell/cat', so I figured I 
may as well just fix it once (later) instead of twice.