0
0
mirror of https://github.com/vim/vim.git synced 2025-10-30 09:47:20 -04:00

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 #2834)
This commit is contained in:
Bram Moolenaar
2019-11-25 00:05:32 +01:00
parent a106e6cde6
commit 67a2deb9cb
6 changed files with 58 additions and 1 deletions

View 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