From: Bram Moolenaar Date: Fri, 20 Jan 2012 16:15:51 +0000 (+0100) Subject: updated for version 7.3.405 X-Git-Tag: v7.3.405 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5af7d712763904e2018efb0485c520cd12935d54;p=vim updated for version 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) --- diff --git a/src/keymap.h b/src/keymap.h index 8ec009387..4706dfe04 100644 --- a/src/keymap.h +++ b/src/keymap.h @@ -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) diff --git a/src/misc2.c b/src/misc2.c index 22d1fb46b..00d1ff4a0 100644 --- a/src/misc2.c +++ b/src/misc2.c @@ -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"}, diff --git a/src/term.c b/src/term.c index f40d39a06..93d325e43 100644 --- a/src/term.c +++ b/src/term.c @@ -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; diff --git a/src/version.c b/src/version.c index e2a2fa21d..73bb3abf9 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 405, /**/ 404, /**/