Subject: bug#27844: 26.0.50; Dired w/ eshell-ls doesn't support wildcards in file name

From: Tino Calancha <[email-masked]>
Date: Tue, 1 Aug 2017 23:06:01 +0900 (JST)

On Tue, 1 Aug 2017, Eli Zaretskii wrote:

> I'm confused: I wasn't commenting on what eshell-extended-glob does, I
> was commenting about your code:
>
>  +                     (let ((matches (eshell-extended-glob file)))
>  +                       (if (consp matches)
>  +                           (mapcar #'file-relative-name matches)
>  +                         (user-error (format "%s: No files matching wildcard" file))))
>                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> If eshell-extended-glob already signals an error when it's TRT, why do
> you need to signal an error if Eshell doesn't?  What am I missing?
I prefer to throw an error because looks familiar compared with
what i see when using GNU/ls.
If i try:
C-x d ~/emacs-master/lisp/*.Z RET

I) with GNU/ls or with ls-lisp:
i get an error and i read in the echo area:
Reading directory: No such file or directory, ~/emacs-master/lisp/*Z

II) with eshell-ls:
I actualy get a Dired buffer with an entry (the directory itself).

I rather prefer if II) behaves as I) regardless on 
'eshell-error-if-no-glob', that means, my second patch with the 
user-error.