Mercurial > vim
comparison src/testdir/test_interrupt.vim @ 18699:1febd1aa9930 v8.1.2341
patch 8.1.2341: not so easy to interrupt a script programatically
Commit: https://github.com/vim/vim/commit/67a2deb9cb4ac2224cb1e4d240a5d0659f036264
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Nov 25 00:05:32 2019 +0100
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 https://github.com/vim/vim/issues/2834)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 25 Nov 2019 00:15:06 +0100 |
parents | |
children | 08940efa6b4e |
comparison
equal
deleted
inserted
replaced
18698:13e7c756367c | 18699:1febd1aa9930 |
---|---|
1 " Test behavior of interrupt() | |
2 | |
3 let s:bufwritepre_called = 0 | |
4 let s:bufwritepost_called = 0 | |
5 | |
6 func s:bufwritepre() | |
7 let s:bufwritepre_called = 1 | |
8 call interrupt() | |
9 endfunction | |
10 | |
11 func s:bufwritepost() | |
12 let s:bufwritepost_called = 1 | |
13 endfunction | |
14 | |
15 func Test_interrupt() | |
16 new Xfile | |
17 let n = 0 | |
18 try | |
19 au BufWritePre Xfile call s:bufwritepre() | |
20 au BufWritePost Xfile call s:bufwritepost() | |
21 w! | |
22 catch /^Vim:Interrupt$/ | |
23 endtry | |
24 call assert_equal(1, s:bufwritepre_called) | |
25 call assert_equal(0, s:bufwritepost_called) | |
26 call assert_equal(0, filereadable('Xfile')) | |
27 endfunc |