patch 7.4.1888
Problem:    Wrong computation of remaining wait time in RealWaitForChar()
Solution:   Remember the original waiting time.
diff --git a/src/os_unix.c b/src/os_unix.c
index 5c30a43..4b2c99e 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -5577,25 +5577,10 @@
     /* Remember at what time we started, so that we know how much longer we
      * should wait after being interrupted. */
 #  define USE_START_TV
+    long	    start_msec = msec;
     struct timeval  start_tv;
 
-    if (msec > 0 && (
-#  ifdef FEAT_XCLIPBOARD
-	    xterm_Shell != (Widget)0
-#   if defined(USE_XSMP) || defined(FEAT_MZSCHEME)
-	    ||
-#   endif
-#  endif
-#  ifdef USE_XSMP
-	    xsmp_icefd != -1
-#   ifdef FEAT_MZSCHEME
-	    ||
-#   endif
-#  endif
-#  ifdef FEAT_MZSCHEME
-	(mzthreads_allowed() && p_mzq > 0)
-#  endif
-	    ))
+    if (msec > 0)
 	gettimeofday(&start_tv, NULL);
 # endif
 
@@ -5911,7 +5896,7 @@
 	{
 # ifdef USE_START_TV
 	    /* Compute remaining wait time. */
-	    msec -= elapsed(&start_tv);
+	    msec = start_msec - elapsed(&start_tv);
 # else
 	    /* Guess we got interrupted halfway. */
 	    msec = msec / 2;
diff --git a/src/version.c b/src/version.c
index 7ad9e1b..e18515e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1888,
+/**/
     1887,
 /**/
     1886,