Subject: Re: [PATCH v2 8/8] grep: make "extendedRegexp=true" the same as "patternType=extended"

From: Junio C Hamano <[email-masked]>
Date: Fri, 12 Nov 2021 11:32:03 -0800

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> In the preceding commit we changed how a "grep.patternType=default"
> set after "grep.extendedRegexp=true" would be handled so that the last
> set would win, but a "grep.extendedRegexp=true" would only be used if
> "grep.patternType" was set to a value other than "default".

I am getting the feeling that my suspicion about your confusion in
7/8 is right.

The grep.patternType=default was merely a backward compatibility
measure for those who were used to grep.extendedRegexp=true/false
way of doing things, and "default" never meant to mean "basic".  It
merely was an instruction to "honor the old extendedRegexp variable
for this old timer".  The intention all along was that patternType
was a more flexible single true way to set the type to supersede
extendedRegexp but we couldn't discontinue the support for the
latter all of a sudden, and the "default" was invented as the
transition mechanism, but it ended up as the mechanism to choose
either new (setting patternType to some other value) or old
(patternType is set to default, making the value given to
extendedRegexp is the only thing that matters) world to live in.

If you want to change anything in this area, the right thing to do
is rather to _deprecate_ extendedRegexp and eventually remove
extendedRegexp together with the "default" setting to patternType, I
would think, not to change the semantics of extendedRegexp in any
way.

Thanks.