summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1165
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1165')
-rw-r--r--data/vim/patches/8.1.1165173
1 files changed, 173 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1165 b/data/vim/patches/8.1.1165
new file mode 100644
index 000000000..8e575bd06
--- /dev/null
+++ b/data/vim/patches/8.1.1165
@@ -0,0 +1,173 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.1165
+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.1165
+Problem: No test for mouse clicks in the terminal tabpage line.
+Solution: Add a test. (Dominique Pelle, closes #4247). Also init
+ TabPageIdxs[], in case it's used before a redraw.
+Files: src/screen.c, src/testdir/test_termcodes.vim
+
+
+*** ../vim-8.1.1164/src/screen.c 2019-04-04 13:28:41.201589932 +0200
+--- src/screen.c 2019-04-13 14:47:58.600353953 +0200
+***************
+*** 8639,8644 ****
+--- 8639,8656 ----
+ }
+
+ /*
++ * Init TabPageIdxs[] to zero: Clicking outside of tabs has no effect.
++ */
++ static void
++ clear_TabPageIdxs(void)
++ {
++ int scol;
++
++ for (scol = 0; scol < Columns; ++scol)
++ TabPageIdxs[scol] = 0;
++ }
++
++ /*
+ * screen_valid - allocate screen buffers if size changed
+ * If "doclear" is TRUE: clear screen if it has been resized.
+ * Returns TRUE if there is a valid screen to write to.
+***************
+*** 8899,8905 ****
+ must_redraw = CLEAR; /* need to clear the screen later */
+ if (doclear)
+ screenclear2();
+-
+ #ifdef FEAT_GUI
+ else if (gui.in_use
+ && !gui.starting
+--- 8911,8916 ----
+***************
+*** 8919,8924 ****
+--- 8930,8936 ----
+ msg_col = Columns - 1; /* put cursor at last column */
+ }
+ #endif
++ clear_TabPageIdxs();
+
+ entered = FALSE;
+ --RedrawingDisabled;
+***************
+*** 10435,10444 ****
+ return;
+
+ #if defined(FEAT_STL_OPT)
+!
+! /* Init TabPageIdxs[] to zero: Clicking outside of tabs has no effect. */
+! for (scol = 0; scol < Columns; ++scol)
+! TabPageIdxs[scol] = 0;
+
+ /* Use the 'tabline' option if it's set. */
+ if (*p_tal != NUL)
+--- 10447,10453 ----
+ return;
+
+ #if defined(FEAT_STL_OPT)
+! clear_TabPageIdxs();
+
+ /* Use the 'tabline' option if it's set. */
+ if (*p_tal != NUL)
+*** ../vim-8.1.1164/src/testdir/test_termcodes.vim 2019-04-12 21:42:48.692539315 +0200
+--- src/testdir/test_termcodes.vim 2019-04-13 14:50:27.563448008 +0200
+***************
+*** 165,171 ****
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
+! set mouse=a term=xterm
+
+ for ttymouse_val in ['xterm', 'sgr']
+ exe 'set ttymouse=' . ttymouse_val
+--- 165,172 ----
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
+! let save_laststatus = &laststatus
+! set mouse=a term=xterm laststatus=2
+
+ for ttymouse_val in ['xterm', 'sgr']
+ exe 'set ttymouse=' . ttymouse_val
+***************
+*** 195,200 ****
+--- 196,248 ----
+ endfor
+
+ let &mouse = save_mouse
++ let &term = save_term
++ let &ttymouse = save_ttymouse
++ let &laststatus = save_laststatus
++ endfunc
++
++ func Test_xterm_mouse_click_tab()
++ let save_mouse = &mouse
++ let save_term = &term
++ let save_ttymouse = &ttymouse
++ set mouse=a term=xterm
++ let row = 1
++
++ for ttymouse_val in ['xterm', 'sgr']
++ exe 'set ttymouse=' . ttymouse_val
++ e Xfoo
++ tabnew Xbar
++
++ let a = split(execute(':tabs'), "\n")
++ call assert_equal(['Tab page 1',
++ \ ' Xfoo',
++ \ 'Tab page 2',
++ \ '> Xbar'], a)
++
++ " Test clicking on tab names in the tabline at the top.
++ let col = 2
++ redraw!
++ call MouseLeftClick(row, col)
++ call MouseLeftRelease(row, col)
++ let a = split(execute(':tabs'), "\n")
++ call assert_equal(['Tab page 1',
++ \ '> Xfoo',
++ \ 'Tab page 2',
++ \ ' Xbar'], a)
++
++ let col = 9
++ call MouseLeftClick(row, col)
++ call MouseLeftRelease(row, col)
++ let a = split(execute(':tabs'), "\n")
++ call assert_equal(['Tab page 1',
++ \ ' Xfoo',
++ \ 'Tab page 2',
++ \ '> Xbar'], a)
++
++ %bwipe!
++ endfor
++
++ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
+ endfunc
+*** ../vim-8.1.1164/src/version.c 2019-04-13 14:21:15.846609628 +0200
+--- src/version.c 2019-04-13 14:52:28.490713831 +0200
+***************
+*** 773,774 ****
+--- 773,776 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1165,
+ /**/
+
+--
+hundred-and-one symptoms of being an internet addict:
+10E. You start counting in hex.
+
+ /// 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 ///