From bc0635a9fc9c15a2423d4eb35f627d127d00fa46 Mon Sep 17 00:00:00 2001 From: skewb1k Date: Tue, 9 Dec 2025 21:59:06 +0300 Subject: fix(lua): vim.wait(math.huge) fails #36885 Problem: `nlua_wait()` uses `luaL_checkinteger()` which doesn't support `math.huge` since it's double type. On PUC Lua this fails with 'number has no integer representation' error and on LuaJIT this overflows int. Solution: Use `luaL_checknumber()` and handle `math.huge`. --- test/functional/lua/vim_spec.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'test/functional/lua/vim_spec.lua') diff --git a/test/functional/lua/vim_spec.lua b/test/functional/lua/vim_spec.lua index 73b393f11a..6aef76f476 100644 --- a/test/functional/lua/vim_spec.lua +++ b/test/functional/lua/vim_spec.lua @@ -2451,7 +2451,8 @@ stack traceback: exec_lua([[ function _G.Wait() vim.rpcnotify(vim.g.channel, 'ready') - local _, interrupted = vim.wait(4000) + -- handles math.huge #36854 + local _, interrupted = vim.wait(math.huge) vim.rpcnotify(vim.g.channel, 'wait', interrupted) end ]]) @@ -2465,7 +2466,7 @@ stack traceback: exec_lua([[ function _G.Wait() vim.rpcnotify(vim.g.channel, 'ready') - local _, interrupted = vim.wait(4000, function() end) + local _, interrupted = vim.wait(math.huge, function() end) vim.rpcnotify(vim.g.channel, 'wait', interrupted) end ]]) -- cgit