patch 9.0.0538: manually deleting test temp files

Problem:    Manually deleting test temp files.
Solution:   Add the 'D' flag to writefile().
diff --git a/src/testdir/test_eval_stuff.vim b/src/testdir/test_eval_stuff.vim
index 33ab45f..46ec12d 100644
--- a/src/testdir/test_eval_stuff.vim
+++ b/src/testdir/test_eval_stuff.vim
Binary files differ
diff --git a/src/testdir/test_ex_mode.vim b/src/testdir/test_ex_mode.vim
index 2e14e01..a660222 100644
--- a/src/testdir/test_ex_mode.vim
+++ b/src/testdir/test_ex_mode.vim
@@ -237,13 +237,12 @@
     call writefile(['done'], 'Xdidexmode')
     qall!
   END
-  call writefile(lines, 'Xexmodescript')
+  call writefile(lines, 'Xexmodescript', 'D')
   call assert_equal(1, RunVim([], [], '-e -s -S Xexmodescript'))
   call assert_equal(['done'], readfile('Xdidexmode'))
 
   call delete('logfile')
   call delete('Xdidexmode')
-  call delete('Xexmodescript')
 endfunc
 
 func Test_ex_mode_count_overflow()
@@ -257,12 +256,11 @@
     call writefile(['done'], 'Xdidexmode')
     qall!
   END
-  call writefile(lines, 'Xexmodescript')
+  call writefile(lines, 'Xexmodescript', 'D')
   call assert_equal(1, RunVim([], [], '-e -s -S Xexmodescript -c qa'))
   call assert_equal(['done'], readfile('Xdidexmode'))
 
   call delete('Xdidexmode')
-  call delete('Xexmodescript')
 endfunc
 
 func Test_ex_mode_large_indent()
@@ -281,11 +279,9 @@
       0norm0V:
       :qall!
   END
-  call writefile(lines, 'Xexmodescript')
+  call writefile(lines, 'Xexmodescript', 'D')
   call assert_equal(1, RunVim([], [], '-u NONE -e -s -S Xexmodescript'))
 
-  call delete('Xexmodescript')
-
   " This may cause a dialog to be displayed for an empty command, ignore it.
   call delete('guidialogfile')
 endfunc
diff --git a/src/testdir/test_excmd.vim b/src/testdir/test_excmd.vim
index a56676e..3637351 100644
--- a/src/testdir/test_excmd.vim
+++ b/src/testdir/test_excmd.vim
@@ -83,7 +83,7 @@
 
 " Test for the :drop command
 func Test_drop_cmd()
-  call writefile(['L1', 'L2'], 'Xdropfile')
+  call writefile(['L1', 'L2'], 'Xdropfile', 'D')
   enew | only
   drop Xdropfile
   call assert_equal('L2', getline(2))
@@ -99,7 +99,6 @@
   " Check for setting the argument list
   call assert_equal(['Xdropfile'], argv())
   enew | only!
-  call delete('Xdropfile')
 endfunc
 
 " Test for the :append command
@@ -141,14 +140,13 @@
     endfunc
     call timer_start(10, 'Timer')
   END
-  call writefile(lines, 'Xtest_append_cmd_empty_buf')
+  call writefile(lines, 'Xtest_append_cmd_empty_buf', 'D')
   let buf = RunVimInTerminal('-S Xtest_append_cmd_empty_buf', {'rows': 6})
   call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))})
   call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))})
 
   " clean up
   call StopVimInTerminal(buf)
-  call delete('Xtest_append_cmd_empty_buf')
 endfunc
 
 " Test for the :insert command
@@ -190,14 +188,13 @@
     endfunc
     call timer_start(10, 'Timer')
   END
