mirror of
https://github.com/neovim/neovim.git
synced 2026-08-04 14:48:45 +00:00
vim-patch:8.1.2341: not so easy to interrupt a script programatically
Problem: Not so easy to interrupt a script programatically.
Solution: Add the interrupt() function. (Yasuhiro Matsumoto, closes vim/vim#2834)
67a2deb9cb
This commit is contained in:
27
src/nvim/testdir/test_interrupt.vim
Normal file
27
src/nvim/testdir/test_interrupt.vim
Normal file
@@ -0,0 +1,27 @@
|
||||
" Test behavior of interrupt()
|
||||
|
||||
let s:bufwritepre_called = 0
|
||||
let s:bufwritepost_called = 0
|
||||
|
||||
func s:bufwritepre()
|
||||
let s:bufwritepre_called = 1
|
||||
call interrupt()
|
||||
endfunction
|
||||
|
||||
func s:bufwritepost()
|
||||
let s:bufwritepost_called = 1
|
||||
endfunction
|
||||
|
||||
func Test_interrupt()
|
||||
new Xfile
|
||||
let n = 0
|
||||
try
|
||||
au BufWritePre Xfile call s:bufwritepre()
|
||||
au BufWritePost Xfile call s:bufwritepost()
|
||||
w!
|
||||
catch /^Vim:Interrupt$/
|
||||
endtry
|
||||
call assert_equal(1, s:bufwritepre_called)
|
||||
call assert_equal(0, s:bufwritepost_called)
|
||||
call assert_equal(0, filereadable('Xfile'))
|
||||
endfunc
|
||||
Reference in New Issue
Block a user