Thread (22 messages) flat view 22 messages, 2 authors, 2017-08-16

Re: [RFC PATCH 1/3] diff: avoid redundantly clearing a flag

From: Stefan Beller <hidden>
Date: 2017-08-14 17:13:54

On Fri, Aug 11, 2017 at 3:49 PM, Jonathan Tan [off-list ref] 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.
quoted hunk ↗ jump to hunk
This makes a refactoring in a subsequent patch easier.

Signed-off-by: Jonathan Tan <redacted>
---
 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help