Karsten Hopp b62d79
To: vim_dev@googlegroups.com
Karsten Hopp b62d79
Subject: Patch 7.4.090
Karsten Hopp b62d79
Fcc: outbox
Karsten Hopp b62d79
From: Bram Moolenaar <Bram@moolenaar.net>
Karsten Hopp b62d79
Mime-Version: 1.0
Karsten Hopp b62d79
Content-Type: text/plain; charset=UTF-8
Karsten Hopp b62d79
Content-Transfer-Encoding: 8bit
Karsten Hopp b62d79
------------
Karsten Hopp b62d79
Karsten Hopp b62d79
Patch 7.4.090
Karsten Hopp b62d79
Problem:    Win32: When a directory name contains an exclamation mark,
Karsten Hopp b62d79
            completion doesn't complete the contents of the directory.
Karsten Hopp b62d79
Solution:   Escape the exclamation mark. (Jan Stocker)
Karsten Hopp b62d79
Files:      src/ex_getln.c, src/testdir/test102.in, src/testdir/test102.ok
Karsten Hopp b62d79
            src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak,
Karsten Hopp b62d79
            src/testdir/Make_ming.mak, src/testdir/Make_os2.mak,
Karsten Hopp b62d79
            src/testdir/Make_vms.mms, src/testdir/Makefile
Karsten Hopp b62d79
Karsten Hopp b62d79
Karsten Hopp b62d79
*** ../vim-7.4.089/src/ex_getln.c	2013-11-09 05:30:18.000000000 +0100
Karsten Hopp b62d79
--- src/ex_getln.c	2013-11-12 05:23:15.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 3852,3860 ****
Karsten Hopp b62d79
      char_u	buf[20];
Karsten Hopp b62d79
      int		j = 0;
Karsten Hopp b62d79
  
Karsten Hopp b62d79
!     /* Don't escape '[' and '{' if they are in 'isfname'. */
Karsten Hopp b62d79
      for (p = PATH_ESC_CHARS; *p != NUL; ++p)
Karsten Hopp b62d79
! 	if ((*p != '[' && *p != '{') || !vim_isfilec(*p))
Karsten Hopp b62d79
  	    buf[j++] = *p;
Karsten Hopp b62d79
      buf[j] = NUL;
Karsten Hopp b62d79
      p = vim_strsave_escaped(fname, buf);
Karsten Hopp b62d79
--- 3852,3860 ----
Karsten Hopp b62d79
      char_u	buf[20];
Karsten Hopp b62d79
      int		j = 0;
Karsten Hopp b62d79
  
Karsten Hopp b62d79
!     /* Don't escape '[', '{' and '!' if they are in 'isfname'. */
Karsten Hopp b62d79
      for (p = PATH_ESC_CHARS; *p != NUL; ++p)
Karsten Hopp b62d79
! 	if ((*p != '[' && *p != '{' && *p != '!') || !vim_isfilec(*p))
Karsten Hopp b62d79
  	    buf[j++] = *p;
Karsten Hopp b62d79
      buf[j] = NUL;
Karsten Hopp b62d79
      p = vim_strsave_escaped(fname, buf);
