Subject: Re: bug#71655: Eshell external commands do not work under GNU Emacs for Windows

From: Jim Porter <[email-masked]>
Date: Sun, 23 Jun 2024 18:40:37 -0700

On 6/22/2024 9:36 PM, Eli Zaretskii wrote:
>> Date: Sat, 22 Jun 2024 12:55:32 -0700
>> Cc: [email-masked], [email-masked]
>> From: Jim Porter <[email-masked]>
>>
>> I don't have a strong preference myself, but the latter seems
>> ever-so-slightly safer to me. This bug happened because we can't read
>> the file when trying to insert it, so ignoring file errors would cover
>> any other situations we haven't predicted. On the other hand, maybe
>> there's a case where we *want* the 'insert-file-contents-literally'
>> error to signal so that we don't try to execute the file normally (I
>> can't think of any such cases, though).
> 
> Why not do both?  If the file has zero size, reading it is pointless,
> and if reading it signals an error, we cannot examine it for the
> interpreter signature.

That could work, though thinking about this some more, I think there's a 
benefit to being careful about how we add checks here. For Tramp files, 
we should probably try to keep the number of calls that need to touch 
the remote filesystem to a minimum.

I'll think about this some more and see if we can get all the checks we 
want without making the code slower over Tramp. (Maybe Tramp caches 
enough that this isn't a problem, but I'm not certain yet.)