diff options
author | Bram Moolenaar <bram@vim.org> | 2012-04-30 21:09:43 +0200 |
---|---|---|
committer | Bram Moolenaar <bram@vim.org> | 2012-04-30 21:09:43 +0200 |
commit | 8c03be7252355df02e5b9c2ce454437bd44c7f51 (patch) | |
tree | 81b663d33eb200b002cdd42bb18a1574a22d6ddd | |
parent | b9690f586c05f896dd98efaede20d8cfb28b96db (diff) | |
download | vim-8c03be7252355df02e5b9c2ce454437bd44c7f51.tar.gz |
Problem: 'wildignorecase' only applies to the last part of the path.
Solution: Also ignore case for letters earlier in the path.
-rw-r--r-- | src/misc1.c | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/src/misc1.c b/src/misc1.c index f9513e23..b30b0777 100644 --- a/src/misc1.c +++ b/src/misc1.c @@ -9461,6 +9461,7 @@ unix_expandpath(gap, path, wildoff, flags, didstar) /* * Find the first part in the path name that contains a wildcard. + * When EW_ICASE is set every letter is considered to be a wildcard. * Copy it into "buf", including the preceding characters. */ p = buf; @@ -9480,7 +9481,12 @@ unix_expandpath(gap, path, wildoff, flags, didstar) s = p + 1; } else if (path_end >= path + wildoff - && vim_strchr((char_u *)"*?[{~$", *path_end) != NULL) + && (vim_strchr((char_u *)"*?[{~$", *path_end) != NULL +#ifndef CASE_INSENSITIVE_FILENAME + || ((flags & EW_ICASE) + && isalpha(PTR2CHAR(path_end))) +#endif + )) e = p; #ifdef FEAT_MBYTE if (has_mbyte) diff --git a/src/version.c b/src/version.c index e5a7fd94..317a2d19 100644 --- a/src/version.c +++ b/src/version.c @@ -715,6 +715,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 515, +/**/ 514, /**/ 513, |