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
This commit is contained in:
Mathias Fußenegger 2023-06-13 16:53:13 +02:00 committed by GitHub
parent a9968912b7
commit 91f67fabe6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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 },
})