Patch 8.2.4497
Problem:    Wrong color for half of wide character next to pum scrollbar.
Solution:   Redraw the screen cell with the right color. (closes #9874)
Files:      src/screen.c, src/testdir/test_ins_complete.vim,
            src/testdir/dumps/Test_scrollbar_on_wide_char.dump


*** ../vim-8.2.4496/src/screen.c        2022-02-15 16:17:39.496253454 +0000
--- src/screen.c        2022-03-03 11:30:41.938896847 +0000
***************
*** 1495,1502 ****
      int               textlen,
      int               row,
      int               col,
!     int               attr)
  {
      unsigned  off;
      char_u    *ptr = text;
      int               len = textlen;
--- 1495,1503 ----
      int               textlen,
      int               row,
      int               col,
!     int               attr_arg)
  {
+     int               attr = attr_arg;
      unsigned  off;
      char_u    *ptr = text;
      int               len = textlen;
***************
*** 1722,1729 ****
--- 1723,1732 ----
            if (clear_next_cell)
            {
                // This only happens at the end, display one space next.
+               // Keep the attribute from before.
                ptr = (char_u *)" ";
                len = -1;
+               attr = ScreenAttrs[off];
            }
        }
        else
*** ../vim-8.2.4496/src/testdir/test_ins_complete.vim   2022-02-18 
17:50:00.449462055 +0000
--- src/testdir/test_ins_complete.vim   2022-03-03 11:18:32.312012565 +0000
***************
*** 606,611 ****
--- 606,629 ----
    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([
*** ../vim-8.2.4496/src/testdir/dumps/Test_scrollbar_on_wide_char.dump  
2022-03-03 11:45:32.555167068 +0000
--- src/testdir/dumps/Test_scrollbar_on_wide_char.dump  2022-03-03 
11:31:08.190849355 +0000
***************
*** 0 ****
--- 1,10 ----
+ |a+0&#ffffff0@1|0|b@1> @69
+ |a+0#0000001#e0e0e08@1|0|b@1| @9| +0#0000000#0000001|啊*0&#ffffff0| +&@56
+ |a+0#0000001#ffd7ff255@1|1|b@1| @9| +0#0000000#0000001| +0&#ffffff0|哦*&| +&@55
+ |a+0#0000001#ffd7ff255@1|2|b@1| @9| +0#0000000#0000001|呃*0&#ffffff0@1| +&@54
+ |a+0#0000001#ffd7ff255@1|3|b@1| @9| +0#0000000#0000001| +0&#ffffff0@58
+ |a+0#0000001#ffd7ff255@1|4|b@1| @9| +0#0000000#0000001| +0&#ffffff0@58
+ |a+0#0000001#ffd7ff255@1|5|b@1| @9| +0#0000000#0000001| +0&#ffffff0@58
+ |a+0#0000001#ffd7ff255@1|6|b@1| @9| +0#0000000#a8a8a8255| +0&#ffffff0@58
+ |a+0#0000001#ffd7ff255@1|7|b@1| @9| +0#0000000#a8a8a8255| +0&#ffffff0@58
+ |-+2&&@1| |K|e|y|w|o|r|d| |c|o|m|p|l|e|t|i|o|n| |(|^|N|^|P|)| 
|m+0#00e0003&|a|t|c|h| |1| |o|f| |1|0| +0#0000000&@32
*** ../vim-8.2.4496/src/version.c       2022-03-03 10:44:13.646217707 +0000
--- src/version.c       2022-03-03 11:23:31.427618241 +0000
***************
*** 756,757 ****
--- 756,759 ----
  {   /* Add new patch number below this line */
+ /**/
+     4497,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
148. You find it easier to dial-up the National Weather Service
     Weather/your_town/now.html than to simply look out the window.

 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
///                                                                      \\\
\\\        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ ///
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/20220303114642.A54CF1C0B26%40moolenaar.net.

Raspunde prin e-mail lui