aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2016-02-22 01:10:50 -0500
committerJustin M. Keyes <justinkz@gmail.com>2016-02-22 01:10:50 -0500
commit95230ec7022b34dafa59fc334489f490a272eace (patch)
tree07f52b0af1cb39835b04f04952b00576986459eb /src
parent44179d7444c20d5b5bf83224fb31b67a60eb0d65 (diff)
parentc9f4f828d5d28ad2405b47ecff7994f13b8a562b (diff)
downloadrneovim-95230ec7022b34dafa59fc334489f490a272eace.tar.gz
rneovim-95230ec7022b34dafa59fc334489f490a272eace.tar.bz2
rneovim-95230ec7022b34dafa59fc334489f490a272eace.zip
Merge pull request #4267 from watiko/vim-7.4.932
vim-patch:7.4.{926,932,933}
Diffstat (limited to 'src')
-rw-r--r--src/nvim/ex_getln.c32
-rw-r--r--src/nvim/version.c8
2 files changed, 29 insertions, 11 deletions
diff --git a/src/nvim/ex_getln.c b/src/nvim/ex_getln.c
index d015f6b4a0..39bff9b2ad 100644
--- a/src/nvim/ex_getln.c
+++ b/src/nvim/ex_getln.c
@@ -2957,20 +2957,37 @@ ExpandOne (
}
}
- /* Find longest common part */
+ // Find longest common part
if (mode == WILD_LONGEST && xp->xp_numfiles > 0) {
size_t len;
- for (len = 0; xp->xp_files[0][len]; ++len) {
- for (i = 0; i < xp->xp_numfiles; ++i) {
+ size_t mb_len = 1;
+ int c0;
+ int ci;
+
+ for (len = 0; xp->xp_files[0][len]; len += mb_len) {
+ if (has_mbyte) {
+ mb_len = (* mb_ptr2len)(&xp->xp_files[0][len]);
+ c0 = (* mb_ptr2char)(&xp->xp_files[0][len]);
+ } else {
+ c0 = xp->xp_files[0][len];
+ }
+ for (i = 1; i < xp->xp_numfiles; ++i) {
+ if (has_mbyte) {
+ ci =(* mb_ptr2char)(&xp->xp_files[i][len]);
+ } else {
+ ci = xp->xp_files[i][len];
+ }
+
if (p_fic && (xp->xp_context == EXPAND_DIRECTORIES
|| xp->xp_context == EXPAND_FILES
|| xp->xp_context == EXPAND_SHELLCMD
|| xp->xp_context == EXPAND_BUFFERS)) {
- if (TOLOWER_LOC(xp->xp_files[i][len]) !=
- TOLOWER_LOC(xp->xp_files[0][len]))
+ if (vim_tolower(c0) != vim_tolower(ci)) {
break;
- } else if (xp->xp_files[i][len] != xp->xp_files[0][len])
+ }
+ } else if (c0 != ci) {
break;
+ }
}
if (i < xp->xp_numfiles) {
if (!(options & WILD_NO_BEEP)) {
@@ -2979,8 +2996,9 @@ ExpandOne (
break;
}
}
+
ss = (char_u *)xstrndup((char *)xp->xp_files[0], len);
- findex = -1; /* next p_wc gets first one */
+ findex = -1; // next p_wc gets first one
}
// Concatenate all matching names
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 8b756faa35..4db0cb4b08 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -355,16 +355,16 @@ static int included_patches[] = {
// 938 NA
// 937,
// 936,
- // 935,
+ // 935 NA
// 934 NA
- // 933,
- // 932,
+ 933,
+ 932,
// 931 NA
// 930 NA
929,
// 928 NA
// 927 NA
- // 926,
+ 926,
// 925,
// 924 NA
// 923 NA