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