]> granicus.if.org Git - vim/commitdiff
patch 7.4.928 v7.4.928
authorBram Moolenaar <Bram@vim.org>
Thu, 19 Nov 2015 18:55:16 +0000 (19:55 +0100)
committerBram Moolenaar <Bram@vim.org>
Thu, 19 Nov 2015 18:55:16 +0000 (19:55 +0100)
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)

src/os_unix.c
src/version.c

index 8f059be8fe3031089b93952b8e308a55367b429a..314a906d6135d0e5ca5e0babbd644e1edb73f6a4 100644 (file)
@@ -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
index feda1de76731433fb54cc2d5e7f10305812cd621..77a2564481f8037a73460380617260a7fe0f980c 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    928,
 /**/
     927,
 /**/