diff --git a/7.3.405 b/7.3.405 new file mode 100644 index 0000000..087aecc --- /dev/null +++ b/7.3.405 @@ -0,0 +1,101 @@ +To: vim_dev@googlegroups.com +Subject: Patch 7.3.405 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.3.405 +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) +Files: src/keymap.h, src/misc2.c, src/term.c + + +*** ../vim-7.3.404/src/keymap.h 2011-10-20 21:09:25.000000000 +0200 +--- src/keymap.h 2012-01-20 16:35:43.000000000 +0100 +*************** +*** 411,416 **** +--- 411,417 ---- + #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) +*** ../vim-7.3.404/src/misc2.c 2012-01-10 22:26:12.000000000 +0100 +--- src/misc2.c 2012-01-20 16:38:27.000000000 +0100 +*************** +*** 2416,2425 **** +--- 2416,2436 ---- + {'<', (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"}, +*** ../vim-7.3.404/src/term.c 2011-12-01 20:59:16.000000000 +0100 +--- src/term.c 2012-01-20 16:50:41.000000000 +0100 +*************** +*** 5252,5263 **** + char_u *src; + { + int i; +! int slen; + + for (i = 0; i < tc_len; ++i) + { +! slen = termcodes[i].len; +! if (slen > 1 && STRNCMP(termcodes[i].code, src, (size_t)slen) == 0) + return i; + } + return -1; +--- 5252,5263 ---- + char_u *src; + { + int i; +! int slen = STRLEN(src); + + for (i = 0; i < tc_len; ++i) + { +! if (slen == termcodes[i].len +! && STRNCMP(termcodes[i].code, src, (size_t)slen) == 0) + return i; + } + return -1; +*** ../vim-7.3.404/src/version.c 2012-01-20 14:32:22.000000000 +0100 +--- src/version.c 2012-01-20 16:59:47.000000000 +0100 +*************** +*** 716,717 **** +--- 716,719 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 405, + /**/ + +-- +"The future's already arrived - it's just not evenly distributed yet." + -- William Gibson + + /// 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 ///