vim-patch:8.2.4497: wrong color for half of wide character next to pum scrollbar (#25693)

Problem:    Wrong color for half of wide character next to pum scrollbar.
Solution:   Redraw the screen cell with the right color. (closes vim/vim#9874)

35d8c2010e

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
zeertzjq 2023-10-18 06:40:08 +08:00 committed by GitHub
parent bc5dfda441
commit 4db4168aaf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 42 additions and 2 deletions

View File

@ -1788,6 +1788,30 @@ describe('builtin popupmenu', function()
{2:-- }{5:match 1 of 3} |
]])
end)
-- oldtest: Test_scrollbar_on_wide_char()
it('scrollbar overwrites half of double-width char below properly', function()
screen:try_resize(32, 10)
exec([[
call setline(1, ['a', ' 啊啊啊',
\ ' 哦哦哦',
\ ' 呃呃呃'])
call setline(5, range(10)->map({i, v -> 'aa' .. v .. 'bb'}))
]])
feed('A<C-X><C-N>')
screen:expect([[
aa0bb^ |
{s:aa0bb }{c: } |
{n:aa1bb }{c: } |
{n:aa2bb }{c: } |
{n:aa3bb }{c: } |
{n:aa4bb }{c: } |
{n:aa5bb }{c: } |
{n:aa6bb }{s: } |
{n:aa7bb }{s: } |
{2:-- }{5:match 1 of 10} |
]])
end)
end
it('with vsplits', function()

View File

@ -530,10 +530,8 @@ func Test_ins_completeslash()
CheckMSWindows
call mkdir('Xdir')
let orig_shellslash = &shellslash
set cpt&
new
set noshellslash
@ -655,6 +653,24 @@ func Test_pum_with_preview_win()
call delete('Xpreviewscript')
endfunc
func Test_scrollbar_on_wide_char()
CheckScreendump
let lines =<< trim END
call setline(1, ['a', ' 啊啊啊',
\ ' 哦哦哦',
\ ' 呃呃呃'])
call setline(5, range(10)->map({i, v -> 'aa' .. v .. 'bb'}))
END
call writefile(lines, 'Xwidescript')
let buf = RunVimInTerminal('-S Xwidescript', #{rows: 10})
call term_sendkeys(buf, "A\<C-N>")
call VerifyScreenDump(buf, 'Test_scrollbar_on_wide_char', {})
call StopVimInTerminal(buf)
call delete('Xwidescript')
endfunc
" Test for inserting the tag search pattern in insert mode
func Test_ins_compl_tag_sft()
call writefile([