diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-01-25 20:38:30 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-01-25 20:38:30 +0100 |
commit | f4f79b84a5595c511f6fdbe4e3e1d188d97879a0 (patch) | |
tree | 707d55a7105f6ccb95c01f61759f54cb264323a7 | |
parent | 767d8c1a1ae762ecf47297c168b8c23caf05d30a (diff) | |
download | vim-git-f4f79b84a5595c511f6fdbe4e3e1d188d97879a0.tar.gz |
patch 7.4.1179v7.4.1179
Problem: test_writefile and test_viml do not delete the tempfile.
Solution: Delete the tempfile. (Charles Cooper) Add DeleteTheScript().
-rw-r--r-- | src/testdir/test_viml.vim | 21 | ||||
-rw-r--r-- | src/testdir/test_writefile.in | 1 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 20 insertions, 4 deletions
diff --git a/src/testdir/test_viml.vim b/src/testdir/test_viml.vim index 6b2b6b988..3c140c84d 100644 --- a/src/testdir/test_viml.vim +++ b/src/testdir/test_viml.vim @@ -55,16 +55,26 @@ endfunction " ExecAsScript - Source a temporary script made from a function. {{{2 " " Make a temporary script file from the function a:funcname, ":source" it, and -" delete it afterwards. +" delete it afterwards. However, if an exception is thrown the file may remain, +" the caller should call DeleteTheScript() afterwards. +let s:script_name = '' function! ExecAsScript(funcname) " Make a script from the function passed as argument. - let script = MakeScript(a:funcname) + let s:script_name = MakeScript(a:funcname) " Source and delete the script. - exec "source" script - call delete(script) + exec "source" s:script_name + call delete(s:script_name) + let s:script_name = '' endfunction +function! DeleteTheScript() + if s:script_name + call delete(s:script_name) + let s:script_name = '' + endif +endfunc + com! -nargs=1 -bar ExecAsScript call ExecAsScript(<f-args>) @@ -143,6 +153,7 @@ func Test_endwhile_script() XpathINIT ExecAsScript T1_F Xpath 'F' + call DeleteTheScript() try ExecAsScript T1_G @@ -152,6 +163,7 @@ func Test_endwhile_script() Xpath 'x' endtry Xpath 'G' + call DeleteTheScript() call assert_equal('abcFhijxG', g:Xpath) endfunc @@ -260,6 +272,7 @@ function Test_finish() XpathINIT ExecAsScript T4_F Xpath '5' + call DeleteTheScript() call assert_equal('ab3e3b2c25', g:Xpath) endfunction diff --git a/src/testdir/test_writefile.in b/src/testdir/test_writefile.in index f2dc7d50b..6b354c510 100644 --- a/src/testdir/test_writefile.in +++ b/src/testdir/test_writefile.in @@ -13,6 +13,7 @@ STARTTEST :$put =readfile(f) :1 delete _ :w! test.out +:call delete(f) :qa! ENDTEST diff --git a/src/version.c b/src/version.c index 0a0bc1d17..073f551dd 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1179, +/**/ 1178, /**/ 1177, |