changeset 6039:182c7b987283 v7.4.359

updated for version 7.4.359 Problem: When 'ttymouse' is set to 'uxterm' the xterm version is not requested. (Tomas Janousek) Solution: Do not mark uxterm as a conflict mouse and add resume_get_esc_sequence().
author Bram Moolenaar <bram@vim.org>
date Wed, 09 Jul 2014 19:13:49 +0200
parents d8d7de0a150b
children 988aae9b13b3
files src/os_unix.c src/proto/term.pro src/term.c src/version.c
diffstat 4 files changed, 18 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -3780,9 +3780,6 @@ check_mouse_termcode()
 # ifdef FEAT_MOUSE_URXVT
     /* same as the dec mouse */
     if (use_xterm_mouse() == 3
-#  ifdef FEAT_TERMRESPONSE
-	    && !did_request_esc_sequence()
-#  endif
 #  ifdef FEAT_GUI
 	    && !gui.in_use
 #  endif
@@ -3797,7 +3794,8 @@ check_mouse_termcode()
 	    mch_setmouse(FALSE);
 	    setmouse();
 	}
-	xterm_conflict_mouse = TRUE;
+	/* It's OK to request the xterm version for uxterm. */
+	resume_get_esc_sequence();
     }
     else
 	del_mouse_termcode(KS_URXVT_MOUSE);
--- a/src/proto/term.pro
+++ b/src/proto/term.pro
@@ -35,6 +35,7 @@ void settmode __ARGS((int tmode));
 void starttermcap __ARGS((void));
 void stoptermcap __ARGS((void));
 int did_request_esc_sequence __ARGS((void));
+void resume_get_esc_sequence __ARGS((void));
 void may_req_termresponse __ARGS((void));
 void may_req_ambiguous_char_width __ARGS((void));
 int swapping_screen __ARGS((void));
--- a/src/term.c
+++ b/src/term.c
@@ -3330,6 +3330,19 @@ did_request_esc_sequence()
     return crv_status == CRV_SENT || u7_status == U7_SENT
 						|| xt_index_out > xt_index_in;
 }
+
+/*
+ * If requesting the version was disabled in did_request_esc_sequence(),
+ * enable it again.
+ */
+    void
+resume_get_esc_sequence()
+{
+    if (crv_status == 0)
+	crv_status = CRV_GET;
+    if (u7_status == 0)
+	u7_status = U7_GET;
+}
 # endif
 
 
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    359,
+/**/
     358,
 /**/
     357,