patch 8.2.3828: when opening a terminal from a timer first typed char is lost

Problem:    when opening a terminal from a timer the first typed character
            is lost. (Virginia Senioria)
Solution:   When opening a terminal while waiting for a character put K_IGNORE
            in the input buffer.
diff --git a/src/terminal.c b/src/terminal.c
index 7efe071..8f80f9f 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -739,6 +739,23 @@
 	    curwin->w_buffer = curbuf;
 	    ++curbuf->b_nwindows;
 	}
+	else if (vgetc_busy
+#ifdef FEAT_TIMERS
+		|| timer_busy
+#endif
+		|| input_busy)
+	{
+	    char_u ignore[4];
+
+	    // When waiting for input need to return and possibly end up in
+	    // terminal_loop() instead.
+	    ignore[0] = K_SPECIAL;
+	    ignore[1] = KS_EXTRA;
+	    ignore[2] = KE_IGNORE;
+	    ignore[3] = NUL;
+	    ins_typebuf(ignore, REMAP_NONE, 0, TRUE, FALSE);
+	    typebuf_was_filled = TRUE;
+	}
     }
     else
     {