diff options
author | Mathias Fußenegger <mfussenegger@users.noreply.github.com> | 2023-06-13 16:53:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-06-13 16:53:13 +0200 |
commit | 91f67fabe69f5e3be19f37709261ea7abaa1a3cd (patch) | |
tree | 5247987a714c5c0b5a2c637793f52abc959dd3e2 /runtime/lua/vim/lsp.lua | |
parent | a9968912b741c44d18bc2f5ae20682006c552b97 (diff) | |
download | rneovim-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.lua | 2 |
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 }, }) |