Merge pull request #20727 from zeertzjq/vim-9.0.0789

vim-patch:9.0.{0789,0790}
This commit is contained in:
zeertzjq 2022-10-19 08:16:53 +08:00 committed by GitHub
commit bcd25b2009
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 26 additions and 0 deletions

View File

@ -1224,6 +1224,11 @@ int do_buffer(int action, int start, int dir, int count, int forceit)
}
return FAIL;
}
if ((action == DOBUF_GOTO || action == DOBUF_SPLIT) && (buf->b_flags & BF_DUMMY)) {
// disallow navigating to the dummy buffer
semsg(_(e_nobufnr), count);
return FAIL;
}
// delete buffer "buf" from memory and/or the list
if (unload) {

View File

@ -3269,4 +3269,25 @@ func Test_noname_autocmd()
augroup! test_noname_autocmd_group
endfunc
func Test_autocmd_split_dummy()
" Autocommand trying to split a window containing a dummy buffer.
auto BufReadPre * exe "sbuf " .. expand("<abuf>")
" Avoid the "W11" prompt
au FileChangedShell * let v:fcs_choice = 'reload'
func Xautocmd_changelist()
cal writefile(['Xtestfile2:4:4'], 'Xerr')
edit Xerr
lex 'Xtestfile2:4:4'
endfunc
call Xautocmd_changelist()
" Should get E86, but it doesn't always happen (timing?)
silent! call Xautocmd_changelist()
au! BufReadPre
au! FileChangedShell
delfunc Xautocmd_changelist
bwipe! Xerr
call delete('Xerr')
endfunc
" vim: shiftwidth=2 sts=2 expandtab