-  call writefile(lines, 'Xtest_insert_cmd_empty_buf')
+  call writefile(lines, 'Xtest_insert_cmd_empty_buf', 'D')
   let buf = RunVimInTerminal('-S Xtest_insert_cmd_empty_buf', {'rows': 6})
   call WaitForAssert({-> assert_equal('bbbbb', term_getline(buf, 2))})
   call WaitForAssert({-> assert_equal('aaaaa', term_getline(buf, 1))})
 
   " clean up
   call StopVimInTerminal(buf)
-  call delete('Xtest_insert_cmd_empty_buf')
 endfunc
 
 " Test for the :change command
@@ -241,8 +238,8 @@
   CheckNotGui
   CheckRunVimInTerminal
 
-  call writefile(['foo1'], 'Xfoo')
-  call writefile(['bar1'], 'Xbar')
+  call writefile(['foo1'], 'Xfoo', 'D')
+  call writefile(['bar1'], 'Xbar', 'D')
 
   " Test for saving all the modified buffers
   let lines =<< trim END
@@ -253,7 +250,7 @@
     call setline(1, 'bar2')
     wincmd b
   END
-  call writefile(lines, 'Xscript')
+  call writefile(lines, 'Xscript', 'D')
   let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
   call term_sendkeys(buf, ":confirm qall\n")
   call WaitForAssert({-> assert_match('\[Y\]es, (N)o, Save (A)ll, (D)iscard All, (C)ancel: ', term_getline(buf, 20))}, 1000)
@@ -302,10 +299,6 @@
 
   call assert_equal(['foo4'], readfile('Xfoo'))
   call assert_equal(['bar2'], readfile('Xbar'))
-
-  call delete('Xscript')
-  call delete('Xfoo')
-  call delete('Xbar')
 endfunc
 
 func Test_confirm_cmd_cancel()
@@ -318,7 +311,7 @@
     new
     call setline(1, 'abc')
   END
-  call writefile(lines, 'Xscript')
+  call writefile(lines, 'Xscript', 'D')
   let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
   call term_sendkeys(buf, ":confirm close\n")
   call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$',
@@ -332,7 +325,6 @@
   call WaitForAssert({-> assert_match('^ *0,0-1         All$',
         \ term_getline(buf, 20))}, 1000)
   call StopVimInTerminal(buf)
-  call delete('Xscript')
 endfunc
 
 " The ":confirm" prompt was sometimes used with the terminal in cooked mode.
@@ -342,14 +334,14 @@
   CheckNotGui
   CheckRunVimInTerminal
 
-  call writefile(['foo'], 'Xfoo')
+  call writefile(['foo'], 'Xfoo', 'D')
 
   let lines =<< trim END
     set hidden nomore
     call setline(1, 'abc')
     edit Xfoo
   END
