From f4d95c05b98c2ce2f70e73d4fe6a03cf54ed44cd Mon Sep 17 00:00:00 2001 From: luukvbaal Date: Tue, 14 Nov 2023 23:28:56 +0100 Subject: vim-patch:9.0.2105: skipcol not reset when topline changed (#26042) Problem: Skipcol is not reset when topline changed scrolling cursor to top Solution: reset skipcol closes: vim/vim#13528 https://github.com/vim/vim/commit/bb800a7907209f7d349f87b76b3b9ca30b416298 --- src/nvim/move.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/move.c b/src/nvim/move.c index 7a4e98adc5..7cc368a36b 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -1816,7 +1816,9 @@ void scroll_cursor_top(int min_scroll, int always) } } check_topfill(curwin, false); - if (curwin->w_topline == curwin->w_cursor.lnum) { + if (curwin->w_topline != old_topline) { + reset_skipcol(curwin); + } else if (curwin->w_topline == curwin->w_cursor.lnum) { validate_virtcol(); if (curwin->w_skipcol >= curwin->w_virtcol) { // TODO(vim): if the line doesn't fit may optimize w_skipcol instead -- cgit