mirror of
https://github.com/neovim/neovim.git
synced 2026-11-02 20:30:40 -06:00
fix(cmdwin): handle UTF-8 characters containing 0x80 #41566
Problem: Confirming cmdwin with a UTF-8 character containing 0x80 does not complete the command. Solution: Escape K_SPECIAL bytes while feeding the cmdwin input after confirmation.
This commit is contained in:
1 parent
2b6a09c2f1
commit
ad42ee1c41
2 files changed
+5
-5
No files matched your search
@@ -116,9 +116,9 @@ describe('cmdwin', function()
|
||||
eq(':', fn.getcmdtype())
|
||||
end)
|
||||
|
||||
it('history entry or current cmdline with control chars', function()
|
||||
it('history entry or current cmdline with control chars or 0x80 byte', function()
|
||||
local firstbuf = api.nvim_get_current_buf()
|
||||
local cmdline = 'normal! \023\022ifoo\nbar\027' -- Ctrl-W Ctrl-V ifoo\nbar Esc
|
||||
local cmdline = 'normal! \023\022ifoo\nbar…\027' -- Ctrl-W Ctrl-V ifoo\nbar… Esc
|
||||
local bufline = cmdline:gsub('\n', '\0')
|
||||
fn.histadd(':', cmdline)
|
||||
feed('q:')
|
||||
@@ -135,7 +135,7 @@ describe('cmdwin', function()
|
||||
eq({ bufline, bufline }, api.nvim_buf_get_lines(0, 0, -1, false))
|
||||
feed('<CR>')
|
||||
eq({ firstbuf, firstbuf }, fn.tabpagebuflist())
|
||||
eq({ 'foo', 'bar' }, api.nvim_buf_get_lines(0, 0, -1, false))
|
||||
eq({ 'foo', 'bar…' }, api.nvim_buf_get_lines(0, 0, -1, false))
|
||||
end)
|
||||
|
||||
it('async API calls work while cmdwin is open #40312', function()
|
||||
|
||||
Reference in new issue
Block a user