Re: [PATCH v2 4/8] grep: consistently use "p->fixed" in compile_regexp()
- From
Carlo Arenas <carenas@gmail.com>
- Date
- Jul 29, 2019, 01:48 UTC
- Message-ID
- <CAPUEspgay3RnLH3pdEWyktgn8XeuiKZ8PYPNB_38gyxffmh5Jw@mail.gmail.com>
- In-Reply-To
- <20190726150818.6373-5-avarab@gmail.com>
On Fri, Jul 26, 2019 at 8:09 AM Ævar Arnfjörð Bjarmason <avarab@gmail.com> wrote:
Show 19 quoted lines
>
> It's less confusing to use that variable consistently that switch back
> & forth between the two.
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
> grep.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/grep.c b/grep.c
> index 9c2b259771..b94e998680 100644
> --- a/grep.c
> +++ b/grep.c
> @@ -616,7 +616,7 @@ static void compile_regexp(struct grep_pat *p, struct grep_opt *opt)
> die(_("given pattern contains NULL byte (via -f <file>). This is only supported with -P under PCRE v2"));
>
> pat_is_fixed = is_fixed(p->pattern, p->patternlen);
> - if (opt->fixed || pat_is_fixed) {
> + if (p->fixed || pat_is_fixed) {at the end of this series we have:
if (p->fixed || p->is_fixed)
which doesn't make sense; at least with opt->fixed it was clear that what was meant is that grep was passed -P
maybe is_fixed shouldn't exist and fixed when applied to the pattern means we had determined it was a fixed pattern and overridden the user selection of engine.
that at least will give us a logical way to fix the pattern reported in [1] and that currently requires the user to know git's grep internals and know he can skip the "is_fixed" optimization by doing something like :
$ git grep 'foo[ ]bar'
Carlo
[1] https://public-inbox.org/git/20190728235427.41425-1-carenas@gmail.com/