vim-patch:8.2.1781: writing to prompt buffer interferes with insert mode

Problem:    Writing to prompt buffer interferes with insert mode.
Solution:   Use win_enter() instead of just setting "curwin". (Ben Jackson,
            closes vim/vim#7035)
4537bcc889

Vim test will be skipped, so add a Lua test.
The problem boils down to the use of aucmd_restbuf in a callback, so just test
that (via nvim_buf_set_lines).
This commit is contained in:
Sean Dewar
2021-11-07 21:28:11 +00:00
parent 1fffccc5d6
commit 38cd91de5f
3 changed files with 48 additions and 2 deletions

View File

@@ -1,9 +1,12 @@
local helpers = require('test.functional.helpers')(after_each)
local Screen = require('test.functional.ui.screen')
local feed= helpers.feed
local feed = helpers.feed
local source = helpers.source
local clear = helpers.clear
local feed_command = helpers.feed_command
local poke_eventloop = helpers.poke_eventloop
local meths = helpers.meths
local eq = helpers.eq
describe('prompt buffer', function()
local screen
@@ -150,4 +153,13 @@ describe('prompt buffer', function()
]])
end)
it('keeps insert mode after aucmd_restbuf in callback', function()
source [[
let s:buf = nvim_create_buf(1, 1)
call timer_start(0, {-> nvim_buf_set_lines(s:buf, -1, -1, 0, ['walrus'])})
startinsert
]]
poke_eventloop()
eq({ mode = "i", blocking = false }, meths.get_mode())
end)
end)