mirror of
https://github.com/vim/vim.git
synced 2025-11-14 23:04:02 -05:00
patch 9.1.0321: Garbled output on serial terminals with XON/XOFF flow control
Problem: When used terminal with XON/XOFF flow control, vim tries to
still make CTRL-S mapping available, which results in severe
screen corruption, especially on large redraws, and even
spurious inputs (John Tsiombikas)
Solution: Disallow CTRL-S mapping if such terminal is recognized.
Don't remove IXON from the bitmask inversion.
(Anton Sharonov)
*** When started like this:
TERM=vt420 vim
:set termcap
shows "t_xon=y"
map <C-S> :echo "abc"<CR>
does nothing (after <C-S> output freezes and subsequent <C-Q>
unfreezes it)
*** When started like this:
TERM=xterm vim
:set termcap
shows "t_xon="
map <C-S> :echo "abc"<CR>
works (after <C-S> one see "abc" string echo-ed)
fixes: #12674
closes: #14542
Signed-off-by: Anton Sharonov <anton.sharonov@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
4052474a1b
commit
49528da8a6
@@ -3766,7 +3766,8 @@ mch_settmode(tmode_T tmode)
|
||||
{
|
||||
// ~ICRNL enables typing ^V^M
|
||||
// ~IXON disables CTRL-S stopping output, so that it can be mapped.
|
||||
tnew.c_iflag &= ~(ICRNL | IXON);
|
||||
tnew.c_iflag &= ~(ICRNL |
|
||||
(T_XON == NULL || *T_XON == NUL ? IXON : 0));
|
||||
tnew.c_lflag &= ~(ICANON | ECHO | ISIG | ECHOE
|
||||
# if defined(IEXTEN)
|
||||
| IEXTEN // IEXTEN enables typing ^V on SOLARIS
|
||||
|
||||
Reference in New Issue
Block a user