Problem: BufEnter not triggered when using ":edit" in "nofile" buffer.
Solution: Let readfile() return NOTDONE. (closes #10986)
curbuf->b_op_start = orig_start;
if (flags & READ_NOFILE)
- return FAIL;
+ return NOTDONE; // so that BufEnter can be triggered
}
if ((shortmess(SHM_OVER) || curbuf->b_help) && p_verbose == 0)
" On MS-Windows we can't edit the directory, make sure we wipe the right
" buffer.
bwipe! Xdir
-
call delete('Xdir', 'd')
au! BufEnter
+
+ " Editing a "nofile" buffer doesn't read the file but does trigger BufEnter
+ " for historic reasons.
+ new somefile
+ set buftype=nofile
+ au BufEnter somefile call setline(1, 'some text')
+ edit
+ call assert_equal('some text', getline(1))
+
+ bwipe!
+ au! BufEnter
endfunc
" Closing a window might cause an endless loop
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 275,
/**/
274,
/**/