summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-11-19 19:55:16 +0100
committerBram Moolenaar <Bram@vim.org>2015-11-19 19:55:16 +0100
commit5d8afebb5bf7fb1e8ce06062451dc6a1f9a53ac0 (patch)
tree18c1c558bcae47c09b1e13dde657689c13bd57eb
parent9b1067e038d371bd6c51e5da025383761f4921b4 (diff)
patch 7.4.928v7.4.928
Problem: A clientserver message interrupts handling keys of a mapping. Solution: Have mch_inchar() send control back to WaitForChar when it is interrupted by server message. (James Kolb)
-rw-r--r--src/os_unix.c10
-rw-r--r--src/version.c2
2 files changed, 10 insertions, 2 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index 8f059be8fe..314a906d61 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -401,9 +401,15 @@ mch_inchar(buf, maxlen, wtime, tb_change_cnt)
{
while (WaitForChar(wtime) == 0) /* no character available */
{
- if (!do_resize) /* return if not interrupted by resize */
+ if (do_resize)
+ handle_resize();
+#ifdef FEAT_CLIENTSERVER
+ else if (!server_waiting())
+#else
+ else
+#endif
+ /* return if not interrupted by resize or server */
return 0;
- handle_resize();
#ifdef MESSAGE_QUEUE
parse_queued_messages();
#endif
diff --git a/src/version.c b/src/version.c
index feda1de767..77a2564481 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 928,
+/**/
927,
/**/
926,