feat(messages): cleanup Lua error messages

"Error" in error messages is redundant. Just provide the context, don't
say "Error ...".
This commit is contained in:
Justin M. Keyes
2021-08-23 02:37:07 -07:00
parent af4f7f1618
commit fc2dee1736
42 changed files with 302 additions and 377 deletions

View File

@@ -303,76 +303,76 @@ describe('luaeval(vim.api.…)', function()
it('errors out correctly when working with API', function()
-- Conversion errors
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'obj': Cannot convert given Lua table]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'obj': Cannot convert given Lua table]],
remove_trace(exc_exec([[call luaeval("vim.api.nvim__id({1, foo=42})")]]))
)
-- Errors in number of arguments
eq(
'Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Expected 1 argument',
'Vim(call):E5108: Lua: [string "luaeval()"]:1: Expected 1 argument',
remove_trace(exc_exec([[call luaeval("vim.api.nvim__id()")]]))
)
eq(
'Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Expected 1 argument',
'Vim(call):E5108: Lua: [string "luaeval()"]:1: Expected 1 argument',
remove_trace(exc_exec([[call luaeval("vim.api.nvim__id(1, 2)")]]))
)
eq(
'Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Expected 2 arguments',
'Vim(call):E5108: Lua: [string "luaeval()"]:1: Expected 2 arguments',
remove_trace(exc_exec([[call luaeval("vim.api.nvim_set_var(1, 2, 3)")]]))
)
-- Error in argument types
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'name': Expected Lua string]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'name': Expected Lua string]],
remove_trace(exc_exec([[call luaeval("vim.api.nvim_set_var(1, 2)")]]))
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'start': Expected Lua number]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'start': Expected Lua number]],
remove_trace(exc_exec([[call luaeval("vim.api.nvim_buf_get_lines(0, 'test', 1, false)")]]))
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'start': Number is not integral]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'start': Number is not integral]],
remove_trace(exc_exec([[call luaeval("vim.api.nvim_buf_get_lines(0, 1.5, 1, false)")]]))
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'window': Expected Lua number]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'window': Expected Lua number]],
remove_trace(exc_exec([[call luaeval("vim.api.nvim_win_is_valid(nil)")]]))
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'flt': Expected Lua number]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'flt': Expected Lua number]],
remove_trace(exc_exec([[call luaeval("vim.api.nvim__id_float('test')")]]))
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'flt': Expected Float-like Lua table]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'flt': Expected Float-like Lua table]],
remove_trace(
exc_exec([[call luaeval("vim.api.nvim__id_float({[vim.type_idx]=vim.types.dictionary})")]])
)
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'arr': Expected Lua table]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'arr': Expected Lua table]],
remove_trace(exc_exec([[call luaeval("vim.api.nvim__id_array(1)")]]))
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'arr': Expected Array-like Lua table]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'arr': Expected Array-like Lua table]],
remove_trace(
exc_exec([[call luaeval("vim.api.nvim__id_array({[vim.type_idx]=vim.types.dictionary})")]])
)
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'dct': Expected Lua table]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'dct': Expected Lua table]],
remove_trace(exc_exec([[call luaeval("vim.api.nvim__id_dict(1)")]]))
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Invalid 'dct': Expected Dict-like Lua table]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Invalid 'dct': Expected Dict-like Lua table]],
remove_trace(
exc_exec([[call luaeval("vim.api.nvim__id_dict({[vim.type_idx]=vim.types.array})")]])
)
)
eq(
[[Vim(call):E5108: Error executing lua [string "luaeval()"]:1: Expected Lua table]],
[[Vim(call):E5108: Lua: [string "luaeval()"]:1: Expected Lua table]],
remove_trace(exc_exec([[call luaeval("vim.api.nvim_set_keymap('', '', '', '')")]]))
)

View File

