1
0
forked from aniani/vim

patch 9.0.1612: "skipcol" not reset when using multi-byte characters

Problem:    "skipcol" not reset when using multi-byte characters.
Solution:   Compare with w_virtcol instead of w_cursor.col. (closes #12457)
This commit is contained in:
Bram Moolenaar
2023-06-05 20:44:55 +01:00
parent 16d2c02c80
commit 15d4747ffd
4 changed files with 31 additions and 4 deletions

View File

@@ -2414,10 +2414,14 @@ scroll_cursor_top(int min_scroll, int always)
}
check_topfill(curwin, FALSE);
#endif
// TODO: if the line doesn't fit may optimize w_skipcol
if (curwin->w_topline == curwin->w_cursor.lnum
&& curwin->w_skipcol >= curwin->w_cursor.col)
reset_skipcol();
if (curwin->w_topline == curwin->w_cursor.lnum)
{
validate_virtcol();
if (curwin->w_skipcol >= curwin->w_virtcol)
// TODO: if the line doesn't fit may optimize w_skipcol instead
// of making it zero
reset_skipcol();
}
if (curwin->w_topline != old_topline
|| curwin->w_skipcol != old_skipcol
#ifdef FEAT_DIFF