Patch 9.0.0758
Problem:    "precedes" from 'listchars' overwritten by <<< for 'smoothscroll'.
Solution:   Keep the "precedes" character.
Files:      src/drawline.c, src/testdir/test_scroll_opt.vim,
            src/testdir/dumps/Test_smooth_list_1.dump,
            src/testdir/dumps/Test_smooth_list_2.dump


*** ../vim-9.0.0757/src/drawline.c      2022-10-15 13:41:55.268850667 +0100
--- src/drawline.c      2022-10-15 13:54:14.034953165 +0100
***************
*** 766,774 ****
  {
      if (wlv->row == 0 && wp->w_skipcol > 0
  #if defined(FEAT_LINEBREAK)
            && *get_showbreak_value(wp) == NUL
  #endif
!           )
      {
        int off = (int)(current_ScreenLine - ScreenLines);
        int skip = 0;
--- 766,776 ----
  {
      if (wlv->row == 0 && wp->w_skipcol > 0
  #if defined(FEAT_LINEBREAK)
+           // do not overwrite the 'showbreak' text with "<<<"
            && *get_showbreak_value(wp) == NUL
  #endif
!           // do not overwrite the 'listchars' "precedes" text with "<<<"
!           && !(wp->w_p_list && wp->w_lcs_chars.prec != 0))
      {
        int off = (int)(current_ScreenLine - ScreenLines);
        int skip = 0;
*** ../vim-9.0.0757/src/testdir/test_scroll_opt.vim     2022-10-15 
13:41:55.268850667 +0100
--- src/testdir/test_scroll_opt.vim     2022-10-15 13:59:59.814614301 +0100
***************
*** 155,160 ****
--- 155,185 ----
    call StopVimInTerminal(buf)
  endfunc
  
+ func Test_smoothscroll_list()
+   CheckScreendump
+ 
+   let lines =<< trim END
+       vim9script
+       set smoothscroll scrolloff=0
+       set list
+       setline(1, [
+         'one',
+         'very long text '->repeat(12),
+         'three',
+       ])
+       exe "normal 2Gzt\<C-E>"
+   END
+   call writefile(lines, 'XSmoothList', 'D')
+   let buf = RunVimInTerminal('-S XSmoothList', #{rows: 8, cols: 40})
+ 
+   call VerifyScreenDump(buf, 'Test_smooth_list_1', {})
+ 
+   call term_sendkeys(buf, ":set listchars+=precedes:#\<CR>")
+   call VerifyScreenDump(buf, 'Test_smooth_list_2', {})
+ 
+   call StopVimInTerminal(buf)
+ endfunc
+ 
  func Test_smoothscroll_diff_mode()
    CheckScreendump
  
*** ../vim-9.0.0757/src/testdir/dumps/Test_smooth_list_1.dump   2022-10-15 
14:02:42.158615793 +0100
--- src/testdir/dumps/Test_smooth_list_1.dump   2022-10-15 14:00:03.274615361 
+0100
***************
*** 0 ****
--- 1,8 ----
+ |<+0#4040ff13#ffffff0@2|t+0#0000000&| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| 
|l|o|n|g| |t|e|x|t| |v|e|r|y| 
+ >l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| 
|t|e|x|t| 
+ |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| 
|l|o|n|g| 
+ |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |$+0#4040ff13&| +0#0000000&@18
+ |t|h|r|e@1|$+0#4040ff13&| +0#0000000&@33
+ |~+0#4040ff13&| @38
+ |~| @38
+ | +0#0000000&@21|2|,|8|1| @9|B|o|t| 
*** ../vim-9.0.0757/src/testdir/dumps/Test_smooth_list_2.dump   2022-10-15 
14:02:42.162615791 +0100
--- src/testdir/dumps/Test_smooth_list_2.dump   2022-10-15 14:00:04.426615700 
+0100
***************
*** 0 ****
--- 1,8 ----
+ |#+0#4040ff13#ffffff0|e+0#0000000&|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| 
|v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| 
+ >l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| 
|t|e|x|t| 
+ |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |v|e|r|y| 
|l|o|n|g| 
+ |t|e|x|t| |v|e|r|y| |l|o|n|g| |t|e|x|t| |$+0#4040ff13&| +0#0000000&@18
+ |t|h|r|e@1|$+0#4040ff13&| +0#0000000&@33
+ |~+0#4040ff13&| @38
+ |~| @38
+ |:+0#0000000&|s|e|t| |l|i|s|t|c|h|a|r|s|+|=|p|r|e|c|e|d|2|,|8|1| @9|B|o|t| 
*** ../vim-9.0.0757/src/version.c       2022-10-15 13:41:55.268850667 +0100
--- src/version.c       2022-10-15 13:55:35.590762883 +0100
***************
*** 697,698 ****
--- 697,700 ----
  {   /* Add new patch number below this line */
+ /**/
+     758,
  /**/

-- 
John:   When I'm playing tennis with friends I always get carried away
George: You hurt your foot each time?

 /// 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/20221015130816.0CB391C05ED%40moolenaar.net.

Raspunde prin e-mail lui