summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2018-02-03 20:43:08 +0100
committerBram Moolenaar <Bram@vim.org>2018-02-03 20:43:08 +0100
commit8a37b032895b40dd6953280c33585bcba0c7ef8b (patch)
treec39fe8ece690663f153d7d27c5baaf7baba76e47 /src
parentec48a9c58989babcad23d73483955f35b6e41492 (diff)
downloadvim-git-8a37b032895b40dd6953280c33585bcba0c7ef8b.tar.gz
patch 8.0.1464: completing directory after :find does not add slashv8.0.1464
Problem: Completing directory after :find does not add slash. Solution: Adjust the flags for globpath(). (Genki Sky)
Diffstat (limited to 'src')
-rw-r--r--src/misc1.c7
-rw-r--r--src/testdir/test_find_complete.vim6
-rw-r--r--src/version.c2
3 files changed, 14 insertions, 1 deletions
diff --git a/src/misc1.c b/src/misc1.c
index 2d635d677..726500a4c 100644
--- 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;
diff --git a/src/testdir/test_find_complete.vim b/src/testdir/test_find_complete.vim
index 4732109ed..a7bc135d4 100644
--- 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
diff --git a/src/version.c b/src/version.c
index af192797f..811d52105 100644
--- 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,