From a15750321b07cc1dbd6af6de8a09cf79da859062 Mon Sep 17 00:00:00 2001 From: Jan Edmund Lazo Date: Mon, 16 Mar 2020 18:08:13 -0400 Subject: vim-patch:8.2.0397: delayed screen update when using undo from Insert mode Problem: Delayed screen update when using undo from Insert mode. Solution: Update w_topline and cursor shape before sleeping. (closes vim/vim#5790) https://github.com/vim/vim/commit/5715b3147bfc8ddfe905339f6fd224fd3a5a3ba1 --- src/nvim/normal.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/normal.c b/src/nvim/normal.c index be131f7e00..aca27e0208 100644 --- a/src/nvim/normal.c +++ b/src/nvim/normal.c @@ -615,7 +615,9 @@ static void normal_redraw_mode_message(NormalState *s) kmsg = keep_msg; keep_msg = NULL; - // showmode() will clear keep_msg, but we want to use it anyway + // Showmode() will clear keep_msg, but we want to use it anyway. + // First update w_topline. + setcursor(); update_screen(0); // now reset it, otherwise it's put in the history again keep_msg = kmsg; @@ -623,6 +625,7 @@ static void normal_redraw_mode_message(NormalState *s) xfree(kmsg); } setcursor(); + ui_cursor_shape(); // show different cursor shape ui_flush(); if (msg_scroll || emsg_on_display) { os_delay(1000L, true); // wait at least one second -- cgit