diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-09-12 19:09:23 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-12 19:09:23 +0800 |
commit | a48e42a29d2eeef3f3ee0e7e1a89f981efa82d54 (patch) | |
tree | 753ce1b91ced3e24ac45c3b1266edf18a5acb092 | |
parent | 2ea6584a1b798bc7bb77d97735c77c0c7ce38706 (diff) | |
download | rneovim-a48e42a29d2eeef3f3ee0e7e1a89f981efa82d54.tar.gz rneovim-a48e42a29d2eeef3f3ee0e7e1a89f981efa82d54.tar.bz2 rneovim-a48e42a29d2eeef3f3ee0e7e1a89f981efa82d54.zip |
vim-patch:8.2.4671: 'wildignorecase' is sometimes not used for glob() (#20165)
Problem: 'wildignorecase' is sometimes not used for glob().
Solution: Also use 'wildignorecase' when there are no wildcards.
(closes vim/vim#10066, closes vim/vim#8350)
https://github.com/vim/vim/commit/a3157a476bfa8c3077d510cc8400093c0d115df5
-rw-r--r-- | src/nvim/path.c | 12 | ||||
-rw-r--r-- | src/nvim/testdir/test_functions.vim | 2 |
2 files changed, 8 insertions, 6 deletions
diff --git a/src/nvim/path.c b/src/nvim/path.c index 38112be3ce..ac07fbee87 100644 --- a/src/nvim/path.c +++ b/src/nvim/path.c @@ -1272,12 +1272,12 @@ int gen_expand_wildcards(int num_pat, char **pat, int *num_file, char ***file, i } } - // 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 (path_has_exp_wildcard(p)) { + // 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 (path_has_exp_wildcard(p) || (flags & EW_ICASE)) { if ((flags & EW_PATH) && !path_is_absolute(p) && !(p[0] == '.' diff --git a/src/nvim/testdir/test_functions.vim b/src/nvim/testdir/test_functions.vim index 99ac6ae32c..c41884936e 100644 --- a/src/nvim/testdir/test_functions.vim +++ b/src/nvim/testdir/test_functions.vim @@ -2026,6 +2026,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') |