From 4522d7e3ea75ffddabdc39957168a8a7060b5df0 Mon Sep 17 00:00:00 2001 From: Garry Filakhtov Date: Mon, 23 Oct 2023 23:19:17 +1100 Subject: [PATCH] fix: jumplist picker resume after bwipeout (#2753) With this change we will check if the provided buffer number is valid, before querying its `buftype` option. This is necessary, because currently we would fail with: ``` Error executing vim.schedule lua callback: ...scope.nvim/lua/telescope/previewers/buffer_previewer.lua:473: Invalid buffer id: X ``` error, if we try to resume a jumplist picker after doing `:bwipeout`. --- lua/telescope/previewers/buffer_previewer.lua | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lua/telescope/previewers/buffer_previewer.lua b/lua/telescope/previewers/buffer_previewer.lua index de61944..4889399 100644 --- a/lua/telescope/previewers/buffer_previewer.lua +++ b/lua/telescope/previewers/buffer_previewer.lua @@ -563,7 +563,10 @@ previewers.vimgrep = defaulter(function(opts) define_preview = function(self, entry) -- builtin.buffers: bypass path validation for terminal buffers that don't have appropriate path - local has_buftype = entry.bufnr and vim.api.nvim_buf_get_option(entry.bufnr, "buftype") ~= "" or false + local has_buftype = entry.bufnr + and vim.api.nvim_buf_is_valid(entry.bufnr) + and vim.api.nvim_buf_get_option(entry.bufnr, "buftype") ~= "" + or false local p if not has_buftype then p = from_entry.path(entry, true)