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)
5715b3147b
This commit is contained in:
Jan Edmund Lazo
2020-03-16 18:08:13 -04:00
parent 5be72756f8
commit a15750321b

View File

@@ -615,7 +615,9 @@ static void normal_redraw_mode_message(NormalState *s)
kmsg = keep_msg; kmsg = keep_msg;
keep_msg = NULL; 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); update_screen(0);
// now reset it, otherwise it's put in the history again // now reset it, otherwise it's put in the history again
keep_msg = kmsg; keep_msg = kmsg;
@@ -623,6 +625,7 @@ static void normal_redraw_mode_message(NormalState *s)
xfree(kmsg); xfree(kmsg);
} }
setcursor(); setcursor();
ui_cursor_shape(); // show different cursor shape
ui_flush(); ui_flush();
if (msg_scroll || emsg_on_display) { if (msg_scroll || emsg_on_display) {
os_delay(1000L, true); // wait at least one second os_delay(1000L, true); // wait at least one second