patch 8.1.0569: execute() always resets display column to zero
Problem: Execute() always resets display column to zero. (Sha Liu)
Solution: Don't reset it to zero, restore the previous value. (closes #3669)
diff --git a/src/testdir/test_execute_func.vim b/src/testdir/test_execute_func.vim
index dd07e4a..7b3cf21 100644
--- a/src/testdir/test_execute_func.vim
+++ b/src/testdir/test_execute_func.vim
@@ -49,3 +49,15 @@
call assert_equal("", execute([]))
call assert_equal("", execute(test_null_list()))
endfunc
+
+func Test_execute_does_not_change_col()
+ echo ''
+ echon 'abcd'
+ let x = execute('silent echo 234343')
+ echon 'xyz'
+ let text = ''
+ for col in range(1, 7)
+ let text .= nr2char(screenchar(&lines, col))
+ endfor
+ call assert_equal('abcdxyz', text)
+endfunc