Merge pull request #23923 from neovim/backport-23922-to-release-0.9

[Backport release-0.9] fix(editorconfig): check that buffer is valid
This commit is contained in:
zeertzjq
2023-06-06 06:24:10 +08:00
committed by GitHub
2 changed files with 16 additions and 0 deletions

View File

@@ -207,6 +207,10 @@ end
---@private
function M.config(bufnr)
bufnr = bufnr or vim.api.nvim_get_current_buf()
if not vim.api.nvim_buf_is_valid(bufnr) then
return
end
local path = vim.fs.normalize(vim.api.nvim_buf_get_name(bufnr))
if vim.bo[bufnr].buftype ~= '' or not vim.bo[bufnr].modifiable or path == '' then
return

View File

@@ -6,6 +6,7 @@ local pathsep = helpers.get_pathsep()
local curbufmeths = helpers.curbufmeths
local funcs = helpers.funcs
local meths = helpers.meths
local exec_lua = helpers.exec_lua
local testdir = 'Xtest-editorconfig'
@@ -207,4 +208,15 @@ But not this one
test_case('3_space.txt', { shiftwidth = 42 })
test_case('4_space.py', { shiftwidth = 4 })
end)
it('does not operate on invalid buffers', function()
local ok, err = unpack(exec_lua([[
vim.cmd.edit('test.txt')
local bufnr = vim.api.nvim_get_current_buf()
vim.cmd.bwipeout(bufnr)
return {pcall(require('editorconfig').config, bufnr)}
]]))
eq(true, ok, err)
end)
end)