From ca853edb6f9ffe1d2e5d4a63bf88e4c3a059f5fb Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Mon, 20 Mar 2017 13:59:11 +0100 Subject: vim-patch:8.0.0177 Problem: When opening a buffer on a directory and inside a try/catch then the BufEnter event is not triggered. Solution: Return NOTDONE from readfile() for a directory and deal with the three possible return values. (Justin M. Keyes, closes vim/vim#1375, closes vim/vim#1353) https://github.com/vim/vim/commit/e13b9afe1283f5ae43232b5992372a0eb570666c --- src/nvim/testdir/test_autocmd.vim | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/nvim/testdir/test_autocmd.vim b/src/nvim/testdir/test_autocmd.vim index fe9a3dd451..395c4a8596 100644 --- a/src/nvim/testdir/test_autocmd.vim +++ b/src/nvim/testdir/test_autocmd.vim @@ -196,6 +196,25 @@ func Test_augroup_deleted() au! VimEnter endfunc +func Test_BufEnter() + au! BufEnter + au Bufenter * let val = val . '+' + let g:val = '' + split NewFile + call assert_equal('+', g:val) + bwipe! + call assert_equal('++', g:val) + + " Also get BufEnter when editing a directory + call mkdir('Xdir') + split Xdir + call assert_equal('+++', g:val) + bwipe! + + call delete('Xdir', 'd') + au! BufEnter +endfunc + " Closing a window might cause an endless loop " E814 for older Vims function Test_autocmd_bufwipe_in_SessLoadPost() -- cgit