Karsten Hopp 0fb978
To: vim_dev@googlegroups.com
Karsten Hopp 0fb978
Subject: Patch 7.3.1223
Karsten Hopp 0fb978
Fcc: outbox
Karsten Hopp 0fb978
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp 0fb978
Mime-Version: 1.0
Karsten Hopp 0fb978
Content-Type: text/plain; charset=UTF-8
Karsten Hopp 0fb978
Content-Transfer-Encoding: 8bit
Karsten Hopp 0fb978
------------
Karsten Hopp 0fb978
Karsten Hopp 0fb978
Patch 7.3.1223
Karsten Hopp 0fb978
Problem:    Tests fail on MS-Windows.
Karsten Hopp 0fb978
Solution:   Avoid depending on OS version. Use DOS commands instead of Unix
Karsten Hopp 0fb978
	    commands. (Taro Muraoka, Ken Takata)
Karsten Hopp 0fb978
Files:	    src/testdir/test17.in, src/testdir/test50.in,
Karsten Hopp 0fb978
	    src/testdir/test71.in, src/testdir/test77.in
Karsten Hopp 0fb978
Karsten Hopp 0fb978
Karsten Hopp 0fb978
*** ../vim-7.3.1222/src/testdir/test17.in	2012-07-25 13:46:25.000000000 +0200
Karsten Hopp 0fb978
--- src/testdir/test17.in	2013-06-19 21:01:57.000000000 +0200
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 9,14 ****
Karsten Hopp 0fb978
--- 9,21 ----
Karsten Hopp 0fb978
  :else
Karsten Hopp 0fb978
  : set isfname=@,48-57,/,.,-,_,+,,,$,:,~,{,}
Karsten Hopp 0fb978
  :endif
Karsten Hopp 0fb978
+ :function! DeleteDirectory(dir)
Karsten Hopp 0fb978
+ : if has("win16") || has("win32") || has("win64") || has("dos16") || has("dos32")
Karsten Hopp 0fb978
+ :  exec "silent !rmdir /Q /S " . a:dir
Karsten Hopp 0fb978
+ : else
Karsten Hopp 0fb978
+ :  exec "silent !rm -rf " . a:dir
Karsten Hopp 0fb978
+ : endif
Karsten Hopp 0fb978
+ :endfun
Karsten Hopp 0fb978
  :if has("unix")
Karsten Hopp 0fb978
  :let $CDIR = "."
Karsten Hopp 0fb978
  /CDIR
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 20,25 ****
Karsten Hopp 0fb978
--- 27,37 ----
Karsten Hopp 0fb978
  :endif
Karsten Hopp 0fb978
  /TDIR
Karsten Hopp 0fb978
  :endif
Karsten Hopp 0fb978
+ :" Dummy writing for making that sure gf doesn't fail even if the current
Karsten Hopp 0fb978
+ :" file is modified. It can be occurred when executing the following command
Karsten Hopp 0fb978
+ :" directly on Windows without fixing the 'fileformat':
Karsten Hopp 0fb978
+ :"  > nmake -f Make_dos.mak test17.out
Karsten Hopp 0fb978
+ :w! test.out
Karsten Hopp 0fb978
  gf
Karsten Hopp 0fb978
  :w! test.out
Karsten Hopp 0fb978
  :brewind
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 31,40 ****
Karsten Hopp 0fb978
  STARTTEST
Karsten Hopp 0fb978
  :" check for 'include' without \zs or \ze
Karsten Hopp 0fb978
  :lang C
Karsten Hopp 0fb978
! :!rm -f ./Xbase.a
Karsten Hopp 0fb978
! :!rm -rf ./Xdir1
Karsten Hopp 0fb978
! :!mkdir -p Xdir1/dir2
Karsten Hopp 0fb978
! :e Xdir1/dir2/foo.a
Karsten Hopp 0fb978
  i#include   "bar.a"?
Karsten Hopp 0fb978
  :w
Karsten Hopp 0fb978
  :e Xdir1/dir2/bar.a
Karsten Hopp 0fb978
--- 43,53 ----
Karsten Hopp 0fb978
  STARTTEST
Karsten Hopp 0fb978
  :" check for 'include' without \zs or \ze
Karsten Hopp 0fb978
  :lang C
