mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	fix(vim.hl): nvim_buf_del_extmark on invalid buffer #33331
Problem:
nvim_buf_del_extmark error if buffer is destroyed before timer stops
Solution:
check nvim_buf_is_valid.
(cherry picked from commit 28e8190185)
			
			
This commit is contained in:
		
				
					committed by
					
						
						github-actions[bot]
					
				
			
			
				
	
			
			
			
						parent
						
							91481ae7d5
						
					
				
				
					commit
					29011e4d45
				
			@@ -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
 | 
			
		||||
 
 | 
			
		||||
@@ -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,
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user