aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2020-03-16 18:08:13 -0400
committerJan Edmund Lazo <jan.lazo@mail.utoronto.ca>2020-04-13 12:00:31 -0400
commita15750321b07cc1dbd6af6de8a09cf79da859062 (patch)
tree0f311cce26d146447e4f3094e08f8b13d5fc66b3
parent5be72756f87f9ecf8931b9c4ff192a5aae4edadd (diff)
downloadrneovim-a15750321b07cc1dbd6af6de8a09cf79da859062.tar.gz
rneovim-a15750321b07cc1dbd6af6de8a09cf79da859062.tar.bz2
rneovim-a15750321b07cc1dbd6af6de8a09cf79da859062.zip
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
-rw-r--r--src/nvim/normal.c5
1 files changed, 4 insertions, 1 deletions
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