summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-07-09 19:13:49 +0200
committerBram Moolenaar <Bram@vim.org>2014-07-09 19:13:49 +0200
commit0d1e8c12034ae51b4f31cbe81534df491b837028 (patch)
treef76895df4fb34111e765955d3d78a200da3bfc19
parent6bf5548df2d58215c99d582269b4ec9e7fb0c934 (diff)
downloadvim-git-0d1e8c12034ae51b4f31cbe81534df491b837028.tar.gz
updated for version 7.4.359v7.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().
-rw-r--r--src/os_unix.c6
-rw-r--r--src/proto/term.pro1
-rw-r--r--src/term.c13
-rw-r--r--src/version.c2
4 files changed, 18 insertions, 4 deletions
diff --git a/src/os_unix.c b/src/os_unix.c
index db64fb45f..033ce3cc3 100644
--- 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);
diff --git a/src/proto/term.pro b/src/proto/term.pro
index 2ae91c45f..89d58a0d0 100644
--- 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));
diff --git a/src/term.c b/src/term.c
index bd5442120..949b6fa4b 100644
--- 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
diff --git a/src/version.c b/src/version.c
index d9cf7a368..faaaf76ad 100644
--- 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,