156 lines
4.1 KiB
Plaintext
156 lines
4.1 KiB
Plaintext
|
To: vim_dev@googlegroups.com
|
||
|
Subject: Patch 7.3.353
|
||
|
Fcc: outbox
|
||
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
||
|
Mime-Version: 1.0
|
||
|
Content-Type: text/plain; charset=UTF-8
|
||
|
Content-Transfer-Encoding: 8bit
|
||
|
------------
|
||
|
|
||
|
Patch 7.3.353 (after 7.3.343)
|
||
|
Problem: Missing part of the urxvt patch.
|
||
|
Solution: Add the change in term.c
|
||
|
Files: src/term.c
|
||
|
|
||
|
|
||
|
*** ../vim-7.3.352/src/term.c 2011-09-14 14:43:21.000000000 +0200
|
||
|
--- src/term.c 2011-10-26 23:48:01.000000000 +0200
|
||
|
***************
|
||
|
*** 4008,4014 ****
|
||
|
}
|
||
|
|
||
|
#ifdef FEAT_TERMRESPONSE
|
||
|
! if (key_name[0] == NUL)
|
||
|
{
|
||
|
/* Check for xterm version string: "<Esc>[>{x};{vers};{y}c". Also
|
||
|
* eat other possible responses to t_RV, rxvt returns
|
||
|
--- 4008,4016 ----
|
||
|
}
|
||
|
|
||
|
#ifdef FEAT_TERMRESPONSE
|
||
|
! if (key_name[0] == NUL
|
||
|
! /* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
|
||
|
! || key_name[0] == KS_URXVT_MOUSE)
|
||
|
{
|
||
|
/* Check for xterm version string: "<Esc>[>{x};{vers};{y}c". Also
|
||
|
* eat other possible responses to t_RV, rxvt returns
|
||
|
***************
|
||
|
*** 4047,4053 ****
|
||
|
if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
|
||
|
{
|
||
|
/* if xterm version >= 95 use mouse dragging */
|
||
|
! if (extra >= 95)
|
||
|
set_option_value((char_u *)"ttym", 0L,
|
||
|
(char_u *)"xterm2", 0);
|
||
|
/* if xterm version >= 141 try to get termcap codes */
|
||
|
--- 4049,4055 ----
|
||
|
if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
|
||
|
{
|
||
|
/* if xterm version >= 95 use mouse dragging */
|
||
|
! if (extra >= 95 && ttym_flags != TTYM_URXVT)
|
||
|
set_option_value((char_u *)"ttym", 0L,
|
||
|
(char_u *)"xterm2", 0);
|
||
|
/* if xterm version >= 141 try to get termcap codes */
|
||
|
***************
|
||
|
*** 4141,4146 ****
|
||
|
--- 4143,4151 ----
|
||
|
# ifdef FEAT_MOUSE_PTERM
|
||
|
|| key_name[0] == (int)KS_PTERM_MOUSE
|
||
|
# endif
|
||
|
+ # ifdef FEAT_MOUSE_URXVT
|
||
|
+ || key_name[0] == (int)KS_URXVT_MOUSE
|
||
|
+ # endif
|
||
|
)
|
||
|
{
|
||
|
is_click = is_drag = FALSE;
|
||
|
***************
|
||
|
*** 4219,4225 ****
|
||
|
--- 4224,4292 ----
|
||
|
else
|
||
|
break;
|
||
|
}
|
||
|
+ }
|
||
|
+
|
||
|
+ # ifdef FEAT_MOUSE_URXVT
|
||
|
+ if (key_name[0] == (int)KS_URXVT_MOUSE)
|
||
|
+ {
|
||
|
+ for (;;)
|
||
|
+ {
|
||
|
+ /* URXVT 1015 mouse reporting mode:
|
||
|
+ * Almost identical to xterm mouse mode, except the values
|
||
|
+ * are decimal instead of bytes.
|
||
|
+ *
|
||
|
+ * \033[%d;%d;%dM
|
||
|
+ * ^-- row
|
||
|
+ * ^----- column
|
||
|
+ * ^-------- code
|
||
|
+ */
|
||
|
+ p = tp + slen;
|
||
|
+
|
||
|
+ mouse_code = getdigits(&p);
|
||
|
+ if (*p++ != ';')
|
||
|
+ return -1;
|
||
|
+
|
||
|
+ mouse_col = getdigits(&p) - 1;
|
||
|
+ if (*p++ != ';')
|
||
|
+ return -1;
|
||
|
+
|
||
|
+ mouse_row = getdigits(&p) - 1;
|
||
|
+ if (*p++ != 'M')
|
||
|
+ return -1;
|
||
|
+
|
||
|
+ slen += (int)(p - (tp + slen));
|
||
|
+
|
||
|
+ /* skip this one if next one has same code (like xterm
|
||
|
+ * case) */
|
||
|
+ j = termcodes[idx].len;
|
||
|
+ if (STRNCMP(tp, tp + slen, (size_t)j) == 0) {
|
||
|
+ /* check if the command is complete by looking for the
|
||
|
+ * M */
|
||
|
+ int slen2;
|
||
|
+ int cmd_complete = 0;
|
||
|
+ for (slen2 = slen; slen2 < len; slen2++) {
|
||
|
+ if (tp[slen2] == 'M') {
|
||
|
+ cmd_complete = 1;
|
||
|
+ break;
|
||
|
+ }
|
||
|
+ }
|
||
|
+ p += j;
|
||
|
+ if (cmd_complete && getdigits(&p) == mouse_code) {
|
||
|
+ slen += j; /* skip the \033[ */
|
||
|
+ continue;
|
||
|
+ }
|
||
|
+ }
|
||
|
+ break;
|
||
|
+ }
|
||
|
+ }
|
||
|
+ # endif
|
||
|
|
||
|
+ if (key_name[0] == (int)KS_MOUSE
|
||
|
+ #ifdef FEAT_MOUSE_URXVT
|
||
|
+ || key_name[0] == (int)KS_URXVT_MOUSE
|
||
|
+ #endif
|
||
|
+ )
|
||
|
+ {
|
||
|
# if !defined(MSWIN) && !defined(MSDOS)
|
||
|
/*
|
||
|
* Handle mouse events.
|
||
|
*** ../vim-7.3.352/src/version.c 2011-10-26 22:02:10.000000000 +0200
|
||
|
--- src/version.c 2011-10-26 23:43:26.000000000 +0200
|
||
|
***************
|
||
|
*** 716,717 ****
|
||
|
--- 716,719 ----
|
||
|
{ /* Add new patch number below this line */
|
||
|
+ /**/
|
||
|
+ 353,
|
||
|
/**/
|
||
|
|
||
|
--
|
||
|
hundred-and-one symptoms of being an internet addict:
|
||
|
99. The hum of a cooling fan and the click of keys is comforting to you.
|
||
|
|
||
|
/// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
|
||
|
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
|
||
|
\\\ an exciting new programming language -- http://www.Zimbu.org ///
|
||
|
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
|