patch 8.2.0773: switching to raw mode every time ":" is used
Problem: Switching to raw mode every time ":" is used.
Solution: When executing a shell set cur_tmode to TMODE_UNKNOWN, so that the
next time TMODE_RAW is used it is set, but not every time.
diff --git a/src/os_unix.c b/src/os_unix.c
index aea3d5a..9162f5b 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -4521,7 +4521,11 @@
}
if (tmode == TMODE_RAW)
+ {
+ // The shell may have messed with the mode, always set it.
+ cur_tmode = TMODE_UNKNOWN;
settmode(TMODE_RAW); // set to raw mode
+ }
# ifdef FEAT_TITLE
resettitle();
# endif
@@ -4571,6 +4575,9 @@
out_flush();
if (options & SHELL_COOKED)
settmode(TMODE_COOK); // set to normal mode
+ if (tmode == TMODE_RAW)
+ // The shell may have messed with the mode, always set it later.
+ cur_tmode = TMODE_UNKNOWN;
if (unix_build_argv(cmd, &argv, &tofree1, &tofree2) == FAIL)
goto error;