diff src/ex_docmd.c @ 10240:175b1116f96a v8.0.0018

commit https://github.com/vim/vim/commit/b9c31e71f5a4653a27e81c21226039bfa35b9131 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Sep 29 15:18:57 2016 +0200 patch 8.0.0018 Problem: When using ":sleep" channel input is not handled. Solution: When there is a channel check for input also when not in raw mode. Check every 100 msec.
author Christian Brabandt <cb@256bit.org>
date Thu, 29 Sep 2016 15:30:05 +0200
parents 4669440016f2
children c036c0f636d5
line wrap: on
line diff
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -9065,8 +9065,17 @@ do_sleep(long msec)
 		wait_now = due_time;
 	}
 #endif
+#ifdef FEAT_JOB_CHANNEL
+	if (has_any_channel() && wait_now > 100L)
+	    wait_now = 100L;
+#endif
 	ui_delay(wait_now, TRUE);
-	ui_breakcheck();
+#ifdef FEAT_JOB_CHANNEL
+	if (has_any_channel())
+	    ui_breakcheck_force(TRUE);
+	else
+#endif
+	    ui_breakcheck();
 #ifdef MESSAGE_QUEUE
 	/* Process the netbeans and clientserver messages that may have been
 	 * received in the call to ui_breakcheck() when the GUI is in use. This