grep: fix --fixed-strings combined with expression.
"git grep --fixed-strings -e GIT --and -e VERSION .gitignore" misbehaved because we did not notice this needs to grab lines that have the given two fixed strings at the same time. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
parent
b48fb5b6a9
commit
a3f5d02edb
7
grep.c
7
grep.c
@ -138,16 +138,13 @@ void compile_grep_patterns(struct grep_opt *opt)
|
|||||||
{
|
{
|
||||||
struct grep_pat *p;
|
struct grep_pat *p;
|
||||||
|
|
||||||
if (opt->fixed)
|
|
||||||
return;
|
|
||||||
|
|
||||||
/* First compile regexps */
|
|
||||||
for (p = opt->pattern_list; p; p = p->next) {
|
for (p = opt->pattern_list; p; p = p->next) {
|
||||||
switch (p->token) {
|
switch (p->token) {
|
||||||
case GREP_PATTERN: /* atom */
|
case GREP_PATTERN: /* atom */
|
||||||
case GREP_PATTERN_HEAD:
|
case GREP_PATTERN_HEAD:
|
||||||
case GREP_PATTERN_BODY:
|
case GREP_PATTERN_BODY:
|
||||||
compile_regexp(p, opt);
|
if (!opt->fixed)
|
||||||
|
compile_regexp(p, opt);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
opt->extended = 1;
|
opt->extended = 1;
|
||||||
|
Loading…
Reference in New Issue
Block a user