Subject: bug#52367: closed (Re: bug#52367: 27.2; lgrep and grep-files-aliases)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 08 Dec 2021 22:59:02 +0000

Your bug report

#52367: 27.2; lgrep and grep-files-aliases

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
52367: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=52367
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#52367: 27.2; lgrep and grep-files-aliases
From: Óscar Fuentes <[email-masked]>
To: Eli Zaretskii <[email-masked]>
Cc: [email-masked], [email-masked]
Date: Wed, 08 Dec 2021 23:58:10 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Eli Zaretskii <[email-masked]> writes:

>> Okay to revert it on emacs-28?
>
> Yes, thanks.

Done.

@ Maxence Dutielt : please open a new issue for discussing the
--directories=skip change you propose. Thank you.

Subject: 27.2; lgrep and grep-files-aliases
From: Maxence Dutielt <[email-masked]>
To: [email-masked]
Cc: [email-masked]
Date: Wed, 8 Dec 2021 01:54:26 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

emacs -Q
M-x lgrep
Search for: foo
Search for "foo" in files matching wildcard (default all): all
In directory: ~/foobar

will always output this error if you don't have any filename starting
with two dots:

grep: ..?*: No such file or directory
Grep exited abnormally with code 2

I noticed "..?*" was introduced here:
commit ref: 856cd948d1a5a016ad36721246a049d33451902f
after reviewing bug #22577 (archived):
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=22577

Now that Emacs is smarter at quoting shell commands (at least on 27.2),
"* .[!.]* ..?*" seems overcomplicated and no longer necessary.

I couldn't reproduce bug #22577 with vc-git-grep as mentioned, using
both BSD and GNU grep on Linux, Windows and macOS.

Since "* .*" works as expected again, and doesn't produce the error of
"..?*", I think it should be reverted back into grep-files-aliases.

Lastly, to avoid such messages when using lgrep:

grep: foobar: Is a directory

We could add the parameter --directories=skip by default, since lgrep is
not for recursive search.