aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp.lua
diff options
context:
space:
mode:
authorMathias Fußenegger <mfussenegger@users.noreply.github.com>2023-06-13 16:53:13 +0200
committerGitHub <noreply@github.com>2023-06-13 16:53:13 +0200
commit91f67fabe69f5e3be19f37709261ea7abaa1a3cd (patch)
tree5247987a714c5c0b5a2c637793f52abc959dd3e2 /runtime/lua/vim/lsp.lua
parenta9968912b741c44d18bc2f5ae20682006c552b97 (diff)
downloadrneovim-91f67fabe69f5e3be19f37709261ea7abaa1a3cd.tar.gz
rneovim-91f67fabe69f5e3be19f37709261ea7abaa1a3cd.tar.bz2
rneovim-91f67fabe69f5e3be19f37709261ea7abaa1a3cd.zip
fix(lsp): handle stale bufnr on LspRequest autocmd trigger (#24013)
Fixes a `Invalid buffer id: 123` race when the buffer gets deleted before the callback triggered. Alternative to https://github.com/neovim/neovim/pull/23981
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r--runtime/lua/vim/lsp.lua2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index 6f9a6c460b..9118e7e2e1 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -1519,7 +1519,7 @@ function lsp.start_client(config)
local request = client.requests[request_id]
request.type = 'complete'
nvim_exec_autocmds('LspRequest', {
- buffer = bufnr,
+ buffer = api.nvim_buf_is_valid(bufnr) and bufnr or nil,
modeline = false,
data = { client_id = client_id, request_id = request_id, request = request },
})