From 1ab442db90ce7223ea406fea1d311c04090d04ce Mon Sep 17 00:00:00 2001 From: Daniel Hahler Date: Fri, 30 Aug 2019 16:42:19 +0200 Subject: [PATCH] vim-patch:8.1.0212: preferred cursor column not set in interfaces (#10890) Problem: Preferred cursor column not set in interfaces. Solution: Set w_set_curswant when setting the cursor. (David Hotham, closes vim/vim#3060) https://github.com/vim/vim/commit/53901442f37a59e5495165f91db5574c0b43ab04 --- src/nvim/testdir/test_python2.vim | 14 ++++++++++++++ src/nvim/testdir/test_python3.vim | 16 +++++++++++++++- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/nvim/testdir/test_python2.vim b/src/nvim/testdir/test_python2.vim index 0c5809f7a4..7821078045 100644 --- a/src/nvim/testdir/test_python2.vim +++ b/src/nvim/testdir/test_python2.vim @@ -26,6 +26,20 @@ func Test_pydo() endif endfunc +func Test_set_cursor() + " Check that setting the cursor position works. + py import vim + new + call setline(1, ['first line', 'second line']) + normal gg + pydo vim.current.window.cursor = (1, 5) + call assert_equal([1, 6], [line('.'), col('.')]) + + " Check that movement after setting cursor position keeps current column. + normal j + call assert_equal([2, 6], [line('.'), col('.')]) +endfunc + func Test_vim_function() " Check creating vim.Function object py import vim diff --git a/src/nvim/testdir/test_python3.vim b/src/nvim/testdir/test_python3.vim index d090dcc99c..f1e8b25454 100644 --- a/src/nvim/testdir/test_python3.vim +++ b/src/nvim/testdir/test_python3.vim @@ -1,4 +1,4 @@ -" Test for python 2 commands. +" Test for python 3 commands. " TODO: move tests from test88.in here. if !has('python3') @@ -26,6 +26,20 @@ func Test_py3do() endif endfunc +func Test_set_cursor() + " Check that setting the cursor position works. + py3 import vim + new + call setline(1, ['first line', 'second line']) + normal gg + py3do vim.current.window.cursor = (1, 5) + call assert_equal([1, 6], [line('.'), col('.')]) + + " Check that movement after setting cursor position keeps current column. + normal j + call assert_equal([2, 6], [line('.'), col('.')]) +endfunc + func Test_vim_function() " Check creating vim.Function object py3 import vim