changeset 13180:0dfd846f9190 v8.0.1464

patch 8.0.1464: completing directory after :find does not add slash commit https://github.com/vim/vim/commit/8a37b032895b40dd6953280c33585bcba0c7ef8b Author: Bram Moolenaar <Bram@vim.org> Date: Sat Feb 3 20:43:08 2018 +0100 patch 8.0.1464: completing directory after :find does not add slash Problem: Completing directory after :find does not add slash. Solution: Adjust the flags for globpath(). (Genki Sky)
author Christian Brabandt <cb@256bit.org>
date Sat, 03 Feb 2018 20:45:06 +0100
parents 32d3b42f9524
children 6e5fd667df85
files src/misc1.c src/testdir/test_find_complete.vim src/version.c
diffstat 3 files changed, 14 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -10761,6 +10761,7 @@ expand_in_path(
     char_u	*curdir;
     garray_T	path_ga;
     char_u	*paths = NULL;
+    int		glob_flags = 0;
 
     if ((curdir = alloc((unsigned)MAXPATHL)) == NULL)
 	return 0;
@@ -10777,7 +10778,11 @@ expand_in_path(
     if (paths == NULL)
 	return 0;
 
-    globpath(paths, pattern, gap, (flags & EW_ICASE) ? WILD_ICASE : 0);
+    if (flags & EW_ICASE)
+	glob_flags |= WILD_ICASE;
+    if (flags & EW_ADDSLASH)
+	glob_flags |= WILD_ADD_SLASH;
+    globpath(paths, pattern, gap, glob_flags);
     vim_free(paths);
 
     return gap->ga_len;
--- a/src/testdir/test_find_complete.vim
+++ b/src/testdir/test_find_complete.vim
@@ -86,6 +86,12 @@ func Test_find_complete()
   call feedkeys(":find f\t\n", "xt")
   call assert_equal('Holy Grail', getline(1))
 
+  " Test that find completion on directory appends a slash
+  call feedkeys(":find in/pa\tfile.txt\n", "xt")
+  call assert_equal('E.T.', getline(1))
+  call feedkeys(":find ./i\tstuff.txt\n", "xt")
+  call assert_equal('Another Holy Grail', getline(1))
+
   " Test shortening of
   "
   "    foo/x/bar/voyager.txt
--- a/src/version.c
+++ b/src/version.c
@@ -772,6 +772,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1464,
+/**/
     1463,
 /**/
     1462,