mirror of
https://github.com/neovim/neovim.git
synced 2025-09-07 11:58:17 +00:00
fix(api): nvim_exec and nvim_cmd restore msg_col when capturing output (#19789)
This matches the code in execute_common(), preventing messages after the API call from being printed at the wrong column.
This commit is contained in:
@@ -281,8 +281,8 @@ describe('API', function()
|
||||
]]}
|
||||
end)
|
||||
|
||||
it('does\'t display messages when output=true', function()
|
||||
local screen = Screen.new(40, 8)
|
||||
it('doesn\'t display messages when output=true', function()
|
||||
local screen = Screen.new(40, 6)
|
||||
screen:attach()
|
||||
screen:set_default_attr_ids({
|
||||
[0] = {bold=true, foreground=Screen.colors.Blue},
|
||||
@@ -293,11 +293,23 @@ describe('API', function()
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
|
|
||||
]]}
|
||||
exec([[
|
||||
func Print()
|
||||
call nvim_exec('echo "hello"', v:true)
|
||||
endfunc
|
||||
]])
|
||||
feed([[:echon 1 | call Print() | echon 5<CR>]])
|
||||
screen:expect{grid=[[
|
||||
^ |
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
15 |
|
||||
]]}
|
||||
end)
|
||||
end)
|
||||
|
||||
@@ -3836,5 +3848,35 @@ describe('API', function()
|
||||
meths.cmd({ cmd = 'make', args = { 'foo', 'bar' } }, {})
|
||||
assert_alive()
|
||||
end)
|
||||
it('doesn\'t display messages when output=true', function()
|
||||
local screen = Screen.new(40, 6)
|
||||
screen:attach()
|
||||
screen:set_default_attr_ids({
|
||||
[0] = {bold=true, foreground=Screen.colors.Blue},
|
||||
})
|
||||
meths.cmd({cmd = 'echo', args = {[['hello']]}}, {output = true})
|
||||
screen:expect{grid=[[
|
||||
^ |
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
|
|
||||
]]}
|
||||
exec([[
|
||||
func Print()
|
||||
call nvim_cmd(#{cmd: 'echo', args: ['"hello"']}, #{output: v:true})
|
||||
endfunc
|
||||
]])
|
||||
feed([[:echon 1 | call Print() | echon 5<CR>]])
|
||||
screen:expect{grid=[[
|
||||
^ |
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
{0:~ }|
|
||||
15 |
|
||||
]]}
|
||||
end)
|
||||
end)
|
||||
end)
|
||||
|
Reference in New Issue
Block a user