Mercurial > vim
changeset 15111:6fcfff2b4ba5 v8.1.0566
patch 8.1.0566: SGR not enabled for mintty because $TERM is "xterm"
commit https://github.com/vim/vim/commit/20091c18c40b4e8b594769ba11e81d133c479d7c
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Dec 7 13:18:19 2018 +0100
patch 8.1.0566: SGR not enabled for mintty because $TERM is "xterm"
Problem: SGR not enabled for mintty because $TERM is "xterm".
Solution: Detect mintty by the termresponse. (Ken Takata, closes https://github.com/vim/vim/issues/3667)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 07 Dec 2018 13:30:07 +0100 |
parents | 004ab96707d4 |
children | 71b114f291a8 |
files | src/term.c src/version.c |
diffstat | 2 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/term.c +++ b/src/term.c @@ -4698,6 +4698,12 @@ check_termcode( int need_flush = FALSE; # ifdef FEAT_MOUSE_SGR int is_iterm2 = FALSE; + int is_mintty = FALSE; + + // mintty 2.9.5 sends 77;20905;0c. + // (77 is ASCII 'M' for mintty.) + if (STRNCMP(tp + extra - 3, "77;", 3) == 0) + is_mintty = TRUE; # endif /* if xterm version >= 141 try to get termcap codes */ @@ -4751,8 +4757,9 @@ check_termcode( { # ifdef FEAT_MOUSE_SGR /* Xterm version 277 supports SGR. Also support - * Terminal.app and iTerm2. */ - if (version >= 277 || is_iterm2 || is_mac_terminal) + * Terminal.app, iTerm2 and mintty. */ + if (version >= 277 || is_iterm2 || is_mac_terminal + || is_mintty) set_option_value((char_u *)"ttym", 0L, (char_u *)"sgr", 0); else