grep: simplify -p output

It was found a bit too loud to show == separators between the function
headers.

Signed-off-by: Rene Scharfe <rene.scharfe@lsrfire.ath.cx>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
René Scharfe 2009-07-02 00:06:34 +02:00 committed by Junio C Hamano
parent 60ecac98ed
commit ed24e401e0
2 changed files with 6 additions and 10 deletions

View File

@ -285,13 +285,13 @@ static int flush_grep(struct grep_opt *opt,
argc -= 2; argc -= 2;
} }
if (opt->pre_context || opt->post_context || opt->funcname) { if (opt->pre_context || opt->post_context) {
/* /*
* grep handles hunk marks between files, but we need to * grep handles hunk marks between files, but we need to
* do that ourselves between multiple calls. * do that ourselves between multiple calls.
*/ */
if (opt->show_hunk_mark) if (opt->show_hunk_mark)
write_or_die(1, opt->funcname ? "==\n" : "--\n", 3); write_or_die(1, "--\n", 3);
else else
opt->show_hunk_mark = 1; opt->show_hunk_mark = 1;
} }

12
grep.c
View File

@ -491,18 +491,14 @@ static void show_line(struct grep_opt *opt, char *bol, char *eol,
{ {
int rest = eol - bol; int rest = eol - bol;
if (opt->pre_context || opt->post_context || opt->funcname) { if (opt->pre_context || opt->post_context) {
if (opt->last_shown == 0) { if (opt->last_shown == 0) {
if (opt->show_hunk_mark) if (opt->show_hunk_mark)
fputs(opt->funcname ? "==\n" : "--\n", stdout); fputs("--\n", stdout);
else else
opt->show_hunk_mark = 1; opt->show_hunk_mark = 1;
} else if (lno > opt->last_shown + 1) { } else if (lno > opt->last_shown + 1)
if (opt->pre_context || opt->post_context) fputs("--\n", stdout);
fputs((sign == '=') ? "==\n" : "--\n", stdout);
else if (sign == '=')
fputs("==\n", stdout);
}
} }
opt->last_shown = lno; opt->last_shown = lno;