I missed a path in patch 866 and now mappings fail if any clientserver message
is received between the keys of a mapping.
This patch fixes this by having mch_inchar send control back to WaitForChar
when it is interrupted by server messages, similar to how it handles resizes.
Thanks,
James
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.
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 @@ 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