patch 7.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)
diff --git a/src/os_unix.c b/src/os_unix.c
index 8f059be..314a906 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -401,9 +401,15 @@
{
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