diff options
| -rw-r--r-- | src/os_unix.c | 6 | ||||
| -rw-r--r-- | src/proto/term.pro | 1 | ||||
| -rw-r--r-- | src/term.c | 13 | ||||
| -rw-r--r-- | src/version.c | 2 |
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, |
