]> granicus.if.org Git - vim/commitdiff
updated for version 7.3.405 v7.3.405
authorBram Moolenaar <Bram@vim.org>
Fri, 20 Jan 2012 16:15:51 +0000 (17:15 +0100)
committerBram Moolenaar <Bram@vim.org>
Fri, 20 Jan 2012 16:15:51 +0000 (17:15 +0100)
Problem:    When xterm gets back the function keys it may delete the urxvt
            mouse termcap code.
Solution:   Check for the whole code, not just the start. (Egmont Koblinger)

src/keymap.h
src/misc2.c
src/term.c
src/version.c

index 8ec009387f24e2f6d7b3373c01b6c370c6cc8892..4706dfe04f41b58fa4ae239bdaef0b6bfbf52eef 100644 (file)
@@ -411,6 +411,7 @@ enum key_extra
 #define K_DEC_MOUSE    TERMCAP2KEY(KS_DEC_MOUSE, KE_FILLER)
 #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_SELECT       TERMCAP2KEY(KS_SELECT, KE_FILLER)
 #define K_TEAROFF      TERMCAP2KEY(KS_TEAROFF, KE_FILLER)
index 22d1fb46b11dd902733e8b08ef2721b0bd2ce680..00d1ff4a0f4d5ce73bf3667b4ed9138bdaa0f86c 100644 (file)
@@ -2416,10 +2416,21 @@ static struct key_name_entry
     {'<',              (char_u *)"lt"},
 
     {K_MOUSE,          (char_u *)"Mouse"},
+#ifdef FEAT_MOUSE_NET
     {K_NETTERM_MOUSE,  (char_u *)"NetMouse"},
+#endif
+#ifdef FEAT_MOUSE_DEC
     {K_DEC_MOUSE,      (char_u *)"DecMouse"},
+#endif
+#ifdef FEAT_MOUSE_JSB
     {K_JSBTERM_MOUSE,  (char_u *)"JsbMouse"},
+#endif
+#ifdef FEAT_MOUSE_PTERM
     {K_PTERM_MOUSE,    (char_u *)"PtermMouse"},
+#endif
+#ifdef FEAT_MOUSE_URXVT
+    {K_URXVT_MOUSE,    (char_u *)"UrxvtMouse"},
+#endif
     {K_LEFTMOUSE,      (char_u *)"LeftMouse"},
     {K_LEFTMOUSE_NM,   (char_u *)"LeftMouseNM"},
     {K_LEFTDRAG,       (char_u *)"LeftDrag"},
index f40d39a0633de9dbda64038a2763ed2965724233..93d325e43e825859c7545907c7648899ecb032e6 100644 (file)
@@ -5252,12 +5252,12 @@ find_term_bykeys(src)
     char_u     *src;
 {
     int                i;
-    int                slen;
+    int                slen = STRLEN(src);
 
     for (i = 0; i < tc_len; ++i)
     {
-       slen = termcodes[i].len;
-       if (slen > 1 && STRNCMP(termcodes[i].code, src, (size_t)slen) == 0)
+       if (slen == termcodes[i].len
+                       && STRNCMP(termcodes[i].code, src, (size_t)slen) == 0)
            return i;
     }
     return -1;
index e2a2fa21d13a5b608c80ea3ab7e656ebfd69fe07..73bb3abf921657dad660c325982fa6c324d8c67a 100644 (file)
@@ -714,6 +714,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    405,
 /**/
     404,
 /**/