diff src/testdir/test_execute_func.vim @ 26666:bbcbb3c13fba v8.2.3862

patch 8.2.3862: crash on exit with EXITFREE and using win_execute() Commit: https://github.com/vim/vim/commit/dab17a0689a2f31f69f428975f84b0c3c7ba3030 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Dec 20 21:35:59 2021 +0000 patch 8.2.3862: crash on exit with EXITFREE and using win_execute() Problem: Crash on exit with EXITFREE and using win_execute(). Solution: Also save and restore tp_topframe. (issue https://github.com/vim/vim/issues/9374)
author Bram Moolenaar <Bram@vim.org>
date Mon, 20 Dec 2021 22:45:03 +0100
parents a07323eb647f
children aa613a3084b9
line wrap: on
line diff
--- a/src/testdir/test_execute_func.vim
+++ b/src/testdir/test_execute_func.vim
@@ -3,6 +3,7 @@
 source view_util.vim
 source check.vim
 source vim9.vim
+source term_util.vim
 
 func NestedEval()
   let nested = execute('echo "nested\nlines"')
@@ -148,6 +149,27 @@ func Test_win_execute_other_tab()
   unlet xyz
 endfunc
 
+func Test_win_execute_on_startup()
+  CheckRunVimInTerminal
+
+  let lines =<< trim END
+      vim9script
+      [repeat('x', &columns)]->writefile('Xfile1')
+      silent tabedit Xfile2
+      var id = win_getid()
+      silent tabedit Xfile3
+      autocmd VimEnter * win_execute(id, 'close')
+  END
+  call writefile(lines, 'XwinExecute')
+  let buf = RunVimInTerminal('-p Xfile1 -Nu XwinExecute', {})
+
+  " this was crashing on exit with EXITFREE defined
+  call StopVimInTerminal(buf)
+
+  call delete('XwinExecute')
+  call delete('Xfile1')
+endfunc
+
 func Test_execute_func_with_null()
   call assert_equal("", execute(test_null_string()))
   call assert_equal("", execute(test_null_list()))