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 -- [email protected] -- 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    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui