# HG changeset patch # User Christian Brabandt # Date 1510866905 -3600 # Node ID b2a8d6ef578b594903db45cb6dc94cfea76b8c51 # Parent 32132969394a6b9b284bebfb5ec1ab61d138d475 patch 8.0.1303: 'ttymouse' is not set to "sgr" for Terminal.app and Iterm2 commit https://github.com/vim/vim/commit/9c6ce0e62297294b41344e684429a91853bc2268 Author: Bram Moolenaar Date: Thu Nov 16 22:07:13 2017 +0100 patch 8.0.1303: 'ttymouse' is not set to "sgr" for Terminal.app and Iterm2 Problem: 'ttymouse' is not set to "sgr" for Terminal.app and Iterm2. Solution: Recognize Iterm2 by the termresponse. diff --git a/src/term.c b/src/term.c --- a/src/term.c +++ b/src/term.c @@ -4546,6 +4546,9 @@ check_termcode( if (tp[1 + (tp[0] != CSI)] == '>' && semicols == 2) { int need_flush = FALSE; +# ifdef FEAT_MOUSE_SGR + int is_iterm2 = FALSE; +# endif /* if xterm version >= 141 try to get termcap codes */ if (version >= 141) @@ -4573,12 +4576,29 @@ check_termcode( # endif } + if (version == 95) + { + /* Mac Terminal.app sends 1;95;0 */ + if (STRNCMP(tp + extra - 2, "1;95;0c", 7) == 0) + { + is_not_xterm = TRUE; + is_mac_terminal = TRUE; + } +# ifdef FEAT_MOUSE_SGR + /* Iterm2 sends 0;95;0 */ + if (STRNCMP(tp + extra - 2, "0;95;0c", 7) == 0) + is_iterm2 = TRUE; +# endif + } + /* Only set 'ttymouse' automatically if it was not set * by the user already. */ if (!option_was_set((char_u *)"ttym")) { # ifdef FEAT_MOUSE_SGR - if (version >= 277) + /* Xterm version 277 supports SGR. Also support + * Terminal.app and iterm2. */ + if (version >= 277 || is_iterm2 || is_mac_terminal) set_option_value((char_u *)"ttym", 0L, (char_u *)"sgr", 0); else @@ -4593,14 +4613,6 @@ check_termcode( * "xterm-256colors" but are not fully xterm * compatible. */ - /* Mac Terminal.app sends 1;95;0 */ - if (version == 95 - && STRNCMP(tp + extra - 2, "1;95;0c", 7) == 0) - { - is_not_xterm = TRUE; - is_mac_terminal = TRUE; - } - /* Gnome terminal sends 1;3801;0, 1;4402;0 or 1;2501;0. * xfce4-terminal sends 1;2802;0. * screen sends 83;40500;0 diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -767,6 +767,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1303, +/**/ 1302, /**/ 1301,