From: Bram Moolenaar Date: Mon, 16 Mar 2020 21:08:45 +0000 (+0100) Subject: patch 8.2.0397: delayed screen update when using undo from Insert mode X-Git-Tag: v8.2.0397 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5715b3147bfc8ddfe905339f6fd224fd3a5a3ba1;p=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 #5790) --- 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 diff --git a/src/version.c b/src/version.c index 51ffb8c57..f44ac2f78 100644 --- a/src/version.c +++ b/src/version.c @@ -738,6 +738,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 397, /**/ 396, /**/