Karsten Hopp b62d79
*** ../vim-7.4.089/src/testdir/test102.in	2013-11-12 05:27:48.000000000 +0100
Karsten Hopp b62d79
--- src/testdir/test102.in	2013-11-12 05:21:26.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 0 ****
Karsten Hopp b62d79
--- 1,12 ----
Karsten Hopp b62d79
+ Test if fnameescape is correct for special chars like !
Karsten Hopp b62d79
+ 
Karsten Hopp b62d79
+ STARTTEST
Karsten Hopp b62d79
+ :%d
Karsten Hopp b62d79
+ :let fname = 'Xspa ce'
Karsten Hopp b62d79
+ :try | exe "w! " . fnameescape(fname) | put='Space' | endtry 
Karsten Hopp b62d79
+ :let fname = 'Xemark!'
Karsten Hopp b62d79
+ :try | exe "w! " . fnameescape(fname) | put='ExclamationMark' | endtry
Karsten Hopp b62d79
+ :w! test.out
Karsten Hopp b62d79
+ :qa!
Karsten Hopp b62d79
+ ENDTEST
Karsten Hopp b62d79
+ 
Karsten Hopp b62d79
*** ../vim-7.4.089/src/testdir/test102.ok	2013-11-12 05:27:48.000000000 +0100
Karsten Hopp b62d79
--- src/testdir/test102.ok	2013-11-12 05:21:19.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 0 ****
Karsten Hopp b62d79
--- 1,3 ----
Karsten Hopp b62d79
+ 
Karsten Hopp b62d79
+ Space
Karsten Hopp b62d79
+ ExclamationMark
Karsten Hopp b62d79
*** ../vim-7.4.089/src/testdir/Make_amiga.mak	2013-11-08 04:30:06.000000000 +0100
Karsten Hopp b62d79
--- src/testdir/Make_amiga.mak	2013-11-12 05:20:03.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 34,40 ****
Karsten Hopp b62d79
  		test81.out test82.out test83.out test84.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test97.out test98.out \
Karsten Hopp b62d79
! 		test99.out test100.out test101.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  .SUFFIXES: .in .out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
--- 34,40 ----
Karsten Hopp b62d79
  		test81.out test82.out test83.out test84.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test97.out test98.out \
Karsten Hopp b62d79
! 		test99.out test100.out test101.out test102.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  .SUFFIXES: .in .out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 152,154 ****
Karsten Hopp b62d79
--- 152,155 ----
Karsten Hopp b62d79
  test99.out: test99.in
Karsten Hopp b62d79
  test100.out: test100.in
Karsten Hopp b62d79
  test101.out: test101.in
Karsten Hopp b62d79
+ test102.out: test102.in
Karsten Hopp b62d79
*** ../vim-7.4.089/src/testdir/Make_dos.mak	2013-11-08 04:30:06.000000000 +0100
Karsten Hopp b62d79
--- src/testdir/Make_dos.mak	2013-11-12 05:20:10.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 33,39 ****
Karsten Hopp b62d79
  		test84.out test85.out test86.out test87.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test98.out test99.out \
Karsten Hopp b62d79
! 		test100.out test101.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  SCRIPTS32 =	test50.out test70.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
--- 33,39 ----
Karsten Hopp b62d79
  		test84.out test85.out test86.out test87.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test98.out test99.out \
Karsten Hopp b62d79
! 		test100.out test101.out test102.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  SCRIPTS32 =	test50.out test70.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
*** ../vim-7.4.089/src/testdir/Make_ming.mak	2013-11-08 04:30:06.000000000 +0100
Karsten Hopp b62d79
--- src/testdir/Make_ming.mak	2013-11-12 05:20:14.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 53,59 ****
Karsten Hopp b62d79
  		test84.out test85.out test86.out test87.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test98.out test99.out \
Karsten Hopp b62d79
! 		test100out test101.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  SCRIPTS32 =	test50.out test70.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
--- 53,59 ----
Karsten Hopp b62d79
  		test84.out test85.out test86.out test87.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test98.out test99.out \
Karsten Hopp b62d79
! 		test100out test101.out test102.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  SCRIPTS32 =	test50.out test70.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
*** ../vim-7.4.089/src/testdir/Make_os2.mak	2013-11-08 04:30:06.000000000 +0100
Karsten Hopp b62d79
--- src/testdir/Make_os2.mak	2013-11-12 05:20:18.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 35,41 ****
Karsten Hopp b62d79
  		test81.out test82.out test83.out test84.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test98.out test99.out \
Karsten Hopp b62d79
! 		test100.out test101.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  .SUFFIXES: .in .out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
--- 35,41 ----
Karsten Hopp b62d79
  		test81.out test82.out test83.out test84.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test98.out test99.out \
Karsten Hopp b62d79
! 		test100.out test101.out test102.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  .SUFFIXES: .in .out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
*** ../vim-7.4.089/src/testdir/Make_vms.mms	2013-11-08 04:30:06.000000000 +0100
Karsten Hopp b62d79
--- src/testdir/Make_vms.mms	2013-11-12 05:20:21.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 4,10 ****
Karsten Hopp b62d79
  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
