From 51caf0a3af599bc4eacdc4b87092bb20286dbfe8 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Mon, 14 Apr 2025 13:02:58 +0800 Subject: fix(completion): avoid freeing uninitialized value (#33459) --- test/functional/api/command_spec.lua | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'test/functional/api/command_spec.lua') diff --git a/test/functional/api/command_spec.lua b/test/functional/api/command_spec.lua index fabd9be6d6..d332576fb4 100644 --- a/test/functional/api/command_spec.lua +++ b/test/functional/api/command_spec.lua @@ -681,6 +681,19 @@ describe('nvim_create_user_command', function() eq('Test bbb', fn.getcmdline()) end) + it('no crash when Lua complete function errors #33447', function() + exec_lua([[ + vim.api.nvim_create_user_command('Test','', { + nargs = 1, + complete = function() error() end + }) + ]]) + feed(':Test ') + eq('E5108: Error executing Lua function: [NULL]', api.nvim_get_vvar('errmsg')) + eq('Test ', fn.getcmdline()) + assert_alive() + end) + it('does not allow invalid command names', function() eq( "Invalid command name (must start with uppercase): 'test'", -- cgit