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