From fc3e5caefd2896f37f50222ca0b0c3a46f83deca Mon Sep 17 00:00:00 2001 From: Magnus Groß Date: Sun, 3 Oct 2021 16:15:28 +0200 Subject: vim-patch:8.2.3462: ModeChanged only uses one character for new_mode and old_mode Problem: The ModeChanged event only uses one character for the new_mode and old_mode values. Solution: Pass one as first argument to mode(). (issue vim/vim#8856) https://github.com/vim/vim/commit/d85931e67316e824878000d0ead122553ccef3a4 --- src/nvim/testdir/test_edit.vim | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/nvim/testdir/test_edit.vim b/src/nvim/testdir/test_edit.vim index 75e30502b8..40cee63064 100644 --- a/src/nvim/testdir/test_edit.vim +++ b/src/nvim/testdir/test_edit.vim @@ -1655,7 +1655,7 @@ func Test_mode_changes() func! TestMode() call assert_equal(g:mode_seq[g:index], get(v:event, "old_mode")) call assert_equal(g:mode_seq[g:index + 1], get(v:event, "new_mode")) - call assert_equal(mode(), get(v:event, "new_mode")) + call assert_equal(mode(1), get(v:event, "new_mode")) let g:index += 1 endfunc @@ -1667,7 +1667,11 @@ func Test_mode_changes() au ModeChanged V:v :call DoIt() call feedkeys("Vv\", 'tnix') call assert_equal(4, g:count) + call assert_equal(len(g:mode_seq) - 1, g:index) + let g:index = 0 + let g:mode_seq = ['n', 'i', 'niI', 'i', 'n'] + call feedkeys("a\l\", 'tnix') call assert_equal(len(g:mode_seq) - 1, g:index) au! ModeChanged -- cgit