On Fri, Aug 11, 2017 at 3:49 PM, Jonathan Tan <jonathantanmy@xxxxxxxxxx> wrote: > No code in diff.c sets DIFF_SYMBOL_MOVED_LINE except in > mark_color_as_moved(), so it is redundant to clear it for the current > line. Therefore, clear it only for previous lines. Oh that part. I remember debating with myself if I rather want to have the upper bound adjusted by one less (block_length instead of 'block_length + 1'), and then add a constant to 'buf[n - i];' The patch as implemented is fine, too. > This makes a refactoring in a subsequent patch easier. > > Signed-off-by: Jonathan Tan <jonathantanmy@xxxxxxxxxx> > --- > diff.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/diff.c b/diff.c > index f84346b47..4965ffbc4 100644 > --- a/diff.c > +++ b/diff.c > @@ -895,7 +895,7 @@ static void mark_color_as_moved(struct diff_options *o, > if (!match) { > if (block_length < COLOR_MOVED_MIN_BLOCK_LENGTH && > o->color_moved != COLOR_MOVED_PLAIN) { > - for (i = 0; i < block_length + 1; i++) { > + for (i = 1; i < block_length + 1; i++) { > l = &o->emitted_symbols->buf[n - i]; > l->flags &= ~DIFF_SYMBOL_MOVED_LINE; > } > -- > 2.14.0.434.g98096fd7a8-goog >