diff --git a/src/testdir/test17.in b/src/testdir/test17.in
index 9c25e99..9bc1d02 100644
--- a/src/testdir/test17.in
+++ b/src/testdir/test17.in
@@ -9,6 +9,13 @@
 :else
 : set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}
 :endif
+:function! DeleteDirectory(dir)
+: if has("win16") || has("win32") || has("win64") || has("dos16") || has("dos32")
+:  exec "silent !rmdir /Q /S " . a:dir
+: else
+:  exec "silent !rm -rf " . a:dir
+: endif
+:endfun
 :if has("unix")
 :let $CDIR = "."
 /CDIR
@@ -20,6 +27,11 @@
 :endif
 /TDIR
 :endif
+:" Dummy writing for making that sure gf doesn't fail even if the current
+:" file is modified. It can be occurred when executing the following command
+:" directly on Windows without fixing the 'fileformat':
+:"  > nmake -f Make_dos.mak test17.out
+:w! test.out
 gf
 :w! test.out
 :brewind
@@ -31,10 +43,11 @@
 STARTTEST
 :" check for 'include' without \zs or \ze
 :lang C
-:!rm -f ./Xbase.a
-:!rm -rf ./Xdir1
-:!mkdir -p Xdir1/dir2
-:e Xdir1/dir2/foo.a
+:call delete("./Xbase.a")
+:call DeleteDirectory("Xdir1")
+:!mkdir Xdir1
+:!mkdir "Xdir1/dir2"
+:e! Xdir1/dir2/foo.a
 i#include   "bar.a"
 :w
 :e Xdir1/dir2/bar.a
@@ -55,15 +68,16 @@
 
 STARTTEST
 :" check for 'include' with \zs and \ze
-:!rm -f ./Xbase.b
-:!rm -rf ./Xdir1
-:!mkdir -p Xdir1/dir2
+:call delete("./Xbase.b")
+:call DeleteDirectory("Xdir1")
+:!mkdir Xdir1
+:!mkdir "Xdir1/dir2"
 :let &include='^\s*%inc\s*/\zs[^/]\+\ze'
 :function! DotsToSlashes()
 :  return substitute(v:fname, '\.', '/', 'g') . '.b'
 :endfunction
 :let &includeexpr='DotsToSlashes()'
-:e Xdir1/dir2/foo.b
+:e! Xdir1/dir2/foo.b
 i%inc   /bar/
 :w
 :e Xdir1/dir2/bar.b
@@ -84,9 +98,10 @@
 
 STARTTEST
 :" check for 'include' with \zs and no \ze
-:!rm -f ./Xbase.c
-:!rm -rf ./Xdir1
-:!mkdir -p Xdir1/dir2
+:call delete("./Xbase.c")
+:call DeleteDirectory("Xdir1")
+:!mkdir Xdir1
+:!mkdir "Xdir1/dir2"
 :let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
 :function! StripNewlineChar()
 :  if v:fname =~ '\n$'
@@ -95,7 +110,7 @@
 :  return v:fname
 :endfunction
 :let &includeexpr='StripNewlineChar()'
-:e Xdir1/dir2/foo.c
+:e! Xdir1/dir2/foo.c
 i%inc   bar.c
 :w
 :e Xdir1/dir2/bar.c
@@ -115,6 +130,10 @@
 :checkpath!
 :redir END
 :brewind
+:" replace "\" to "/" for Windows
+:e test.out
+:%s#\\#/#g
+:w
 :q
 ENDTEST
 
diff --git a/src/testdir/test50.in b/src/testdir/test50.in
index d78ac8e..0cbf4bf 100644
--- a/src/testdir/test50.in
+++ b/src/testdir/test50.in
@@ -33,7 +33,7 @@
 	" This could change for CygWin to //cygdrive/c
 	let dir1='c:/x.x.y'
 	if filereadable(dir1) || isdirectory(dir1)
-		call confirm( "'".dir1."' exists, cannot run test" )
+		echo "FATAL: '".dir1."' exists, cannot run test"
 		return
 	endif
 	let file1=dir1.'/zz.y.txt'
@@ -41,13 +41,18 @@
 	let dir2=dir1.'/VimIsTheGreatestSinceSlicedBread'
 	let file2=dir2.'/z.txt'
 	let nofile2=dir2.'/zz.txt'
-	let resdir1='c:/XX2235~1.Y'
+	call MakeDir( dir1 )
+	let resdir1 = substitute(fnamemodify(dir1, ':p:8'), '\\$', '', '')
+	if resdir1 !~ '\V\^c:/XX\x\x\x\x~1.Y\$'
+		echo "FATAL: unexpected short name: " . resdir1
+		echo "INFO: please report your OS to vim-dev"
+		return
+	endif
 	let resfile1=resdir1.'/ZZY~1.TXT'
 	let resnofile1=resdir1.'/z.y.txt'
 	let resdir2=resdir1.'/VIMIST~1'
 	let resfile2=resdir2.'/z.txt'
 	let resnofile2=resdir2.'/zz.txt'
-	call MakeDir( dir1 )
 	call MakeDir( dir2 )
 	call MakeFile( file1 )
 	call MakeFile( file2 )
diff --git a/src/testdir/test71.in b/src/testdir/test71.in
index 7de2930..c7e0714 100644
--- a/src/testdir/test71.in
+++ b/src/testdir/test71.in
Binary files differ
diff --git a/src/testdir/test77.in b/src/testdir/test77.in
index 8ac7e10..0dbc4fc 100644
--- a/src/testdir/test77.in
+++ b/src/testdir/test77.in
@@ -23,6 +23,7 @@
 :w! Xtest
 :r !cksum Xtest
 :s/\s/ /g
+:set fileformat&
 :.w! test.out
 :qa!
 ENDTEST
diff --git a/src/version.c b/src/version.c
index 2adb488..9a484dd 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1223,
+/**/
     1222,
 /**/
     1221,
