patch 8.2.5129: timeout handling is not optimal

Problem:    Timeout handling is not optimal.
Solution:   Avoid setting timeout_flag twice.  Adjust the pointer when
            stopping the regexp timeout.  Adjust variable name.
diff --git a/src/os_unix.c b/src/os_unix.c
index 083fd8f..c0293ce 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -8307,7 +8307,6 @@
     // This is really the caller's responsibility, but let's make sure the
     // previous timer has been stopped.
     stop_timeout();
-    timeout_flag = FALSE;
 
     if (!timer_created)
     {
diff --git a/src/os_win32.c b/src/os_win32.c
index 1adaaed..f325935 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -8335,7 +8335,7 @@
  * timeouts.
  */
 static int      timeout_flags[2];
-static int      flag_idx = 0;
+static int      timeout_flag_idx = 0;
 static int      *timeout_flag = &timeout_flags[0];
 
 
@@ -8383,7 +8383,7 @@
 {
     BOOL ret;
 
-    timeout_flag = &timeout_flags[flag_idx];
+    timeout_flag = &timeout_flags[timeout_flag_idx];
 
     stop_timeout();
     ret = CreateTimerQueueTimer(
@@ -8395,7 +8395,7 @@
     }
     else
     {
-	flag_idx = (flag_idx + 1) % 2;
+	timeout_flag_idx = (timeout_flag_idx + 1) % 2;
 	timer_active = TRUE;
 	*timeout_flag = FALSE;
     }
diff --git a/src/regexp.c b/src/regexp.c
index 0a6a8af..32661f6 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -61,6 +61,7 @@
 disable_regexp_timeout(void)
 {
     stop_timeout();
+    timeout_flag = &dummy_timeout_flag;
 }
 #endif
 
diff --git a/src/version.c b/src/version.c
index 75cbbaf..d038087 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5129,
+/**/
     5128,
 /**/
     5127,