diff options
author | LemonBoy <thatlemon@gmail.com> | 2022-04-03 11:58:31 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-04-03 11:58:31 +0100 |
commit | a3157a476bfa8c3077d510cc8400093c0d115df5 (patch) | |
tree | 0901d5e5d41710e7651f477f6ad756ce07753a3e /src | |
parent | 72bb47e38f6805050ed6d969f17591bed71f83d4 (diff) |
patch 8.2.4671: 'wildignorecase' is sometimes not used for glob()v8.2.4671
Problem: 'wildignorecase' is sometimes not used for glob().
Solution: Also use 'wildignorecase' when there are no wildcards.
(closes #10066, closes #8350)
Diffstat (limited to 'src')
-rw-r--r-- | src/filepath.c | 12 | ||||
-rw-r--r-- | src/testdir/test_functions.vim | 2 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 10 insertions, 6 deletions
diff --git a/src/filepath.c b/src/filepath.c index 851091e57a..5bf31ea8e8 100644 --- a/src/filepath.c +++ b/src/filepath.c @@ -3945,13 +3945,13 @@ gen_expand_wildcards( } /* - * If there are wildcards: Expand file names and add each match to - * the list. If there is no match, and EW_NOTFOUND is given, add - * the pattern. - * If there are no wildcards: Add the file name if it exists or - * when EW_NOTFOUND is given. + * If there are wildcards or case-insensitive expansion is + * required: Expand file names and add each match to the list. If + * there is no match, and EW_NOTFOUND is given, add the pattern. + * Otherwise: Add the file name if it exists or when EW_NOTFOUND is + * given. */ - if (mch_has_exp_wildcard(p)) + if (mch_has_exp_wildcard(p) || (flags & EW_ICASE)) { #if defined(FEAT_SEARCHPATH) if ((flags & EW_PATH) diff --git a/src/testdir/test_functions.vim b/src/testdir/test_functions.vim index fddf4aeb63..a19dd52719 100644 --- a/src/testdir/test_functions.vim +++ b/src/testdir/test_functions.vim @@ -2821,6 +2821,8 @@ func Test_glob() " Sort output of glob() otherwise we end up with different " ordering depending on whether file system is case-sensitive. call assert_equal(['XGLOB2', 'Xglob1'], sort(glob('Xglob[12]', 0, 1))) + " wildignorecase shall be applied even when the pattern contains no wildcards. + call assert_equal('XGLOB2', glob('xglob2')) set wildignorecase& call delete('Xglob1') diff --git a/src/version.c b/src/version.c index 487a134d09..c6111fc92d 100644 --- a/src/version.c +++ b/src/version.c @@ -751,6 +751,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4671, +/**/ 4670, /**/ 4669, |