summaryrefslogtreecommitdiff
path: root/data/vim/patches/8.1.0837
diff options
context:
space:
mode:
Diffstat (limited to 'data/vim/patches/8.1.0837')
-rw-r--r--data/vim/patches/8.1.0837194
1 files changed, 194 insertions, 0 deletions
diff --git a/data/vim/patches/8.1.0837 b/data/vim/patches/8.1.0837
new file mode 100644
index 000000000..1e3839101
--- /dev/null
+++ b/data/vim/patches/8.1.0837
@@ -0,0 +1,194 @@
+To: vim_dev@googlegroups.com
+Subject: Patch 8.1.0837
+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.0837
+Problem: Timer interrupting cursorhold and mapping not tested.
+Solution: Add tests with timers. (Ozaki Kiichi, closes #3871)
+Files: src/testdir/test_autocmd.vim, src/testdir/test_mapping.vim
+
+
+*** ../vim-8.1.0836/src/testdir/test_autocmd.vim 2019-01-24 21:57:11.574719854 +0100
+--- src/testdir/test_autocmd.vim 2019-01-27 22:30:22.173169702 +0100
+***************
+*** 32,37 ****
+--- 32,59 ----
+ call timer_start(100, 'ExitInsertMode')
+ call feedkeys('a', 'x!')
+ call assert_equal(1, g:triggered)
++ unlet g:triggered
++ au! CursorHoldI
++ set updatetime&
++ endfunc
++
++ func Test_cursorhold_insert_with_timer_interrupt()
++ if !has('job')
++ return
++ endif
++ " Need to move the cursor.
++ call feedkeys("ggG", "xt")
++
++ " Confirm the timer invoked in exit_cb of the job doesn't disturb
++ " CursorHoldI event.
++ let g:triggered = 0
++ au CursorHoldI * let g:triggered += 1
++ set updatetime=500
++ call job_start(has('win32') ? 'cmd /c echo:' : 'echo',
++ \ {'exit_cb': {j, s -> timer_start(1000, 'ExitInsertMode')}})
++ call feedkeys('a', 'x!')
++ call assert_equal(1, g:triggered)
++ unlet g:triggered
+ au! CursorHoldI
+ set updatetime&
+ endfunc
+***************
+*** 44,49 ****
+--- 66,72 ----
+ " CursorHoldI does not trigger after CTRL-X
+ call feedkeys("a\<C-X>", 'x!')
+ call assert_equal(0, g:triggered)
++ unlet g:triggered
+ au! CursorHoldI
+ set updatetime&
+ endfunc
+***************
+*** 452,458 ****
+ endfunc
+
+ func Test_OptionSet()
+! if !has("eval") || !has("autocmd") || !exists("+autochdir")
+ return
+ endif
+
+--- 475,481 ----
+ endfunc
+
+ func Test_OptionSet()
+! if !has("eval") || !exists("+autochdir")
+ return
+ endif
+
+***************
+*** 595,601 ****
+
+ func Test_OptionSet_diffmode()
+ call test_override('starting', 1)
+! " 18: Changing an option when enetering diff mode
+ new
+ au OptionSet diff :let &l:cul=v:option_new
+
+--- 618,624 ----
+
+ func Test_OptionSet_diffmode()
+ call test_override('starting', 1)
+! " 18: Changing an option when entering diff mode
+ new
+ au OptionSet diff :let &l:cul=v:option_new
+
+*** ../vim-8.1.0836/src/testdir/test_mapping.vim 2019-01-24 17:59:35.139217458 +0100
+--- src/testdir/test_mapping.vim 2019-01-27 22:30:22.173169702 +0100
+***************
+*** 1,5 ****
+--- 1,7 ----
+ " Tests for mappings and abbreviations
+
++ source shared.vim
++
+ func Test_abbreviation()
+ " abbreviation with 0x80 should work
+ inoreab чкпр vim
+***************
+*** 169,174 ****
+--- 171,179 ----
+ endfunc
+
+ func Test_map_timeout()
++ if !has('timers')
++ return
++ endif
+ nnoremap aaaa :let got_aaaa = 1<CR>
+ nnoremap bb :let got_bb = 1<CR>
+ nmap b aaa
+***************
+*** 178,184 ****
+ call feedkeys("\<Esc>", "t")
+ endfunc
+ set timeout timeoutlen=200
+! call timer_start(300, 'ExitInsert')
+ " After the 'b' Vim waits for another character to see if it matches 'bb'.
+ " When it times out it is expanded to "aaa", but there is no wait for
+ " "aaaa". Can't check that reliably though.
+--- 183,189 ----
+ call feedkeys("\<Esc>", "t")
+ endfunc
+ set timeout timeoutlen=200
+! let timer = timer_start(300, 'ExitInsert')
+ " After the 'b' Vim waits for another character to see if it matches 'bb'.
+ " When it times out it is expanded to "aaa", but there is no wait for
+ " "aaaa". Can't check that reliably though.
+***************
+*** 193,198 ****
+--- 198,236 ----
+ nunmap b
+ set timeoutlen&
+ delfunc ExitInsert
++ call timer_stop(timer)
++ endfunc
++
++ func Test_map_timeout_with_timer_interrupt()
++ if !has('job') || !has('timers')
++ return
++ endif
++
++ " Confirm the timer invoked in exit_cb of the job doesn't disturb mapped key
++ " sequence.
++ new
++ let g:val = 0
++ nnoremap \12 :let g:val = 1<CR>
++ nnoremap \123 :let g:val = 2<CR>
++ set timeout timeoutlen=1000
++
++ func ExitCb(job, status)
++ let g:timer = timer_start(1, {_ -> feedkeys("3\<Esc>", 't')})
++ endfunc
++
++ call job_start([&shell, &shellcmdflag, 'echo'], {'exit_cb': 'ExitCb'})
++ call feedkeys('\12', 'xt!')
++ call assert_equal(2, g:val)
++
++ bwipe!
++ nunmap \12
++ nunmap \123
++ set timeoutlen&
++ call WaitFor({-> exists('g:timer')})
++ call timer_stop(g:timer)
++ unlet g:timer
++ unlet g:val
++ delfunc ExitCb
+ endfunc
+
+ func Test_abbreviation_CR()
+*** ../vim-8.1.0836/src/version.c 2019-01-27 20:43:38.135329194 +0100
+--- src/version.c 2019-01-27 22:31:38.552579694 +0100
+***************
+*** 785,786 ****
+--- 785,788 ----
+ { /* Add new patch number below this line */
++ /**/
++ 837,
+ /**/
+
+--
+A computer programmer is a device for turning requirements into
+undocumented features. It runs on cola, pizza and Dilbert cartoons.
+ Bram Moolenaar
+
+ /// 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 ///