diff options
| author | Evgeni Chasnovski <evgeni.chasnovski@gmail.com> | 2026-02-14 15:26:36 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-14 08:26:36 -0500 |
| commit | 539b8027a3099399ad362896dc7de0e93e2f5bfa (patch) | |
| tree | c43dc0f82d1fb0e02ef18279d77535f3e770165f /runtime/lua/vim/pack.lua | |
| parent | cadddbff6959a23337d417b000177326abc5a862 (diff) | |
| download | rneovim-539b8027a3099399ad362896dc7de0e93e2f5bfa.tar.gz rneovim-539b8027a3099399ad362896dc7de0e93e2f5bfa.tar.bz2 rneovim-539b8027a3099399ad362896dc7de0e93e2f5bfa.zip | |
fix(pack): explicitly close confirmation window #37861
Problem: Executing `nvim_buf_delete()` does not guarantee that the
window which shows the buffer is going to close after `:write` or
`:quit`. In particular, if there is no listed buffer present.
Solution: Explicitly close the window that was created for confirmation
buffer. Use `pcall` to catch cases when the window was already closed
or when it is the last window.
Diffstat (limited to 'runtime/lua/vim/pack.lua')
| -rw-r--r-- | runtime/lua/vim/pack.lua | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/runtime/lua/vim/pack.lua b/runtime/lua/vim/pack.lua index 3371f66c31..f336a22c7a 100644 --- a/runtime/lua/vim/pack.lua +++ b/runtime/lua/vim/pack.lua @@ -1122,6 +1122,7 @@ local function show_confirm_buf(lines, on_finish) local win_id = api.nvim_get_current_win() local delete_buffer = vim.schedule_wrap(function() + pcall(api.nvim_win_close, win_id, true) pcall(api.nvim_buf_delete, bufnr, { force = true }) vim.cmd.redraw() end) |