diff options
-rw-r--r-- | runtime/lua/vim/hl.lua | 3 | ||||
-rw-r--r-- | test/functional/lua/hl_spec.lua | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/runtime/lua/vim/hl.lua b/runtime/lua/vim/hl.lua index d15ee1fd10..50345d1dc7 100644 --- a/runtime/lua/vim/hl.lua +++ b/runtime/lua/vim/hl.lua @@ -128,6 +128,9 @@ function M.range(bufnr, ns, higroup, start, finish, opts) end local range_hl_clear = function() + if not api.nvim_buf_is_valid(bufnr) then + return + end for _, mark in ipairs(extmarks) do api.nvim_buf_del_extmark(bufnr, ns, mark) end diff --git a/test/functional/lua/hl_spec.lua b/test/functional/lua/hl_spec.lua index f17442912a..a63b004456 100644 --- a/test/functional/lua/hl_spec.lua +++ b/test/functional/lua/hl_spec.lua @@ -222,6 +222,7 @@ describe('vim.hl.on_yank', function() it('does not show errors even if buffer is wiped before timeout', function() command('new') + n.feed('ifoo<esc>') -- set '[, '] exec_lua(function() vim.hl.on_yank({ timeout = 10, |