home *** CD-ROM | disk | FTP | other *** search
/ vim.ftp.fu-berlin.de / 2015-02-03.vim.ftp.fu-berlin.de.tar / vim.ftp.fu-berlin.de / patches / 6.1.184 < prev    next >
Encoding:
Internet Message Format  |  2002-09-15  |  15.1 KB

  1. To: vim-dev@vim.org
  2. Subject: Patch 6.1.184 (extra)
  3. Fcc: outbox
  4. From: Bram Moolenaar <Bram@moolenaar.net>
  5. Mime-Version: 1.0
  6. Content-Type: text/plain; charset=ISO-8859-1
  7. Content-Transfer-Encoding: 8bit
  8. ------------
  9.  
  10. Patch 6.1.184 (extra)
  11. Problem:    The extra mouse buttons found on some mice don't work.
  12. Solution:   Support two extra buttons for MS-Windows. (Michael Geddes)
  13. Files:        runtime/doc/term.txt, src/edit.c, src/ex_getln.c, src/gui.c,
  14.         src/gui_w32.c, src/gui_w48.c, src/keymap.h, src/message.c,
  15.         src/misc1.c, src/misc2.c, src/normal.c. src/vim.h
  16.  
  17.  
  18. *** ../vim61.183/runtime/doc/term.txt    Fri Mar 22 21:18:39 2002
  19. --- runtime/doc/term.txt    Thu Sep  5 22:13:30 2002
  20. ***************
  21. *** 759,764 ****
  22. --- 760,775 ----
  23.    <RightMouse>     right pressed            extend selection
  24.    <RightDrag>     right moved while pressed  extend selection
  25.    <RightRelease>  right released            set selection end
  26. +  <X1Mouse>     X1 button pressed        -            *X1Mouse*
  27. +  <X1Drag>     X1 moved while pressed        -            *X1Drag*
  28. +  <X1Release>     X1 button release        -            *X1Release*
  29. +  <X2Mouse>     X2 button pressed        -            *X2Mouse*
  30. +  <X2Drag>     X2 moved while pressed     -            *X2Drag*
  31. +  <X2Release>     X2 button release        -            *X2Release*
  32. + The X1 and X2 buttons refer to the extra buttons found on some mice.  The
  33. + 'Microsoft Explorer' mouse has these buttons available to the right thumb.
  34. + Currently X1 and X2 only work on Win32 environments.
  35.   
  36.   Examples: >
  37.       :noremap <MiddleMouse> <LeftMouse><MiddleMouse>
  38. ***************
  39. *** 769,774 ****
  40. --- 780,790 ----
  41.   Immediately yank the selection, when using Visual mode.
  42.   
  43.   Note the use of ":noremap" instead of "map" to avoid a recursive mapping.
  44. + >
  45. +     :map <X1Mouse> <C-O>
  46. +     :map <X2Mouse> <C-I>
  47. + Map the X1 and X2 buttons to go forward and backwards in the jump list, see
  48. + |CTRL-O| and |CTRL-I|.
  49.   
  50.                           *mouse-swap-buttons*
  51.   To swap the meaning of the left and right mouse buttons: >
  52. *** ../vim61.183/src/edit.c    Mon Sep 16 21:26:10 2002
  53. --- src/edit.c    Tue Sep 10 19:47:16 2002
  54. ***************
  55. *** 966,971 ****
  56. --- 966,977 ----
  57.       case K_RIGHTMOUSE:
  58.       case K_RIGHTDRAG:
  59.       case K_RIGHTRELEASE:
  60. +     case K_X1MOUSE:
  61. +     case K_X1DRAG:
  62. +     case K_X1RELEASE:
  63. +     case K_X2MOUSE:
  64. +     case K_X2DRAG:
  65. +     case K_X2RELEASE:
  66.           ins_mouse(c);
  67.           break;
  68.   
  69. *** ../vim61.183/src/ex_getln.c    Sat Sep  7 15:05:56 2002
  70. --- src/ex_getln.c    Sat Sep  7 14:58:21 2002
  71. ***************
  72. *** 1094,1099 ****
  73. --- 1095,1107 ----
  74.       /* Mouse scroll wheel: ignored here */
  75.       case K_MOUSEDOWN:
  76.       case K_MOUSEUP:
  77. +     /* Alternate buttons ignored here */
  78. +     case K_X1MOUSE:
  79. +     case K_X1DRAG:
  80. +     case K_X1RELEASE:
  81. +     case K_X2MOUSE:
  82. +     case K_X2DRAG:
  83. +     case K_X2RELEASE:
  84.           goto cmdline_not_changed;
  85.   
  86.   #endif    /* FEAT_MOUSE */
  87. *** ../vim61.183/src/gui.c    Mon Sep 16 21:12:28 2002
  88. --- src/gui.c    Sat Sep 14 14:35:35 2002
  89. ***************
  90. *** 2437,2442 ****
  91. --- 2443,2449 ----
  92.    * Generic mouse support function.  Add a mouse event to the input buffer with
  93.    * the given properties.
  94.    *  button        --- may be any of MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT,
  95. +  *            MOUSE_X1, MOUSE_X2
  96.    *            MOUSE_DRAG, or MOUSE_RELEASE.
  97.    *            MOUSE_4 and MOUSE_5 are used for a scroll wheel.
  98.    *  x, y        --- Coordinates of mouse in pixels.
  99. ***************
  100. *** 2459,2464 ****
  101. --- 2466,2472 ----
  102.       static int        prev_button = -1;
  103.       static int        num_clicks = 1;
  104.       char_u        string[6];
  105. +     char_u        button_char;
  106.       int            row, col;
  107.   #ifdef FEAT_CLIPBOARD
  108.       int            checkfor;
  109. ***************
  110. *** 2468,2498 ****
  111.       /*
  112.        * Scrolling may happen at any time, also while a selection is present.
  113.        */
  114. !     if (button == MOUSE_4 || button == MOUSE_5)
  115.       {
  116. !     /* Don't put events in the input queue now. */
  117. !     if (hold_gui_events)
  118. !         return;
  119. !     string[3] = CSI;
  120. !     string[4] = KS_EXTRA;
  121. !     string[5] = (int)(button == MOUSE_4 ? KE_MOUSEDOWN : KE_MOUSEUP);
  122. !     if (modifiers == 0)
  123. !         add_to_input_buf(string + 3, 3);
  124. !     else
  125. !     {
  126. !         string[0] = CSI;
  127. !         string[1] = KS_MODIFIER;
  128. !         string[2] = 0;
  129. !         if (modifiers & MOUSE_SHIFT)
  130. !         string[2] |= MOD_MASK_SHIFT;
  131. !         if (modifiers & MOUSE_CTRL)
  132. !         string[2] |= MOD_MASK_CTRL;
  133. !         if (modifiers & MOUSE_ALT)
  134. !         string[2] |= MOD_MASK_ALT;
  135. !         add_to_input_buf(string, 6);
  136. !     }
  137. !     return;
  138.       }
  139.   
  140.   #ifdef FEAT_CLIPBOARD
  141. --- 2476,2520 ----
  142.       /*
  143.        * Scrolling may happen at any time, also while a selection is present.
  144.        */
  145. !     switch (button)
  146.       {
  147. !     case MOUSE_X1:
  148. !         button_char = KE_X1MOUSE;
  149. !         goto button_set;
  150. !     case MOUSE_X2:
  151. !         button_char = KE_X2MOUSE;
  152. !         goto button_set;
  153. !     case MOUSE_4:
  154. !         button_char = KE_MOUSEDOWN;
  155. !         goto button_set;
  156. !     case MOUSE_5:
  157. !         button_char = KE_MOUSEUP;
  158. ! button_set:
  159. !         {
  160. !         /* Don't put events in the input queue now. */
  161. !         if (hold_gui_events)
  162. !             return;
  163. !         string[3] = CSI;
  164. !         string[4] = KS_EXTRA;
  165. !         string[5] = button_char;
  166. !         if (modifiers == 0)
  167. !             add_to_input_buf(string + 3, 3);
  168. !         else
  169. !         {
  170. !             string[0] = CSI;
  171. !             string[1] = KS_MODIFIER;
  172. !             string[2] = 0;
  173. !             if (modifiers & MOUSE_SHIFT)
  174. !             string[2] |= MOD_MASK_SHIFT;
  175. !             if (modifiers & MOUSE_CTRL)
  176. !             string[2] |= MOD_MASK_CTRL;
  177. !             if (modifiers & MOUSE_ALT)
  178. !             string[2] |= MOD_MASK_ALT;
  179. !             add_to_input_buf(string, 6);
  180. !         }
  181. !         return;
  182. !         }
  183.       }
  184.   
  185.   #ifdef FEAT_CLIPBOARD
  186. *** ../vim61.183/src/gui_w32.c    Sun Aug  4 20:56:30 2002
  187. --- src/gui_w32.c    Fri Sep  6 21:51:31 2002
  188. ***************
  189. *** 24,29 ****
  190. --- 24,45 ----
  191.    */
  192.   
  193.   /*
  194. +  * These are new in Windows ME/XP, only defined in recent compilers.
  195. +  */
  196. + #ifndef HANDLE_WM_XBUTTONUP
  197. + # define HANDLE_WM_XBUTTONUP(hwnd, wParam, lParam, fn) \
  198. +    ((fn)((hwnd), (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
  199. + #endif
  200. + #ifndef HANDLE_WM_XBUTTONDOWN
  201. + # define HANDLE_WM_XBUTTONDOWN(hwnd, wParam, lParam, fn) \
  202. +    ((fn)((hwnd), FALSE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
  203. + #endif
  204. + #ifndef HANDLE_WM_XBUTTONDBLCLK
  205. + # define HANDLE_WM_XBUTTONDBLCLK(hwnd, wParam, lParam, fn) \
  206. +    ((fn)((hwnd), TRUE, (int)(short)LOWORD(lParam), (int)(short)HIWORD(lParam), (UINT)(wParam)), 0L)
  207. + #endif
  208. + /*
  209.    * Include the common stuff for MS-Windows GUI.
  210.    */
  211.   #include "gui_w48.c"
  212. *** ../vim61.183/src/gui_w48.c    Sun Jun  9 20:34:00 2002
  213. --- src/gui_w48.c    Fri Sep  6 21:49:30 2002
  214. ***************
  215. *** 64,69 ****
  216. --- 64,77 ----
  217.   
  218.   #define DLG_NONBUTTON_CONTROL    5000    /* First ID of non-button controls */
  219.   
  220. + #ifndef WM_XBUTTONDOWN // For Win2K / winME ONLY
  221. + # define WM_XBUTTONDOWN        0x020B
  222. + # define WM_XBUTTONUP        0x020C
  223. + # define WM_XBUTTONDBLCLK    0x020D
  224. + # define MK_XBUTTON1        0x0020
  225. + # define MK_XBUTTON2        0x0040
  226. + #endif
  227.   #ifdef PROTO
  228.   /*
  229.    * Define a few things for generating prototypes.  This is just to avoid
  230. ***************
  231. *** 610,615 ****
  232. --- 618,630 ----
  233.       else if (s_uMsg == WM_RBUTTONDOWN || s_uMsg == WM_RBUTTONDBLCLK)
  234.       button = MOUSE_RIGHT;
  235.   #ifndef WIN16 //<VN>
  236. +     else if (s_uMsg == WM_XBUTTONDOWN || s_uMsg == WM_XBUTTONDBLCLK)
  237. +     {
  238. + #ifndef GET_XBUTTON_WPARAM
  239. + # define GET_XBUTTON_WPARAM(wParam)    (HIWORD(wParam))
  240. + #endif
  241. +     button = ((GET_XBUTTON_WPARAM(s_wParam) == 1) ? MOUSE_X1 : MOUSE_X2);
  242. +     }
  243.       else if (s_uMsg == WM_CAPTURECHANGED)
  244.       {
  245.       /* on W95/NT4, somehow you get in here with an odd Msg
  246. ***************
  247. *** 700,706 ****
  248.        * It's only a MOUSE_DRAG if one or more mouse buttons are being held
  249.        * down.
  250.        */
  251. !     if (!(keyFlags & (MK_LBUTTON | MK_MBUTTON | MK_RBUTTON)))
  252.       {
  253.           gui_mouse_moved(x, y);
  254.           return;
  255. --- 715,722 ----
  256.        * It's only a MOUSE_DRAG if one or more mouse buttons are being held
  257.        * down.
  258.        */
  259. !     if (!(keyFlags & (MK_LBUTTON | MK_MBUTTON | MK_RBUTTON
  260. !                         | MK_XBUTTON1 | MK_XBUTTON2)))
  261.       {
  262.           gui_mouse_moved(x, y);
  263.           return;
  264. ***************
  265. *** 851,856 ****
  266. --- 867,874 ----
  267.       case WM_MBUTTONUP:
  268.       case WM_RBUTTONDOWN:
  269.       case WM_RBUTTONUP:
  270. +     case WM_XBUTTONDOWN:
  271. +     case WM_XBUTTONUP:
  272.       case WM_NCMOUSEMOVE:
  273.       case WM_NCLBUTTONDOWN:
  274.       case WM_NCLBUTTONUP:
  275. ***************
  276. *** 898,903 ****
  277. --- 916,924 ----
  278.       HANDLE_MSG(hwnd, WM_RBUTTONDBLCLK,_OnMouseButtonDown);
  279.       HANDLE_MSG(hwnd, WM_RBUTTONDOWN,_OnMouseButtonDown);
  280.       HANDLE_MSG(hwnd, WM_RBUTTONUP,    _OnMouseMoveOrRelease);
  281. +     HANDLE_MSG(hwnd, WM_XBUTTONDBLCLK,_OnMouseButtonDown);
  282. +     HANDLE_MSG(hwnd, WM_XBUTTONDOWN,_OnMouseButtonDown);
  283. +     HANDLE_MSG(hwnd, WM_XBUTTONUP,    _OnMouseMoveOrRelease);
  284.   
  285.       default:
  286.       return DefWindowProc(hwnd, uMsg, wParam, lParam);
  287. *** ../vim61.183/src/keymap.h    Sat Aug  4 14:47:07 2001
  288. --- src/keymap.h    Thu Sep  5 22:23:14 2002
  289. ***************
  290. *** 228,233 ****
  291. --- 228,240 ----
  292.       , KE_C_RIGHT    /* control-right */
  293.       , KE_C_HOME        /* control-home */
  294.       , KE_C_END        /* control-end */
  295. +     , KE_X1MOUSE    /* X1/X2 mouse-buttons */
  296. +     , KE_X1DRAG
  297. +     , KE_X1RELEASE
  298. +     , KE_X2MOUSE
  299. +     , KE_X2DRAG
  300. +     , KE_X2RELEASE
  301.   };
  302.   
  303.   /*
  304. ***************
  305. *** 258,263 ****
  306. --- 265,276 ----
  307.   #define K_XF3        TERMCAP2KEY(KS_EXTRA, KE_XF3)
  308.   #define K_XF4        TERMCAP2KEY(KS_EXTRA, KE_XF4)
  309.   
  310. + /* extra set of function keys F1-F4, for vt100 compatible xterm */
  311. + #define K_XF1        TERMCAP2KEY(KS_EXTRA, KE_XF1)
  312. + #define K_XF2        TERMCAP2KEY(KS_EXTRA, KE_XF2)
  313. + #define K_XF3        TERMCAP2KEY(KS_EXTRA, KE_XF3)
  314. + #define K_XF4        TERMCAP2KEY(KS_EXTRA, KE_XF4)
  315.   #define K_F1        TERMCAP2KEY('k', '1')    /* function keys */
  316.   #define K_F2        TERMCAP2KEY('k', '2')
  317.   #define K_F3        TERMCAP2KEY('k', '3')
  318. ***************
  319. *** 419,424 ****
  320. --- 432,444 ----
  321.   #define K_RIGHTMOUSE    TERMCAP2KEY(KS_EXTRA, KE_RIGHTMOUSE)
  322.   #define K_RIGHTDRAG    TERMCAP2KEY(KS_EXTRA, KE_RIGHTDRAG)
  323.   #define K_RIGHTRELEASE    TERMCAP2KEY(KS_EXTRA, KE_RIGHTRELEASE)
  324. + #define K_X1MOUSE       TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)
  325. + #define K_X1MOUSE       TERMCAP2KEY(KS_EXTRA, KE_X1MOUSE)
  326. + #define K_X1DRAG    TERMCAP2KEY(KS_EXTRA, KE_X1DRAG)
  327. + #define K_X1RELEASE     TERMCAP2KEY(KS_EXTRA, KE_X1RELEASE)
  328. + #define K_X2MOUSE       TERMCAP2KEY(KS_EXTRA, KE_X2MOUSE)
  329. + #define K_X2DRAG    TERMCAP2KEY(KS_EXTRA, KE_X2DRAG)
  330. + #define K_X2RELEASE     TERMCAP2KEY(KS_EXTRA, KE_X2RELEASE)
  331.   
  332.   #define K_IGNORE    TERMCAP2KEY(KS_EXTRA, KE_IGNORE)
  333.   
  334. *** ../vim61.183/src/message.c    Fri Aug 30 22:25:09 2002
  335. --- src/message.c    Thu Sep  5 22:17:32 2002
  336. ***************
  337. *** 802,808 ****
  338.                       && mouse_row != Rows - 1
  339.                       && (c == K_LEFTMOUSE
  340.                       || c == K_MIDDLEMOUSE
  341. !                     || c == K_RIGHTMOUSE))
  342.   #endif
  343.                   );
  344.       ui_breakcheck();
  345. --- 802,810 ----
  346.                       && mouse_row != Rows - 1
  347.                       && (c == K_LEFTMOUSE
  348.                       || c == K_MIDDLEMOUSE
  349. !                     || c == K_RIGHTMOUSE
  350. !                     || c == K_X1MOUSE
  351. !                     || c == K_X2MOUSE))
  352.   #endif
  353.                   );
  354.       ui_breakcheck();
  355. ***************
  356. *** 810,816 ****
  357.       /*
  358.        * Avoid that the mouse-up event causes visual mode to start.
  359.        */
  360. !     if (c == K_LEFTMOUSE || c == K_MIDDLEMOUSE || c == K_RIGHTMOUSE)
  361.           (void)jump_to_mouse(MOUSE_SETPOS, NULL, 0);
  362.       else
  363.   #endif
  364. --- 812,818 ----
  365.       /*
  366.        * Avoid that the mouse-up event causes visual mode to start.
  367.        */
  368. !     if (c == K_LEFTMOUSE || c == K_MIDDLEMOUSE || c == K_RIGHTMOUSE || c== K_X1MOUSE || c == K_X2MOUSE)
  369.           (void)jump_to_mouse(MOUSE_SETPOS, NULL, 0);
  370.       else
  371.   #endif
  372. *** ../vim61.183/src/misc1.c    Fri Aug 30 22:36:15 2002
  373. --- src/misc1.c    Thu Sep  5 22:21:17 2002
  374. ***************
  375. *** 2599,2604 ****
  376. --- 2599,2610 ----
  377.               || n == K_RIGHTRELEASE
  378.               || n == K_MOUSEDOWN
  379.               || n == K_MOUSEUP
  380. +             || n == K_X1MOUSE
  381. +             || n == K_X1DRAG
  382. +             || n == K_X1RELEASE
  383. +             || n == K_X2MOUSE
  384. +             || n == K_X2DRAG
  385. +             || n == K_X2RELEASE
  386.   # ifdef FEAT_GUI
  387.               || n == K_VER_SCROLLBAR
  388.               || n == K_HOR_SCROLLBAR
  389. *** ../vim61.183/src/misc2.c    Sun Jul 21 20:30:31 2002
  390. --- src/misc2.c    Thu Sep  5 22:23:46 2002
  391. ***************
  392. *** 1870,1875 ****
  393. --- 1870,1881 ----
  394.       {K_RIGHTRELEASE,    (char_u *)"RightRelease"},
  395.       {K_MOUSEDOWN,    (char_u *)"MouseDown"},
  396.       {K_MOUSEUP,        (char_u *)"MouseUp"},
  397. +     {K_X1MOUSE,        (char_u *)"X1Mouse"},
  398. +     {K_X1DRAG,        (char_u *)"X1Drag"},
  399. +     {K_X1RELEASE,        (char_u *)"X1Release"},
  400. +     {K_X2MOUSE,        (char_u *)"X2Mouse"},
  401. +     {K_X2DRAG,        (char_u *)"X2Drag"},
  402. +     {K_X2RELEASE,        (char_u *)"X2Release"},
  403.       {K_ZERO,        (char_u *)"Nul"},
  404.   #ifdef FEAT_EVAL
  405.       {K_SNR,        (char_u *)"SNR"},
  406. ***************
  407. *** 1904,1909 ****
  408. --- 1910,1921 ----
  409.       {(int)KE_RIGHTMOUSE,    MOUSE_RIGHT,    TRUE,    FALSE},
  410.       {(int)KE_RIGHTDRAG,        MOUSE_RIGHT,    FALSE,    TRUE},
  411.       {(int)KE_RIGHTRELEASE,    MOUSE_RIGHT,    FALSE,    FALSE},
  412. +     {(int)KE_X1MOUSE,        MOUSE_X1,    TRUE,    FALSE},
  413. +     {(int)KE_X1DRAG,        MOUSE_X1,    FALSE,    TRUE},
  414. +     {(int)KE_X1RELEASE,        MOUSE_X1,    FALSE,    FALSE},
  415. +     {(int)KE_X2MOUSE,        MOUSE_X2,    TRUE,    FALSE},
  416. +     {(int)KE_X2DRAG,        MOUSE_X2,    FALSE,    TRUE},
  417. +     {(int)KE_X2RELEASE,        MOUSE_X2,    FALSE,    FALSE},
  418.       /* DRAG without CLICK */
  419.       {(int)KE_IGNORE,        MOUSE_RELEASE,    FALSE,    TRUE},
  420.       /* RELEASE without CLICK */
  421. *** ../vim61.183/src/normal.c    Sat Sep 14 17:08:10 2002
  422. --- src/normal.c    Fri Sep  6 21:43:53 2002
  423. ***************
  424. *** 358,363 ****
  425. --- 358,369 ----
  426.       {K_RIGHTMOUSE, nv_mouse,    0,            0},
  427.       {K_RIGHTDRAG, nv_mouse,    0,            0},
  428.       {K_RIGHTRELEASE, nv_mouse,    0,            0},
  429. +     {K_X1MOUSE, nv_mouse,    0,            0},
  430. +     {K_X1DRAG, nv_mouse,    0,            0},
  431. +     {K_X1RELEASE, nv_mouse,    0,            0},
  432. +     {K_X2MOUSE, nv_mouse,    0,            0},
  433. +     {K_X2DRAG, nv_mouse,    0,            0},
  434. +     {K_X2RELEASE, nv_mouse,    0,            0},
  435.   #endif
  436.       {K_IGNORE,    nv_ignore,    0,            0},
  437.       {K_INS,    nv_edit,    0,            0},
  438. ***************
  439. *** 3304,3309 ****
  440. --- 3310,3316 ----
  441.       K_MIDDLEMOUSE, K_MIDDLEDRAG, K_MIDDLERELEASE,
  442.       K_RIGHTMOUSE, K_RIGHTDRAG, K_RIGHTRELEASE,
  443.       K_MOUSEDOWN, K_MOUSEUP,
  444. +     K_X1MOUSE, K_X1DRAG, K_X1RELEASE, K_X2MOUSE, K_X2DRAG, K_X2RELEASE,
  445.       0
  446.       };
  447.   #endif
  448. ***************
  449. *** 7081,7086 ****
  450. --- 7088,7099 ----
  451.       case K_RIGHTMOUSE:
  452.       case K_RIGHTDRAG:
  453.       case K_RIGHTRELEASE:
  454. +     case K_X1MOUSE:
  455. +     case K_X1DRAG:
  456. +     case K_X1RELEASE:
  457. +     case K_X2MOUSE:
  458. +     case K_X2DRAG:
  459. +     case K_X2RELEASE:
  460.       mod_mask = MOD_MASK_CTRL;
  461.       (void)do_mouse(oap, cap->nchar, BACKWARD, cap->count1, 0);
  462.       break;
  463. *** ../vim61.183/src/vim.h    Sun Jul 28 22:02:42 2002
  464. --- src/vim.h    Thu Sep  5 22:24:39 2002
  465. ***************
  466. *** 1344,1349 ****
  467. --- 1344,1352 ----
  468.   # define MOUSE_4    0x100    /* scroll wheel down */
  469.   # define MOUSE_5    0x200    /* scroll wheel up */
  470.   
  471. + # define MOUSE_X1    0x300 /* Mouse-button X1 (6th) */
  472. + # define MOUSE_X2    0x400 /* Mouse-button X2 */
  473.   /* 0x20 is reserved by xterm */
  474.   # define MOUSE_DRAG_XTERM   0x40
  475.   
  476. *** ../vim61.183/src/version.c    Mon Sep 16 21:53:32 2002
  477. --- src/version.c    Mon Sep 16 21:55:54 2002
  478. ***************
  479. *** 608,609 ****
  480. --- 608,611 ----
  481.   {   /* Add new patch number below this line */
  482. + /**/
  483. +     184,
  484.   /**/
  485.  
  486. -- 
  487. Our job was to build a computer information system for the branch banks.  We
  488. were the perfect people for the job: Dean had seen a computer once, and I had
  489. heard Dean talk about it.
  490.                 (Scott Adams - The Dilbert principle)
  491.  
  492.  ///  Bram Moolenaar -- Bram@moolenaar.net -- http://www.moolenaar.net  \\\
  493. ///          Creator of Vim - Vi IMproved -- http://www.vim.org          \\\
  494. \\\           Project leader for A-A-P -- http://www.a-a-p.org           ///
  495.  \\\ Lord Of The Rings helps Uganda - http://iccf-holland.org/lotr.html ///
  496.