diff src/testdir/test_changelist.vim @ 29026:5baf5e50049b v8.2.5035

patch 8.2.5035: when splitting a window the changelist position moves Commit: https://github.com/vim/vim/commit/e6f13b473cf2c270e4eab214e09be9825320c11b Author: zeertzjq <zeertzjq@outlook.com> Date: Sat May 28 10:49:44 2022 +0100 patch 8.2.5035: when splitting a window the changelist position moves Problem: When splitting a window the changelist position moves. Solution: Set the changelist index a bit later. (closes https://github.com/vim/vim/issues/10493)
author Bram Moolenaar <Bram@vim.org>
date Sat, 28 May 2022 12:00:03 +0200
parents 1170b35651a5
children 98f5a0618a77
line wrap: on
line diff
--- a/src/testdir/test_changelist.vim
+++ b/src/testdir/test_changelist.vim
@@ -1,5 +1,40 @@
 " Tests for the changelist functionality
 
+" When splitting a window the changelist position is wrong.
+" Test the changelist position after splitting a window.
+" Test for the bug fixed by 7.4.386
+func Test_changelist()
+  let save_ul = &ul
+  enew!
+  call append('$', ['1', '2'])
+  exe "normal i\<C-G>u"
+  exe "normal Gkylpa\<C-G>u"
+  set ul=100
+  exe "normal Gylpa\<C-G>u"
+  set ul=100
+  normal gg
+  vsplit
+  normal g;
+  call assert_equal([3, 2], [line('.'), col('.')])
+  normal g;
+  call assert_equal([2, 2], [line('.'), col('.')])
+  call assert_fails('normal g;', 'E662:')
+  new
+  call assert_fails('normal g;', 'E664:')
+  %bwipe!
+  let &ul = save_ul
+endfunc
+
+" Moving a split should not change its changelist index.
+func Test_changelist_index_move_split()
+  exe "norm! iabc\<C-G>u\ndef\<C-G>u\nghi"
+  vsplit
+  normal 99g;
+  call assert_equal(0, getchangelist('%')[1])
+  wincmd L
+  call assert_equal(0, getchangelist('%')[1])
+endfunc
+
 " Tests for the getchangelist() function
 func Test_changelist_index()
   edit Xfile1.txt