updated for version 7.0-212
diff --git a/src/ui.c b/src/ui.c
index 41422f1..96785be 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -166,10 +166,17 @@
     }
 #endif
 
-    /* When doing a blocking wait there is no need for CTRL-C to interrupt
-     * something, don't let it set got_int when it was mapped. */
-    if (mapped_ctrl_c && (wtime == -1 || wtime > 100L))
-	ctrl_c_interrupts = FALSE;
+    /* If we are going to wait for some time or block... */
+    if (wtime == -1 || wtime > 100L)
+    {
+	/* ... allow signals to kill us. */
+	(void)vim_handle_signal(SIGNAL_UNBLOCK);
+
+	/* ... there is no need for CTRL-C to interrupt something, don't let
+	 * it set got_int when it was mapped. */
+	if (mapped_ctrl_c)
+	    ctrl_c_interrupts = FALSE;
+    }
 
 #ifdef FEAT_GUI
     if (gui.in_use)
@@ -183,16 +190,14 @@
     else
 # endif
     {
-	if (wtime == -1 || wtime > 100L)
-	    /* allow signals to kill us */
-	    (void)vim_handle_signal(SIGNAL_UNBLOCK);
 	retval = mch_inchar(buf, maxlen, wtime, tb_change_cnt);
-	if (wtime == -1 || wtime > 100L)
-	    /* block SIGHUP et al. */
-	    (void)vim_handle_signal(SIGNAL_BLOCK);
     }
 #endif
 
+    if (wtime == -1 || wtime > 100L)
+	/* block SIGHUP et al. */
+	(void)vim_handle_signal(SIGNAL_BLOCK);
+
     ctrl_c_interrupts = TRUE;
 
 #ifdef NO_CONSOLE_INPUT
diff --git a/src/version.c b/src/version.c
index af6f548..b15235b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -667,6 +667,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    212,
+/**/
     211,
 /**/
     210,