aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/testdir
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-04-20 11:11:39 +0800
committerzeertzjq <zeertzjq@outlook.com>2022-04-21 19:07:50 +0800
commitf531fb97ff5009d2ac279a83da9b9e911c350c89 (patch)
tree4a6c501c53e95ebcbca98373654879942869de46 /src/nvim/testdir
parent69fc23ed9819f2640106ce38613ed6f0962ae926 (diff)
downloadrneovim-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.vim23
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