changeset 19681:e21c22c58e2b v8.2.0397

patch 8.2.0397: delayed screen update when using undo from Insert mode Commit: https://github.com/vim/vim/commit/5715b3147bfc8ddfe905339f6fd224fd3a5a3ba1 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Mar 16 22:08:45 2020 +0100 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 https://github.com/vim/vim/issues/5790)
author Bram Moolenaar <Bram@vim.org>
date Mon, 16 Mar 2020 22:15:04 +0100
parents 842f0a26377d
children 24fcf2b1ba72
files src/normal.c src/version.c
diffstat 2 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- 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_pr
 #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
--- a/src/version.c
+++ b/src/version.c
@@ -739,6 +739,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    397,
+/**/
     396,
 /**/
     395,