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

From: Pierre Neidhardt <[email-masked]>
Date: Sat, 25 Nov 2017 18:54:51 +0100

Eli Zaretskii <[email-masked]> writes:

> Observe:
>
> 	~/git/emacs/branch $ date 42
> 	Wed Dec 31 19:00:42 1969
> But
> 	~/git/emacs/branch $ *date 42
> 	/bin/date: invalid date ‘42’
>
> So I'm not sure such a naïve solution is TRT in this case, because we
> are losing valuable features by doing that, and those features are not
> just an accident, they were intentionally included in Eshell.

I think you are right.  I did not know that eshell/date could be used
this way.

The issue here is mostly my lack of awareness about what is an Elisp
command and what is a system program.

Maybe having different syntax highlighting for the "verb" depending on
whether it's a system program or an Elisp command would help avoiding
the pitfall.

Is there a trivial way to do this?  If not I'll work on it.  Maybe
create a package if that does not fit the philosophy of mainline Emacs.