vim-patch:9.1.1108: 'smoothscroll' gets stuck with 'listchars' "eol" (#32434)

Problem:  'smoothscroll' gets stuck with 'listchars' "eol".
Solution: Count size of 'listchars' "eol" in line size when scrolling.
          (zeertzjq)

related: neovim/neovim#32405
closes: vim/vim#16627

2c47ab8fcd
This commit is contained in:
zeertzjq
2025-02-14 07:21:45 +08:00
committed by GitHub
parent 93480f7fba
commit 9f85dace94
7 changed files with 91 additions and 18 deletions

View File

@@ -5225,7 +5225,7 @@ void nv_g_home_m_cmd(cmdarg_T *cap)
// When ending up below 'smoothscroll' marker, move just beyond it so
// that skipcol is not adjusted later.
if (curwin->w_skipcol > 0 && curwin->w_cursor.lnum == curwin->w_topline) {
int overlap = sms_marker_overlap(curwin, -1);
int overlap = sms_marker_overlap(curwin, curwin->w_width_inner - width2);
if (overlap > 0 && i == curwin->w_skipcol) {
i += overlap;
}