diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-05-16 23:15:08 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-05-16 23:15:08 +0200 |
commit | 3b1f18f785f67c6cd110498c366e4d0c0fe11f27 (patch) | |
tree | da0f950520c6e802bae80dda08a517b402a358da /src/term.c | |
parent | df671b4629a0c6451c067cafd2534b7261f41277 (diff) | |
download | vim-git-3b1f18f785f67c6cd110498c366e4d0c0fe11f27.tar.gz |
patch 8.2.0773: switching to raw mode every time ":" is usedv8.2.0773
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.
Diffstat (limited to 'src/term.c')
-rw-r--r-- | src/term.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/term.c b/src/term.c index 9803a1bb9..1260c9a37 100644 --- a/src/term.c +++ b/src/term.c @@ -2862,7 +2862,7 @@ term_color(char_u *s, int n) #if defined(FEAT_VTP) && defined(FEAT_TERMGUICOLORS) || (s[0] == ESC && s[1] == '|') #endif - || (s[0] == CSI && (i = 1) == 1)) + || (s[0] == CSI && (i = 1) == 1)) && s[i] != NUL && (STRCMP(s + i + 1, "%p1%dm") == 0 || STRCMP(s + i + 1, "%dm") == 0) @@ -3447,14 +3447,14 @@ settmode(int tmode) if (full_screen) { /* - * When returning after calling a shell we want to really set the - * terminal to raw mode, even though we think it already is, because - * the shell program may have reset the terminal mode. + * When returning after calling a shell cur_tmode is TMODE_UNKNOWN, + * set the terminal to raw mode, even though we think it already is, + * because the shell program may have reset the terminal mode. * When we think the terminal is normal, don't try to set it to * normal again, because that causes problems (logout!) on some * machines. */ - if (tmode != TMODE_COOK || cur_tmode != TMODE_COOK) + if (tmode != cur_tmode) { #ifdef FEAT_TERMRESPONSE # ifdef FEAT_GUI |