@@ -59,22 +59,22 @@ describe(':lua', function()
it('throws catchable errors', function()
eq('Vim(lua):E471: Argument required', pcall_err(command, 'lua'))
eq(
[[Vim(lua):E5107: Error loading lua [string ":lua"]:0: unexpected symbol near ')']],
[[Vim(lua):E5107: Lua: [string ":lua"]:0: unexpected symbol near ')']],
pcall_err(command, 'lua ()')
)
eq(
[[Vim(lua):E5108: Error executing lua [string ":lua"]:1: TEST]],
[[Vim(lua):E5108: Lua: [string ":lua"]:1: TEST]],
remove_trace(exc_exec('lua error("TEST")'))
)
eq(
[[Vim(lua):E5108: Error executing lua [string ":lua"]:1: Invalid buffer id: -10]],
[[Vim(lua):E5108: Lua: [string ":lua"]:1: Invalid buffer id: -10]],
remove_trace(exc_exec('lua vim.api.nvim_buf_set_lines(-10, 1, 1, false, {"TEST"})'))
)
eq({ '' }, api.nvim_buf_get_lines(0, 0, 100, false))
end)
it('works with NULL errors', function()
eq([=[Vim(lua):E5108: Error executing lua [NULL]]=], exc_exec('lua error(nil)'))
eq([=[Vim(lua):E5108: Lua: [NULL]]=], exc_exec('lua error(nil)'))
end)
it('accepts embedded NLs without heredoc', function()
@@ -100,7 +100,7 @@ describe(':lua', function()
local s = ('x'):rep(100500)
eq(
'Vim(lua):E5107: Error loading lua [string ":lua"]:0: unfinished string near \'<eof>\'',
'Vim(lua):E5107: Lua: [string ":lua"]:0: unfinished string near \'<eof>\'',
pcall_err(command, ('lua vim.api.nvim_buf_set_lines(1, 1, 2, false, {"%s})'):format(s))
)
eq({ '' }, api.nvim_buf_get_lines(0, 0, -1, false))
@@ -119,11 +119,10 @@ describe(':lua', function()
})
feed(':lua error("fail\\nmuch error\\nsuch details")<cr>')
screen:expect {
grid = [[
screen:expect([[
|
{2: }|
{3:E5108: Error executing lua [string ":lua}|
{3:"]:1: fail} |
{3:E5108: Lua: [string ":lua"]:1: fail} |
{3:much error} |
{3:such details} |
{3:stack traceback:} |
@@ -131,8 +130,7 @@ describe(':lua', function()
{3: [string ":lua"]:1: in main chunk}|
|
{4:Press ENTER or type command to continue}^ |
]],
}
]])
feed('<cr>')
screen:expect {
grid = [[
@@ -142,22 +140,20 @@ describe(':lua', function()
]],
}
eq(
'E5108: Error executing lua [string ":lua"]:1: fail\nmuch error\nsuch details',
'E5108: Lua: [string ":lua"]:1: fail\nmuch error\nsuch details',
remove_trace(eval('v:errmsg'))
)
local status, err = pcall(command, 'lua error("some error\\nin a\\nAPI command")')
local expected =
'Vim(lua):E5108: Error executing lua [string ":lua"]:1: some error\nin a\nAPI command'
local expected = 'Vim(lua):E5108: Lua: [string ":lua"]:1: some error\nin a\nAPI command'
eq(false, status)
eq(expected, string.sub(remove_trace(err), -string.len(expected)))
feed(':messages<cr>')
screen:expect {
grid = [[
screen:expect([[
|
{2: }|
{3:E5108: Error executing lua [string ":lua}|
{3:"]:1: fail} |
{3:E5108: Lua: [string ":lua"]:1: fail} |
{3:much error} |
{3:such details} |
{3:stack traceback:} |
@@ -165,8 +161,7 @@ describe(':lua', function()
{3: [string ":lua"]:1: in main chunk}|
|
{4:Press ENTER or type command to continue}^ |
]],
}
]])
end)
it('prints result of =expr', function()
@@ -212,7 +207,7 @@ describe(':lua', function()
-- ":{range}lua" fails on invalid Lua code.
eq(
[[:{range}lua buffer=1: Vim(lua):E5107: Error loading lua ]]
[[:{range}lua buffer=1: Vim(lua):E5107: Lua: ]]
.. [[[string ":{range}lua buffer=1"]:0: '=' expected near '<eof>']],
pcall_err(command, '1lua')
)
@@ -279,17 +274,17 @@ describe(':luado command', function()
it('fails on errors', function()
eq(
[[Vim(luado):E5109: Error loading lua: [string ":luado"]:0: unexpected symbol near ')']],
[[Vim(luado):E5109: Lua: [string ":luado"]:0: unexpected symbol near ')']],
pcall_err(command, 'luado ()')
)
eq(
[[Vim(luado):E5111: Error calling lua: [string ":luado"]:0: attempt to perform arithmetic on global 'liness' (a nil value)]],
[[Vim(luado):E5111: Lua: [string ":luado"]:0: attempt to perform arithmetic on global 'liness' (a nil value)]],
pcall_err(command, 'luado return liness + 1')
)
end)
it('works with NULL errors', function()
eq([=[Vim(luado):E5111: Error calling lua: [NULL]]=], exc_exec('luado error(nil)'))
eq([=[Vim(luado):E5111: Lua: [NULL]]=], exc_exec('luado error(nil)'))
end)
it('fails in sandbox when needed', function()
@@ -305,7 +300,7 @@ describe(':luado command', function()
local s = ('x'):rep(100500)
eq(
'Vim(luado):E5109: Error loading lua: [string ":luado"]:0: unfinished string near \'<eof>\'',
'Vim(luado):E5109: Lua: [string ":luado"]:0: unfinished string near \'<eof>\'',
pcall_err(command, ('luado return "%s'):format(s))
)
eq({ '' }, api.nvim_buf_get_lines(0, 0, -1, false))
@@ -338,14 +333,12 @@ describe(':luafile', function()
it('correctly errors out', function()
write_file(fname, '()')
eq(
("Vim(luafile):E5112: Error while creating lua chunk: %s:1: unexpected symbol near ')'"):format(
fname
),
("Vim(luafile):E5112: Lua chunk: %s:1: unexpected symbol near ')'"):format(fname),
exc_exec('luafile ' .. fname)
)
write_file(fname, 'vimm.api.nvim_buf_set_lines(1, 1, 2, false, {"ETTS"})')
eq(
("Vim(luafile):E5113: Error while calling lua chunk: %s:1: attempt to index global 'vimm' (a nil value)"):format(
("Vim(luafile):E5113: Lua chunk: %s:1: attempt to index global 'vimm' (a nil value)"):format(
fname
),
remove_trace(exc_exec('luafile ' .. fname))
@@ -354,9 +347,6 @@ describe(':luafile', function()
it('works with NULL errors', function()
write_file(fname, 'error(nil)')
eq(
[=[Vim(luafile):E5113: Error while calling lua chunk: [NULL]]=],
exc_exec('luafile ' .. fname)
)
eq([=[Vim(luafile):E5113: Lua chunk: [NULL]]=], exc_exec('luafile ' .. fname))
end)
end)

View File

@@ -189,9 +189,9 @@ describe('luaeval()', function()
eq("Vim(call):E5100: Cannot convert given Lua table: table should contain either only integer keys or only string keys",
exc_exec('call luaeval("{1, foo=2}")'))
startswith("Vim(call):E5107: Error loading lua [string \"luaeval()\"]:",
startswith("Vim(call):E5107: Lua: [string \"luaeval()\"]:",
exc_exec('call luaeval("1, 2, 3")'))
startswith("Vim(call):E5108: Error executing lua [string \"luaeval()\"]:",
startswith("Vim(call):E5108: Lua: [string \"luaeval()\"]:",
exc_exec('call luaeval("(nil)()")'))
end)
@@ -428,18 +428,18 @@ describe('luaeval()', function()
it('errors out correctly when doing incorrect things in lua', function()
-- Conversion errors
eq('Vim(call):E5108: Error executing lua [string "luaeval()"]:1: attempt to call field \'xxx_nonexistent_key_xxx\' (a nil value)',
eq('Vim(call):E5108: Lua: [string "luaeval()"]:1: attempt to call field \'xxx_nonexistent_key_xxx\' (a nil value)',
remove_trace(exc_exec([[call luaeval("vim.xxx_nonexistent_key_xxx()")]])))
eq('Vim(call):E5108: Error executing lua [string "luaeval()"]:1: ERROR',
eq('Vim(call):E5108: Lua: [string "luaeval()"]:1: ERROR',
remove_trace(exc_exec([[call luaeval("error('ERROR')")]])))
eq('Vim(call):E5108: Error executing lua [NULL]',
eq('Vim(call):E5108: Lua: [NULL]',
remove_trace(exc_exec([[call luaeval("error(nil)")]])))
end)
it('does not leak memory when called with too long line',
function()
local s = ('x'):rep(65536)
eq('Vim(call):E5107: Error loading lua [string "luaeval()"]:1: unexpected symbol near \')\'',
eq('Vim(call):E5107: Lua: [string "luaeval()"]:1: unexpected symbol near \')\'',
exc_exec([[call luaeval("(']] .. s ..[[' + )")]]))
eq(s, fn.luaeval('"' .. s .. '"'))
end)
@@ -482,7 +482,7 @@ describe('v:lua', function()
eq("string: abc", eval('v:lua.mymod.whatis(0z616263)'))
eq("string: ", eval('v:lua.mymod.whatis(v:_null_blob)'))
eq("Vim:E5108: Error executing lua [string \"<nvim>\"]:0: attempt to call global 'nonexistent' (a nil value)",
eq("Vim:E5108: Lua: [string \"<nvim>\"]:0: attempt to call global 'nonexistent' (a nil value)",
pcall_err(eval, 'v:lua.mymod.crashy()'))
end)
@@ -497,14 +497,14 @@ describe('v:lua', function()
eq("hey there", api.nvim_get_current_line())
eq({5, 10, 15, 20}, eval('[[1], [2, 3], [4]]->v:lua.vim.tbl_flatten()->map({_, v -> v * 5})'))
eq("Vim:E5108: Error executing lua [string \"<nvim>\"]:0: attempt to call global 'nonexistent' (a nil value)",
eq("Vim:E5108: Lua: [string \"<nvim>\"]:0: attempt to call global 'nonexistent' (a nil value)",
pcall_err(eval, '"huh?"->v:lua.mymod.crashy()'))
end)
it('works in :call', function()
command(":call v:lua.mymod.noisy('command')")
eq("hey command", api.nvim_get_current_line())
eq("Vim(call):E5108: Error executing lua [string \"<nvim>\"]:0: attempt to call global 'nonexistent' (a nil value)",
eq("Vim(call):E5108: Lua: [string \"<nvim>\"]:0: attempt to call global 'nonexistent' (a nil value)",
pcall_err(command, 'call v:lua.mymod.crashy()'))
end)

View File

@@ -57,15 +57,15 @@ describe('print', function()
eq('', exec_capture('luafile ' .. fname))
-- TODO(bfredl): these look weird, print() should not use "E5114:" style errors..
eq(
'Vim(lua):E5108: Error executing lua E5114: Error while converting print argument #2: [NULL]',
'Vim(lua):E5108: Lua: E5114: Converting print argument #2: [NULL]',
pcall_err(command, 'lua print("foo", v_nilerr, "bar")')
)
eq(
'Vim(lua):E5108: Error executing lua E5114: Error while converting print argument #2: Xtest-functional-lua-overrides-luafile:2: abc',
'Vim(lua):E5108: Lua: E5114: Converting print argument #2: Xtest-functional-lua-overrides-luafile:2: abc',
pcall_err(command, 'lua print("foo", v_abcerr, "bar")')
)
eq(
'Vim(lua):E5108: Error executing lua E5114: Error while converting print argument #2: <Unknown error: lua_tolstring returned NULL for tostring result>',
'Vim(lua):E5108: Lua: E5114: Converting print argument #2: <Unknown error: lua_tolstring returned NULL for tostring result>',
pcall_err(command, 'lua print("foo", v_tblout, "bar")')
)
end)
@@ -98,20 +98,20 @@ describe('print', function()
)
eq('', exec_capture('luafile ' .. fname))
eq(
'Vim(lua):E5108: Error executing lua Xtest-functional-lua-overrides-luafile:1: my mistake',
'Vim(lua):E5108: Lua: Xtest-functional-lua-overrides-luafile:1: my mistake',
pcall_err(command, 'lua string_error()')
)
eq(
'Vim(lua):E5108: Error executing lua Xtest-functional-lua-overrides-luafile:2: 1234',
'Vim(lua):E5108: Lua: Xtest-functional-lua-overrides-luafile:2: 1234',
pcall_err(command, 'lua number_error()')
)
eq('Vim(lua):E5108: Error executing lua [NULL]', pcall_err(command, 'lua nil_error()'))
eq('Vim(lua):E5108: Error executing lua [NULL]', pcall_err(command, 'lua table_error()'))
eq('Vim(lua):E5108: Lua: [NULL]', pcall_err(command, 'lua nil_error()'))
eq('Vim(lua):E5108: Lua: [NULL]', pcall_err(command, 'lua table_error()'))
eq(
'Vim(lua):E5108: Error executing lua Internal Error [11234] my mistake',
'Vim(lua):E5108: Lua: Internal Error [11234] my mistake',
pcall_err(command, 'lua custom_error()')
)
eq('Vim(lua):E5108: Error executing lua [NULL]', pcall_err(command, 'lua bad_custom_error()'))
eq('Vim(lua):E5108: Lua: [NULL]', pcall_err(command, 'lua bad_custom_error()'))
end)
it('prints strings with NULs and NLs correctly', function()
api.nvim_set_option_value('more', true, {})
@@ -232,8 +232,7 @@ describe('debug.debug', function()
lua_debug> ^ |
]])
feed('<C-c>')
screen:expect {
grid = [[
screen:expect([[
|
{0:~ }|*2
{1: }|
@@ -241,14 +240,13 @@ describe('debug.debug', function()
lua_debug> print("TEST") |
TEST |
|
{E:E5108: Error executing lua [string ":lua"]:5: attempt}|
{E: to perform arithmetic on local 'a' (a nil value)} |
{E:E5108: Lua: [string ":lua"]:5: attempt to perform ari}|
{E:thmetic on local 'a' (a nil value)} |
{E:stack traceback:} |
{E: [string ":lua"]:5: in function 'Test'} |
{E: [string ":lua"]:1: in main chunk} |
Interrupt: {cr:Press ENTER or type command to continue}^ |
]],
}
]])
feed('<C-l>:lua Test()\n')
screen:expect([[
|
@@ -258,21 +256,19 @@ describe('debug.debug', function()
lua_debug> ^ |
]])
feed('\n')
screen:expect {
grid = [[
screen:expect([[
|
{0:~ }|*4
{1: }|
nil |
lua_debug> |
{E:E5108: Error executing lua [string ":lua"]:5: attempt}|
{E: to perform arithmetic on local 'a' (a nil value)} |
{E:E5108: Lua: [string ":lua"]:5: attempt to perform ari}|
{E:thmetic on local 'a' (a nil value)} |
{E:stack traceback:} |
{E: [string ":lua"]:5: in function 'Test'} |
{E: [string ":lua"]:1: in main chunk} |
{cr:Press ENTER or type command to continue}^ |
]],
}
]])
end)
it("can be safely exited with 'cont'", function()
@@ -287,32 +283,28 @@ describe('debug.debug', function()
}
feed('conttt<cr>') -- misspelled cont; invalid syntax
screen:expect {
grid = [[
screen:expect([[
|
{0:~ }|*8
{1: }|
lua_debug> conttt |
{E:E5115: Error while loading debug string: (debug comma}|
{E:nd):1: '=' expected near '<eof>'} |
{E:E5115: Loading Lua debug string: (debug command):1: '}|
{E:=' expected near '<eof>'} |
lua_debug> ^ |
]],
}
]])
feed('cont<cr>') -- exactly "cont", exit now
screen:expect {
grid = [[
screen:expect([[
|
{0:~ }|*6
{1: }|
lua_debug> conttt |
{E:E5115: Error while loading debug string: (debug comma}|
{E:nd):1: '=' expected near '<eof>'} |
{E:E5115: Loading Lua debug string: (debug command):1: '}|
{E:=' expected near '<eof>'} |
lua_debug> cont |
x |
{cr:Press ENTER or type command to continue}^ |
]],
}
]])
feed('<cr>')
screen:expect {

View File

@@ -31,7 +31,7 @@ describe('thread', function()
|
{1:~ }|*5
{3: }|
{9:Error in luv thread:} |
{9:Luv thread:} |
{9:[NULL]} |
{6:Press ENTER or type command to continue}^ |
]])
@@ -51,7 +51,7 @@ describe('thread', function()
|
{1:~ }|*5
{3: }|
{9:Error in luv thread:} |
{9:Luv thread:} |
{9:[string "<nvim>"]:2: Error in thread entry func} |
{6:Press ENTER or type command to continue}^ |
]])
@@ -78,7 +78,7 @@ describe('thread', function()
|
{1:~ }|*5
{3: }|
{9:Error in luv callback, thread:} |
{9:Luv callback, thread:} |
{9:[string "<nvim>"]:6: Error in thread callback} |
{6:Press ENTER or type command to continue}^ |
]])
@@ -286,7 +286,7 @@ describe('threadpool', function()
|
{1:~ }|*5
{3: }|
{9:Error in luv thread:} |
{9:Luv thread:} |
{9:Error: thread arg not support type 'table' at 1} |
{6:Press ENTER or type command to continue}^ |
]])

View File

@@ -427,14 +427,17 @@ describe('vim.ui_attach', function()
os.remove(testlog)
end)
it('error in callback is logged', function()
it('callback error is logged', function()
exec_lua([[
local ns = vim.api.nvim_create_namespace('test')
vim.ui_attach(ns, { ext_popupmenu = true }, function() error(42) end)
]])
feed('ifoo<CR>foobar<CR>fo<C-X><C-N>')
assert_log('Error in "popupmenu_show" UI event handler %(ns=test%):', testlog, 100)
assert_log('Error executing lua: .*: 42', testlog, 100)
assert_log(
'Error in "popupmenu_show" UI event handler %(ns=test%):[\r\n\t ]+Lua: .*: 42',
testlog,
100
)
end)
it('detaches after excessive errors', function()
@@ -464,7 +467,7 @@ describe('vim.ui_attach', function()
{
content = {
{
'Error executing callback:\n[string "<nvim>"]:3: attempt to index global \'err\' (a nil value)\nstack traceback:\n\t[string "<nvim>"]:3: in function <[string "<nvim>"]:1>',
'Lua callback:\n[string "<nvim>"]:3: attempt to index global \'err\' (a nil value)\nstack traceback:\n\t[string "<nvim>"]:3: in function <[string "<nvim>"]:1>',
9,
6,
},
@@ -482,11 +485,11 @@ describe('vim.ui_attach', function()
feed('<CR>:messages<CR>')
screen:expect([[
{9:Error in "msg_show" UI event handler (ns=(UNKNOWN PLUGIN)):} |
{9:Error executing lua: [string "<nvim>"]:3: attempt to index global 'err' (a nil value)} |
{9:Lua: [string "<nvim>"]:3: attempt to index global 'err' (a nil value)} |
{9:stack traceback:} |
{9: [string "<nvim>"]:3: in function <[string "<nvim>"]:1>} |
{9:Error in "msg_clear" UI event handler (ns=(UNKNOWN PLUGIN)):} |
{9:Error executing lua: [string "<nvim>"]:3: attempt to index global 'err' (a nil value)} |
{9:Lua: [string "<nvim>"]:3: attempt to index global 'err' (a nil value)} |
{9:stack traceback:} |
{9: [string "<nvim>"]:3: in function <[string "<nvim>"]:1>} |
{9:Excessive errors in vim.ui_attach() callback (ns=(UNKNOWN PLUGIN))} |
@@ -506,7 +509,7 @@ describe('vim.ui_attach', function()
{
content = {
{
'Error executing vim.schedule lua callback: [string "<nvim>"]:2: attempt to index global \'err\' (a nil value)\nstack traceback:\n\t[string "<nvim>"]:2: in function <[string "<nvim>"]:2>',
'vim.schedule callback: [string "<nvim>"]:2: attempt to index global \'err\' (a nil value)\nstack traceback:\n\t[string "<nvim>"]:2: in function <[string "<nvim>"]:2>',
9,
6,
},
@@ -517,7 +520,7 @@ describe('vim.ui_attach', function()
{
content = {
{
'Error executing vim.schedule lua callback: [string "<nvim>"]:2: attempt to index global \'err\' (a nil value)\nstack traceback:\n\t[string "<nvim>"]:2: in function <[string "<nvim>"]:2>',
'vim.schedule callback: [string "<nvim>"]:2: attempt to index global \'err\' (a nil value)\nstack traceback:\n\t[string "<nvim>"]:2: in function <[string "<nvim>"]:2>',
9,
6,
},

View File

@@ -87,7 +87,7 @@ describe('vim.uv', function()
screen:expect([[
|
{2: }|
{3:Error executing callback:} |
{3:Lua callback:} |
{3:[string "<nvim>"]:5: E5560: nvim_set_var must not }|
{3:be called in a fast event context} |
{3:stack traceback:} |
@@ -173,7 +173,7 @@ describe('vim.uv', function()
|
{1:~ }|*5
{3: }|
{9:Error executing callback:} |
{9:Lua callback:} |
{9:[NULL]} |
{6:Press ENTER or type command to continue}^ |
]]
@@ -208,7 +208,7 @@ describe('vim.uv', function()
screen:expect([[
{3: }|
{9:Error executing callback:} |
{9:Lua callback:} |
{9:[NULL]} |
{6:Press ENTER or type command to continue}^ |
]])
@@ -232,7 +232,7 @@ describe('vim.uv', function()
screen:expect([[
{3: }|
{9:Error executing callback:} |
{9:Lua callback:} |
{9:uv_idle_t: 0x{MATCH:%w+}}{MATCH: +}|
{6:Press ENTER or type command to continue}^ |
]])

View File

@@ -3376,7 +3376,7 @@ describe('lua stdlib', function()
local errmsg = api.nvim_get_vvar('errmsg')
matches(
[[
^Error executing vim%.on%_key%(%) callbacks:.*
^vim%.on%_key%(%) callbacks:.*
With ns%_id %d+: .*: Dumb Error
stack traceback:
.*: in function 'error'
@@ -3506,19 +3506,13 @@ stack traceback:
api.nvim_buf_set_lines(0, 0, -1, true, { '54321' })
local function cleanup_msg(msg)
return msg:gsub('^Error .*\nWith ns%_id %d+: ', '')
end
feed('x')
eq(1, exec_lua [[ return n_call ]])
eq(1, exec_lua [[ return vim.on_key(nil, nil) ]])
eq('', cleanup_msg(eval('v:errmsg')))
eq('', eval('v:errmsg'))
feed('x')
eq(2, exec_lua [[ return n_call ]])
eq('return string must be empty', cleanup_msg(eval('v:errmsg')))
matches('return string must be empty', eval('v:errmsg'))
command('let v:errmsg = ""')
eq(0, exec_lua [[ return vim.on_key(nil, nil) ]])
@@ -3526,7 +3520,7 @@ stack traceback:
feed('x')
eq(2, exec_lua [[ return n_call ]])
expect('21')
eq('', cleanup_msg(eval('v:errmsg')))
eq('', eval('v:errmsg'))
end)
end)
@@ -3991,7 +3985,7 @@ stack traceback:
pcall_err(exec_lua, [[vim.api.nvim_win_call(0, function() vim.cmd 'fooooo' end)]])
)
eq(
'Error executing lua: [string "<nvim>"]:0: fooooo',
'Lua: [string "<nvim>"]:0: fooooo',
pcall_err(exec_lua, [[vim.api.nvim_win_call(0, function() error('fooooo') end)]])
)
end)