diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-08-26 13:16:20 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-08-26 13:16:20 +0100 |
commit | a9b5b85068b2fcb1c01ea20524e227bcad579ceb (patch) | |
tree | 7083f70f769868e027784cd141106d85171f04af | |
parent | c312619f7c0cf590d96e0b2ed891d1f6c43d769b (diff) | |
download | vim-git-a9b5b85068b2fcb1c01ea20524e227bcad579ceb.tar.gz |
patch 9.0.0275: BufEnter not triggered when using ":edit" in "nofile" bufferv9.0.0275
Problem: BufEnter not triggered when using ":edit" in "nofile" buffer.
Solution: Let readfile() return NOTDONE. (closes #10986)
-rw-r--r-- | src/fileio.c | 2 | ||||
-rw-r--r-- | src/testdir/test_autocmd.vim | 12 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 14 insertions, 2 deletions
diff --git a/src/fileio.c b/src/fileio.c index 1b30e0fed..8437b2b44 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -312,7 +312,7 @@ readfile( 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) diff --git a/src/testdir/test_autocmd.vim b/src/testdir/test_autocmd.vim index c043a3531..4b0928517 100644 --- a/src/testdir/test_autocmd.vim +++ b/src/testdir/test_autocmd.vim @@ -681,9 +681,19 @@ func Test_BufEnter() " 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 diff --git a/src/version.c b/src/version.c index 959097468..e32f990bc 100644 --- a/src/version.c +++ b/src/version.c @@ -724,6 +724,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 275, +/**/ 274, /**/ 273, |