[PATCH v6 16/21] range-diff --dual-color: skip white-space warnings
- From
Johannes Schindelin via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Aug 13, 2018, 11:33 UTC
- Message-ID
- <c56c51c8bb470ec9a498e984854f5154acf86ef2.1534159977.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.1.v6.git.gitgitgadget@gmail.com>
From: Johannes Schindelin <johannes.schindelin@gmx.de>
When displaying a diff of diffs, it is possible that there is an outer `+` before a context line. That happens when the context changed between old and new commit. When that context line starts with a tab (after the space that marks it as context line), our diff machinery spits out a white-space error (space before tab), but in this case, that is incorrect.
Rather than adding a specific whitespace flag that specifically ignores the first space in the output (and might miss other problems with the white-space warnings), let's just skip handling white-space errors in dual color mode to begin with.
Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de> --- diff.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/diff.c b/diff.c index e6c857abf..ea8ecae04 100644 --- a/diff.c +++ b/diff.c @@ -1299,6 +1299,7 @@ static void emit_diff_symbol_from_struct(struct diff_options *o, set = diff_get_color_opt(o, DIFF_FRAGINFO); else if (c != '+') set = diff_get_color_opt(o, DIFF_CONTEXT); + flags &= ~DIFF_SYMBOL_CONTENT_WS_MASK; } emit_line_ws_markup(o, set, reset, line, len, set_sign, '+', flags & DIFF_SYMBOL_CONTENT_WS_MASK,
-- gitgitgadget