diff options
author | Ævar Arnfjörð Bjarmason <avarab@gmail.com> | 2017-06-29 22:22:22 +0000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2017-06-30 10:06:24 -0700 |
commit | 1ceababc4c1817f86094dab1771e23da1ddaf443 (patch) | |
tree | c59abd45fc8643dbb5a2aa43ff787ed5f98a930c /revision.c | |
parent | 07a3d4117390841ed6884a9eac836918491df0a9 (diff) | |
download | git-1ceababc4c1817f86094dab1771e23da1ddaf443.tar.gz |
grep: remove redundant REG_NEWLINE when compiling fixed regexab/grep-lose-opt-regflags
Remove the redundant REG_NEWLINE regcomp() flag from the code that
compiles a fixed-string regular-expression.
The REG_NEWLINE causes metacharacters such as "." to match a newline,
since the basic_regex_quote_buf() function being called here escapes
all metacharacters using REG_NEWLINE is confusing and redundant.
The use of this flag was introduced as an unintended emergent property
of 793dc676e0 ("grep/icase: avoid kwsset when -F is specified",
2016-06-25).
That change amended the existing regflags, which were initialized to
REG_NEWLINE in init_grep_defaults() assuming a subsequent non-fixed
regcomp().
Manual testing reveals that this was always redundant, since no flags
of any use were inherited from opt->regflags even back
then. 793dc676e0 passes all tests with this on top:
diff --git a/grep.c b/grep.c
index 627ae3e3e8..89e84ed7fd 100644
--- a/grep.c
+++ b/grep.c
@@ -407,3 +407,3 @@ static void compile_fixed_regexp(struct grep_pat *p, struct grep_opt *opt)
basic_regex_quote_buf(&sb, p->pattern);
- regflags = opt->regflags & ~REG_EXTENDED;
+ regflags = 0;
if (opt->ignore_case)
Since this isn't used for anything and never was, remove it to reduce
confusion when reading this code.
Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'revision.c')
0 files changed, 0 insertions, 0 deletions