# HG changeset patch # User Bram Moolenaar # Date 1327076151 -3600 # Node ID c75a8d2404bd4f1297aafbb10ab1ae68ba678249 # Parent 3ab7f7a36bbf254ad5e4118c96a3db90d33b4ff3 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 --- 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 --- 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 --- 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 --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 405, +/**/ 404, /**/ 403,