summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_autocmd.vim
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-07-26 13:47:13 +0100
committerBram Moolenaar <Bram@vim.org>2022-07-26 13:47:13 +0100
commitb03950fafa07e8b8d975eeb345ad08b8b62e67ce (patch)
tree887d38e97a9249733cbf43b6a3178e45a0cae90a /src/testdir/test_autocmd.vim
parent92a1678d488b7d023ddf2cd493a6ee0d7fcf1928 (diff)
patch 9.0.0077: wrong restored cursor position when switching window in autocmdv9.0.0077
Problem: When switching window in autocmd the restored cursor position may be wrong. Solution: Do not restore the cursor if it was not set. (closes #10775)
Diffstat (limited to 'src/testdir/test_autocmd.vim')
-rw-r--r--src/testdir/test_autocmd.vim22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index 1202c058da..bd68ae386a 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -2317,9 +2317,30 @@ func Test_autocmd_nested_cursor_invalid()
au!
augroup END
set laststatus&
+ cclose
bwipe!
endfunc
+func Test_autocmd_nested_switch_window()
+ " run this in a separate Vim so that SafeState works
+ CheckRunVimInTerminal
+
+ let lines =<< trim END
+ vim9script
+ ['()']->writefile('Xautofile')
+ autocmd VimEnter * ++nested edit Xautofile | split
+ autocmd BufReadPost * autocmd SafeState * ++once foldclosed('.')
+ autocmd WinEnter * matchadd('ErrorMsg', 'pat')
+ END
+ call writefile(lines, 'Xautoscript')
+ let buf = RunVimInTerminal('-S Xautoscript', {'rows': 10})
+ call VerifyScreenDump(buf, 'Test_autocmd_nested_switch', {})
+
+ call StopVimInTerminal(buf)
+ call delete('Xautofile')
+ call delete('Xautoscript')
+endfunc
+
func Test_autocmd_once()
" Without ++once WinNew triggers twice
let g:did_split = 0
@@ -2631,7 +2652,6 @@ endfunc
func Test_autocmd_SafeState()
CheckRunVimInTerminal
- let g:test_is_flaky = 1
let lines =<< trim END
let g:safe = 0