Patch 7.4.1108
Problem:    Expanding "~" halfway a file name.
Solution:   Handle the file name as one name. (Marco Hinz)  Add a test.
            Closes #564.
Files:      src/testdir/test27.in, src/testdir/test27.ok,
            src/testdir/test_expand.vim, src/testdir/test_alot.vim,
            src/Makefile, src/misc2.c


*** ../vim-7.4.1107/src/testdir/test27.in       2010-05-15 13:04:10.000000000 
+0200
--- src/testdir/test27.in       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,20 ****
- Test for expanding file names
- 
- STARTTEST
- :!mkdir Xdir1
- :!mkdir Xdir2
- :!mkdir Xdir3
- :cd Xdir3
- :!mkdir Xdir4
- :cd ..
- :w Xdir1/file
- :w Xdir3/Xdir4/file
- :n Xdir?/*/file
- Go % :.w! test.out
- :n! Xdir?/*/nofile
- Go % :.w >>test.out
- :e! xx
- :!rm -rf Xdir1 Xdir2 Xdir3
- :qa!
- ENDTEST
- 
--- 0 ----
*** ../vim-7.4.1107/src/testdir/test27.ok       2010-05-15 13:04:10.000000000 
+0200
--- src/testdir/test27.ok       1970-01-01 01:00:00.000000000 +0100
***************
*** 1,2 ****
- Xdir3/Xdir4/file
- Xdir?/*/nofile
--- 0 ----
*** ../vim-7.4.1107/src/testdir/test_expand.vim 2016-01-16 21:49:54.086583614 
+0100
--- src/testdir/test_expand.vim 2016-01-16 21:46:41.940690641 +0100
***************
*** 0 ****
--- 1,36 ----
+ " Test for expanding file names
+ 
+ func Test_with_directories()
+   call mkdir('Xdir1')
+   call mkdir('Xdir2')
+   call mkdir('Xdir3')
+   cd Xdir3
+   call mkdir('Xdir4')
+   cd ..
+ 
+   split Xdir1/file
+   call setline(1, ['a', 'b'])
+   w
+   w Xdir3/Xdir4/file
+   close
+ 
+   next Xdir?/*/file
+   call assert_equal('Xdir3/Xdir4/file', expand('%'))
+   next! Xdir?/*/nofile
+   call assert_equal('Xdir?/*/nofile', expand('%'))
+ 
+   call delete('Xdir1', 'rf')
+   call delete('Xdir2', 'rf')
+   call delete('Xdir3', 'rf')
+ endfunc
+ 
+ func Test_with_tilde()
+   let dir = getcwd()
+   call mkdir('Xdir ~ dir')
+   call assert_true(isdirectory('Xdir ~ dir'))
+   cd Xdir\ ~\ dir
+   call assert_true(getcwd() =~ 'Xdir \~ dir')
+   exe 'cd ' . fnameescape(dir)
+   call delete('Xdir ~ dir', 'd')
+   call assert_false(isdirectory('Xdir ~ dir'))
+ endfunc
*** ../vim-7.4.1107/src/testdir/test_alot.vim   2016-01-16 21:26:30.501956438 
+0100
--- src/testdir/test_alot.vim   2016-01-16 21:31:55.774396714 +0100
***************
*** 4,9 ****
--- 4,10 ----
  source test_backspace_opt.vim
  source test_cursor_func.vim
  source test_delete.vim
+ source test_expand.vim
  source test_lispwords.vim
  source test_menu.vim
  source test_searchpos.vim
*** ../vim-7.4.1107/src/Makefile        2016-01-14 22:10:23.793193870 +0100
--- src/Makefile        2016-01-16 21:32:08.734254892 +0100
***************
*** 1975,1986 ****
        test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
        test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
        test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
!       test100 test101 test102 test103 test104 test105 test106 test107:
        cd testdir; rm -f [email protected]; $(MAKE) -f Makefile [email protected] 
VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
  
  test_assert \
        test_backspace_opt \
        test_cdo \
        test_hardcopy \
        test_increment \
        test_lispwords \
--- 1975,1989 ----
        test70 test71 test72 test73 test74 test75 test76 test77 test78 test79 \
        test80 test81 test82 test83 test84 test85 test86 test87 test88 test89 \
        test90 test91 test92 test93 test94 test95 test96 test97 test98 test99 \
!       test100 test101 test102 test103 test104 test105 test106 test107 test108:
        cd testdir; rm -f [email protected]; $(MAKE) -f Makefile [email protected] 
VIMPROG=../$(VIMTARGET) $(GUI_TESTARG) SCRIPTSOURCE=../$(SCRIPTSOURCE)
  
  test_assert \
        test_backspace_opt \
        test_cdo \
+       test_cursor_func \
+       test_delete \
+       test_expand \
        test_hardcopy \
        test_increment \
        test_lispwords \
*** ../vim-7.4.1107/src/misc2.c 2016-01-15 20:48:09.866003187 +0100
--- src/misc2.c 2016-01-16 21:39:37.365345840 +0100
***************
*** 5543,5549 ****
        /* copy file name into NameBuff, expanding environment variables */
        save_char = ptr[len];
        ptr[len] = NUL;
!       expand_env(ptr, NameBuff, MAXPATHL);
        ptr[len] = save_char;
  
        vim_free(ff_file_to_find);
--- 5543,5549 ----
        /* copy file name into NameBuff, expanding environment variables */
        save_char = ptr[len];
        ptr[len] = NUL;
!       expand_env_esc(ptr, NameBuff, MAXPATHL, FALSE, TRUE, NULL);
        ptr[len] = save_char;
  
        vim_free(ff_file_to_find);
*** ../vim-7.4.1107/src/version.c       2016-01-16 21:26:30.505956395 +0100
--- src/version.c       2016-01-16 21:28:15.332809141 +0100
***************
*** 743,744 ****
--- 743,746 ----
  {   /* Add new patch number below this line */
+ /**/
+     1108,
  /**/

-- 
Back off man, I'm a scientist.
              -- Peter, Ghostbusters

 /// Bram Moolenaar -- [email protected] -- 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    ///

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui