diff options
author | zeertzjq <zeertzjq@outlook.com> | 2024-01-18 07:23:48 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-18 07:23:48 +0800 |
commit | 8a07ca6c4baf9a72476df4b1851aa33165b4f9c5 (patch) | |
tree | 1b4578d206ed6328dee89efc75b9a00be940713b /test/functional/legacy/prompt_buffer_spec.lua | |
parent | 780dd88b68b7a4d97c8b7ec6a8d33ab523ab04dd (diff) | |
download | rneovim-8a07ca6c4baf9a72476df4b1851aa33165b4f9c5.tar.gz rneovim-8a07ca6c4baf9a72476df4b1851aa33165b4f9c5.tar.bz2 rneovim-8a07ca6c4baf9a72476df4b1851aa33165b4f9c5.zip |
vim-patch:9.1.0040: issue with prompt buffer and hidden buffer (#27071)
Problem: Modifying a hidden buffer still interferes with prompt buffer
mode changes.
Solution: Save and restore b_prompt_insert.
(zeertzjq)
closes: vim/vim#13875
Modifying hidden buffer still interferes with prompt buffer mode changes
https://github.com/vim/vim/commit/f267847017976ab85117bdf75b45e769836f8d69
Diffstat (limited to 'test/functional/legacy/prompt_buffer_spec.lua')
-rw-r--r-- | test/functional/legacy/prompt_buffer_spec.lua | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/test/functional/legacy/prompt_buffer_spec.lua b/test/functional/legacy/prompt_buffer_spec.lua index 59a9283868..e4810feedb 100644 --- a/test/functional/legacy/prompt_buffer_spec.lua +++ b/test/functional/legacy/prompt_buffer_spec.lua @@ -219,7 +219,7 @@ describe('prompt buffer', function() eq({ mode = 'i', blocking = false }, api.nvim_get_mode()) end) - -- oldtest: Test_prompt_close_modify_hidden() + -- oldtest: Test_prompt_leave_modify_hidden() it('modifying hidden buffer does not prevent prompt buffer mode change', function() source([[ file hidden @@ -228,14 +228,26 @@ describe('prompt buffer', function() new prompt set buftype=prompt + inoremap <buffer> w <Cmd>wincmd w<CR> inoremap <buffer> q <Cmd>bwipe!<CR> - autocmd BufWinLeave prompt call setbufline('hidden', 1, 'Test') + autocmd BufLeave prompt call appendbufline('hidden', '$', 'Leave') + autocmd BufEnter prompt call appendbufline('hidden', '$', 'Enter') + autocmd BufWinLeave prompt call appendbufline('hidden', '$', 'Close') ]]) feed('a') eq({ mode = 'i', blocking = false }, api.nvim_get_mode()) + feed('w') + eq({ mode = 'n', blocking = false }, api.nvim_get_mode()) + feed('<C-W>w') + eq({ mode = 'i', blocking = false }, api.nvim_get_mode()) feed('q') eq({ mode = 'n', blocking = false }, api.nvim_get_mode()) command('bwipe!') - expect('Test') + expect([[ + + Leave + Enter + Leave + Close]]) end) end) |