diff options
author | Junio C Hamano <gitster@pobox.com> | 2010-04-03 21:28:39 +0200 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-04-03 21:28:39 +0200 |
commit | 07b838f087a1535e387d5d4a1414b2b545b73265 (patch) | |
tree | 8779dd5e4854e5dd9c3dbe09daa80eea0ed0c7da /grep.c | |
parent | Merge branch 'bc/maint-daemon-sans-ss-family' (diff) | |
parent | grep: enable threading for context line printing (diff) | |
download | git-07b838f087a1535e387d5d4a1414b2b545b73265.tar.xz git-07b838f087a1535e387d5d4a1414b2b545b73265.zip |
Merge branch 'rs/threaded-grep-context'
* rs/threaded-grep-context:
grep: enable threading for context line printing
Conflicts:
grep.c
Diffstat (limited to 'grep.c')
-rw-r--r-- | grep.c | 18 |
1 files changed, 6 insertions, 12 deletions
@@ -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: |