Karsten Hopp 0fb978
! :call delete("./Xbase.a")
Karsten Hopp 0fb978
! :call DeleteDirectory("Xdir1")
Karsten Hopp 0fb978
! :!mkdir Xdir1
Karsten Hopp 0fb978
! :!mkdir "Xdir1/dir2"
Karsten Hopp 0fb978
! :e! Xdir1/dir2/foo.a
Karsten Hopp 0fb978
  i#include   "bar.a"?
Karsten Hopp 0fb978
  :w
Karsten Hopp 0fb978
  :e Xdir1/dir2/bar.a
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 55,69 ****
Karsten Hopp 0fb978
  
Karsten Hopp 0fb978
  STARTTEST
Karsten Hopp 0fb978
  :" check for 'include' with \zs and \ze
Karsten Hopp 0fb978
! :!rm -f ./Xbase.b
Karsten Hopp 0fb978
! :!rm -rf ./Xdir1
Karsten Hopp 0fb978
! :!mkdir -p Xdir1/dir2
Karsten Hopp 0fb978
  :let &include='^\s*%inc\s*/\zs[^/]\+\ze'
Karsten Hopp 0fb978
  :function! DotsToSlashes()
Karsten Hopp 0fb978
  :  return substitute(v:fname, '\.', '/', 'g') . '.b'
Karsten Hopp 0fb978
  :endfunction
Karsten Hopp 0fb978
  :let &includeexpr='DotsToSlashes()'
Karsten Hopp 0fb978
! :e Xdir1/dir2/foo.b
Karsten Hopp 0fb978
  i%inc   /bar/?
Karsten Hopp 0fb978
  :w
Karsten Hopp 0fb978
  :e Xdir1/dir2/bar.b
Karsten Hopp 0fb978
--- 68,83 ----
Karsten Hopp 0fb978
  
Karsten Hopp 0fb978
  STARTTEST
Karsten Hopp 0fb978
  :" check for 'include' with \zs and \ze
Karsten Hopp 0fb978
! :call delete("./Xbase.b")
Karsten Hopp 0fb978
! :call DeleteDirectory("Xdir1")
Karsten Hopp 0fb978
! :!mkdir Xdir1
Karsten Hopp 0fb978
! :!mkdir "Xdir1/dir2"
Karsten Hopp 0fb978
  :let &include='^\s*%inc\s*/\zs[^/]\+\ze'
Karsten Hopp 0fb978
  :function! DotsToSlashes()
Karsten Hopp 0fb978
  :  return substitute(v:fname, '\.', '/', 'g') . '.b'
Karsten Hopp 0fb978
  :endfunction
Karsten Hopp 0fb978
  :let &includeexpr='DotsToSlashes()'
Karsten Hopp 0fb978
! :e! Xdir1/dir2/foo.b
Karsten Hopp 0fb978
  i%inc   /bar/?
Karsten Hopp 0fb978
  :w
Karsten Hopp 0fb978
  :e Xdir1/dir2/bar.b
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 84,92 ****
Karsten Hopp 0fb978
  
Karsten Hopp 0fb978
  STARTTEST
Karsten Hopp 0fb978
  :" check for 'include' with \zs and no \ze
Karsten Hopp 0fb978
! :!rm -f ./Xbase.c
Karsten Hopp 0fb978
! :!rm -rf ./Xdir1
Karsten Hopp 0fb978
! :!mkdir -p Xdir1/dir2
Karsten Hopp 0fb978
  :let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
Karsten Hopp 0fb978
  :function! StripNewlineChar()
Karsten Hopp 0fb978
  :  if v:fname =~ '\n$'
Karsten Hopp 0fb978
--- 98,107 ----
Karsten Hopp 0fb978
  
Karsten Hopp 0fb978
  STARTTEST
Karsten Hopp 0fb978
  :" check for 'include' with \zs and no \ze
Karsten Hopp 0fb978
! :call delete("./Xbase.c")
Karsten Hopp 0fb978
! :call DeleteDirectory("Xdir1")
Karsten Hopp 0fb978
! :!mkdir Xdir1
Karsten Hopp 0fb978
! :!mkdir "Xdir1/dir2"
Karsten Hopp 0fb978
  :let &include='^\s*%inc\s*\%([[:upper:]][^[:space:]]*\s\+\)\?\zs\S\+\ze'
Karsten Hopp 0fb978
  :function! StripNewlineChar()
Karsten Hopp 0fb978
  :  if v:fname =~ '\n$'
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 95,101 ****
Karsten Hopp 0fb978
  :  return v:fname
Karsten Hopp 0fb978
  :endfunction
Karsten Hopp 0fb978
  :let &includeexpr='StripNewlineChar()'