-  call writefile(lines, 'Xscript')
+  call writefile(lines, 'Xscript', 'D')
   let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
   call term_sendkeys(buf, ":confirm q\n")
   call WaitForAssert({-> assert_match('^\[Y\]es, (N)o, (C)ancel: *$',
@@ -365,23 +357,21 @@
   call term_sendkeys(buf, 'C')
   call WaitForAssert({-> assert_notmatch('^\[Y\]es, (N)o, (C)ancel: C*$',
         \ term_getline(buf, 20))}, 1000)
-  call StopVimInTerminal(buf)
 
-  call delete('Xscript')
-  call delete('Xfoo')
+  call StopVimInTerminal(buf)
 endfunc
 
 func Test_confirm_write_ro()
   CheckNotGui
   CheckRunVimInTerminal
 
-  call writefile(['foo'], 'Xconfirm_write_ro')
+  call writefile(['foo'], 'Xconfirm_write_ro', 'D')
   let lines =<< trim END
     set nobackup ff=unix cmdheight=2
     edit Xconfirm_write_ro
     norm Abar
   END
-  call writefile(lines, 'Xscript')
+  call writefile(lines, 'Xscript', 'D')
   let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
 
   " Try to write with 'ro' option.
@@ -422,17 +412,15 @@
   call assert_equal(['foo'], readfile('Xconfirm_write_ro'))
 
   call StopVimInTerminal(buf)
-  call delete('Xscript')
-  call delete('Xconfirm_write_ro')
 endfunc
 
 func Test_confirm_write_partial_file()
   CheckNotGui
   CheckRunVimInTerminal
 
-  call writefile(['a', 'b', 'c', 'd'], 'Xwrite_partial')
+  call writefile(['a', 'b', 'c', 'd'], 'Xwrite_partial', 'D')
   call writefile(['set nobackup ff=unix cmdheight=2',
-        \         'edit Xwrite_partial'], 'Xscript')
+        \         'edit Xwrite_partial'], 'Xscript', 'D')
   let buf = RunVimInTerminal('-S Xscript', {'rows': 20})
 
   call term_sendkeys(buf, ":confirm 2,3w\n")
@@ -458,8 +446,6 @@
   call assert_equal(['b', 'c'], readfile('Xwrite_partial'))
 
   call StopVimInTerminal(buf)
-  call delete('Xwrite_partial')
-  call delete('Xscript')
 endfunc
 
 " Test for the :print command
@@ -509,10 +495,9 @@
   CheckNotRoot
 
   " Redirecting to a read-only file
-  call writefile([], 'Xredirfile')
+  call writefile([], 'Xredirfile', 'D')
   call setfperm('Xredirfile', 'r--r--r--')
   call assert_fails('redir! > Xredirfile', 'E190:')
-  call delete('Xredirfile')
 endfunc
 
 " Test for the :filetype command
@@ -532,7 +517,7 @@
 
 " Test for the :read command
 func Test_read_cmd()
-  call writefile(['one'], 'Xcmdfile')
+  call writefile(['one'], 'Xcmdfile', 'D')
   new
   call assert_fails('read', 'E32:')
   edit Xcmdfile
@@ -546,7 +531,6 @@
   call feedkeys("Qr Xcmdfile\<CR>visual\<CR>", 'xt')
   call assert_equal(['one'], getline(1, '$'))
   close!
-  call delete('Xcmdfile')
 endfunc
 
 " Test for running Ex commands when text is locked.
@@ -727,7 +711,7 @@
 
 " Test :write after changing name with :file and loading it with :edit
 func Test_write_after_rename()
-  call writefile(['text'], 'Xafterfile')
+  call writefile(['text'], 'Xafterfile', 'D')
 
   enew
   file Xafterfile
@@ -737,7 +721,6 @@
   edit
   write
 
-  call delete('Xafterfile')
   bwipe!
 endfunc
 
diff --git a/src/testdir/test_execute_func.vim b/src/testdir/test_execute_func.vim
index b25f211..09b976b 100644
--- a/src/testdir/test_execute_func.vim
+++ b/src/testdir/test_execute_func.vim
@@ -183,13 +183,12 @@
       silent tabedit Xfile3
       autocmd VimEnter * win_execute(id, 'close')
   END
-  call writefile(lines, 'XwinExecute')
+  call writefile(lines, 'XwinExecute', 'D')
   let buf = RunVimInTerminal('-p Xfile1 -Nu XwinExecute', {})
 
   " this was crashing on exit with EXITFREE defined
   call StopVimInTerminal(buf)
 
-  call delete('XwinExecute')
   call delete('Xfile1')
 endfunc
 
diff --git a/src/testdir/test_exit.vim b/src/testdir/test_exit.vim
index a7596e1..9e9370e 100644
--- a/src/testdir/test_exit.vim
+++ b/src/testdir/test_exit.vim
@@ -117,13 +117,12 @@
   CheckNotAsan
   CheckNotValgrind
 
-  call writefile([":au VimLeave * call writefile(['l = ' .. v:exiting], 'Xtestout')", ":tabnew", "q:"], 'Xscript', 'b')
+  call writefile([":au VimLeave * call writefile(['l = ' .. v:exiting], 'Xtestout')", ":tabnew", "q:"], 'Xscript', 'bD')
 
   if RunVim([], [], '<Xscript')
     call assert_equal(1, v:shell_error)
     call assert_equal(['l = 1'], readfile('Xtestout'))
   endif
-  call delete('Xscript')
   call delete('Xtestout')
 endfun
 
diff --git a/src/testdir/test_expand.vim b/src/testdir/test_expand.vim
index 8f2fab6..c1140aa 100644
--- a/src/testdir/test_expand.vim
+++ b/src/testdir/test_expand.vim
@@ -137,14 +137,13 @@
     :call writefile(v:errors, 'Xresult')
     :qall!
   [SCRIPT]
-  call writefile(lines, 'Xscript')
+  call writefile(lines, 'Xscript', 'D')
   if RunVim([], [], '--clean -s Xscript')
     call assert_equal([
           \ 'E1274: No script file name to substitute for "<script>"',
           \ 'E498: No :source file name to substitute for "<sfile>"'],
           \ readfile('Xresult'))
   endif
-  call delete('Xscript')
   call delete('Xresult')
 endfunc
 
@@ -197,9 +196,9 @@
     au User * call extend(g:au_level, [expand('<script>:t')])
   [SCRIPT]
 
-  call writefile(lines0, 'Xscript0')
-  call writefile(lines1, 'Xscript1')
-  call writefile(lines2, 'Xscript2')
+  call writefile(lines0, 'Xscript0', 'D')
+  call writefile(lines1, 'Xscript1', 'D')
+  call writefile(lines2, 'Xscript2', 'D')
 
   " Check the expansion of <script> at different levels.
   let g:script_level = []
@@ -220,10 +219,6 @@
   delfunc F0
   delfunc F1
   delfunc F2
-
-  call delete('Xscript0')
-  call delete('Xscript1')
-  call delete('Xscript2')
 endfunc
 
 " vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_expand_func.vim b/src/testdir/test_expand_func.vim
index 454d76f..c9e802a 100644
--- a/src/testdir/test_expand_func.vim
+++ b/src/testdir/test_expand_func.vim
@@ -56,14 +56,13 @@
     " comment here
     let g:stack_value = expand('<stack>')
   END
-  call writefile(lines, 'Xstack')
+  call writefile(lines, 'Xstack', 'D')
   source Xstack
   call assert_match('\<Xstack\[2\]$', g:stack_value)
   unlet g:stack_value
-  call delete('Xstack')
 
   if exists('+shellslash')
-    call mkdir('Xshellslash')
+    call mkdir('Xshellslash', 'R')
     let lines =<< trim END
       let g:stack1 = expand('<stack>')
       set noshellslash
@@ -83,7 +82,6 @@
       unlet g:stack2
       unlet g:stack3
     endfor
-    call delete('Xshellslash', 'rf')
   endif
 endfunc
 
diff --git a/src/testdir/test_expr.vim b/src/testdir/test_expr.vim
index 8e2345d..b478963 100644
--- a/src/testdir/test_expr.vim
+++ b/src/testdir/test_expr.vim
@@ -706,13 +706,12 @@
     call writefile([execute('messages')], 'Xtest.out')
     qall
   END
-  call writefile(cleanup, 'Xverify.vim')
+  call writefile(cleanup, 'Xverify.vim', 'D')
   call RunVim([], [], "-c \"echo function('s:abc')\" -S Xverify.vim")
   call assert_match('E81: Using <SID> not in a', readfile('Xtest.out')[0])
   call RunVim([], [], "-c \"echo funcref('s:abc')\" -S Xverify.vim")
   call assert_match('E81: Using <SID> not in a', readfile('Xtest.out')[0])
   call delete('Xtest.out')
-  call delete('Xverify.vim')
 endfunc
 
 func Test_setmatches()
diff --git a/src/version.c b/src/version.c
index e6045d7..0bbeae6 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    538,
+/**/
     537,
 /**/
     536,