changeset 20065:fcfad3f4bc66 v8.2.0588

patch 8.2.0588: Putty does not use "sgr" 'ttymouse' by default Commit: https://github.com/vim/vim/commit/314ca7cbb4b5a26959abb641a5aa265bee47abe5 Author: Bram Moolenaar <Bram@vim.org> Date: Fri Apr 17 16:40:31 2020 +0200 patch 8.2.0588: Putty does not use "sgr" 'ttymouse' by default Problem: Putty does not use "sgr" 'ttymouse' by default. Solution: Make "sgr" the default for Putty. (Christian Brabandt, closes #5942)
author Bram Moolenaar <Bram@vim.org>
date Fri, 17 Apr 2020 16:45:04 +0200
parents 6032e7206ddc
children 97f53c6954db
files src/term.c src/version.c
diffstat 2 files changed, 14 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/src/term.c
+++ b/src/term.c
@@ -4762,15 +4762,14 @@ not_enough:
 				    || (is_screen && arg[1] >= 40700))
 				set_option_value((char_u *)"ttym", 0L,
 							  (char_u *)"sgr", 0);
-			    // if xterm version >= 95 use mouse dragging
+			    // For xterm version >= 95 mouse dragging works.
 			    else if (version >= 95)
 				set_option_value((char_u *)"ttym", 0L,
 						       (char_u *)"xterm2", 0);
 			}
 
 			// Detect terminals that set $TERM to something like
-			// "xterm-256colors"  but are not fully xterm
-			// compatible.
+			// "xterm-256color" but are not fully xterm compatible.
 
 			// Gnome terminal sends 1;3801;0, 1;4402;0 or 1;2501;0.
 			// xfce4-terminal sends 1;2802;0.
@@ -4783,8 +4782,18 @@ not_enough:
 			// PuTTY sends 0;136;0
 			// vandyke SecureCRT sends 1;136;0
 			else if (version == 136 && arg[2] == 0)
+			{
 			    is_not_xterm = TRUE;
 
+			    // PuTTY supports sgr-like mouse reporting, but
+			    // only set 'ttymouse' if it was not set by the
+			    // user already.
+			    if (arg[0] == 0
+					  && !option_was_set((char_u *)"ttym"))
+				set_option_value((char_u *)"ttym", 0L,
+							(char_u *)"sgr", 0);
+			}
+
 			// Konsole sends 0;115;0
 			else if (version == 115 && arg[0] == 0 && arg[2] == 0)
 			    is_not_xterm = TRUE;
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    588,
+/**/
     587,
 /**/
     586,