Karsten Hopp 0fb978
! :e Xdir1/dir2/foo.c
Karsten Hopp 0fb978
  i%inc   bar.c?
Karsten Hopp 0fb978
  :w
Karsten Hopp 0fb978
  :e Xdir1/dir2/bar.c
Karsten Hopp 0fb978
--- 110,116 ----
Karsten Hopp 0fb978
  :  return v:fname
Karsten Hopp 0fb978
  :endfunction
Karsten Hopp 0fb978
  :let &includeexpr='StripNewlineChar()'
Karsten Hopp 0fb978
! :e! Xdir1/dir2/foo.c
Karsten Hopp 0fb978
  i%inc   bar.c?
Karsten Hopp 0fb978
  :w
Karsten Hopp 0fb978
  :e Xdir1/dir2/bar.c
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 115,120 ****
Karsten Hopp 0fb978
--- 130,139 ----
Karsten Hopp 0fb978
  :checkpath!
Karsten Hopp 0fb978
  :redir END
Karsten Hopp 0fb978
  :brewind
Karsten Hopp 0fb978
+ :" replace "\" to "/" for Windows
Karsten Hopp 0fb978
+ :e test.out
Karsten Hopp 0fb978
+ :%s#\\#/#g
Karsten Hopp 0fb978
+ :w
Karsten Hopp 0fb978
  :q
Karsten Hopp 0fb978
  ENDTEST
Karsten Hopp 0fb978
  
Karsten Hopp 0fb978
*** ../vim-7.3.1222/src/testdir/test50.in	2010-08-15 21:57:29.000000000 +0200
Karsten Hopp 0fb978
--- src/testdir/test50.in	2013-06-19 20:03:18.000000000 +0200
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 33,39 ****
Karsten Hopp 0fb978
  	" This could change for CygWin to //cygdrive/c
Karsten Hopp 0fb978
  	let dir1='c:/x.x.y'
Karsten Hopp 0fb978
  	if filereadable(dir1) || isdirectory(dir1)
Karsten Hopp 0fb978
! 		call confirm( "'".dir1."' exists, cannot run test" )
Karsten Hopp 0fb978
  		return
Karsten Hopp 0fb978
  	endif
Karsten Hopp 0fb978
  	let file1=dir1.'/zz.y.txt'
Karsten Hopp 0fb978
--- 33,39 ----
Karsten Hopp 0fb978
  	" This could change for CygWin to //cygdrive/c
Karsten Hopp 0fb978
  	let dir1='c:/x.x.y'
Karsten Hopp 0fb978
  	if filereadable(dir1) || isdirectory(dir1)
Karsten Hopp 0fb978
! 		echo "FATAL: '".dir1."' exists, cannot run test"
Karsten Hopp 0fb978
  		return
Karsten Hopp 0fb978
  	endif
Karsten Hopp 0fb978
  	let file1=dir1.'/zz.y.txt'
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 41,53 ****
Karsten Hopp 0fb978
  	let dir2=dir1.'/VimIsTheGreatestSinceSlicedBread'
Karsten Hopp 0fb978
  	let file2=dir2.'/z.txt'
Karsten Hopp 0fb978
  	let nofile2=dir2.'/zz.txt'
Karsten Hopp 0fb978
! 	let resdir1='c:/XX2235~1.Y'
Karsten Hopp 0fb978
  	let resfile1=resdir1.'/ZZY~1.TXT'
Karsten Hopp 0fb978
  	let resnofile1=resdir1.'/z.y.txt'
Karsten Hopp 0fb978
  	let resdir2=resdir1.'/VIMIST~1'
Karsten Hopp 0fb978
  	let resfile2=resdir2.'/z.txt'
Karsten Hopp 0fb978
  	let resnofile2=resdir2.'/zz.txt'
Karsten Hopp 0fb978
- 	call MakeDir( dir1 )
Karsten Hopp 0fb978
  	call MakeDir( dir2 )
Karsten Hopp 0fb978
  	call MakeFile( file1 )
Karsten Hopp 0fb978
  	call MakeFile( file2 )
Karsten Hopp 0fb978
--- 41,58 ----
Karsten Hopp 0fb978
  	let dir2=dir1.'/VimIsTheGreatestSinceSlicedBread'
Karsten Hopp 0fb978
  	let file2=dir2.'/z.txt'
Karsten Hopp 0fb978
  	let nofile2=dir2.'/zz.txt'
