diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2022-04-20 11:11:39 +0800 |
|---|---|---|
| committer | zeertzjq <zeertzjq@outlook.com> | 2022-04-21 19:07:50 +0800 |
| commit | f531fb97ff5009d2ac279a83da9b9e911c350c89 (patch) | |
| tree | 4a6c501c53e95ebcbca98373654879942869de46 /src/nvim/testdir | |
| parent | 69fc23ed9819f2640106ce38613ed6f0962ae926 (diff) | |
| download | rneovim-f531fb97ff5009d2ac279a83da9b9e911c350c89.tar.gz rneovim-f531fb97ff5009d2ac279a83da9b9e911c350c89.tar.bz2 rneovim-f531fb97ff5009d2ac279a83da9b9e911c350c89.zip | |
vim-patch:8.2.4791: events triggered in different order when reusing buffer
Problem: Autocmd events triggered in different order when reusing an empty
buffer.
Solution: Call buff_freeall() earlier. (Charlie Groves, closes vim/vim#10198)
https://github.com/vim/vim/commit/fef4485ef58d5937b170c6dc69431359469fc9cd
Test failure becomes very strange.
Diffstat (limited to 'src/nvim/testdir')
| -rw-r--r-- | src/nvim/testdir/test_autocmd.vim | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim index 12b6ab26bc..5913032195 100644 --- a/src/nvim/testdir/test_autocmd.vim +++ b/src/nvim/testdir/test_autocmd.vim @@ -2748,9 +2748,10 @@ func Test_autocmd_closing_cmdwin() endfunc func Test_autocmd_vimgrep() + %bwipe! augroup aucmd_vimgrep - au QuickfixCmdPre,BufNew,BufDelete,BufReadCmd * sb - au QuickfixCmdPre,BufNew,BufDelete,BufReadCmd * q9 + au QuickfixCmdPre,BufNew,BufReadCmd * sb + au QuickfixCmdPre,BufNew,BufReadCmd * q9 augroup END %bwipe! call assert_fails('lv ?a? foo', 'E926:') @@ -2795,4 +2796,22 @@ func Test_v_event_readonly() endfunc +func Test_noname_autocmd() + augroup test_noname_autocmd_group + autocmd! + autocmd BufEnter * call add(s:li, ["BufEnter", expand("<afile>")]) + autocmd BufDelete * call add(s:li, ["BufDelete", expand("<afile>")]) + autocmd BufLeave * call add(s:li, ["BufLeave", expand("<afile>")]) + autocmd BufUnload * call add(s:li, ["BufUnload", expand("<afile>")]) + autocmd BufWipeout * call add(s:li, ["BufWipeout", expand("<afile>")]) + augroup END + + let s:li = [] + edit foo + call assert_equal([['BufUnload', ''], ['BufDelete', ''], ['BufWipeout', ''], ['BufEnter', 'foo']], s:li) + + au! test_noname_autocmd_group + augroup! test_noname_autocmd_group +endfunc + " vim: shiftwidth=2 sts=2 expandtab |