vim-patch:9.0.0734: cursor position invalid when scrolling with 'smoothscroll'

Problem:    Cursor position invalid when scrolling with 'smoothscroll' set.
            (Ernie Rael)
Solution:   Add w_valid_skipcol and clear flags when it changes.  Adjust
            w_skipcol after moving the cursor.

2fbabd238a

Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
Luuk van Baal
2023-04-26 22:32:38 +02:00
parent 36c98b47a3
commit bf12a85a69
6 changed files with 130 additions and 10 deletions

View File

@@ -2449,6 +2449,7 @@ void beginline(int flags)
}
curwin->w_set_curswant = true;
}
adjust_skipcol();
}
// oneright oneleft cursor_down cursor_up
@@ -2490,6 +2491,7 @@ int oneright(void)
curwin->w_cursor.col += l;
curwin->w_set_curswant = true;
adjust_skipcol();
return OK;
}
@@ -2538,6 +2540,7 @@ int oneleft(void)
// if the character on the left of the current cursor is a multi-byte
// character, move to its first byte
mb_adjust_cursor();
adjust_skipcol();
return OK;
}