diff --git a/src/nvim/normal.c b/src/nvim/normal.c index 8da64bf01b..abee28e37e 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -8001,7 +8001,6 @@ static void nv_event(cmdarg_T *cap) // lists or dicts being used. may_garbage_collect = false; multiqueue_process_events(main_loop.events); - cap->retval |= CA_COMMAND_BUSY; // don't call edit() now finish_op = false; } diff --git a/test/functional/api/vim_spec.lua b/test/functional/api/vim_spec.lua index 75b9fb71c9..068d4973af 100644 --- a/test/functional/api/vim_spec.lua +++ b/test/functional/api/vim_spec.lua @@ -56,6 +56,13 @@ describe('API', function() eq(2, eval('1+1')) end) + it('does not set CA_COMMAND_BUSY #7254', function() + nvim('command', 'split') + nvim('command', 'autocmd WinEnter * startinsert') + nvim('command', 'wincmd w') + eq({mode='i', blocking=false}, nvim("get_mode")) + end) + describe('nvim_command', function() it('works', function() local fname = helpers.tmpname() @@ -83,7 +90,7 @@ describe('API', function() end) it('VimL execution error: fails with specific error', function() - local status, rv = pcall(nvim, "command_output", "buffer 23487") + local status, rv = pcall(nvim, "command", "buffer 23487") eq(false, status) -- nvim_command() failed. eq("E86: Buffer 23487 does not exist", string.match(rv, "E%d*:.*")) eq('', eval('v:errmsg')) -- v:errmsg was not updated.