From 5715b3147bfc8ddfe905339f6fd224fd3a5a3ba1 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Mon, 16 Mar 2020 22:08:45 +0100 Subject: 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 #5790) --- src/normal.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src/normal.c') diff --git a/src/normal.c b/src/normal.c index df2cf537e..8ec98e533 100644 --- a/src/normal.c +++ b/src/normal.c @@ -1154,7 +1154,9 @@ getcount: 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; @@ -1167,6 +1169,9 @@ getcount: } } setcursor(); +#ifdef CURSOR_SHAPE + ui_cursor_shape(); // may show different cursor shape +#endif cursor_on(); out_flush(); if (msg_scroll || emsg_on_display) @@ -1280,7 +1285,7 @@ set_vcount_ca(cmdarg_T *cap, int *set_prevcount) #endif /* - * Check if highlighting for visual mode is possible, give a warning message + * Check if highlighting for Visual mode is possible, give a warning message * if not. */ void -- cgit v1.2.1