patch 9.0.0980: the keyboard state response may end up in a shell command
Problem: The keyboard state response may end up in a shell command.
Solution: Only request the keyboard protocol state when the typeahead is
empty, no more commands are following and not exiting. Add the
t_RK termcap entry for this.
diff --git a/src/termdefs.h b/src/termdefs.h
index 133641b..9e9601f 100644
--- a/src/termdefs.h
+++ b/src/termdefs.h
@@ -69,6 +69,7 @@
KS_KE, // out of "keypad transmit" mode
KS_TI, // put terminal in termcap mode
KS_CTI, // put terminal in "raw" mode
+ KS_CRK, // request keyboard protocol state
KS_TE, // end of termcap mode
KS_CTE, // end of "raw" mode
KS_BC, // backspace character (cursor left)
@@ -177,6 +178,7 @@
#define T_KE (TERM_STR(KS_KE)) // out of "keypad transmit" mode
#define T_TI (TERM_STR(KS_TI)) // put terminal in termcap mode
#define T_CTI (TERM_STR(KS_CTI)) // put terminal in "raw" mode
+#define T_CRK (TERM_STR(KS_CRK)) // request keyboard protocol status
#define T_TE (TERM_STR(KS_TE)) // end of termcap mode
#define T_CTE (TERM_STR(KS_CTE)) // end of "raw" mode
#define T_BC (TERM_STR(KS_BC)) // backspace character