]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.1.0743: diff mode does not handle overlapping diffs correctly v9.1.0743
authorYukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
Thu, 26 Sep 2024 14:19:42 +0000 (16:19 +0200)
committerChristian Brabandt <cb@256bit.org>
Thu, 26 Sep 2024 14:19:42 +0000 (16:19 +0200)
commit06fe70c183a53ea97cd42ace490d4fb9fd14f042
tree7eb5a5fa8bc4efb5b9da742c90568f7c55326bc5
parentc854efc6feea7527bfa30cf118837b676a7ae9d4
patch 9.1.0743: diff mode does not handle overlapping diffs correctly

Problem:  diff mode does not handle overlapping diffs correctly
Solution: correct the logic to handle overlapping blocks
          (Yukihiro Nakadaira)

Vim merges overlapped diff blocks and it doesn't work expectedly
in some situation.

closes: #15735

Signed-off-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
43 files changed:
src/diff.c
src/testdir/dumps/Test_diff_overlapped_2.01.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_2.02.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_2.03.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.01.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.02.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.03.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.04.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.05.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.06.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.07.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.08.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.09.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.10.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.11.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.12.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.13.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.14.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.15.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.16.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.17.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.18.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.19.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.20.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.21.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.22.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.23.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.24.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.25.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.26.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.27.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.28.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.29.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.30.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.31.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.32.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.33.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.34.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.35.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.36.dump [new file with mode: 0644]
src/testdir/dumps/Test_diff_overlapped_3.37.dump [new file with mode: 0644]
src/testdir/test_diffmode.vim
src/version.c