summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatveyt <matthewtarasov@gmail.com>2021-05-20 11:54:10 +0200
committerBram Moolenaar <Bram@vim.org>2021-05-20 11:54:10 +0200
commit4eb1914e1bd870a7ea829cae150e1f9fdc3df7b1 (patch)
tree9fcd9a787c7dd881603261ae7ac93425c475574c
parent46aa6f93acb5d932d2893606d980a6b4b8a9594c (diff)
downloadvim-git-4eb1914e1bd870a7ea829cae150e1f9fdc3df7b1.tar.gz
patch 8.2.2874: MS-Windows: screen redraws too oftenv8.2.2874
Problem: MS-Windows: screen redraws too often. Solution: Do not redraw when peeking for a character. (closes #8230, closes #8211)
-rw-r--r--src/os_win32.c4
-rw-r--r--src/version.c2
2 files changed, 5 insertions, 1 deletions
diff --git a/src/os_win32.c b/src/os_win32.c
index a743e714b..8a1ed72d7 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1648,7 +1648,9 @@ WaitForChar(long msec, int ignore_input)
peek_console_input(g_hConIn, &ir, 1, &cRecords);
# ifdef FEAT_MBYTE_IME
- if (State & CMDLINE && msg_row == Rows - 1)
+ // May have to redraw if the cursor ends up in the wrong place.
+ // Only when not peeking.
+ if (State & CMDLINE && msg_row == Rows - 1 && msec != 0)
{
CONSOLE_SCREEN_BUFFER_INFO csbi;
diff --git a/src/version.c b/src/version.c
index 7fd433822..7f163f8a3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2874,
+/**/
2873,
/**/
2872,