patch 8.0.1276: key lost when window closed in exit callback
Problem: Typed key is lost when the terminal window is closed in exit
callback. (Gabriel Barta)
Solution: When the current window changes bail out of the wait loop. (closes
#2302)
diff --git a/src/terminal.c b/src/terminal.c
index c6b3860..4c58397 100644
--- a/src/terminal.c
+++ b/src/terminal.c
@@ -38,8 +38,6 @@
* in tl_scrollback are no longer used.
*
* TODO:
- * - Termdebug: issue #2154 might be avoided by adding -quiet to gdb?
- * patch by Christian, 2017 Oct 23.
* - in GUI vertical split causes problems. Cursor is flickering. (Hirohito
* Higashi, 2017 Sep 19)
* - double click in Window toolbar starts Visual mode (but not always?).
@@ -1581,8 +1579,12 @@
c = term_vgetc();
if (!term_use_loop())
+ {
/* job finished while waiting for a character */
+ if (c != K_IGNORE)
+ vungetc(c);
break;
+ }
if (c == K_IGNORE)
continue;