summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.632
diff options
context:
space:
mode:
Diffstat (limited to 'source/ap/vim/patches/7.3.632')
-rw-r--r--source/ap/vim/patches/7.3.632537
1 files changed, 0 insertions, 537 deletions
diff --git a/source/ap/vim/patches/7.3.632 b/source/ap/vim/patches/7.3.632
deleted file mode 100644
index 9e38969e6..000000000
--- a/source/ap/vim/patches/7.3.632
+++ /dev/null
@@ -1,537 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.632
-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.632
-Problem: Cannot select beyond 222 columns with the mouse in xterm.
-Solution: Add support for SGR mouse tracking. (Hayaki Saito)
-Files: runtime/doc/options.txt, src/feature.h, src/keymap.h, src/misc2.c,
- src/option.h, src/os_unix.c, src/term.c, src/version.c
-
-
-*** ../vim-7.3.631/runtime/doc/options.txt 2012-07-10 16:49:08.000000000 +0200
---- runtime/doc/options.txt 2012-08-15 16:04:26.000000000 +0200
-***************
-*** 7383,7388 ****
---- 7424,7435 ----
- jsbterm JSB term mouse handling.
- *pterm-mouse*
- pterm QNX pterm mouse handling.
-+ *urxvt-mouse*
-+ urxvt Mouse handling for the urxvt (rxvt-unicode) terminal.
-+ *sgr-mouse*
-+ sgr Mouse handling for the terminal that emits SGR-styled
-+ mouse reporting. Works with xterm version 277 or
-+ later.
-
- The mouse handling must be enabled at compile time |+mouse_xterm|
- |+mouse_dec| |+mouse_netterm|.
-***************
-*** 7395,7400 ****
---- 7442,7448 ----
- or "xterm2" already. The main use of this option is to set it to
- "xterm", when the terminal name doesn't start with "xterm", but it can
- handle xterm mouse codes.
-+ The "sgr" value will be set if the xterm version is 277 or later.
- The "xterm2" value will be set if the xterm version is reported to be
- 95 or higher. This only works when compiled with the |+termresponse|
- feature and if |t_RV| is set to the escape sequence to request the
-*** ../vim-7.3.631/src/feature.h 2012-04-25 16:50:44.000000000 +0200
---- src/feature.h 2012-08-15 15:46:07.000000000 +0200
-***************
-*** 1056,1061 ****
---- 1056,1064 ----
- # ifdef FEAT_BIG
- # define FEAT_MOUSE_URXVT
- # endif
-+ # ifdef FEAT_BIG
-+ # define FEAT_MOUSE_SGR
-+ # endif
- # if defined(FEAT_NORMAL) && (defined(MSDOS) || defined(WIN3264))
- # define DOS_MOUSE
- # endif
-***************
-*** 1077,1082 ****
---- 1080,1090 ----
- # define FEAT_MOUSE_XTERM
- #endif
-
-+ /* sgr is a small variation of mouse_xterm, and shares its code */
-+ #if defined(FEAT_MOUSE_SGR) && !defined(FEAT_MOUSE_XTERM)
-+ # define FEAT_MOUSE_XTERM
-+ #endif
-+
- /* Define FEAT_MOUSE when any of the above is defined or FEAT_GUI. */
- #if !defined(FEAT_MOUSE_TTY) \
- && (defined(FEAT_MOUSE_XTERM) \
-***************
-*** 1087,1093 ****
- || defined(FEAT_MOUSE_JSB) \
- || defined(FEAT_MOUSE_PTERM) \
- || defined(FEAT_SYSMOUSE) \
-! || defined(FEAT_MOUSE_URXVT))
- # define FEAT_MOUSE_TTY /* include non-GUI mouse support */
- #endif
- #if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI))
---- 1095,1102 ----
- || defined(FEAT_MOUSE_JSB) \
- || defined(FEAT_MOUSE_PTERM) \
- || defined(FEAT_SYSMOUSE) \
-! || defined(FEAT_MOUSE_URXVT) \
-! || defined(FEAT_MOUSE_SGR))
- # define FEAT_MOUSE_TTY /* include non-GUI mouse support */
- #endif
- #if !defined(FEAT_MOUSE) && (defined(FEAT_MOUSE_TTY) || defined(FEAT_GUI))
-*** ../vim-7.3.631/src/keymap.h 2012-01-20 17:15:47.000000000 +0100
---- src/keymap.h 2012-08-15 15:46:07.000000000 +0200
-***************
-*** 110,115 ****
---- 110,118 ----
- /* Used for the urxvt mouse. */
- #define KS_URXVT_MOUSE 238
-
-+ /* Used for the sgr mouse. */
-+ #define KS_SGR_MOUSE 237
-+
- /*
- * Filler used after KS_SPECIAL and others
- */
-***************
-*** 412,417 ****
---- 415,421 ----
- #define K_JSBTERM_MOUSE TERMCAP2KEY(KS_JSBTERM_MOUSE, KE_FILLER)
- #define K_PTERM_MOUSE TERMCAP2KEY(KS_PTERM_MOUSE, KE_FILLER)
- #define K_URXVT_MOUSE TERMCAP2KEY(KS_URXVT_MOUSE, KE_FILLER)
-+ #define K_SGR_MOUSE TERMCAP2KEY(KS_SGR_MOUSE, KE_FILLER)
-
- #define K_SELECT TERMCAP2KEY(KS_SELECT, KE_FILLER)
- #define K_TEAROFF TERMCAP2KEY(KS_TEAROFF, KE_FILLER)
-*** ../vim-7.3.631/src/misc2.c 2012-08-15 14:04:50.000000000 +0200
---- src/misc2.c 2012-08-15 15:46:07.000000000 +0200
-***************
-*** 2433,2438 ****
---- 2433,2441 ----
- #ifdef FEAT_MOUSE_URXVT
- {K_URXVT_MOUSE, (char_u *)"UrxvtMouse"},
- #endif
-+ #ifdef FEAT_MOUSE_SGR
-+ {K_SGR_MOUSE, (char_u *)"SgrMouse"},
-+ #endif
- {K_LEFTMOUSE, (char_u *)"LeftMouse"},
- {K_LEFTMOUSE_NM, (char_u *)"LeftMouseNM"},
- {K_LEFTDRAG, (char_u *)"LeftDrag"},
-*** ../vim-7.3.631/src/option.h 2012-07-10 16:49:08.000000000 +0200
---- src/option.h 2012-08-15 15:46:07.000000000 +0200
-***************
-*** 822,828 ****
- EXTERN char_u *p_ttym; /* 'ttymouse' */
- EXTERN unsigned ttym_flags;
- # ifdef IN_OPTION_C
-! static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm", "pterm", "urxvt", NULL};
- # endif
- # define TTYM_XTERM 0x01
- # define TTYM_XTERM2 0x02
---- 822,828 ----
- EXTERN char_u *p_ttym; /* 'ttymouse' */
- EXTERN unsigned ttym_flags;
- # ifdef IN_OPTION_C
-! static char *(p_ttym_values[]) = {"xterm", "xterm2", "dec", "netterm", "jsbterm", "pterm", "urxvt", "sgr", NULL};
- # endif
- # define TTYM_XTERM 0x01
- # define TTYM_XTERM2 0x02
-***************
-*** 831,836 ****
---- 831,837 ----
- # define TTYM_JSBTERM 0x10
- # define TTYM_PTERM 0x20
- # define TTYM_URXVT 0x40
-+ # define TTYM_SGR 0x80
- #endif
- EXTERN char_u *p_udir; /* 'undodir' */
- EXTERN long p_ul; /* 'undolevels' */
-*** ../vim-7.3.631/src/os_unix.c 2012-04-20 15:55:10.000000000 +0200
---- src/os_unix.c 2012-08-15 16:06:54.000000000 +0200
-***************
-*** 2159,2168 ****
---- 2159,2171 ----
- * Return 1 for "xterm".
- * Return 2 for "xterm2".
- * Return 3 for "urxvt".
-+ * Return 4 for "sgr".
- */
- int
- use_xterm_mouse()
- {
-+ if (ttym_flags == TTYM_SGR)
-+ return 4;
- if (ttym_flags == TTYM_URXVT)
- return 3;
- if (ttym_flags == TTYM_XTERM2)
-***************
-*** 3339,3345 ****
- xterm_mouse_vers = use_xterm_mouse();
-
- # ifdef FEAT_MOUSE_URXVT
-! if (ttym_flags == TTYM_URXVT) {
- out_str_nf((char_u *)
- (on
- ? IF_EB("\033[?1015h", ESC_STR "[?1015h")
---- 3342,3349 ----
- xterm_mouse_vers = use_xterm_mouse();
-
- # ifdef FEAT_MOUSE_URXVT
-! if (ttym_flags == TTYM_URXVT)
-! {
- out_str_nf((char_u *)
- (on
- ? IF_EB("\033[?1015h", ESC_STR "[?1015h")
-***************
-*** 3348,3353 ****
---- 3352,3368 ----
- }
- # endif
-
-+ # ifdef FEAT_MOUSE_SGR
-+ if (ttym_flags == TTYM_SGR)
-+ {
-+ out_str_nf((char_u *)
-+ (on
-+ ? IF_EB("\033[?1006h", ESC_STR "[?1006h")
-+ : IF_EB("\033[?1006l", ESC_STR "[?1006l")));
-+ ison = on;
-+ }
-+ # endif
-+
- if (xterm_mouse_vers > 0)
- {
- if (on) /* enable mouse events, use mouse tracking if available */
-***************
-*** 3577,3582 ****
---- 3592,3618 ----
- else
- del_mouse_termcode(KS_URXVT_MOUSE);
- # endif
-+ # ifdef FEAT_MOUSE_SGR
-+ /* same as the dec mouse */
-+ if (use_xterm_mouse() == 4
-+ # ifdef FEAT_GUI
-+ && !gui.in_use
-+ # endif
-+ )
-+ {
-+ set_mouse_termcode(KS_SGR_MOUSE, (char_u *)(term_is_8bit(T_NAME)
-+ ? IF_EB("\233<", CSI_STR "<")
-+ : IF_EB("\033[<", ESC_STR "[<")));
-+
-+ if (*p_mouse != NUL)
-+ {
-+ mch_setmouse(FALSE);
-+ setmouse();
-+ }
-+ }
-+ else
-+ del_mouse_termcode(KS_SGR_MOUSE);
-+ # endif
- }
- #endif
-
-*** ../vim-7.3.631/src/term.c 2012-02-05 22:05:44.000000000 +0100
---- src/term.c 2012-08-15 16:14:09.000000000 +0200
-***************
-*** 1997,2002 ****
---- 1997,2003 ----
- # define HMT_JSBTERM 8
- # define HMT_PTERM 16
- # define HMT_URXVT 32
-+ # define HMT_SGR 64
- static int has_mouse_termcode = 0;
- # endif
-
-***************
-*** 2037,2042 ****
---- 2038,2048 ----
- has_mouse_termcode |= HMT_URXVT;
- else
- # endif
-+ # ifdef FEAT_MOUSE_SGR
-+ if (n == KS_SGR_MOUSE)
-+ has_mouse_termcode |= HMT_SGR;
-+ else
-+ # endif
- has_mouse_termcode |= HMT_NORMAL;
- # endif
- }
-***************
-*** 2079,2084 ****
---- 2085,2095 ----
- has_mouse_termcode &= ~HMT_URXVT;
- else
- # endif
-+ # ifdef FEAT_MOUSE_SGR
-+ if (n == KS_SGR_MOUSE)
-+ has_mouse_termcode &= ~HMT_SGR;
-+ else
-+ # endif
- has_mouse_termcode &= ~HMT_NORMAL;
- # endif
- }
-***************
-*** 4023,4029 ****
- #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
---- 4034,4041 ----
- #ifdef FEAT_TERMRESPONSE
- if (key_name[0] == NUL
- /* URXVT mouse uses <ESC>[#;#;#M, but we are matching <ESC>[ */
-! || key_name[0] == KS_URXVT_MOUSE
-! || key_name[0] == KS_SGR_MOUSE)
- {
- /* Check for xterm version string: "<Esc>[>{x};{vers};{y}c". Also
- * eat other possible responses to t_RV, rxvt returns
-***************
-*** 4061,4066 ****
---- 4073,4088 ----
-
- if (tp[1 + (tp[0] != CSI)] == '>' && j == 2)
- {
-+ # ifdef TTYM_SGR
-+ if (extra >= 277
-+ # ifdef TTYM_URXVT
-+ && ttym_flags != TTYM_URXVT
-+ # endif
-+ )
-+ set_option_value((char_u *)"ttym", 0L,
-+ (char_u *)"sgr", 0);
-+ else
-+ # endif
- /* if xterm version >= 95 use mouse dragging */
- if (extra >= 95
- # ifdef TTYM_URXVT
-***************
-*** 4147,4167 ****
- /*
- * If it is a mouse click, get the coordinates.
- */
-! if (key_name[0] == (int)KS_MOUSE
- # ifdef FEAT_MOUSE_JSB
-! || key_name[0] == (int)KS_JSBTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_NET
-! || key_name[0] == (int)KS_NETTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_DEC
-! || key_name[0] == (int)KS_DEC_MOUSE
- # endif
- # ifdef FEAT_MOUSE_PTERM
-! || key_name[0] == (int)KS_PTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_URXVT
-! || key_name[0] == (int)KS_URXVT_MOUSE
- # endif
- )
- {
---- 4169,4192 ----
- /*
- * If it is a mouse click, get the coordinates.
- */
-! if (key_name[0] == KS_MOUSE
- # ifdef FEAT_MOUSE_JSB
-! || key_name[0] == KS_JSBTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_NET
-! || key_name[0] == KS_NETTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_DEC
-! || key_name[0] == KS_DEC_MOUSE
- # endif
- # ifdef FEAT_MOUSE_PTERM
-! || key_name[0] == KS_PTERM_MOUSE
- # endif
- # ifdef FEAT_MOUSE_URXVT
-! || key_name[0] == KS_URXVT_MOUSE
-! # endif
-! # ifdef FEAT_MOUSE_SGR
-! || key_name[0] == KS_SGR_MOUSE
- # endif
- )
- {
-***************
-*** 4243,4250 ****
- }
- }
-
-! # ifdef FEAT_MOUSE_URXVT
-! if (key_name[0] == (int)KS_URXVT_MOUSE)
- {
- for (;;)
- {
---- 4268,4276 ----
- }
- }
-
-! # if defined(FEAT_MOUSE_URXVT) || defined(FEAT_MOUSE_SGR)
-! if (key_name[0] == KS_URXVT_MOUSE
-! || key_name[0] == KS_SGR_MOUSE)
- {
- for (;;)
- {
-***************
-*** 4256,4261 ****
---- 4282,4301 ----
- * ^-- row
- * ^----- column
- * ^-------- code
-+ *
-+ * SGR 1006 mouse reporting mode:
-+ * Almost identical to xterm mouse mode, except the values
-+ * are decimal instead of bytes.
-+ *
-+ * \033[<%d;%d;%dM
-+ * ^-- row
-+ * ^----- column
-+ * ^-------- code
-+ *
-+ * \033[<%d;%d;%dm : mouse release event
-+ * ^-- row
-+ * ^----- column
-+ * ^-------- code
- */
- p = tp + slen;
-
-***************
-*** 4263,4294 ****
- 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;
- }
---- 4303,4348 ----
- if (*p++ != ';')
- return -1;
-
-+ /* when mouse reporting is SGR, add 32 to mouse code */
-+ if (key_name[0] == KS_SGR_MOUSE)
-+ mouse_code += 32;
-+
- mouse_col = getdigits(&p) - 1;
- if (*p++ != ';')
- return -1;
-
- mouse_row = getdigits(&p) - 1;
-! if (key_name[0] == KS_SGR_MOUSE && *p == 'm')
-! mouse_code |= MOUSE_RELEASE;
-! else if (*p != 'M')
- return -1;
-+ p++;
-
- 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)
-! {
- int slen2;
- int cmd_complete = 0;
-!
-! /* check if the command is complete by looking for the
-! * 'M' */
-! for (slen2 = slen; slen2 < len; slen2++)
-! {
-! if (tp[slen2] == 'M'
-! || (key_name[0] == KS_SGR_MOUSE
-! && tp[slen2] == 'm'))
-! {
- cmd_complete = 1;
- break;
- }
- }
- p += j;
-! if (cmd_complete && getdigits(&p) == mouse_code)
-! {
- slen += j; /* skip the \033[ */
- continue;
- }
-***************
-*** 4302,4307 ****
---- 4356,4364 ----
- #ifdef FEAT_MOUSE_URXVT
- || key_name[0] == (int)KS_URXVT_MOUSE
- #endif
-+ #ifdef FEAT_MOUSE_SGR
-+ || key_name[0] == KS_SGR_MOUSE
-+ #endif
- )
- {
- # if !defined(MSWIN) && !defined(MSDOS)
-*** ../vim-7.3.631/src/version.c 2012-08-15 14:04:50.000000000 +0200
---- src/version.c 2012-08-15 15:47:30.000000000 +0200
-***************
-*** 384,389 ****
---- 384,394 ----
- # else
- "-mouse_urxvt",
- # endif
-+ # ifdef FEAT_MOUSE_SGR
-+ "+mouse_sgr",
-+ # else
-+ "-mouse_sgr",
-+ # endif
- #endif
- #ifdef __QNX__
- # ifdef FEAT_MOUSE_PTERM
-*** ../vim-7.3.631/src/version.c 2012-08-15 14:04:50.000000000 +0200
---- src/version.c 2012-08-15 15:47:30.000000000 +0200
-***************
-*** 716,717 ****
---- 721,724 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 632,
- /**/
-
---
-hundred-and-one symptoms of being an internet addict:
-243. You unsuccessfully try to download a pizza from www.dominos.com.
-
- /// 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 ///