diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2022-07-28 11:24:32 +0800 |
|---|---|---|
| committer | zeertzjq <zeertzjq@outlook.com> | 2022-07-28 11:38:02 +0800 |
| commit | 394d65494aead6ee07298e19d53c99603b11471d (patch) | |
| tree | fe2fd5cbab2c322cbd3a8f6fdbe248f4b18ad42a /src/nvim/testdir | |
| parent | 8e67af1b201adfca9f6c3589b4f7c59b323e9459 (diff) | |
| download | rneovim-394d65494aead6ee07298e19d53c99603b11471d.tar.gz rneovim-394d65494aead6ee07298e19d53c99603b11471d.tar.bz2 rneovim-394d65494aead6ee07298e19d53c99603b11471d.zip | |
vim-patch:partial:9.0.0077: wrong restored cursor position when switching window in autocmd
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 vim/vim#10775)
https://github.com/vim/vim/commit/b03950fafa07e8b8d975eeb345ad08b8b62e67ce
This patch cannot be fully ported because it depends on patch 8.2.3518.
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_autocmd.vim | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim index 0c13331e6a..7645a27fdf 100644 --- a/src/nvim/testdir/test_autocmd.vim +++ b/src/nvim/testdir/test_autocmd.vim @@ -2186,9 +2186,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 |