aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Ennen <mike.ennen@gmail.com>2016-10-23 17:10:14 -0700
committerMichael Ennen <mike.ennen@gmail.com>2016-10-24 12:49:17 -0700
commitf6f77272b3233ea2926e2d7fb2c007e381a85ea1 (patch)
tree78a243cdbda270f9e73bbfa43536e6c47fba0f57 /src
parent6bc0d9b8c75b5bef61a951e56deb2b28f50182d8 (diff)
downloadrneovim-f6f77272b3233ea2926e2d7fb2c007e381a85ea1.tar.gz
rneovim-f6f77272b3233ea2926e2d7fb2c007e381a85ea1.tar.bz2
rneovim-f6f77272b3233ea2926e2d7fb2c007e381a85ea1.zip
vim-patch:7.4.1782
Problem: strcharpart() does not work properly with some multi-byte characters. Solution: Use mb_cptr2len() instead of mb_char2len(). (Hirohito Higashi) https://github.com/vim/vim/commit/fca66003053f8c0da5161d1fe4b75b3a389934b5
Diffstat (limited to 'src')
-rw-r--r--src/nvim/eval.c6
-rw-r--r--src/nvim/eval.lua2
-rw-r--r--src/nvim/version.c2
3 files changed, 5 insertions, 5 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index a9079c5519..4eb3b36464 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -15762,7 +15762,7 @@ static void f_strcharpart(typval_T *argvars, typval_T *rettv, FunPtr fptr) {
if (!error) {
if (nchar > 0) {
while (nchar > 0 && nbyte < slen) {
- nbyte += mb_char2len(p[nbyte]);
+ nbyte += mb_cptr2len(p + nbyte);
nchar--;
}
} else {
@@ -15777,9 +15777,9 @@ static void f_strcharpart(typval_T *argvars, typval_T *rettv, FunPtr fptr) {
if (off < 0) {
len += 1;
} else {
- len += mb_char2len(p[off]);
- charlen--;
+ len += mb_cptr2len(p + off);
}
+ charlen--;
}
} else {
len = slen - nbyte; // default: all bytes that are available.
diff --git a/src/nvim/eval.lua b/src/nvim/eval.lua
index 633a4b1061..bea25b36f3 100644
--- a/src/nvim/eval.lua
+++ b/src/nvim/eval.lua
@@ -272,7 +272,7 @@ return {
strchars={args={1,2}},
strdisplaywidth={args={1, 2}},
strftime={args={1, 2}},
- strgetchar={args={2,2}},
+ strgetchar={args={2, 2}},
stridx={args={2, 3}},
string={args=1},
strlen={args=1},
diff --git a/src/nvim/version.c b/src/nvim/version.c
index 53435e4650..153b7fb5fd 100644
--- a/src/nvim/version.c
+++ b/src/nvim/version.c
@@ -660,7 +660,7 @@ static int included_patches[] = {
// 1785,
// 1784 NA
// 1783,
- // 1782,
+ 1782,
// 1781,
// 1780,
1779,