Karsten Hopp 0fb978
! 	call MakeDir( dir1 )
Karsten Hopp 0fb978
! 	let resdir1 = substitute(fnamemodify(dir1, ':p:8'), '\\$', '', '')
Karsten Hopp 0fb978
! 	if resdir1 !~ '\V\^c:/XX\x\x\x\x~1.Y\$'
Karsten Hopp 0fb978
! 		echo "FATAL: unexpected short name: " . resdir1
Karsten Hopp 0fb978
! 		echo "INFO: please report your OS to vim-dev"
Karsten Hopp 0fb978
! 		return
Karsten Hopp 0fb978
! 	endif
Karsten Hopp 0fb978
  	let resfile1=resdir1.'/ZZY~1.TXT'
Karsten Hopp 0fb978
  	let resnofile1=resdir1.'/z.y.txt'
Karsten Hopp 0fb978
  	let resdir2=resdir1.'/VIMIST~1'
Karsten Hopp 0fb978
  	let resfile2=resdir2.'/z.txt'
Karsten Hopp 0fb978
  	let resnofile2=resdir2.'/zz.txt'
Karsten Hopp 0fb978
  	call MakeDir( dir2 )
Karsten Hopp 0fb978
  	call MakeFile( file1 )
Karsten Hopp 0fb978
  	call MakeFile( file2 )
Karsten Hopp 0fb978
*** ../vim-7.3.1222/src/testdir/test71.in	2010-08-15 21:57:29.000000000 +0200
Karsten Hopp 0fb978
--- src/testdir/test71.in	2013-06-19 20:09:12.000000000 +0200
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 8,14 ****
Karsten Hopp 0fb978
  :let cm0_bytes = getline('.', '.')
Karsten Hopp 0fb978
  :/^start of cm=blowfish bytes/+1
Karsten Hopp 0fb978
  :let cm1_bytes = getline('.', '.')
Karsten Hopp 0fb978
! :bwipe
Karsten Hopp 0fb978
  :call append(0, text_lines)
Karsten Hopp 0fb978
  :$d
Karsten Hopp 0fb978
  :X
Karsten Hopp 0fb978
--- 8,14 ----
Karsten Hopp 0fb978
  :let cm0_bytes = getline('.', '.')
Karsten Hopp 0fb978
  :/^start of cm=blowfish bytes/+1
Karsten Hopp 0fb978
  :let cm1_bytes = getline('.', '.')
Karsten Hopp 0fb978
! :bwipe!
Karsten Hopp 0fb978
  :call append(0, text_lines)
Karsten Hopp 0fb978
  :$d
Karsten Hopp 0fb978
  :X
Karsten Hopp 0fb978
*** ../vim-7.3.1222/src/testdir/test77.in	2012-04-30 11:34:20.000000000 +0200
Karsten Hopp 0fb978
--- src/testdir/test77.in	2013-06-19 20:03:54.000000000 +0200
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 23,28 ****
Karsten Hopp 0fb978
--- 23,29 ----
Karsten Hopp 0fb978
  :w! Xtest
Karsten Hopp 0fb978
  :r !cksum Xtest
Karsten Hopp 0fb978
  :s/\s/ /g
Karsten Hopp 0fb978
+ :set fileformat&
Karsten Hopp 0fb978
  :.w! test.out
Karsten Hopp 0fb978
  :qa!
Karsten Hopp 0fb978
  ENDTEST
Karsten Hopp 0fb978
*** ../vim-7.3.1222/src/version.c	2013-06-19 20:11:44.000000000 +0200
Karsten Hopp 0fb978
--- src/version.c	2013-06-19 21:03:21.000000000 +0200
Karsten Hopp 0fb978
***************
Karsten Hopp 0fb978
*** 730,731 ****
Karsten Hopp 0fb978
--- 730,733 ----
Karsten Hopp 0fb978
  {   /* Add new patch number below this line */
Karsten Hopp 0fb978
+ /**/
Karsten Hopp 0fb978
+     1223,
Karsten Hopp 0fb978
  /**/
Karsten Hopp 0fb978
Karsten Hopp 0fb978
-- 
Karsten Hopp 0fb978
hundred-and-one symptoms of being an internet addict:
Karsten Hopp 0fb978
255. You work for a newspaper and your editor asks you to write an
Karsten Hopp 0fb978
     article about Internet addiction...in the "first person."
Karsten Hopp 0fb978
Karsten Hopp 0fb978
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp 0fb978
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp 0fb978
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp 0fb978
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///