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 ///