From fe4983327b3fe65ca4a8df43a9a88c9addaded5f Mon Sep 17 00:00:00 2001 From: "Justin M. Keyes" Date: Fri, 26 Jun 2026 20:26:10 +0200 Subject: [PATCH] fix(cmdwin): set 'buflisted' Problem: Legacy cmdwin set 'buflisted', but new one doesn't. https://github.com/neovim/neovim/issues/40431#issuecomment-4811593353 'buflisted' useful for: - "bufferline" style tablines, they usually show only listed buffers. - some automatic actions can be conditioned on whether a buffer is listed; 'buflisted' signals that the buffer is "important enough". Solution: Set 'buflisted'. --- runtime/lua/vim/_core/cmdwin.lua | 2 +- test/functional/editor/cmdwin_spec.lua | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/runtime/lua/vim/_core/cmdwin.lua b/runtime/lua/vim/_core/cmdwin.lua index a799cf8eb9..b83fb93472 100644 --- a/runtime/lua/vim/_core/cmdwin.lua +++ b/runtime/lua/vim/_core/cmdwin.lua @@ -74,7 +74,7 @@ function M.open(type, init_line, init_col) vim.bo[buf].buftype = 'nofile' vim.bo[buf].bufhidden = 'wipe' vim.bo[buf].swapfile = false - vim.bo[buf].buflisted = false + vim.bo[buf].buflisted = true -- #40431 vim.wo[win][0].winfixbuf = true vim.wo[win][0].foldenable = false -- Show cmdwin-char via 'statuscolumn'. diff --git a/test/functional/editor/cmdwin_spec.lua b/test/functional/editor/cmdwin_spec.lua index 4b79e0b356..023686af08 100644 --- a/test/functional/editor/cmdwin_spec.lua +++ b/test/functional/editor/cmdwin_spec.lua @@ -22,6 +22,7 @@ describe('cmdwin', function() eq('nofile', api.nvim_get_option_value('buftype', { buf = 0 })) eq('wipe', api.nvim_get_option_value('bufhidden', { buf = 0 })) eq(false, api.nvim_get_option_value('swapfile', { buf = 0 })) + eq(true, api.nvim_get_option_value('buflisted', { buf = 0 })) -- #40431 eq(true, api.nvim_get_option_value('winfixbuf', { win = 0 })) -- executes the cmdline