aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/edit.c
diff options
context:
space:
mode:
authorLuuk van Baal <luukvbaal@gmail.com>2023-04-26 22:32:38 +0200
committerLuuk van Baal <luukvbaal@gmail.com>2023-05-02 13:11:47 +0200
commitbf12a85a69f03bb5321fe0a32e1a9ac81f31750c (patch)
treea14582f8112b02baff0b996d2375357cfb6bd1f6 /src/nvim/edit.c
parent36c98b47a3526dc61d149f951f8b8e3a677c26eb (diff)
downloadrneovim-bf12a85a69f03bb5321fe0a32e1a9ac81f31750c.tar.gz
rneovim-bf12a85a69f03bb5321fe0a32e1a9ac81f31750c.tar.bz2
rneovim-bf12a85a69f03bb5321fe0a32e1a9ac81f31750c.zip
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. https://github.com/vim/vim/commit/2fbabd238a94022c99506e920186a5b6cdf15426 Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'src/nvim/edit.c')
-rw-r--r--src/nvim/edit.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nvim/edit.c b/src/nvim/edit.c
index 0fb1102f4f..18434ad69f 100644
--- a/src/nvim/edit.c
+++ b/src/nvim/edit.c
@@ -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;
}