fix(lua): avoid __index when deciding if a table is a list #39556

Problem:
When a table has `__index`, `vim.islist` is unreliable.

Solution:
Index using `rawget`.
This commit is contained in:
Yi Ming
2026-05-06 04:32:20 +08:00
committed by GitHub
parent b1ebf45a6d
commit 264fbc0ace
2 changed files with 12 additions and 1 deletions

View File

@@ -960,7 +960,7 @@ function vim.islist(t)
for _ in
pairs(t--[[@as table<any,any>]])
do
if t[j] == nil then
if rawget(t, j) == nil then
return false
end
j = j + 1