patch 8.0.0177: BufEnter autocommand not fired for a directory

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 #1375,
            closes #1353)
diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim
index 6ebfee4..566a07c 100644
--- a/src/testdir/test_autocmd.vim
+++ b/src/testdir/test_autocmd.vim
@@ -322,3 +322,22 @@
   call delete('Xtestje2')
   call delete('Xtestje3')
 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