patch 7.4.1195
Problem: The channel feature does not work in the MS-Windows console.
Solution: Add win32 console support. (Yasuhiro Matsumoto)
diff --git a/src/os_win32.c b/src/os_win32.c
index be7bd95..5a84824 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -1443,6 +1443,11 @@
INPUT_RECORD ir;
DWORD cRecords;
WCHAR ch, ch2;
+#ifdef FEAT_CHANNEL
+ int ret;
+ fd_set rfds;
+ int maxfd;
+#endif
if (msec > 0)
/* Wait until the specified time has elapsed. */
@@ -1459,9 +1464,22 @@
#ifdef FEAT_MZSCHEME
mzvim_check_threads();
#endif
+
#ifdef FEAT_CLIENTSERVER
serverProcessPendingMessages();
#endif
+
+#ifdef FEAT_CHANNEL
+ FD_ZERO(&rfds);
+ maxfd = channel_select_setup(-1, &rfds);
+ if (maxfd >= 0)
+ {
+ ret = select(maxfd + 1, &rfds, NULL, NULL, NULL);
+ if (ret > 0 && channel_select_check(ret, &rfds) > 0)
+ return TRUE;
+ }
+#endif
+
if (0
#ifdef FEAT_MOUSE
|| g_nMouseClick != -1
@@ -1562,6 +1580,7 @@
if (input_available())
return TRUE;
#endif
+
return FALSE;
}