patch 9.2.0232: fileinfo not shown after :bd of last listed buffer

Problem:  fileinfo not shown after :bd of last listed buffer
          (memeplex)
Solution: Set need_fileinfo to true in empty_curbuf()
          (Hirohito Higashi)

When deleting the last listed buffer with :bd, the new empty buffer's
file info (e.g. "[No Name]" --No lines in buffer--) was not displayed.
do_ecmd() only calls fileinfo() for existing buffers (oldbuf), not for
newly created empty buffers.

Set need_fileinfo in empty_curbuf() so the file info is displayed after
redraw.

fixes:  #548
closes: #19802

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
Hirohito Higashi
2026-03-22 21:41:42 +00:00
committed by Christian Brabandt
parent 0172ff5542
commit 3d472d8675
3 changed files with 29 additions and 0 deletions
+3
View File
@@ -1323,6 +1323,9 @@ empty_curbuf(
close_buffer(NULL, buf, action, FALSE, FALSE);
if (!close_others)
need_fileinfo = FALSE;
else if (retval == OK && !shortmess(SHM_FILEINFO))
// do_ecmd() does not display file info for a new empty buffer.
need_fileinfo = TRUE;
return retval;
}
+24
View File
@@ -811,4 +811,28 @@ func Test_long_formatprg_no_hit_enter()
call StopVimInTerminal(buf)
endfunc
" Test that fileinfo is shown after deleting the last listed buffer with :bd
func Test_fileinfo_after_last_bd()
CheckRunVimInTerminal
let content =<< trim END
set shortmess-=F
edit xxx
edit yyy
END
call writefile(content, 'Xtest_fileinfo_last_bd', 'D')
let buf = RunVimInTerminal('-S Xtest_fileinfo_last_bd', #{rows: 10})
call WaitForAssert({-> assert_match('^"yyy" \[New\]', term_getline(buf, 10))})
call term_sendkeys(buf, ":bd\<CR>")
call WaitForAssert({-> assert_match('^"xxx" \[New\]', term_getline(buf, 10))})
call term_sendkeys(buf, ":bd\<CR>")
call WaitForAssert({-> assert_match('^\"\[No Name\]\" --No lines in buffer--', term_getline(buf, 10))})
" clean up
call StopVimInTerminal(buf)
endfunc
" vim: shiftwidth=2 sts=2 expandtab
+2
View File
@@ -734,6 +734,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
232,
/**/
231,
/**/