Karsten Hopp b62d79
  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
Karsten Hopp b62d79
  #
Karsten Hopp b62d79
! # Last change:  2013 Nov 08
Karsten Hopp b62d79
  #
Karsten Hopp b62d79
  # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
Karsten Hopp b62d79
  # Edit the lines in the Configuration section below to select.
Karsten Hopp b62d79
--- 4,10 ----
Karsten Hopp b62d79
  # Authors:	Zoltan Arpadffy, <arpadffy@polarhome.com>
Karsten Hopp b62d79
  #		Sandor Kopanyi,  <sandor.kopanyi@mailbox.hu>
Karsten Hopp b62d79
  #
Karsten Hopp b62d79
! # Last change:  2013 Nov 12
Karsten Hopp b62d79
  #
Karsten Hopp b62d79
  # This has been tested on VMS 6.2 to 8.3 on DEC Alpha, VAX and IA64.
Karsten Hopp b62d79
  # Edit the lines in the Configuration section below to select.
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 79,85 ****
Karsten Hopp b62d79
  	 test82.out test83.out test84.out test88.out test89.out \
Karsten Hopp b62d79
  	 test90.out test91.out test92.out test93.out test94.out \
Karsten Hopp b62d79
  	 test95.out test96.out test97.out test98.out test99.out \
Karsten Hopp b62d79
! 	 test100.out test101.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  # Known problems:
Karsten Hopp b62d79
  # Test 30: a problem around mac format - unknown reason
Karsten Hopp b62d79
--- 79,85 ----
Karsten Hopp b62d79
  	 test82.out test83.out test84.out test88.out test89.out \
Karsten Hopp b62d79
  	 test90.out test91.out test92.out test93.out test94.out \
Karsten Hopp b62d79
  	 test95.out test96.out test97.out test98.out test99.out \
Karsten Hopp b62d79
! 	 test100.out test101.out test102.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  # Known problems:
Karsten Hopp b62d79
  # Test 30: a problem around mac format - unknown reason
Karsten Hopp b62d79
*** ../vim-7.4.089/src/testdir/Makefile	2013-11-08 04:30:06.000000000 +0100
Karsten Hopp b62d79
--- src/testdir/Makefile	2013-11-12 05:20:32.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 30,36 ****
Karsten Hopp b62d79
  		test84.out test85.out test86.out test87.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test97.out test98.out \
Karsten Hopp b62d79
! 		test99.out test100.out test101.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  SCRIPTS_GUI = test16.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
--- 30,36 ----
Karsten Hopp b62d79
  		test84.out test85.out test86.out test87.out test88.out \
Karsten Hopp b62d79
  		test89.out test90.out test91.out test92.out test93.out \
Karsten Hopp b62d79
  		test94.out test95.out test96.out test97.out test98.out \
Karsten Hopp b62d79
! 		test99.out test100.out test101.out test102.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
  SCRIPTS_GUI = test16.out
Karsten Hopp b62d79
  
Karsten Hopp b62d79
*** ../vim-7.4.089/src/version.c	2013-11-12 05:11:58.000000000 +0100
Karsten Hopp b62d79
--- src/version.c	2013-11-12 05:24:24.000000000 +0100
Karsten Hopp b62d79
***************
Karsten Hopp b62d79
*** 740,741 ****
Karsten Hopp b62d79
--- 740,743 ----
Karsten Hopp b62d79
  {   /* Add new patch number below this line */
Karsten Hopp b62d79
+ /**/
Karsten Hopp b62d79
+     90,
Karsten Hopp b62d79
  /**/
Karsten Hopp b62d79
Karsten Hopp b62d79
-- 
Karsten Hopp b62d79
If you don't get everything you want, think of
Karsten Hopp b62d79
everything you didn't get and don't want.
Karsten Hopp b62d79
Karsten Hopp b62d79
 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net   \\\
Karsten Hopp b62d79
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
Karsten Hopp b62d79
\\\  an exciting new programming language -- http://www.Zimbu.org        ///
Karsten Hopp b62d79
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///