Merge branch 'rs/threaded-grep-context'
* rs/threaded-grep-context: grep: enable threading for context line printing Conflicts: grep.c
This commit is contained in:
18
grep.c
18
grep.c
@ -570,8 +570,7 @@ static void show_line(struct grep_opt *opt, char *bol, char *eol,
|
||||
if (opt->show_hunk_mark) {
|
||||
output_color(opt, "--", 2, opt->color_sep);
|
||||
opt->output(opt, "\n", 1);
|
||||
} else
|
||||
opt->show_hunk_mark = 1;
|
||||
}
|
||||
} else if (lno > opt->last_shown + 1) {
|
||||
output_color(opt, "--", 2, opt->color_sep);
|
||||
opt->output(opt, "\n", 1);
|
||||
@ -772,14 +771,6 @@ int grep_threads_ok(const struct grep_opt *opt)
|
||||
!opt->name_only)
|
||||
return 0;
|
||||
|
||||
/* If we are showing hunk marks, we should not do it for the
|
||||
* first match. The synchronization problem we get for this
|
||||
* constraint is not yet solved, so we disable threading in
|
||||
* this case.
|
||||
*/
|
||||
if (opt->pre_context || opt->post_context)
|
||||
return 0;
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -801,11 +792,14 @@ static int grep_buffer_1(struct grep_opt *opt, const char *name,
|
||||
enum grep_context ctx = GREP_CONTEXT_HEAD;
|
||||
xdemitconf_t xecfg;
|
||||
|
||||
opt->last_shown = 0;
|
||||
|
||||
if (!opt->output)
|
||||
opt->output = std_output;
|
||||
|
||||
if (opt->last_shown && (opt->pre_context || opt->post_context) &&
|
||||
opt->output == std_output)
|
||||
opt->show_hunk_mark = 1;
|
||||
opt->last_shown = 0;
|
||||
|
||||
if (buffer_is_binary(buf, size)) {
|
||||
switch (opt->binary) {
|
||||
case GREP_BINARY_DEFAULT:
|
||||
|
||||
Reference in New Issue
Block a user