From 9e968635efc47eef09588847914190b4b64f008c Mon Sep 17 00:00:00 2001 From: Tomasz N Date: Fri, 11 Jul 2025 17:31:30 +0200 Subject: [PATCH] fix(extui): check if buffers/windows exist before deleting (#34886) Problem: Disabling vim._extui may try to delete non-existent windows/buffers. Solution: Check that window/buffer is valid before deleting. --- runtime/lua/vim/_extui.lua | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/runtime/lua/vim/_extui.lua b/runtime/lua/vim/_extui.lua index 033ff58db6..536b4b186d 100644 --- a/runtime/lua/vim/_extui.lua +++ b/runtime/lua/vim/_extui.lua @@ -65,10 +65,14 @@ function M.enable(opts) if ext.cfg.enable == false then -- Detach and cleanup windows, buffers and autocommands. for _, win in pairs(ext.wins) do - api.nvim_win_close(win, true) + if api.nvim_win_is_valid(win) then + api.nvim_win_close(win, true) + end end for _, buf in pairs(ext.bufs) do - api.nvim_buf_delete(buf, {}) + if api.nvim_buf_is_valid(buf) then + api.nvim_buf_delete(buf, {}) + end end api.nvim_clear_autocmds({ group = ext.augroup }) vim.ui_detach(ext.ns)