summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1265
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1265')
-rw-r--r--data/vim/patches/8.1.1265291
1 files changed, 291 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1265 b/data/vim/patches/8.1.1265
new file mode 100644
index 000000000..9276311a0
--- /dev/null
+++ b/data/vim/patches/8.1.1265
@@ -0,0 +1,291 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.1265
+Fcc: outbox
+From: Bram Moolenaar <Bram@moolenaar.net>
+Mime-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+------------
+
+Patch 8.1.1265
+Problem: When GPM mouse support is enabled double clicks in xterm do not
+ work.
+Solution: Use KS_GPM_MOUSE for GPM mouse events.
+Files: src/term.c, src/os_unix.c, src/keymap.h
+
+
+*** ../vim-8.1.1264/src/term.c 2019-05-03 21:10:32.261521512 +0200
+--- src/term.c 2019-05-04 16:45:00.727934730 +0200
+***************
+*** 4396,4404 ****
+ # endif
+ #endif
+ int cpo_koffset;
+- #ifdef FEAT_MOUSE_GPM
+- extern int gpm_flag; /* gpm library variable */
+- #endif
+
+ cpo_koffset = (vim_strchr(p_cpo, CPO_KOFFSET) != NULL);
+
+--- 4396,4401 ----
+***************
+*** 5122,5127 ****
+--- 5119,5127 ----
+ * If it is a mouse click, get the coordinates.
+ */
+ if (key_name[0] == KS_MOUSE
++ # ifdef FEAT_MOUSE_GPM
++ || key_name[0] == KS_GPM_MOUSE
++ # endif
+ # ifdef FEAT_MOUSE_JSB
+ || key_name[0] == KS_JSBTERM_MOUSE
+ # endif
+***************
+*** 5144,5150 ****
+
+ # if !defined(UNIX) || defined(FEAT_MOUSE_XTERM) || defined(FEAT_GUI) \
+ || defined(FEAT_MOUSE_GPM) || defined(FEAT_SYSMOUSE)
+! if (key_name[0] == (int)KS_MOUSE)
+ {
+ /*
+ * For xterm we get "<t_mouse>scr", where
+--- 5144,5154 ----
+
+ # if !defined(UNIX) || defined(FEAT_MOUSE_XTERM) || defined(FEAT_GUI) \
+ || defined(FEAT_MOUSE_GPM) || defined(FEAT_SYSMOUSE)
+! if (key_name[0] == KS_MOUSE
+! # ifdef FEAT_MOUSE_GPM
+! || key_name[0] == KS_GPM_MOUSE
+! # endif
+! )
+ {
+ /*
+ * For xterm we get "<t_mouse>scr", where
+***************
+*** 5274,5282 ****
+ modifiers = 0;
+ }
+
+! if (key_name[0] == (int)KS_MOUSE
+ # ifdef FEAT_MOUSE_URXVT
+! || key_name[0] == (int)KS_URXVT_MOUSE
+ # endif
+ || key_name[0] == KS_SGR_MOUSE
+ || key_name[0] == KS_SGR_MOUSE_RELEASE)
+--- 5278,5289 ----
+ modifiers = 0;
+ }
+
+! if (key_name[0] == KS_MOUSE
+! # ifdef FEAT_MOUSE_GPM
+! || key_name[0] == KS_GPM_MOUSE
+! # endif
+ # ifdef FEAT_MOUSE_URXVT
+! || key_name[0] == KS_URXVT_MOUSE
+ # endif
+ || key_name[0] == KS_SGR_MOUSE
+ || key_name[0] == KS_SGR_MOUSE_RELEASE)
+***************
+*** 5293,5299 ****
+ && !gui.in_use
+ # endif
+ # ifdef FEAT_MOUSE_GPM
+! && gpm_flag == 0
+ # endif
+ )
+ {
+--- 5300,5306 ----
+ && !gui.in_use
+ # endif
+ # ifdef FEAT_MOUSE_GPM
+! && key_name[0] != KS_GPM_MOUSE
+ # endif
+ )
+ {
+***************
+*** 5342,5348 ****
+ }
+ # endif /* !UNIX || FEAT_MOUSE_XTERM */
+ # ifdef FEAT_MOUSE_NET
+! if (key_name[0] == (int)KS_NETTERM_MOUSE)
+ {
+ int mc, mr;
+
+--- 5349,5355 ----
+ }
+ # endif /* !UNIX || FEAT_MOUSE_XTERM */
+ # ifdef FEAT_MOUSE_NET
+! if (key_name[0] == KS_NETTERM_MOUSE)
+ {
+ int mc, mr;
+
+***************
+*** 5365,5371 ****
+ }
+ # endif /* FEAT_MOUSE_NET */
+ # ifdef FEAT_MOUSE_JSB
+! if (key_name[0] == (int)KS_JSBTERM_MOUSE)
+ {
+ int mult, val, iter, button, status;
+
+--- 5372,5378 ----
+ }
+ # endif /* FEAT_MOUSE_NET */
+ # ifdef FEAT_MOUSE_JSB
+! if (key_name[0] == KS_JSBTERM_MOUSE)
+ {
+ int mult, val, iter, button, status;
+
+***************
+*** 5489,5495 ****
+ }
+ # endif /* FEAT_MOUSE_JSB */
+ # ifdef FEAT_MOUSE_DEC
+! if (key_name[0] == (int)KS_DEC_MOUSE)
+ {
+ /* The DEC Locator Input Model
+ * Netterm delivers the code sequence:
+--- 5496,5502 ----
+ }
+ # endif /* FEAT_MOUSE_JSB */
+ # ifdef FEAT_MOUSE_DEC
+! if (key_name[0] == KS_DEC_MOUSE)
+ {
+ /* The DEC Locator Input Model
+ * Netterm delivers the code sequence:
+***************
+*** 5624,5630 ****
+ }
+ # endif /* FEAT_MOUSE_DEC */
+ # ifdef FEAT_MOUSE_PTERM
+! if (key_name[0] == (int)KS_PTERM_MOUSE)
+ {
+ int button, num_clicks, action;
+
+--- 5631,5637 ----
+ }
+ # endif /* FEAT_MOUSE_DEC */
+ # ifdef FEAT_MOUSE_PTERM
+! if (key_name[0] == KS_PTERM_MOUSE)
+ {
+ int button, num_clicks, action;
+
+***************
+*** 5705,5718 ****
+ {
+ # ifdef CHECK_DOUBLE_CLICK
+ # ifdef FEAT_MOUSE_GPM
+- # ifdef FEAT_GUI
+ /*
+! * Only for Unix, when GUI or gpm is not active, we handle
+! * multi-clicks here.
+ */
+! if (gpm_flag == 0 && !gui.in_use)
+ # else
+! if (gpm_flag == 0)
+ # endif
+ # else
+ # ifdef FEAT_GUI
+--- 5712,5725 ----
+ {
+ # ifdef CHECK_DOUBLE_CLICK
+ # ifdef FEAT_MOUSE_GPM
+ /*
+! * Only for Unix, when GUI not active, we handle
+! * multi-clicks here, but not for GPM mouse events.
+ */
+! # ifdef FEAT_GUI
+! if (key_name[0] != KS_GPM_MOUSE && !gui.in_use)
+ # else
+! if (key_name[0] != KS_GPM_MOUSE)
+ # endif
+ # else
+ # ifdef FEAT_GUI
+***************
+*** 5800,5806 ****
+
+ /* Work out our pseudo mouse event. Note that MOUSE_RELEASE gets
+ * added, then it's not mouse up/down. */
+! key_name[0] = (int)KS_EXTRA;
+ if (wheel_code != 0
+ && (wheel_code & MOUSE_RELEASE) != MOUSE_RELEASE)
+ {
+--- 5807,5813 ----
+
+ /* Work out our pseudo mouse event. Note that MOUSE_RELEASE gets
+ * added, then it's not mouse up/down. */
+! key_name[0] = KS_EXTRA;
+ if (wheel_code != 0
+ && (wheel_code & MOUSE_RELEASE) != MOUSE_RELEASE)
+ {
+*** ../vim-8.1.1264/src/os_unix.c 2019-05-03 23:15:34.048180407 +0200
+--- src/os_unix.c 2019-05-04 16:33:38.907403683 +0200
+***************
+*** 3794,3800 ****
+ && !gui.in_use
+ # endif
+ )
+! set_mouse_termcode(KS_MOUSE, (char_u *)IF_EB("\033MG", ESC_STR "MG"));
+ # endif
+
+ # ifdef FEAT_SYSMOUSE
+--- 3794,3803 ----
+ && !gui.in_use
+ # endif
+ )
+! set_mouse_termcode(KS_GPM_MOUSE,
+! (char_u *)IF_EB("\033MG", ESC_STR "MG"));
+! else
+! del_mouse_termcode(KS_GPM_MOUSE);
+ # endif
+
+ # ifdef FEAT_SYSMOUSE
+***************
+*** 7065,7071 ****
+ Gpm_Close();
+ }
+
+! /* Reads gpm event and adds special keys to input buf. Returns length of
+ * generated key sequence.
+ * This function is styled after gui_send_mouse_event().
+ */
+--- 7068,7075 ----
+ Gpm_Close();
+ }
+
+! /*
+! * Reads gpm event and adds special keys to input buf. Returns length of
+ * generated key sequence.
+ * This function is styled after gui_send_mouse_event().
+ */
+*** ../vim-8.1.1264/src/keymap.h 2018-05-01 18:40:08.000000000 +0200
+--- src/keymap.h 2019-05-04 16:32:53.487632660 +0200
+***************
+*** 114,119 ****
+--- 114,122 ----
+ #define KS_SGR_MOUSE 237
+ #define KS_SGR_MOUSE_RELEASE 236
+
++ /* Used for the GPM mouse. */
++ #define KS_GPM_MOUSE 235
++
+ /*
+ * Filler used after KS_SPECIAL and others
+ */
+*** ../vim-8.1.1264/src/version.c 2019-05-04 16:55:15.786921815 +0200
+--- src/version.c 2019-05-04 16:57:04.670178629 +0200
+***************
+*** 769,770 ****
+--- 769,772 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1265,
+ /**/
+
+--
+Veni, Vidi, VW -- I came, I saw, I drove around in a little car.
+
+ /// 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 ///