To: vim_dev@googlegroups.com Subject: Patch 8.2.4964 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.2.4964 Problem: MS-Windows GUI: mouse event test is flaky. Solution: Add a short delay after generating a mouse event. Files: src/testdir/test_gui.vim *** ../vim-8.2.4963/src/testdir/test_gui.vim 2022-05-14 12:34:39.868325473 +0100 --- src/testdir/test_gui.vim 2022-05-16 13:32:32.159009756 +0100 *************** *** 1198,1203 **** --- 1198,1214 ---- set mousemodel& endfunc + " Move the mouse to the top-left in preparation for mouse events + func PrepareForMouseEvent(args) + call extend(a:args, #{row: 1, col:1}) + call test_gui_event('mouse', a:args) + call feedkeys('', 'Lx!') + " on MS-Windows the event may have a slight delay + if has('win32') + sleep 20m + endif + endfunc + func Test_gui_mouse_move_event() let args = #{move: 1, button: 0, multiclick: 0, modifiers: 0} *************** *** 1205,1271 **** set mousemev& call assert_false(&mousemev) ! let n_event = 0 ! nnoremap :let n_event += 1 " start at mouse pos (1,1), clear counter ! call extend(args, #{row: 1, col:1}) ! call test_gui_event('mouse', args) ! call feedkeys('', 'Lx!') ! let n_event = 0 ! call extend(args, #{row: 30, col:300}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call extend(args, #{row: 100, col:300}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') " no events since mousemev off ! call assert_equal(0, n_event) " turn on mouse events and try the same thing set mousemev ! call extend(args, #{row: 1, col:1}) ! call test_gui_event('mouse', args) ! call feedkeys('', 'Lx!') ! let n_event = 0 ! call extend(args, #{row: 30, col:300}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call extend(args, #{row: 100, col:300}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call assert_equal(2, n_event) " wiggle the mouse around, shouldn't get events ! call extend(args, #{row: 1, col:1}) ! call test_gui_event('mouse', args) ! call feedkeys('', 'Lx!') ! let n_event = 0 ! ! call extend(args, #{row: 1, col:2}) ! call test_gui_event('mouse', args) ! call feedkeys('', 'Lx!') ! call extend(args, #{row: 2, col:2}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call extend(args, #{row: 2, col:1}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call extend(args, #{row: 1, col:1}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call assert_equal(0, n_event) unmap set mousemev& endfunc --- 1216,1274 ---- set mousemev& call assert_false(&mousemev) ! let g:n_event = 0 ! nnoremap :let g:n_event += 1 " start at mouse pos (1,1), clear counter ! call PrepareForMouseEvent(args) ! let g:n_event = 0 ! call extend(args, #{row: 30, col: 300}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call extend(args, #{row: 100, col: 300}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') " no events since mousemev off ! call assert_equal(0, g:n_event) " turn on mouse events and try the same thing set mousemev ! call PrepareForMouseEvent(args) ! let g:n_event = 0 ! call extend(args, #{row: 30, col: 300}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call extend(args, #{row: 100, col: 300}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call assert_equal(2, g:n_event) " wiggle the mouse around, shouldn't get events ! call PrepareForMouseEvent(args) ! let g:n_event = 0 ! call extend(args, #{row: 1, col: 2}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call extend(args, #{row: 2, col: 2}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call extend(args, #{row: 2, col: 1}) call test_gui_event('mouse', args) call feedkeys('', 'Lx!') ! call PrepareForMouseEvent(args) ! call assert_equal(0, g:n_event) + unlet g:n_event unmap set mousemev& endfunc *** ../vim-8.2.4963/src/version.c 2022-05-16 12:37:32.914751002 +0100 --- src/version.c 2022-05-16 13:34:32.894889858 +0100 *************** *** 748,749 **** --- 748,751 ---- { /* Add new patch number below this line */ + /**/ + 4964, /**/ -- hundred-and-one symptoms of being an internet addict: 212. Your Internet group window has more icons than your Accessories window. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///