Subject: Re: bug#29157: 25.3; Eshell parsing fails sometimes, e.g. "date" and "sed"

From: Eli Zaretskii <[email-masked]>
Date: Sat, 25 Nov 2017 21:57:38 +0200

> From: Pierre Neidhardt <[email-masked]>
> Cc: [email-masked], [email-masked]
> Date: Sat, 25 Nov 2017 20:36:36 +0100
> 
> > If you want to know that so you could always get the same responses as
> > from another system shell, then perhaps we should have an option to
> > tell Eshell to always invoke an external program (maybe we already
> > have such an option, but I couldn't find it).
> 
> No, not like that, more like a friendly reminder: "this 'date' behaves
> the Eshell way, while that 'rmdir' is the system program".

But the answer to that question depends on the arguments and sometimes
on the switches, doesn't it?  E.g., Eshell's 'rm' can delete processes
and buffers, and unintern symbols, in addition to deleting files.
What exactly it does depends on the arguments.  And if you invoke it
with -d switch, it will call the external program, but if you invoke
with -f or -i or -n, it will use the built-in.  So just given the
verb, I don't see how you can have that indication.

> > Isn't it true that a verb that doesn't begin with a '*' is _never_ a
> > system program in Eshell?
> 
> I'm tempted to answer "no, it's not true", but we might be
> misunderstood.
> 
> As far as I got it, the '*' is here to force Eshell to use the system
> program, while no '*' tells Eshell to use its own version if available,
> or the system program otherwise.

So you want to have an indication when there's _no_ built-in
implementation at all, is that it?