Subject: Re: bug#22577: 25.0.50; vc-git-grep fails when searching for `all' files

From: Óscar Fuentes <[email-masked]>
Date: Mon, 08 Feb 2016 06:59:33 +0100

Dmitry Gutov <[email-masked]> writes:

> (Not a guru here.)

Thanks for commenting anyways :-)

>> -  '(("all" .   "* .*")
>> +  '(("all" .   "* .[^\\.]*")
>
> I think you don't even need the escape (and it would create a false
> negative for file names starting with '.\'; but nobody should have
> those anyway). Otherwise, it looks good.

It seems that the escape is not required, although every example I saw
on the Internets uses it (one copying the another, I guess.)

What I've discovered while investigating your commentary is that the
[^.] syntax is not POSIX and some shells (posh) does not admit it. The
syntax required by POSIX is [!.]. I checked that .[!.]* works as
expected on GNU/Linux and on Windows (MSYS2 and cmd.exe calling git and
grep). It doesn't work on Eshell, but that doesn't count.

On a few days I'll commit the patch using the [!.] syntax, if nobody
objects to it.