diff --git a/Filelist b/Filelist index c5b1b3910c..caac66cdbd 100644 --- a/Filelist +++ b/Filelist @@ -224,6 +224,7 @@ SRC_ALL = \ src/testdir/samples/*.vim \ src/testdir/samples/test000 \ src/testdir/samples/test.zip \ + src/testdir/samples/test_undo.txt.undo \ src/testdir/samples/testa.zip \ src/testdir/color_ramp.vim \ src/testdir/silent.wav \ diff --git a/src/testdir/samples/test_undo.txt b/src/testdir/samples/test_undo.txt new file mode 100644 index 0000000000..4cb29ea38f --- /dev/null +++ b/src/testdir/samples/test_undo.txt @@ -0,0 +1,3 @@ +one +two +three diff --git a/src/testdir/samples/test_undo.txt.undo b/src/testdir/samples/test_undo.txt.undo new file mode 100644 index 0000000000..393af7f34f Binary files /dev/null and b/src/testdir/samples/test_undo.txt.undo differ diff --git a/src/testdir/test_undo.vim b/src/testdir/test_undo.vim index 2e598d35c2..75ee4a5db3 100644 --- a/src/testdir/test_undo.vim +++ b/src/testdir/test_undo.vim @@ -884,4 +884,33 @@ func Test_undo_range_normal() bwipe! endfunc +func Test_load_existing_undofile() + CheckFeature persistent_undo + sp samples/test_undo.txt + let mess=execute(':verbose rundo samples/test_undo.txt.undo') + call assert_match('Finished reading undo file', mess) + + call assert_equal(['one', 'two', 'three'], getline(1, '$')) + norm! u + call assert_equal(['one', 'two'], getline(1, '$')) + norm! u + call assert_equal(['one'], getline(1, '$')) + norm! u + call assert_equal([''], getline(1, '$')) + let mess = execute(':norm! u') + call assert_equal([''], getline(1, '$')) + call assert_match('Already at oldest change', mess) + exe ":norm! \" + call assert_equal(['one'], getline(1, '$')) + exe ":norm! \" + call assert_equal(['one', 'two'], getline(1, '$')) + exe ":norm! \" + call assert_equal(['one', 'two', 'three'], getline(1, '$')) + let mess = execute(":norm! \") + call assert_equal(['one', 'two', 'three'], getline(1, '$')) + call assert_match('Already at newest change', mess) + bw! +endfunc + + " vim: shiftwidth=2 sts=2 expandtab diff --git a/src/version.c b/src/version.c index d5a7899d71..8c4afd0392 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 893, /**/ 892, /**/