To: vim_dev@googlegroups.com Subject: Patch 9.0.0766 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 9.0.0766 Problem: Too many delete() calls in tests. Solution: Use deferred delete where possible. Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_disassemble.vim, src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_import.vim *** ../vim-9.0.0765/src/testdir/test_vim9_assign.vim 2022-10-12 12:58:50.385618448 +0100 --- src/testdir/test_vim9_assign.vim 2022-10-15 19:32:35.029292736 +0100 *************** *** 921,929 **** assert_equal(333, v) assert_equal(444, w) END ! writefile(lines, 'Xsinglechar') source Xsinglechar - delete('Xsinglechar') enddef def Test_assignment_list() --- 921,928 ---- assert_equal(333, v) assert_equal(444, w) END ! writefile(lines, 'Xsinglechar', 'D') source Xsinglechar enddef def Test_assignment_list() *************** *** 1940,1952 **** # env var is always a string var env = $TERM END ! writefile(lines, 'Xfinished') source Xfinished # GetValue() is not called during discovery phase assert_equal(1, g:count) unlet g:count - delete('Xfinished') enddef def Test_var_missing_type() --- 1939,1950 ---- # env var is always a string var env = $TERM END ! writefile(lines, 'Xfinished', 'D') source Xfinished # GetValue() is not called during discovery phase assert_equal(1, g:count) unlet g:count enddef def Test_var_missing_type() *************** *** 2532,2538 **** 'DelChangedtick(b:)', ], 'E795:') ! writefile(['vim9script', 'export var svar = 1234'], 'XunletExport.vim') var lines =<< trim END vim9script import './XunletExport.vim' as exp --- 2530,2536 ---- 'DelChangedtick(b:)', ], 'E795:') ! writefile(['vim9script', 'export var svar = 1234'], 'XunletExport.vim', 'D') var lines =<< trim END vim9script import './XunletExport.vim' as exp *************** *** 2542,2548 **** defcompile END v9.CheckScriptFailure(lines, 'E1260:', 1) - delete('XunletExport.vim') $ENVVAR = 'foobar' assert_equal('foobar', $ENVVAR) --- 2540,2545 ---- *************** *** 2701,2711 **** var x: string x = strpart(1, 2) END ! writefile(lines, 'Xtestscript') var expected = 'E1174: String required for argument 1' assert_fails('so Xtestscript', [expected, expected], 3) - - delete('Xtestscript') enddef def Test_using_s_var_in_function() --- 2698,2706 ---- var x: string x = strpart(1, 2) END ! writefile(lines, 'Xtestscript', 'D') var expected = 'E1174: String required for argument 1' assert_fails('so Xtestscript', [expected, expected], 3) enddef def Test_using_s_var_in_function() *** ../vim-9.0.0765/src/testdir/test_vim9_builtin.vim 2022-10-11 23:12:55.620405012 +0100 --- src/testdir/test_vim9_builtin.vim 2022-10-15 19:33:43.613219589 +0100 *************** *** 12,18 **** enddef defcompile END ! call writefile(l, 'Xinvalidarg') call assert_fails('so Xinvalidarg', 'E118:', '', 1, 'FArgErr') let l =<< trim END def! FArgErr(): float --- 12,18 ---- enddef defcompile END ! call writefile(l, 'Xinvalidarg', 'D') call assert_fails('so Xinvalidarg', 'E118:', '', 1, 'FArgErr') let l =<< trim END def! FArgErr(): float *************** *** 22,28 **** END call writefile(l, 'Xinvalidarg') call assert_fails('so Xinvalidarg', 'E119:', '', 1, 'FArgErr') - call delete('Xinvalidarg') endfunc " Test for builtin functions returning different types --- 22,27 ---- *************** *** 52,58 **** return environ() enddef END ! call writefile(lines, 'Xscript') source Xscript call RetFloat()->assert_equal(2.0) --- 51,57 ---- return environ() enddef END ! call writefile(lines, 'Xscript', 'D') source Xscript call RetFloat()->assert_equal(2.0) *************** *** 61,67 **** call RetListDictAny()->assert_notequal([]) call RetDictNumber()->assert_notequal({}) call RetDictString()->assert_notequal({}) - call delete('Xscript') endfunc def Test_abs() --- 60,65 ---- *************** *** 1984,1990 **** def g:Xscript_def_func2() enddef END ! writefile(lines1, 'X22script92') var lines2 =<< trim END source X22script92 --- 1982,1988 ---- def g:Xscript_def_func2() enddef END ! writefile(lines1, 'X22script92', 'D') var lines2 =<< trim END source X22script92 *************** *** 2006,2012 **** endfor END v9.CheckDefAndScriptSuccess(lines2) - delete('X22script92') enddef def Test_gettabinfo() --- 2004,2009 ---- *************** *** 3238,3244 **** def Test_readblob() var blob = 0z12341234 ! writefile(blob, 'Xreadblob') var read: blob = readblob('Xreadblob') assert_equal(blob, read) --- 3235,3241 ---- def Test_readblob() var blob = 0z12341234 ! writefile(blob, 'Xreadblob', 'D') var read: blob = readblob('Xreadblob') assert_equal(blob, read) *************** *** 3247,3258 **** END v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list but got blob', 1) v9.CheckDefExecAndScriptFailure(['readblob("")'], 'E484: Can''t open file ') - delete('Xreadblob') enddef def Test_readfile() var text = ['aaa', 'bbb', 'ccc'] ! writefile(text, 'Xreadfile') var read: list = readfile('Xreadfile') assert_equal(text, read) assert_equal([7, 7, 7], readfile('Xreadfile')->map((_, _) => 7)) --- 3244,3254 ---- END v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected list but got blob', 1) v9.CheckDefExecAndScriptFailure(['readblob("")'], 'E484: Can''t open file ') enddef def Test_readfile() var text = ['aaa', 'bbb', 'ccc'] ! writefile(text, 'Xreadfile', 'D') var read: list = readfile('Xreadfile') assert_equal(text, read) assert_equal([7, 7, 7], readfile('Xreadfile')->map((_, _) => 7)) *************** *** 3261,3267 **** var read: dict = readfile('Xreadfile') END v9.CheckDefAndScriptFailure(lines, 'E1012: Type mismatch; expected dict but got list', 1) - delete('Xreadfile') v9.CheckDefAndScriptFailure(['readfile("a", 0z10)'], ['E1013: Argument 2: type mismatch, expected string but got blob', 'E1174: String required for argument 2']) v9.CheckDefAndScriptFailure(['readfile("a", "b", "c")'], ['E1013: Argument 3: type mismatch, expected number but got string', 'E1210: Number required for argument 3']) --- 3257,3262 ---- *************** *** 4131,4139 **** vim9script echo ['a', 'b', 'c']->sort((a: number, b: number) => 0) END ! writefile(lines, 'Xbadsort') assert_fails('source Xbadsort', ['E1013:', 'E702:']) - delete('Xbadsort') lines =<< trim END var l = [1, 2, 3] --- 4126,4133 ---- vim9script echo ['a', 'b', 'c']->sort((a: number, b: number) => 0) END ! writefile(lines, 'Xbadsort', 'D') assert_fails('source Xbadsort', ['E1013:', 'E702:']) lines =<< trim END var l = [1, 2, 3] *************** *** 4822,4828 **** call feedkeys("\\\", "xt") endfunc END ! call writefile(lines, 'Xgotoscript') let buf = RunVimInTerminal('-S Xgotoscript', #{rows: 15, wait_for_ruler: 0}) " wait longer here, since we didn't wait for the ruler call VerifyScreenDump(buf, 'Test_win_gotoid_1', #{wait: 3000}) --- 4816,4822 ---- call feedkeys("\\\", "xt") endfunc END ! call writefile(lines, 'Xgotoscript', 'D') let buf = RunVimInTerminal('-S Xgotoscript', #{rows: 15, wait_for_ruler: 0}) " wait longer here, since we didn't wait for the ruler call VerifyScreenDump(buf, 'Test_win_gotoid_1', #{wait: 3000}) *************** *** 4833,4839 **** call VerifyScreenDump(buf, 'Test_win_gotoid_3', {}) call StopVimInTerminal(buf) - call delete('Xgotoscript') endif endfunc --- 4827,4832 ---- *** ../vim-9.0.0765/src/testdir/test_vim9_cmd.vim 2022-09-18 13:06:36.461124371 +0100 --- src/testdir/test_vim9_cmd.vim 2022-10-15 19:34:20.301180909 +0100 *************** *** 120,131 **** vim9script export var exported = 'x' END ! writefile(lines, 'Xvim9import.vim') lines =<< trim END legacy exe "import './Xvim9import.vim'" END v9.CheckScriptSuccess(lines) - delete('Xvim9import.vim') # "legacy" does not aply to a called function lines =<< trim END --- 120,130 ---- vim9script export var exported = 'x' END ! writefile(lines, 'Xvim9import.vim', 'D') lines =<< trim END legacy exe "import './Xvim9import.vim'" END v9.CheckScriptSuccess(lines) # "legacy" does not aply to a called function lines =<< trim END *************** *** 331,337 **** enddef def Test_syn_include_wildcards() ! writefile(['syn keyword Found found'], 'Xthemine.vim') var save_rtp = &rtp &rtp = '.' --- 330,336 ---- enddef def Test_syn_include_wildcards() ! writefile(['syn keyword Found found'], 'Xthemine.vim', 'D') var save_rtp = &rtp &rtp = '.' *************** *** 340,346 **** assert_match('Found.* contained found', execute('syn list Found')) &rtp = save_rtp - delete('Xthemine.vim') enddef def Test_echo_linebreak() --- 339,344 ---- *************** *** 932,938 **** confirm write Xcmodfile enddef END ! call writefile(lines, 'Xconfirmscript') call writefile(['empty'], 'Xcmodfile') let buf = RunVimInTerminal('-S Xconfirmscript', {'rows': 8}) call term_sendkeys(buf, ":call Getout()\n") --- 930,936 ---- confirm write Xcmodfile enddef END ! call writefile(lines, 'Xconfirmscript', 'D') call writefile(['empty'], 'Xcmodfile') let buf = RunVimInTerminal('-S Xconfirmscript', {'rows': 8}) call term_sendkeys(buf, ":call Getout()\n") *************** *** 946,952 **** call assert_equal(['changed'], readfile('Xcmodfile')) call delete('Xcmodfile') call delete('.Xcmodfile.swp') " in case Vim was killed - call delete('Xconfirmscript') endfunc def Test_command_modifiers_keep() --- 944,949 ---- *** ../vim-9.0.0765/src/testdir/test_vim9_disassemble.vim 2022-10-07 14:31:04.324852691 +0100 --- src/testdir/test_vim9_disassemble.vim 2022-10-15 19:35:43.089094600 +0100 *************** *** 313,319 **** enddef def Test_disassemble_push() ! mkdir('Xdisdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xdisdir' --- 313,319 ---- enddef def Test_disassemble_push() ! mkdir('Xdisdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xdisdir' *************** *** 340,351 **** END v9.CheckScriptSuccess(lines) - delete('Xdisdir', 'rf') &rtp = save_rtp enddef def Test_disassemble_import_autoload() ! writefile(['vim9script'], 'XimportAL.vim') var lines =<< trim END vim9script --- 340,350 ---- END v9.CheckScriptSuccess(lines) &rtp = save_rtp enddef def Test_disassemble_import_autoload() ! writefile(['vim9script'], 'XimportAL.vim', 'D') var lines =<< trim END vim9script *************** *** 380,387 **** res) END v9.CheckScriptSuccess(lines) - - delete('XimportAL.vim') enddef def s:ScriptFuncStore() --- 379,384 ---- *************** *** 2440,2446 **** enddef g:res_FuncOne = execute('disass FuncOne') END ! writefile(lines, 'Xdisassemble') source Xdisassemble # check that the first function calls the second with DCALL --- 2437,2443 ---- enddef g:res_FuncOne = execute('disass FuncOne') END ! writefile(lines, 'Xdisassemble', 'D') source Xdisassemble # check that the first function calls the second with DCALL *************** *** 2450,2456 **** '\d RETURN', g:res_FuncOne) - delete('Xdisassemble') unlet g:res_FuncOne enddef --- 2447,2452 ---- *************** *** 2901,2951 **** enddef def Test_disassemble_after_reload() ! var lines =<< trim END ! vim9script ! if exists('g:ThisFunc') ! finish ! endif ! var name: any ! def g:ThisFunc(): number ! g:name = name ! return 0 ! enddef ! def g:ThatFunc(): number ! name = g:name ! return 0 ! enddef ! END ! lines->writefile('Xreload.vim') ! ! source Xreload.vim ! g:ThisFunc() ! g:ThatFunc() ! ! source Xreload.vim ! var res = execute('disass g:ThisFunc') ! assert_match('ThisFunc\_s*' .. ! 'g:name = name\_s*' .. ! '\d LOADSCRIPT \[deleted\] from .*/Xreload.vim\_s*' .. ! '\d STOREG g:name\_s*' .. ! 'return 0\_s*' .. ! '\d PUSHNR 0\_s*' .. ! '\d RETURN\_s*', ! res) ! res = execute('disass g:ThatFunc') ! assert_match('ThatFunc\_s*' .. ! 'name = g:name\_s*' .. ! '\d LOADG g:name\_s*' .. ! '\d STORESCRIPT \[deleted\] in .*/Xreload.vim\_s*' .. ! 'return 0\_s*' .. ! '\d PUSHNR 0\_s*' .. ! '\d RETURN\_s*', ! res) ! delete('Xreload.vim') ! delfunc g:ThisFunc ! delfunc g:ThatFunc enddef def s:MakeString(x: number): string --- 2897,2946 ---- enddef def Test_disassemble_after_reload() ! var lines =<< trim END ! vim9script ! if exists('g:ThisFunc') ! finish ! endif ! var name: any ! def g:ThisFunc(): number ! g:name = name ! return 0 ! enddef ! def g:ThatFunc(): number ! name = g:name ! return 0 ! enddef ! END ! lines->writefile('Xreload.vim', 'D') ! source Xreload.vim ! g:ThisFunc() ! g:ThatFunc() ! ! source Xreload.vim ! var res = execute('disass g:ThisFunc') ! assert_match('ThisFunc\_s*' .. ! 'g:name = name\_s*' .. ! '\d LOADSCRIPT \[deleted\] from .*/Xreload.vim\_s*' .. ! '\d STOREG g:name\_s*' .. ! 'return 0\_s*' .. ! '\d PUSHNR 0\_s*' .. ! '\d RETURN\_s*', ! res) ! ! res = execute('disass g:ThatFunc') ! assert_match('ThatFunc\_s*' .. ! 'name = g:name\_s*' .. ! '\d LOADG g:name\_s*' .. ! '\d STORESCRIPT \[deleted\] in .*/Xreload.vim\_s*' .. ! 'return 0\_s*' .. ! '\d PUSHNR 0\_s*' .. ! '\d RETURN\_s*', ! res) ! delfunc g:ThisFunc ! delfunc g:ThatFunc enddef def s:MakeString(x: number): string *** ../vim-9.0.0765/src/testdir/test_vim9_expr.vim 2022-09-17 21:07:52.111993132 +0100 --- src/testdir/test_vim9_expr.vim 2022-10-15 19:36:31.017045222 +0100 *************** *** 3490,3496 **** var auto_lines =<< trim END let autofile#var = 'found' END ! mkdir('Xruntime/autoload', 'p') writefile(auto_lines, 'Xruntime/autoload/autofile.vim') var save_rtp = &rtp &rtp = getcwd() .. '/Xruntime,' .. &rtp --- 3490,3496 ---- var auto_lines =<< trim END let autofile#var = 'found' END ! mkdir('Xruntime/autoload', 'pR') writefile(auto_lines, 'Xruntime/autoload/autofile.vim') var save_rtp = &rtp &rtp = getcwd() .. '/Xruntime,' .. &rtp *************** *** 3506,3512 **** v9.CheckDefExecAndScriptFailure(lines, 'E121: Undefined variable: autofile#other') &rtp = save_rtp - delete('Xruntime', 'rf') enddef def Test_expr9_call_autoload() --- 3506,3511 ---- *************** *** 3515,3521 **** return 'found' enddef END ! mkdir('Xruntime/autoload', 'p') writefile(auto_lines, 'Xruntime/autoload/some.vim') var save_rtp = &rtp &rtp = getcwd() .. '/Xruntime,' .. &rtp --- 3514,3520 ---- return 'found' enddef END ! mkdir('Xruntime/autoload', 'pR') writefile(auto_lines, 'Xruntime/autoload/some.vim') var save_rtp = &rtp &rtp = getcwd() .. '/Xruntime,' .. &rtp *************** *** 3523,3529 **** assert_equal('found', some#func()) &rtp = save_rtp - delete('Xruntime', 'rf') enddef def Test_expr9_method_call() --- 3522,3527 ---- *************** *** 3640,3646 **** return map(items, (_, i) => i * i) enddef END ! call writefile(lines, 'Xsquare.vim') lines =<< trim END vim9script --- 3638,3644 ---- return map(items, (_, i) => i * i) enddef END ! call writefile(lines, 'Xsquare.vim', 'D') lines =<< trim END vim9script *************** *** 3663,3670 **** echo range(5)->Xsquare.NoSuchFunc() END v9.CheckScriptFailure(lines, 'E1048: Item not found in script: NoSuchFunc') - - delete('Xsquare.vim') enddef --- 3661,3666 ---- *** ../vim-9.0.0765/src/testdir/test_vim9_import.vim 2022-10-13 17:47:38.123364593 +0100 --- src/testdir/test_vim9_import.vim 2022-10-15 20:01:55.876507070 +0100 *************** *** 39,45 **** enddef def Test_vim9_import_export() ! writefile(s:export_script_lines, 'Xexport.vim') var import_script_lines =<< trim END vim9script var dir = './' --- 39,45 ---- enddef def Test_vim9_import_export() ! writefile(s:export_script_lines, 'Xexport.vim', 'D') var import_script_lines =<< trim END vim9script var dir = './' *************** *** 84,90 **** assert_equal('andthensome', 'andthen'->expo.AddSome()) assert_equal('awesome', 'awe'->expo.AddRef()) END ! writefile(import_script_lines, 'Ximport.vim') source Ximport.vim assert_equal('bobbie', g:result) --- 84,90 ---- assert_equal('andthensome', 'andthen'->expo.AddSome()) assert_equal('awesome', 'awe'->expo.AddRef()) END ! writefile(import_script_lines, 'Ximport.vim', 'D') source Ximport.vim assert_equal('bobbie', g:result) *************** *** 380,388 **** writefile(import_assign_const_lines, 'Ximport.vim') assert_fails('source Ximport.vim', 'E46: Cannot change read-only variable "CONST"', '', 3) - delete('Ximport.vim') - delete('Xexport.vim') - # Check that in a Vim9 script 'cpo' is set to the Vim default. # Flags added or removed are also applied to the restored value. set cpo=abcd --- 380,385 ---- *************** *** 393,399 **** set cpo-=c g:cpo_after_vim9script = &cpo END ! writefile(lines, 'Xvim9_script') source Xvim9_script assert_equal('fabd', &cpo) set cpo&vim --- 390,396 ---- set cpo-=c g:cpo_after_vim9script = &cpo END ! writefile(lines, 'Xvim9_script', 'D') source Xvim9_script assert_equal('fabd', &cpo) set cpo&vim *************** *** 410,416 **** export var verylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongname = 'asdf' END ! writefile(lines, 'Xverylong.vim') lines =<< trim END vim9script --- 407,413 ---- export var verylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongnameverylongname = 'asdf' END ! writefile(lines, 'Xverylong.vim', 'D') lines =<< trim END vim9script *************** *** 421,427 **** v9.CheckScriptSuccess(lines) assert_equal('asdf', g:result) - delete('Xverylong.vim') unlet g:result enddef --- 418,423 ---- *************** *** 433,439 **** enddef export const G = F END ! writefile(lines, 'Xlib.vim') lines =<< trim END vim9script --- 429,435 ---- enddef export const G = F END ! writefile(lines, 'Xlib.vim', 'D') lines =<< trim END vim9script *************** *** 448,455 **** DoTest() END v9.CheckScriptSuccess(lines) - - delete('Xlib.vim') enddef def Test_export_closure() --- 444,449 ---- *************** *** 485,491 **** NewLspServer() END ! writefile(lines, 'Xserver.vim') lines =<< trim END vim9script --- 479,485 ---- NewLspServer() END ! writefile(lines, 'Xserver.vim', 'D') lines =<< trim END vim9script *************** *** 502,514 **** AddServer() END v9.CheckScriptSuccess(lines) - - delete('Xserver.vim') enddef def Test_import_fails() ! writefile([], 'Xfoo.vim') var lines =<< trim END import './Xfoo.vim' as foo foo = 'bar' --- 496,506 ---- AddServer() END v9.CheckScriptSuccess(lines) enddef def Test_import_fails() ! writefile([], 'Xfoo.vim', 'D') var lines =<< trim END import './Xfoo.vim' as foo foo = 'bar' *************** *** 588,598 **** export var item = 'hello' import './Xyourself.vim' END ! writefile(lines, 'Xyourself.vim') assert_fails('source Xyourself.vim', 'E1088:') - delete('Xyourself.vim') ! mkdir('Ximport') writefile(['vim9script'], 'Ximport/.vim') lines =<< trim END --- 580,589 ---- export var item = 'hello' import './Xyourself.vim' END ! writefile(lines, 'Xyourself.vim', 'D') assert_fails('source Xyourself.vim', 'E1088:') ! mkdir('Ximport', 'R') writefile(['vim9script'], 'Ximport/.vim') lines =<< trim END *************** *** 635,643 **** call writefile(['vim9script', "import './Xfoo.vim' as abc | foobar"], 'Xbar.vim') assert_fails('source Xbar.vim', 'E492: Not an editor command: foobar') call delete('Xbar.vim') - - delete('Ximport', 'rf') - delete('Xfoo.vim') enddef func g:Trigger() --- 626,631 ---- *************** *** 653,678 **** return 'yes' enddef END ! writefile(export_lines, 'Xexport_that.vim') var import_lines =<< trim END vim9script import './Xexport_that.vim' as that assert_equal('yes', that.That()) END ! writefile(import_lines, 'Ximport.vim') nnoremap trigger g:Trigger() feedkeys('trigger', "xt") - delete('Xexport_that.vim') - delete('Ximport.vim') nunmap trigger enddef def Test_import_in_filetype() # check that :import works when the buffer is locked ! mkdir('ftplugin', 'p') var export_lines =<< trim END vim9script export var That = 'yes' --- 641,664 ---- return 'yes' enddef END ! writefile(export_lines, 'Xexport_that.vim', 'D') var import_lines =<< trim END vim9script import './Xexport_that.vim' as that assert_equal('yes', that.That()) END ! writefile(import_lines, 'Ximport.vim', 'D') nnoremap trigger g:Trigger() feedkeys('trigger', "xt") nunmap trigger enddef def Test_import_in_filetype() # check that :import works when the buffer is locked ! mkdir('ftplugin', 'pR') var export_lines =<< trim END vim9script export var That = 'yes' *************** *** 695,702 **** assert_equal(1, g:did_load_mytpe) quit! - delete('Xexport_ft.vim') - delete('ftplugin', 'rf') &rtp = save_rtp enddef --- 681,686 ---- *************** *** 707,713 **** g:result = nr enddef END ! writefile(lines, 'XsomeExport.vim') lines =<< trim END vim9script import './XsomeExport.vim' as some --- 691,697 ---- g:result = nr enddef END ! writefile(lines, 'XsomeExport.vim', 'D') lines =<< trim END vim9script import './XsomeExport.vim' as some *************** *** 715,721 **** nnoremap :call Funcy(42) nnoremap :call some.Funcx(44) END ! writefile(lines, 'Xmapscript.vim') source Xmapscript.vim feedkeys("\", "xt") --- 699,705 ---- nnoremap :call Funcy(42) nnoremap :call some.Funcx(44) END ! writefile(lines, 'Xmapscript.vim', 'D') source Xmapscript.vim feedkeys("\", "xt") *************** *** 724,731 **** assert_equal(44, g:result) unlet g:result - delete('XsomeExport.vim') - delete('Xmapscript.vim') nunmap nunmap enddef --- 708,713 ---- *************** *** 737,749 **** g:result = 42 enddef END ! writefile(lines, 'XrelautoloadExport.vim') lines =<< trim END vim9script import autoload './XrelautoloadExport.vim' as some nnoremap :call some.Func() END ! writefile(lines, 'Xmapscript.vim') source Xmapscript.vim assert_match('\d\+ A: .*XrelautoloadExport.vim', execute('scriptnames')->split("\n")[-1]) --- 719,731 ---- g:result = 42 enddef END ! writefile(lines, 'XrelautoloadExport.vim', 'D') lines =<< trim END vim9script import autoload './XrelautoloadExport.vim' as some nnoremap :call some.Func() END ! writefile(lines, 'Xmapscript.vim', 'D') source Xmapscript.vim assert_match('\d\+ A: .*XrelautoloadExport.vim', execute('scriptnames')->split("\n")[-1]) *************** *** 759,766 **** assert_equal(999999, l[0].version) unlet g:result - delete('XrelautoloadExport.vim') - delete('Xmapscript.vim') nunmap enddef --- 741,746 ---- *************** *** 781,787 **** g:result = 49 enddef END ! mkdir('Ximpdir/autoload', 'p') writefile(lines, 'Ximpdir/autoload/XautoloadExport.vim') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Ximpdir' --- 761,767 ---- g:result = 49 enddef END ! mkdir('Ximpdir/autoload', 'pR') writefile(lines, 'Ximpdir/autoload/XautoloadExport.vim') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Ximpdir' *************** *** 791,797 **** import autoload 'XautoloadExport.vim' as some nnoremap :call some.Func() END ! writefile(lines, 'Xmapscript.vim') source Xmapscript.vim assert_match('\d\+ A: .*autoload/XautoloadExport.vim', execute('scriptnames')->split("\n")[-1]) --- 771,777 ---- import autoload 'XautoloadExport.vim' as some nnoremap :call some.Func() END ! writefile(lines, 'Xmapscript.vim', 'D') source Xmapscript.vim assert_match('\d\+ A: .*autoload/XautoloadExport.vim', execute('scriptnames')->split("\n")[-1]) *************** *** 799,807 **** assert_equal(49, g:result) unlet g:result - delete('Xmapscript.vim') nunmap - delete('Ximpdir', 'rf') &rtp = save_rtp enddef --- 779,785 ---- *************** *** 812,818 **** return ['abcd'] enddef END ! writefile(lines, 'Xscript.vim') lines =<< trim END vim9script --- 790,796 ---- return ['abcd'] enddef END ! writefile(lines, 'Xscript.vim', 'D') lines =<< trim END vim9script *************** *** 825,831 **** v9.CheckScriptSuccess(lines) delcommand Cmd - delete('Xscript.vim') enddef def Test_use_import_with_funcref_in_command_completion() --- 803,808 ---- *************** *** 835,841 **** return ['abcd'] enddef END ! writefile(lines, 'Xscript.vim') lines =<< trim END vim9script --- 812,818 ---- return ['abcd'] enddef END ! writefile(lines, 'Xscript.vim', 'D') lines =<< trim END vim9script *************** *** 849,859 **** v9.CheckScriptSuccess(lines) delcommand Cmd - delete('Xscript.vim') enddef def Test_use_autoload_import_in_insert_completion() ! mkdir('Xinsdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xinsdir' --- 826,835 ---- v9.CheckScriptSuccess(lines) delcommand Cmd enddef def Test_use_autoload_import_in_insert_completion() ! mkdir('Xinsdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xinsdir' *************** *** 889,900 **** set thesaurusfunc= bwipe! - delete('Xinsdir', 'rf') &rtp = save_rtp enddef def Test_use_autoload_import_partial_in_opfunc() ! mkdir('Xpartdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xpartdir' --- 865,875 ---- set thesaurusfunc= bwipe! &rtp = save_rtp enddef def Test_use_autoload_import_partial_in_opfunc() ! mkdir('Xpartdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xpartdir' *************** *** 922,934 **** set opfunc= bwipe! - delete('Xpartdir', 'rf') nunmap &rtp = save_rtp enddef def Test_set_opfunc_to_autoload_func_directly() ! mkdir('Xdirdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xdirdir' --- 897,908 ---- set opfunc= bwipe! nunmap &rtp = save_rtp enddef def Test_set_opfunc_to_autoload_func_directly() ! mkdir('Xdirdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xdirdir' *************** *** 956,968 **** set opfunc= bwipe! - delete('Xdirdir', 'rf') nunmap &rtp = save_rtp enddef def Test_use_autoload_import_in_fold_expression() ! mkdir('Xfolddir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xfolddir' --- 930,941 ---- set opfunc= bwipe! nunmap &rtp = save_rtp enddef def Test_use_autoload_import_in_fold_expression() ! mkdir('Xfolddir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xfolddir' *************** *** 1000,1006 **** set foldexpr= foldtext& foldmethod& debug= bwipe! - delete('Xfolddir', 'rf') &rtp = save_rtp enddef --- 973,978 ---- *************** *** 1019,1029 **** export var someText = 'some text' var notexp = 'bad' END ! writefile(lines, 'XimportRel.vim') ! writefile(lines, 'XimportRel2.vim') ! writefile(lines, 'XimportRel3.vim') ! writefile(lines, 'XimportRel4.vim') ! writefile(lines, 'XimportRel5.vim') lines =<< trim END vim9script --- 991,1001 ---- export var someText = 'some text' var notexp = 'bad' END ! writefile(lines, 'XimportRel.vim', 'D') ! writefile(lines, 'XimportRel2.vim', 'D') ! writefile(lines, 'XimportRel3.vim', 'D') ! writefile(lines, 'XimportRel4.vim', 'D') ! writefile(lines, 'XimportRel5.vim', 'D') lines =<< trim END vim9script *************** *** 1166,1181 **** DoIt() END v9.CheckScriptFailure(lines, 'E484:') - - delete('XimportRel.vim') - delete('XimportRel2.vim') - delete('XimportRel3.vim') - delete('XimportRel4.vim') - delete('XimportRel5.vim') enddef def Test_autoload_import_relative_autoload_dir() ! mkdir('autoload', 'p') var lines =<< trim END vim9script export def Bar() --- 1138,1147 ---- DoIt() END v9.CheckScriptFailure(lines, 'E484:') enddef def Test_autoload_import_relative_autoload_dir() ! mkdir('autoload', 'pR') var lines =<< trim END vim9script export def Bar() *************** *** 1196,1202 **** v9.CheckScriptSuccess(lines) unlet g:called_bar - delete('autoload', 'rf') enddef def Test_autoload_import_deleted() --- 1162,1167 ---- *************** *** 1204,1210 **** vim9script export const FOO = 1 END ! writefile(lines, 'Xa.vim') lines =<< trim END vim9script --- 1169,1175 ---- vim9script export const FOO = 1 END ! writefile(lines, 'Xa.vim', 'D') lines =<< trim END vim9script *************** *** 1214,1221 **** var x = Xa.FOO END v9.CheckScriptFailure(lines, 'E484:') - - delete('Xa.vim') enddef def Test_autoload_import_using_const() --- 1179,1184 ---- *************** *** 1255,1261 **** .. v:fname_new .. '>>' .. v:fname_out enddef END ! writefile(lines, 'Xdiffexpr') lines =<< trim END vim9script --- 1218,1224 ---- .. v:fname_new .. '>>' .. v:fname_out enddef END ! writefile(lines, 'Xdiffexpr', 'D') lines =<< trim END vim9script *************** *** 1281,1287 **** set diffopt& bwipe! bwipe! - delete('Xdiffexpr') enddef def Test_import_in_patchexpr() --- 1244,1249 ---- *************** *** 1291,1297 **** call writefile(['output file'], v:fname_out) enddef END ! writefile(lines, 'Xpatchexpr') lines =<< trim END vim9script --- 1253,1259 ---- call writefile(['output file'], v:fname_out) enddef END ! writefile(lines, 'Xpatchexpr', 'D') lines =<< trim END vim9script *************** *** 1300,1315 **** END v9.CheckScriptSuccess(lines) ! call writefile(['input file'], 'Xinput') ! call writefile(['diff file'], 'Xdiff') :%bwipe! edit Xinput diffpatch Xdiff call assert_equal('output file', getline(1)) - call delete('Xinput') - call delete('Xdiff') - call delete('Xpatchexpr') set patchexpr& :%bwipe! enddef --- 1262,1274 ---- END v9.CheckScriptSuccess(lines) ! call writefile(['input file'], 'Xinput', 'D') ! call writefile(['diff file'], 'Xdiff', 'D') :%bwipe! edit Xinput diffpatch Xdiff call assert_equal('output file', getline(1)) set patchexpr& :%bwipe! enddef *************** *** 1322,1328 **** return 0 enddef END ! writefile(lines, 'Xformatter') lines =<< trim END vim9script --- 1281,1287 ---- return 0 enddef END ! writefile(lines, 'Xformatter', 'D') lines =<< trim END vim9script *************** *** 1337,1349 **** assert_equal('yes', g:did_format) bwipe! - delete('Xformatter') unlet g:did_format set formatexpr= enddef def Test_import_in_includeexpr() ! writefile(['found it'], 'Xthisfile') new var lines =<< trim END --- 1296,1307 ---- assert_equal('yes', g:did_format) bwipe! unlet g:did_format set formatexpr= enddef def Test_import_in_includeexpr() ! writefile(['found it'], 'Xthisfile', 'D') new var lines =<< trim END *************** *** 1352,1358 **** return substitute(v:fname, 'that', 'this', '') enddef END ! writefile(lines, 'Xinclude.vim') lines =<< trim END vim9script --- 1310,1316 ---- return substitute(v:fname, 'that', 'this', '') enddef END ! writefile(lines, 'Xinclude.vim', 'D') lines =<< trim END vim9script *************** *** 1368,1375 **** bwipe! bwipe! set includeexpr= - delete('Xinclude.vim') - delete('Xthisfile') enddef def Test_import_in_indentexpr() --- 1326,1331 ---- *************** *** 1379,1385 **** return 5 enddef END ! writefile(lines, 'Xindenter') lines =<< trim END vim9script --- 1335,1341 ---- return 5 enddef END ! writefile(lines, 'Xindenter', 'D') lines =<< trim END vim9script *************** *** 1396,1402 **** bwipe! set indentexpr= debug= - delete('Xindenter') enddef func Test_import_in_printexpr() --- 1352,1357 ---- *************** *** 1413,1419 **** return false enddef END ! writefile(lines, 'Xprint.vim') lines =<< trim END vim9script --- 1368,1374 ---- return false enddef END ! writefile(lines, 'Xprint.vim', 'D') lines =<< trim END vim9script *************** *** 1426,1432 **** hardcopy dummy args assert_equal('yes', g:printed) - delete('Xprint.vim') set printexpr= enddef --- 1381,1386 ---- *************** *** 1440,1446 **** return false # success enddef END ! writefile(lines, 'Xconvert.vim') lines =<< trim END vim9script --- 1394,1400 ---- return false # success enddef END ! writefile(lines, 'Xconvert.vim', 'D') lines =<< trim END vim9script *************** *** 1449,1462 **** END v9.CheckScriptSuccess(lines) ! writefile(['one', 'two'], 'Xiicfile') new Xiicfile write ++enc=ucase Xiicfile1 assert_equal(['ONE', 'TWO'], readfile('Xiicfile1')) - delete('Xiicfile') delete('Xiicfile1') - delete('Xconvert.vim') bwipe! set charconvert& enddef --- 1403,1414 ---- END v9.CheckScriptSuccess(lines) ! writefile(['one', 'two'], 'Xiicfile', 'D') new Xiicfile write ++enc=ucase Xiicfile1 assert_equal(['ONE', 'TWO'], readfile('Xiicfile1')) delete('Xiicfile1') bwipe! set charconvert& enddef *************** *** 1473,1479 **** return [['Fox', 8], ['Fop', 9]] enddef END ! writefile(lines, 'Xsuggest.vim') lines =<< trim END vim9script --- 1425,1431 ---- return [['Fox', 8], ['Fop', 9]] enddef END ! writefile(lines, 'Xsuggest.vim', 'D') lines =<< trim END vim9script *************** *** 1485,1491 **** set verbose=1 # report errors call assert_equal(['Fox', 'Fop'], spellsuggest('Fo', 2)) - delete('Xsuggest.vim') set nospell spellsuggest& verbose=0 enddef --- 1437,1442 ---- *************** *** 1496,1502 **** return e enddef END ! writefile(lines, 'XexportRetarg.vim') lines =<< trim END vim9script import './XexportRetarg.vim' --- 1447,1453 ---- return e enddef END ! writefile(lines, 'XexportRetarg.vim', 'D') lines =<< trim END vim9script import './XexportRetarg.vim' *************** *** 1507,1518 **** assert_equal('arg', Lambda()) END v9.CheckScriptSuccess(lines) - - delete('XexportRetarg.vim') enddef def Test_export_shadows_global_function() ! mkdir('Xglobdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xglobdir' --- 1458,1467 ---- assert_equal('arg', Lambda()) END v9.CheckScriptSuccess(lines) enddef def Test_export_shadows_global_function() ! mkdir('Xglobdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xglobdir' *************** *** 1538,1544 **** delfunc g:Shadow bwipe! - delete('Xglobdir', 'rf') &rtp = save_rtp enddef --- 1487,1492 ---- *************** *** 1565,1577 **** return 0 enddef END ! writefile(export, 'XexportCmd.vim') var buf = g:RunVimInTerminal('-c "import Foo from ''./XexportCmd.vim''"', { rows: 6, wait_for_ruler: 0}) g:WaitForAssert(() => assert_match('^E1094:', term_getline(buf, 5))) - delete('XexportCmd.vim') g:StopVimInTerminal(buf) enddef --- 1513,1524 ---- return 0 enddef END ! writefile(export, 'XexportCmd.vim', 'D') var buf = g:RunVimInTerminal('-c "import Foo from ''./XexportCmd.vim''"', { rows: 6, wait_for_ruler: 0}) g:WaitForAssert(() => assert_match('^E1094:', term_getline(buf, 5))) g:StopVimInTerminal(buf) enddef *************** *** 1583,1589 **** export def TheFunc(x = 0) enddef END ! writefile(lines, 'XExportReload') lines =<< trim END vim9script noclear g:loadCount += 1 --- 1530,1536 ---- export def TheFunc(x = 0) enddef END ! writefile(lines, 'XExportReload', 'D') lines =<< trim END vim9script noclear g:loadCount += 1 *************** *** 1609,1615 **** return 'once' enddef END ! writefile(lines, 'XReloaded') g:loadCount = 0 source XReloaded assert_equal(1, g:loadCount) --- 1556,1562 ---- return 'once' enddef END ! writefile(lines, 'XReloaded', 'D') g:loadCount = 0 source XReloaded assert_equal(1, g:loadCount) *************** *** 1621,1628 **** assert_equal(3, g:loadCount) assert_equal(['init', 'yes', 'again', 'once', 'thexport'], g:Values()) - delete('XReloaded') - delete('XExportReload') delfunc g:Values unlet g:loadCount --- 1568,1573 ---- *************** *** 1631,1637 **** def Inner() enddef END ! lines->writefile('XreloadScript.vim') source XreloadScript.vim lines =<< trim END --- 1576,1582 ---- def Inner() enddef END ! lines->writefile('XreloadScript.vim', 'D') source XreloadScript.vim lines =<< trim END *************** *** 1644,1651 **** END lines->writefile('XreloadScript.vim') source XreloadScript.vim - - delete('XreloadScript.vim') enddef def Test_vim_reload_noclear_arg_count() --- 1589,1594 ---- *************** *** 1668,1674 **** Call() g:didload = 1 END ! lines->writefile('XreloadScript_1.vim') source XreloadScript_1.vim assert_fails('source XreloadScript_1.vim', 'E1106: One argument too many') unlet g:didload --- 1611,1617 ---- Call() g:didload = 1 END ! lines->writefile('XreloadScript_1.vim', 'D') source XreloadScript_1.vim assert_fails('source XreloadScript_1.vim', 'E1106: One argument too many') unlet g:didload *************** *** 1692,1698 **** Call() g:didload = 1 END ! lines->writefile('XreloadScript_2.vim') source XreloadScript_2.vim assert_fails('source XreloadScript_2.vim', 'E1106: 2 arguments too many') unlet g:didload --- 1635,1641 ---- Call() g:didload = 1 END ! lines->writefile('XreloadScript_2.vim', 'D') source XreloadScript_2.vim assert_fails('source XreloadScript_2.vim', 'E1106: 2 arguments too many') unlet g:didload *************** *** 1716,1722 **** Call() g:didload = 1 END ! lines->writefile('XreloadScript_3.vim') source XreloadScript_3.vim assert_fails('source XreloadScript_3.vim', 'E1190: One argument too few') unlet g:didload --- 1659,1665 ---- Call() g:didload = 1 END ! lines->writefile('XreloadScript_3.vim', 'D') source XreloadScript_3.vim assert_fails('source XreloadScript_3.vim', 'E1190: One argument too few') unlet g:didload *************** *** 1740,1754 **** Call() g:didload = 1 END ! lines->writefile('XreloadScript_4.vim') source XreloadScript_4.vim assert_fails('source XreloadScript_4.vim', 'E1190: 2 arguments too few') unlet g:didload - - delete('XreloadScript_1.vim') - delete('XreloadScript_2.vim') - delete('XreloadScript_3.vim') - delete('XreloadScript_4.vim') enddef def Test_vim9_reload_noclear_error() --- 1683,1692 ---- Call() g:didload = 1 END ! lines->writefile('XreloadScript_4.vim', 'D') source XreloadScript_4.vim assert_fails('source XreloadScript_4.vim', 'E1190: 2 arguments too few') unlet g:didload enddef def Test_vim9_reload_noclear_error() *************** *** 1771,1782 **** Call() g:didload = 1 END ! lines->writefile('XreloadScriptErr.vim') source XreloadScriptErr.vim assert_fails('source XreloadScriptErr.vim', 'E1001: Variable not found: ax') unlet g:didload - delete('XreloadScriptErr.vim') enddef def Test_vim9_reload_import() --- 1709,1719 ---- Call() g:didload = 1 END ! lines->writefile('XreloadScriptErr.vim', 'D') source XreloadScriptErr.vim assert_fails('source XreloadScriptErr.vim', 'E1001: Variable not found: ax') unlet g:didload enddef def Test_vim9_reload_import() *************** *** 1794,1800 **** return valtwo enddef END ! writefile(lines + morelines, 'Xreload.vim') source Xreload.vim source Xreload.vim source Xreload.vim --- 1731,1737 ---- return valtwo enddef END ! writefile(lines + morelines, 'Xreload.vim', 'D') source Xreload.vim source Xreload.vim source Xreload.vim *************** *** 1808,1814 **** writefile(lines, 'Xreload.vim') assert_fails('source Xreload.vim', 'E1041:', '', 3, 'Xreload.vim') - delete('Xreload.vim') delete('Ximport.vim') enddef --- 1745,1750 ---- *************** *** 1822,1828 **** return str .. 'xxx' enddef END ! writefile(lines, 'Xreload.vim') source Xreload.vim echo g:GetStr() --- 1758,1764 ---- return str .. 'xxx' enddef END ! writefile(lines, 'Xreload.vim', 'D') source Xreload.vim echo g:GetStr() *************** *** 1835,1841 **** assert_fails('echo g:GetStr()', 'E1150:') delfunc g:GetStr - delete('Xreload.vim') enddef " Define CallFunc so that the test can be compiled --- 1771,1776 ---- *************** *** 1856,1867 **** g:didTheFunc = 1 enddef END ! writefile(lines, 'XreloadFunc.vim') source XreloadFunc.vim CallFunc assert_equal(1, g:didTheFunc) - delete('XreloadFunc.vim') delcommand CallFunc unlet g:loadedThis unlet g:didTheFunc --- 1791,1801 ---- g:didTheFunc = 1 enddef END ! writefile(lines, 'XreloadFunc.vim', 'D') source XreloadFunc.vim CallFunc assert_equal(1, g:didTheFunc) delcommand CallFunc unlet g:loadedThis unlet g:didTheFunc *************** *** 1888,1894 **** return arg enddef END ! writefile(sortlines, 'Xsort.vim') var lines =<< trim END vim9script --- 1822,1828 ---- return arg enddef END ! writefile(sortlines, 'Xsort.vim', 'D') var lines =<< trim END vim9script *************** *** 1898,1904 **** enddef Test() END ! writefile(lines, 'Xscript.vim') source Xscript.vim assert_equal([4, 3, 2, 1, 0], g:result) unlet g:result --- 1832,1838 ---- enddef Test() END ! writefile(lines, 'Xscript.vim', 'D') source Xscript.vim assert_equal([4, 3, 2, 1, 0], g:result) unlet g:result *************** *** 1921,1929 **** END writefile(lines, 'Xscript.vim') - delete('Xsort.vim') - delete('Xscript.vim') - var Funcref = function('s:RetSome') assert_equal('some', Funcref()) enddef --- 1855,1860 ---- *************** *** 1944,1950 **** return range(10)->filter(FilterFunc) enddef END ! writefile(filterLines, 'Xfilter.vim') var lines =<< trim END vim9script --- 1875,1881 ---- return range(10)->filter(FilterFunc) enddef END ! writefile(filterLines, 'Xfilter.vim', 'D') var lines =<< trim END vim9script *************** *** 1959,1965 **** TestDirect() END v9.CheckScriptSuccess(lines) - delete('Xfilter.vim') enddef def Test_import_absolute() --- 1890,1895 ---- *************** *** 1974,1981 **** 'UseExported()', 'g:import_disassembled = execute("disass UseExported")', ] ! writefile(import_lines, 'Ximport_abs.vim') ! writefile(s:export_script_lines, 'Xexport_abs.vim') source Ximport_abs.vim --- 1904,1911 ---- 'UseExported()', 'g:import_disassembled = execute("disass UseExported")', ] ! writefile(import_lines, 'Ximport_abs.vim', 'D') ! writefile(s:export_script_lines, 'Xexport_abs.vim', 'D') source Ximport_abs.vim *************** *** 1996,2004 **** Undo_export_script_lines() unlet g:imported_abs unlet g:import_disassembled - - delete('Ximport_abs.vim') - delete('Xexport_abs.vim') enddef def Test_import_rtp() --- 1926,1931 ---- *************** *** 2007,2014 **** 'import "Xexport_rtp.vim" as rtp', 'g:imported_rtp = rtp.exported', ] ! writefile(import_lines, 'Ximport_rtp.vim') ! mkdir('import', 'p') writefile(s:export_script_lines, 'import/Xexport_rtp.vim') var save_rtp = &rtp --- 1934,1941 ---- 'import "Xexport_rtp.vim" as rtp', 'g:imported_rtp = rtp.exported', ] ! writefile(import_lines, 'Ximport_rtp.vim', 'D') ! mkdir('import', 'pR') writefile(s:export_script_lines, 'import/Xexport_rtp.vim') var save_rtp = &rtp *************** *** 2020,2027 **** Undo_export_script_lines() unlet g:imported_rtp - delete('Ximport_rtp.vim') - delete('import', 'rf') enddef def Test_import_compile_error() --- 1947,1952 ---- *************** *** 2031,2037 **** ' return notDefined', 'enddef', ] ! writefile(export_lines, 'Xexported.vim') var import_lines = [ 'vim9script', --- 1956,1962 ---- ' return notDefined', 'enddef', ] ! writefile(export_lines, 'Xexported.vim', 'D') var import_lines = [ 'vim9script', *************** *** 2041,2047 **** 'enddef', 'defcompile', ] ! writefile(import_lines, 'Ximport.vim') try source Ximport.vim --- 1966,1972 ---- 'enddef', 'defcompile', ] ! writefile(import_lines, 'Ximport.vim', 'D') try source Ximport.vim *************** *** 2050,2058 **** assert_match('E1001: Variable not found: notDefined', v:exception) assert_match('function \d\+_ImpFunc\[1\]..\d\+_ExpFunc, line 1', v:throwpoint) endtry - - delete('Xexported.vim') - delete('Ximport.vim') enddef def Test_func_overrules_import_fails() --- 1975,1980 ---- *************** *** 2062,2068 **** echo 'imported' enddef END ! writefile(export_lines, 'XexportedFunc.vim') var lines =<< trim END vim9script --- 1984,1990 ---- echo 'imported' enddef END ! writefile(export_lines, 'XexportedFunc.vim', 'D') var lines =<< trim END vim9script *************** *** 2084,2091 **** defcompile END v9.CheckScriptFailure(lines, 'E1236:') - - delete('XexportedFunc.vim') enddef def Test_source_vim9_from_legacy() --- 2006,2011 ---- *************** *** 2098,2104 **** return 'text' enddef END ! writefile(vim9_lines, 'Xvim9_script.vim') var legacy_lines =<< trim END source Xvim9_script.vim --- 2018,2024 ---- return 'text' enddef END ! writefile(vim9_lines, 'Xvim9_script.vim', 'D') var legacy_lines =<< trim END source Xvim9_script.vim *************** *** 2109,2122 **** call assert_equal('global', global) call assert_equal('global', g:global) END ! writefile(legacy_lines, 'Xlegacy_script.vim') source Xlegacy_script.vim assert_equal('global', g:global) unlet g:global - - delete('Xlegacy_script.vim') - delete('Xvim9_script.vim') enddef def Test_import_vim9_from_legacy() --- 2029,2039 ---- call assert_equal('global', global) call assert_equal('global', g:global) END ! writefile(legacy_lines, 'Xlegacy_script.vim', 'D') source Xlegacy_script.vim assert_equal('global', g:global) unlet g:global enddef def Test_import_vim9_from_legacy() *************** *** 2129,2135 **** return 'text' enddef END ! writefile(vim9_lines, 'Xvim9_export.vim') var legacy_lines =<< trim END import './Xvim9_export.vim' as vim9 --- 2046,2052 ---- return 'text' enddef END ! writefile(vim9_lines, 'Xvim9_export.vim', 'D') var legacy_lines =<< trim END import './Xvim9_export.vim' as vim9 *************** *** 2147,2166 **** call assert_equal('exported', s:vim9.exported) call assert_equal('text', s:vim9.GetText()) END ! writefile(legacy_lines, 'Xlegacy_script.vim') source Xlegacy_script.vim assert_equal('global', g:global) unlet g:global - - delete('Xlegacy_script.vim') - delete('Xvim9_export.vim') enddef def Test_cmdline_win() # if the Vim syntax highlighting uses Vim9 constructs they can be used from # the command line window. ! mkdir('rtp/syntax', 'p') var export_lines =<< trim END vim9script export var That = 'yes' --- 2064,2080 ---- call assert_equal('exported', s:vim9.exported) call assert_equal('text', s:vim9.GetText()) END ! writefile(legacy_lines, 'Xlegacy_script.vim', 'D') source Xlegacy_script.vim assert_equal('global', g:global) unlet g:global enddef def Test_cmdline_win() # if the Vim syntax highlighting uses Vim9 constructs they can be used from # the command line window. ! mkdir('rtp/syntax', 'pR') var export_lines =<< trim END vim9script export var That = 'yes' *************** *** 2186,2192 **** au! augroup END &rtp = save_rtp - delete('rtp', 'rf') enddef def Test_import_gone_when_sourced_twice() --- 2100,2105 ---- *************** *** 2198,2204 **** g:guard = 1 export var name = 'someName' END ! writefile(exportlines, 'XexportScript.vim') var lines =<< trim END vim9script --- 2111,2117 ---- g:guard = 1 export var name = 'someName' END ! writefile(exportlines, 'XexportScript.vim', 'D') var lines =<< trim END vim9script *************** *** 2207,2213 **** return expo.name enddef END ! writefile(lines, 'XscriptImport.vim') so XscriptImport.vim assert_equal('someName', g:GetName()) --- 2120,2126 ---- return expo.name enddef END ! writefile(lines, 'XscriptImport.vim', 'D') so XscriptImport.vim assert_equal('someName', g:GetName()) *************** *** 2215,2222 **** assert_fails('call g:GetName()', 'E1149:') delfunc g:GetName - delete('XexportScript.vim') - delete('XscriptImport.vim') unlet g:guard enddef --- 2128,2133 ---- *************** *** 2235,2241 **** enddef END ! mkdir('Xfulldir/autoload', 'p') writefile(lines, 'Xfulldir/autoload/some.vim') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xfulldir' --- 2146,2152 ---- enddef END ! mkdir('Xfulldir/autoload', 'pR') writefile(lines, 'Xfulldir/autoload/some.vim') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xfulldir' *************** *** 2258,2269 **** writefile(lines, 'Xfulldir/autoload/Other.vim') assert_equal('other', g:Other#GetOther()) - delete('Xfulldir', 'rf') &rtp = save_rtp enddef def Test_vim9script_autoload() ! mkdir('Xaldir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xaldir' --- 2169,2179 ---- writefile(lines, 'Xfulldir/autoload/Other.vim') assert_equal('other', g:Other#GetOther()) &rtp = save_rtp enddef def Test_vim9script_autoload() ! mkdir('Xaldir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xaldir' *************** *** 2323,2334 **** unlet g:prefixed_loaded unlet g:expected_loaded - delete('Xaldir', 'rf') &rtp = save_rtp enddef def Test_import_autoload_not_exported() ! mkdir('Xnimdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xnimdir' --- 2233,2243 ---- unlet g:prefixed_loaded unlet g:expected_loaded &rtp = save_rtp enddef def Test_import_autoload_not_exported() ! mkdir('Xnimdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xnimdir' *************** *** 2453,2464 **** END v9.CheckScriptFailure(lines, 'E117: Unknown function: notExport7#NotExport') - delete('Xnimdir', 'rf') &rtp = save_rtp enddef def Test_vim9script_autoload_call() ! mkdir('Xcalldir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xcalldir' --- 2362,2372 ---- END v9.CheckScriptFailure(lines, 'E117: Unknown function: notExport7#NotExport') &rtp = save_rtp enddef def Test_vim9script_autoload_call() ! mkdir('Xcalldir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xcalldir' *************** *** 2497,2508 **** v9.CheckScriptSuccess(lines) unlet g:result - delete('Xcalldir', 'rf') &rtp = save_rtp enddef def Test_vim9script_noclear_autoload() ! mkdir('Xnocdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xnocdir' --- 2405,2415 ---- v9.CheckScriptSuccess(lines) unlet g:result &rtp = save_rtp enddef def Test_vim9script_noclear_autoload() ! mkdir('Xnocdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xnocdir' *************** *** 2526,2532 **** nnoremap g:result = double.Func() END g:double_loaded = 'no' ! writefile(lines, 'Xloaddouble') source Xloaddouble assert_equal('no', g:double_loaded) assert_equal(true, g:script_loaded) --- 2433,2439 ---- nnoremap g:result = double.Func() END g:double_loaded = 'no' ! writefile(lines, 'Xloaddouble', 'D') source Xloaddouble assert_equal('no', g:double_loaded) assert_equal(true, g:script_loaded) *************** *** 2535,2550 **** assert_equal('called', g:result) assert_equal('yes', g:double_loaded) - delete('Xloaddouble') unlet g:double_loaded unlet g:script_loaded unlet g:result - delete('Xnocdir', 'rf') &rtp = save_rtp enddef def Test_vim9script_autoload_duplicate() ! mkdir('Xdupdir/autoload', 'p') var lines =<< trim END vim9script --- 2442,2455 ---- assert_equal('called', g:result) assert_equal('yes', g:double_loaded) unlet g:double_loaded unlet g:script_loaded unlet g:result &rtp = save_rtp enddef def Test_vim9script_autoload_duplicate() ! mkdir('Xdupdir/autoload', 'pR') var lines =<< trim END vim9script *************** *** 2613,2624 **** END writefile(lines, 'Xdupdir/autoload/dup6func.vim') assert_fails('source Xdupdir/autoload/dup6func.vim', 'E1041: Redefining script item: "Func"') - - delete('Xdupdir', 'rf') enddef def Test_autoload_missing_function_name() ! mkdir('Xmisdir/autoload', 'p') var lines =<< trim END vim9script --- 2518,2527 ---- END writefile(lines, 'Xdupdir/autoload/dup6func.vim') assert_fails('source Xdupdir/autoload/dup6func.vim', 'E1041: Redefining script item: "Func"') enddef def Test_autoload_missing_function_name() ! mkdir('Xmisdir/autoload', 'pR') var lines =<< trim END vim9script *************** *** 2628,2635 **** END writefile(lines, 'Xmisdir/autoload/loadme.vim') assert_fails('source Xmisdir/autoload/loadme.vim', 'E129:') - - delete('Xmisdir', 'rf') enddef def Test_autoload_name_wrong() --- 2531,2536 ---- *************** *** 2637,2647 **** def Xscriptname#Func() enddef END ! writefile(lines, 'Xscriptname.vim') v9.CheckScriptFailure(lines, 'E746:') - delete('Xscriptname.vim') ! mkdir('Xwrodir/autoload', 'p') lines =<< trim END vim9script def somescript#Func() --- 2538,2547 ---- def Xscriptname#Func() enddef END ! writefile(lines, 'Xscriptname.vim', 'D') v9.CheckScriptFailure(lines, 'E746:') ! mkdir('Xwrodir/autoload', 'pR') lines =<< trim END vim9script def somescript#Func() *************** *** 2654,2660 **** enddef def Test_import_autoload_postponed() ! mkdir('Xpostdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xpostdir' --- 2554,2560 ---- enddef def Test_import_autoload_postponed() ! mkdir('Xpostdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xpostdir' *************** *** 2685,2696 **** assert_equal('true', g:loaded_postponed) unlet g:loaded_postponed - delete('Xpostdir', 'rf') &rtp = save_rtp enddef def Test_import_autoload_override() ! mkdir('Xoverdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xoverdir' test_override('autoload', 1) --- 2585,2595 ---- assert_equal('true', g:loaded_postponed) unlet g:loaded_postponed &rtp = save_rtp enddef def Test_import_autoload_override() ! mkdir('Xoverdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xoverdir' test_override('autoload', 1) *************** *** 2721,2732 **** test_override('autoload', 0) unlet g:loaded_override - delete('Xoverdir', 'rf') &rtp = save_rtp enddef def Test_autoload_mapping() ! mkdir('Xmapdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xmapdir' --- 2620,2630 ---- test_override('autoload', 0) unlet g:loaded_override &rtp = save_rtp enddef def Test_autoload_mapping() ! mkdir('Xmapdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xmapdir' *************** *** 2773,2779 **** nunmap yy unlet g:toggle_loaded unlet g:toggle_called - delete('Xmapdir', 'rf') &rtp = save_rtp enddef --- 2671,2676 ---- *************** *** 2831,2837 **** " test disassembling an auto-loaded function starting with "debug" def Test_vim9_autoload_disass() ! mkdir('Xdasdir/autoload', 'p') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xdasdir' --- 2728,2734 ---- " test disassembling an auto-loaded function starting with "debug" def Test_vim9_autoload_disass() ! mkdir('Xdasdir/autoload', 'pR') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xdasdir' *************** *** 2860,2866 **** END v9.CheckScriptSuccess(lines) - delete('Xdasdir', 'rf') &rtp = save_rtp enddef --- 2757,2762 ---- *************** *** 2873,2879 **** enddef END ! mkdir('Xauldir/autoload', 'p') writefile(lines, 'Xauldir/autoload/foo.vim') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xauldir' --- 2769,2775 ---- enddef END ! mkdir('Xauldir/autoload', 'pR') writefile(lines, 'Xauldir/autoload/foo.vim') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xauldir' *************** *** 2886,2892 **** augroup test autocmd! augroup END - delete('Xauldir', 'rf') &rtp = save_rtp enddef --- 2782,2787 ---- *************** *** 2899,2905 **** enddef END ! mkdir('Xcasedir/autoload', 'p') writefile(lines, 'Xcasedir/autoload/CaseSensitive.vim') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xcasedir' --- 2794,2800 ---- enddef END ! mkdir('Xcasedir/autoload', 'pR') writefile(lines, 'Xcasedir/autoload/CaseSensitive.vim') var save_rtp = &rtp exe 'set rtp^=' .. getcwd() .. '/Xcasedir' *************** *** 2920,2926 **** v9.CheckScriptFailure(lines, 'E1262:') endif - delete('Xcasedir', 'rf') &rtp = save_rtp enddef --- 2815,2820 ---- *************** *** 2944,2950 **** catch /wontmatch/ endtry END ! call mkdir('Xruntime/autoload', 'p') call writefile(lines, 'Xruntime/autoload/crash.vim') # run in a separate Vim to avoid the side effects of assert_fails() --- 2838,2844 ---- catch /wontmatch/ endtry END ! call mkdir('Xruntime/autoload', 'pR') call writefile(lines, 'Xruntime/autoload/crash.vim') # run in a separate Vim to avoid the side effects of assert_fails() *************** *** 2954,2966 **** call writefile(['ok'], 'Xdidit') qall! END ! writefile(lines, 'Xscript') g:RunVim([], [], '-S Xscript') assert_equal(['ok'], readfile('Xdidit')) delete('Xdidit') - delete('Xscript') - delete('Xruntime', 'rf') lines =<< trim END vim9script --- 2848,2858 ---- call writefile(['ok'], 'Xdidit') qall! END ! writefile(lines, 'Xscript', 'D') g:RunVim([], [], '-S Xscript') assert_equal(['ok'], readfile('Xdidit')) delete('Xdidit') lines =<< trim END vim9script *************** *** 2973,2979 **** if !has('unix') CheckUnix else ! mkdir('Xto/plugin', 'p') var lines =<< trim END vim9script import autoload 'bar.vim' --- 2865,2871 ---- if !has('unix') CheckUnix else ! mkdir('Xto/plugin', 'pR') var lines =<< trim END vim9script import autoload 'bar.vim' *************** *** 2982,2988 **** END writefile(lines, 'Xto/plugin/foo.vim') ! mkdir('Xto/autoload', 'p') lines =<< trim END vim9script export def Func(): string --- 2874,2880 ---- END writefile(lines, 'Xto/plugin/foo.vim') ! mkdir('Xto/autoload', 'pR') lines =<< trim END vim9script export def Func(): string *************** *** 3014,3020 **** unlet g:resultFunc unlet g:resultValue &rtp = save_rtp - delete('Xto', 'rf') delete('Xfrom', 'rf') endif enddef --- 2906,2911 ---- *** ../vim-9.0.0765/src/version.c 2022-10-15 19:03:57.552589510 +0100 --- src/version.c 2022-10-15 20:03:12.192458472 +0100 *************** *** 697,698 **** --- 697,700 ---- { /* Add new patch number below this line */ + /**/ + 766, /**/ -- To the optimist, the glass is half full. To the pessimist, the glass is half empty. To the engineer, the glass is twice as big as it needs to be. /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// \\\ \\\ sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///