From 1c4b3d41b538078234282cfba74e5cf07c42c916 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 12 Mar 2023 10:40:27 +0800 Subject: fix(sleep): correct cursor placement (#22639) Just setcursor_mayforce(true) is enough as Nvim uses msg_grid. --- src/nvim/ex_docmd.c | 5 +---- src/nvim/move.c | 3 +-- 2 files changed, 2 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index f460b4b93f..49f6d24c89 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -5666,10 +5666,7 @@ static void ex_equal(exarg_T *eap) static void ex_sleep(exarg_T *eap) { if (cursor_valid()) { - int n = curwin->w_winrow + curwin->w_wrow - msg_scrolled; - if (n >= 0) { - ui_cursor_goto(n, curwin->w_wincol + curwin->w_wcol); - } + setcursor_mayforce(true); } long len = eap->line2; diff --git a/src/nvim/move.c b/src/nvim/move.c index 8fda73cbec..6d55955927 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -512,8 +512,7 @@ void approximate_botline_win(win_T *wp) int cursor_valid(void) { check_cursor_moved(curwin); - return (curwin->w_valid & (VALID_WROW|VALID_WCOL)) == - (VALID_WROW|VALID_WCOL); + return (curwin->w_valid & (VALID_WROW|VALID_WCOL)) == (VALID_WROW|VALID_WCOL); } // Validate cursor position. Makes sure w_wrow and w_wcol are valid. -- cgit