diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2022-07-23 09:27:31 +0800 |
|---|---|---|
| committer | zeertzjq <zeertzjq@outlook.com> | 2022-07-23 09:48:24 +0800 |
| commit | 9d556fc81f379aba21459bd0359e6bcd38384bfd (patch) | |
| tree | e9adaa0a0c77e8d7d2b23006cf253cf572e34513 /src/nvim/testdir | |
| parent | 91c99eed540a329b7738bd2f28259f8ac0670ef2 (diff) | |
| download | rneovim-9d556fc81f379aba21459bd0359e6bcd38384bfd.tar.gz rneovim-9d556fc81f379aba21459bd0359e6bcd38384bfd.tar.bz2 rneovim-9d556fc81f379aba21459bd0359e6bcd38384bfd.zip | |
vim-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 vim/vim#10493)
https://github.com/vim/vim/commit/e6f13b473cf2c270e4eab214e09be9825320c11b
Cherry-pick Test_nv_hat_count() change from patch 8.2.1593.
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_changelist.vim | 35 | ||||
| -rw-r--r-- | src/nvim/testdir/test_normal.vim | 27 |
2 files changed, 36 insertions, 26 deletions
diff --git a/src/nvim/testdir/test_changelist.vim b/src/nvim/testdir/test_changelist.vim index f429968218..3bb22a89b8 100644 --- a/src/nvim/testdir/test_changelist.vim +++ b/src/nvim/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 diff --git a/src/nvim/testdir/test_normal.vim b/src/nvim/testdir/test_normal.vim index 9fbd1f774a..ffa0cd1807 100644 --- a/src/nvim/testdir/test_normal.vim +++ b/src/nvim/testdir/test_normal.vim @@ -2849,35 +2849,10 @@ func Test_gr_command() enew! endfunc -" 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 - func Test_nv_hat_count() %bwipeout! let l:nr = bufnr('%') + 1 - call assert_fails(':execute "normal! ' . l:nr . '\<C-^>"', 'E92') + call assert_fails(':execute "normal! ' . l:nr . '\<C-^>"', 'E92:') edit Xfoo let l:foo_nr = bufnr('Xfoo') |