I'd like to use the grep API for more things in some upcoming optimization patches, and to do that I need to use grep_init(), grep_config() etc. These APIs have a very unusual API, and we've got quite a bit of code in grep.c to support an obscure edge case in how "grep.extendedRegexp" behaves when clashing with a "grep.patternType" variable present in the same config space. This series is an opinionated change of that behavior, and resulting large deletion of code. The series starts out by deleting some unused code in grep.c, and moving a bit of related builtin/grep.c-specific code to that file, and out of grep.c. Ævar Arnfjörð Bjarmason (8): grep.h: remove unused "regex_t regexp" from grep_opt git.c & grep.c: assert that "prefix" is NULL or non-zero string grep: remove unused "prefix_length" member grep.c: move "prefix" out of "struct grep_opt" log tests: check if grep_config() is called by "log"-like cmds grep API: call grep_config() after grep_init() grep: simplify config parsing, change grep.<rx config> interaction grep: make "extendedRegexp=true" the same as "patternType=extended" Documentation/config/grep.txt | 4 +- Documentation/git-grep.txt | 4 +- builtin/grep.c | 31 +++++---- builtin/log.c | 13 +++- git.c | 4 +- grep.c | 118 ++++------------------------------ grep.h | 34 ++++++---- revision.c | 4 +- t/t4202-log.sh | 16 +++++ t/t7810-grep.sh | 4 +- 10 files changed, 89 insertions(+), 143 deletions(-) -- 2.34.0.rc1.741.gab7bfd97031