patch 8.1.0998: getcurpos() unexpectedly changes "curswant"
Problem: getcurpos() unexpectedly changes "curswant".
Solution: Save and restore "curswant". (closes #4069)
diff --git a/src/testdir/test_visual.vim b/src/testdir/test_visual.vim
index 77064ba..abf131c 100644
--- a/src/testdir/test_visual.vim
+++ b/src/testdir/test_visual.vim
@@ -1,8 +1,4 @@
" Tests for various Visual mode.
-if !has('visual')
- finish
-endif
-
func Test_block_shift_multibyte()
" Uses double-wide character.
@@ -397,3 +393,14 @@
bwipe!
endfunc
+
+func Test_curswant_not_changed()
+ new
+ call setline(1, ['one', 'two'])
+ au InsertLeave * call getcurpos()
+ call feedkeys("gg0\<C-V>jI123 \<Esc>j", 'xt')
+ call assert_equal([0, 2, 1, 0, 1], getcurpos())
+
+ bwipe!
+ au! InsertLeave
+endfunc