From 7a088984ca7f62b95675f13f4dc789dd5f2f25e0 Mon Sep 17 00:00:00 2001 From: Chris Seickel Date: Wed, 20 Mar 2024 08:47:59 -0400 Subject: [PATCH] fix: winfixbuf/`current toggle` bug from #1390 --- lua/neo-tree/ui/renderer.lua | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/lua/neo-tree/ui/renderer.lua b/lua/neo-tree/ui/renderer.lua index 497033b1..386b8b63 100644 --- a/lua/neo-tree/ui/renderer.lua +++ b/lua/neo-tree/ui/renderer.lua @@ -164,12 +164,15 @@ M.close = function(state, focus_prior_window) state.winid = nil end local bufnr = utils.get_value(state, "bufnr", 0, true) - state.bufnr = nil - vim.schedule(function() - if bufnr > 0 and vim.api.nvim_buf_is_valid(bufnr) then - vim.api.nvim_buf_delete(bufnr, { force = true }) + if bufnr > 0 and vim.api.nvim_buf_is_valid(bufnr) then + state.bufnr = nil + local success, err = pcall(vim.api.nvim_buf_delete, bufnr, { force = true }) + if not success and err:match("E523") then + vim.schedule_wrap(function() + vim.api.nvim_buf_delete(bufnr, { force = true }) + end)() end - end) + end return window_existed end