summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.1248
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.1248')
-rw-r--r--data/vim/patches/8.1.1248647
1 files changed, 647 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.1248 b/data/vim/patches/8.1.1248
new file mode 100644
index 000000000..305a98b87
--- /dev/null
+++ b/data/vim/patches/8.1.1248
@@ -0,0 +1,647 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.1248
+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.1248
+Problem: No test for dec mouse.
+Solution: Add some tests for dec mouse. Add "no_query_mouse".
+Files: src/evalfunc.c, src/globals.h, src/os_unix.c,
+ src/testdir/test_termcodes.vim, runtime/doc/eval.txt
+
+
+*** ../vim-8.1.1247/src/evalfunc.c 2019-04-28 19:46:17.022060143 +0200
+--- src/evalfunc.c 2019-05-02 22:23:44.186970564 +0200
+***************
+*** 14302,14313 ****
+--- 14302,14316 ----
+ }
+ else if (STRCMP(name, (char_u *)"nfa_fail") == 0)
+ nfa_fail_for_testing = val;
++ else if (STRCMP(name, (char_u *)"no_query_mouse") == 0)
++ no_query_mouse_for_testing = val;
+ else if (STRCMP(name, (char_u *)"ALL") == 0)
+ {
+ disable_char_avail_for_testing = FALSE;
+ disable_redraw_for_testing = FALSE;
+ ignore_redraw_flag_for_testing = FALSE;
+ nfa_fail_for_testing = FALSE;
++ no_query_mouse_for_testing = FALSE;
+ if (save_starting >= 0)
+ {
+ starting = save_starting;
+*** ../vim-8.1.1247/src/globals.h 2019-04-28 22:25:03.240480046 +0200
+--- src/globals.h 2019-05-02 22:24:08.050849053 +0200
+***************
+*** 1613,1623 ****
+ /* set by alloc_fail(), number of times alloc() returns NULL */
+ EXTERN int alloc_fail_repeat INIT(= 0);
+
+! /* flags set by test_override() */
+ EXTERN int disable_char_avail_for_testing INIT(= FALSE);
+ EXTERN int disable_redraw_for_testing INIT(= FALSE);
+ EXTERN int ignore_redraw_flag_for_testing INIT(= FALSE);
+ EXTERN int nfa_fail_for_testing INIT(= FALSE);
+
+ EXTERN int in_free_unref_items INIT(= FALSE);
+ #endif
+--- 1613,1624 ----
+ /* set by alloc_fail(), number of times alloc() returns NULL */
+ EXTERN int alloc_fail_repeat INIT(= 0);
+
+! // flags set by test_override()
+ EXTERN int disable_char_avail_for_testing INIT(= FALSE);
+ EXTERN int disable_redraw_for_testing INIT(= FALSE);
+ EXTERN int ignore_redraw_flag_for_testing INIT(= FALSE);
+ EXTERN int nfa_fail_for_testing INIT(= FALSE);
++ EXTERN int no_query_mouse_for_testing INIT(= FALSE);
+
+ EXTERN int in_free_unref_items INIT(= FALSE);
+ #endif
+*** ../vim-8.1.1247/src/os_unix.c 2019-04-28 22:50:36.157248454 +0200
+--- src/os_unix.c 2019-05-02 22:24:41.454678795 +0200
+***************
+*** 5940,5946 ****
+ if (WantQueryMouse)
+ {
+ WantQueryMouse = FALSE;
+! mch_write((char_u *)IF_EB("\033[1'|", ESC_STR "[1'|"), 5);
+ }
+ #endif
+
+--- 5940,5947 ----
+ if (WantQueryMouse)
+ {
+ WantQueryMouse = FALSE;
+! if (!no_query_mouse_for_testing)
+! mch_write((char_u *)IF_EB("\033[1'|", ESC_STR "[1'|"), 5);
+ }
+ #endif
+
+*** ../vim-8.1.1247/src/testdir/test_termcodes.vim 2019-05-02 21:12:15.800625684 +0200
+--- src/testdir/test_termcodes.vim 2019-05-02 22:56:32.436832987 +0200
+***************
+*** 8,16 ****
+ source shared.vim
+
+ " xterm2 and sgr always work, urxvt is optional.
+! let s:test_ttymouse = ['xterm2', 'sgr']
+ if has('mouse_urxvt')
+! call add(s:test_ttymouse, 'urxvt')
+ endif
+
+ " Helper function to emit a terminal escape code.
+--- 8,23 ----
+ source shared.vim
+
+ " xterm2 and sgr always work, urxvt is optional.
+! let s:ttymouse_values = ['xterm2', 'sgr']
+ if has('mouse_urxvt')
+! call add(s:ttymouse_values, 'urxvt')
+! endif
+!
+! " dec doesn't support all the functionality
+! if has('mouse_dec')
+! let s:ttymouse_dec = ['dec']
+! else
+! let s:ttymouse_dec = []
+ endif
+
+ " Helper function to emit a terminal escape code.
+***************
+*** 32,43 ****
+ endif
+ endfunc
+
+ func MouseLeftClick(row, col)
+! call TerminalEscapeCode(0, a:row, a:col, 'M')
+ endfunc
+
+ func MouseMiddleClick(row, col)
+! call TerminalEscapeCode(1, a:row, a:col, 'M')
+ endfunc
+
+ func MouseCtrlLeftClick(row, col)
+--- 39,62 ----
+ endif
+ endfunc
+
++ func DecEscapeCode(code, down, row, col)
++ call feedkeys(printf("\<Esc>[%d;%d;%d;%d&w", a:code, a:down, a:row, a:col), 'Lx!')
++ endfunc
++
+ func MouseLeftClick(row, col)
+! if &ttymouse ==# 'dec'
+! call DecEscapeCode(2, 4, a:row, a:col)
+! else
+! call TerminalEscapeCode(0, a:row, a:col, 'M')
+! endif
+ endfunc
+
+ func MouseMiddleClick(row, col)
+! if &ttymouse ==# 'dec'
+! call DecEscapeCode(4, 2, a:row, a:col)
+! else
+! call TerminalEscapeCode(1, a:row, a:col, 'M')
+! endif
+ endfunc
+
+ func MouseCtrlLeftClick(row, col)
+***************
+*** 51,61 ****
+ endfunc
+
+ func MouseLeftRelease(row, col)
+! call TerminalEscapeCode(3, a:row, a:col, 'm')
+ endfunc
+
+ func MouseMiddleRelease(row, col)
+! call TerminalEscapeCode(3, a:row, a:col, 'm')
+ endfunc
+
+ func MouseRightRelease(row, col)
+--- 70,88 ----
+ endfunc
+
+ func MouseLeftRelease(row, col)
+! if &ttymouse ==# 'dec'
+! call DecEscapeCode(3, 0, a:row, a:col)
+! else
+! call TerminalEscapeCode(3, a:row, a:col, 'm')
+! endif
+ endfunc
+
+ func MouseMiddleRelease(row, col)
+! if &ttymouse ==# 'dec'
+! call DecEscapeCode(5, 0, a:row, a:col)
+! else
+! call TerminalEscapeCode(3, a:row, a:col, 'm')
+! endif
+ endfunc
+
+ func MouseRightRelease(row, col)
+***************
+*** 63,69 ****
+ endfunc
+
+ func MouseLeftDrag(row, col)
+! call TerminalEscapeCode(0x20, a:row, a:col, 'M')
+ endfunc
+
+ func MouseWheelUp(row, col)
+--- 90,100 ----
+ endfunc
+
+ func MouseLeftDrag(row, col)
+! if &ttymouse ==# 'dec'
+! call DecEscapeCode(1, 4, a:row, a:col)
+! else
+! call TerminalEscapeCode(0x20, a:row, a:col, 'M')
+! endif
+ endfunc
+
+ func MouseWheelUp(row, col)
+***************
+*** 74,88 ****
+ call TerminalEscapeCode(0x41, a:row, a:col, 'M')
+ endfunc
+
+! func Test_xterm_mouse_left_click()
+ new
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
+ set mouse=a term=xterm
+ call setline(1, ['line 1', 'line 2', 'line 3 is a bit longer'])
+
+! for ttymouse_val in s:test_ttymouse
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ go
+--- 105,120 ----
+ call TerminalEscapeCode(0x41, a:row, a:col, 'M')
+ endfunc
+
+! func Test_term_mouse_left_click()
+ new
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
++ call test_override('no_query_mouse', 1)
+ set mouse=a term=xterm
+ call setline(1, ['line 1', 'line 2', 'line 3 is a bit longer'])
+
+! for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ go
+***************
+*** 97,102 ****
+--- 129,135 ----
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
++ call test_override('no_query_mouse', 0)
+ bwipe!
+ endfunc
+
+***************
+*** 107,113 ****
+ let save_ttymouse = &ttymouse
+ set mouse=a term=xterm
+
+! for ttymouse_val in s:test_ttymouse
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ help
+--- 140,146 ----
+ let save_ttymouse = &ttymouse
+ set mouse=a term=xterm
+
+! for ttymouse_val in s:ttymouse_values
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ help
+***************
+*** 121,127 ****
+ call assert_equal('*usr_02.txt*', expand('<cWORD>'))
+
+ call MouseCtrlRightClick(row, col)
+! call MouseLeftRelease(row, col)
+ call assert_match('help.txt$', bufname('%'), msg)
+ call assert_equal('|usr_02.txt|', expand('<cWORD>'))
+
+--- 154,160 ----
+ call assert_equal('*usr_02.txt*', expand('<cWORD>'))
+
+ call MouseCtrlRightClick(row, col)
+! call MouseRightRelease(row, col)
+ call assert_match('help.txt$', bufname('%'), msg)
+ call assert_equal('|usr_02.txt|', expand('<cWORD>'))
+
+***************
+*** 133,139 ****
+ let &ttymouse = save_ttymouse
+ endfunc
+
+! func Test_xterm_mouse_middle_click()
+ if !WorkingClipboard()
+ throw 'Skipped: No working clipboard'
+ endif
+--- 166,172 ----
+ let &ttymouse = save_ttymouse
+ endfunc
+
+! func Test_term_mouse_middle_click()
+ if !WorkingClipboard()
+ throw 'Skipped: No working clipboard'
+ endif
+***************
+*** 142,152 ****
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
+ let save_quotestar = @*
+ let @* = 'abc'
+ set mouse=a term=xterm
+
+! for ttymouse_val in s:test_ttymouse
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ call setline(1, ['123456789', '123456789'])
+--- 175,186 ----
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
++ call test_override('no_query_mouse', 1)
+ let save_quotestar = @*
+ let @* = 'abc'
+ set mouse=a term=xterm
+
+! for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ call setline(1, ['123456789', '123456789'])
+***************
+*** 175,185 ****
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
+ let @* = save_quotestar
+ bwipe!
+ endfunc
+
+! func Test_xterm_mouse_wheel()
+ new
+ let save_mouse = &mouse
+ let save_term = &term
+--- 209,222 ----
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
++ call test_override('no_query_mouse', 0)
+ let @* = save_quotestar
+ bwipe!
+ endfunc
+
+! " TODO: for unclear reasons this test fails if it comes after
+! " Test_xterm_mouse_ctrl_click()
+! func Test_1xterm_mouse_wheel()
+ new
+ let save_mouse = &mouse
+ let save_term = &term
+***************
+*** 187,193 ****
+ set mouse=a term=xterm
+ call setline(1, range(1, 100))
+
+! for ttymouse_val in s:test_ttymouse
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ go
+--- 224,230 ----
+ set mouse=a term=xterm
+ call setline(1, range(1, 100))
+
+! for ttymouse_val in s:ttymouse_values
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ go
+***************
+*** 217,229 ****
+ bwipe!
+ endfunc
+
+! func Test_xterm_mouse_drag_window_separator()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
+ set mouse=a term=xterm
+
+! for ttymouse_val in s:test_ttymouse
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+
+--- 254,267 ----
+ bwipe!
+ endfunc
+
+! func Test_term_mouse_drag_window_separator()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
++ call test_override('no_query_mouse', 1)
+ set mouse=a term=xterm
+
+! for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+
+***************
+*** 271,286 ****
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
+ endfunc
+
+! func Test_xterm_mouse_drag_statusline()
+ 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 s:test_ttymouse
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+
+--- 309,326 ----
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
++ call test_override('no_query_mouse', 0)
+ endfunc
+
+! func Test_term_mouse_drag_statusline()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
++ call test_override('no_query_mouse', 1)
+ let save_laststatus = &laststatus
+ set mouse=a term=xterm laststatus=2
+
+! for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+
+***************
+*** 311,327 ****
+ 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 s:test_ttymouse
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ e Xfoo
+--- 351,369 ----
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
++ call test_override('no_query_mouse', 0)
+ let &laststatus = save_laststatus
+ endfunc
+
+! func Test_term_mouse_click_tab()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
++ call test_override('no_query_mouse', 1)
+ set mouse=a term=xterm
+ let row = 1
+
+! for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ e Xfoo
+***************
+*** 359,375 ****
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
+ endfunc
+
+! func Test_xterm_mouse_click_X_to_close_tab()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
+ set mouse=a term=xterm
+ let row = 1
+ let col = &columns
+
+! for ttymouse_val in s:test_ttymouse
+ if ttymouse_val ==# 'xterm2' && col > 223
+ " When 'ttymouse' is 'xterm2', row/col bigger than 223 are not supported.
+ continue
+--- 401,419 ----
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
++ call test_override('no_query_mouse', 0)
+ endfunc
+
+! func Test_term_mouse_click_X_to_close_tab()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
++ call test_override('no_query_mouse', 1)
+ set mouse=a term=xterm
+ let row = 1
+ let col = &columns
+
+! for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
+ if ttymouse_val ==# 'xterm2' && col > 223
+ " When 'ttymouse' is 'xterm2', row/col bigger than 223 are not supported.
+ continue
+***************
+*** 405,421 ****
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
+ endfunc
+
+! func Test_xterm_mouse_drag_to_move_tab()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
+ " Set 'mousetime' to 1 to avoid recognizing a double-click in the loop
+ set mouse=a term=xterm mousetime=1
+ let row = 1
+
+! for ttymouse_val in s:test_ttymouse
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ e Xtab1
+--- 449,467 ----
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
++ call test_override('no_query_mouse', 0)
+ endfunc
+
+! func Test_term_mouse_drag_to_move_tab()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
++ call test_override('no_query_mouse', 1)
+ " Set 'mousetime' to 1 to avoid recognizing a double-click in the loop
+ set mouse=a term=xterm mousetime=1
+ let row = 1
+
+! for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ e Xtab1
+***************
+*** 451,463 ****
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
+ set mousetime&
+ endfunc
+
+! func Test_xterm_mouse_double_click_to_create_tab()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
+ " Set 'mousetime' to a small value, so that double-click works but we don't
+ " have to wait long to avoid a triple-click.
+ set mouse=a term=xterm mousetime=100
+--- 497,511 ----
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
++ call test_override('no_query_mouse', 0)
+ set mousetime&
+ endfunc
+
+! func Test_term_mouse_double_click_to_create_tab()
+ let save_mouse = &mouse
+ let save_term = &term
+ let save_ttymouse = &ttymouse
++ call test_override('no_query_mouse', 1)
+ " Set 'mousetime' to a small value, so that double-click works but we don't
+ " have to wait long to avoid a triple-click.
+ set mouse=a term=xterm mousetime=100
+***************
+*** 465,471 ****
+ let col = 10
+
+ let round = 0
+! for ttymouse_val in s:test_ttymouse
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ e Xtab1
+--- 513,519 ----
+ let col = 10
+
+ let round = 0
+! for ttymouse_val in s:ttymouse_values + s:ttymouse_dec
+ let msg = 'ttymouse=' .. ttymouse_val
+ exe 'set ttymouse=' .. ttymouse_val
+ e Xtab1
+***************
+*** 507,512 ****
+--- 555,561 ----
+ let &mouse = save_mouse
+ let &term = save_term
+ let &ttymouse = save_ttymouse
++ call test_override('no_query_mouse', 0)
+ set mousetime&
+ endfunc
+
+*** ../vim-8.1.1247/runtime/doc/eval.txt 2019-04-27 20:36:52.526303597 +0200
+--- runtime/doc/eval.txt 2019-05-02 22:22:22.267386667 +0200
+***************
+*** 9744,9749 ****
+--- 9805,9812 ----
+ starting reset the "starting" variable, see below
+ nfa_fail makes the NFA regexp engine fail to force a
+ fallback to the old engine
++ no_query_mouse do not query the mouse position for "dec"
++ terminals
+ ALL clear all overrides ({val} is not used)
+
+ "starting" is to be used when a test should behave like
+*** ../vim-8.1.1247/src/version.c 2019-05-02 21:12:15.800625684 +0200
+--- src/version.c 2019-05-02 22:57:23.900566422 +0200
+***************
+*** 769,770 ****
+--- 769,772 ----
+ { /* Add new patch number below this line */
++ /**/
++ 1248,
+ /**/
+
+--
+TALL KNIGHT: When you have found the shrubbery, then you must cut down the
+ mightiest tree in the forest ... with a herring.
+ "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
+
+ /// 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 ///