In the output generated by diff --word-diff, if the first word of a line was removed, it may appear at the end of the previous line. For example, compare the following two diffs on the same files, the first diff without --word-diff and the second with it. $ git diff diff --git a/smallest-test b/smallest-test index bc5f07a..d9116b1 100644 --- a/smallest-test +++ b/smallest-test @@ -1,7 +1,7 @@ -111 aaa -111 aaa + aaa + aaa 111 aaa -111 aaa + aaa $ git diff --word-diff=plain diff --git a/smallest-test b/smallest-test index bc5f07a..d9116b1 100644 --- a/smallest-test +++ b/smallest-test @@ -1,7 +1,7 @@ [-111-] aaa[-111-] aaa 111 aaa [-111-] aaa I would expect every [-111-] to be on the line where it was removed. Instead it appears on the previous line in the case where the previous line also has a removal. Is this expected behavior? There is also a patch in this email thread that contains a test to further illustrate the issue. Running the test fails with the following diff between the expected result and actual result. --- expect 2015-10-27 01:08:05.415252713 +0000 +++ output.decrypted 2015-10-27 01:08:05.418252766 +0000 @@ -6,5 +6,5 @@ 11aa<RESET> <RED>11<RESET>aa -<RED>11<RESET>aa -<RED>11<RESET>aa +<RED>11<RESET>aa<RED>11<RESET> +aa Lucian Poston (1): t4034: Test parsing words following newline t/t4034-diff-words.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) -- 2.4.10 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html