aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/funcs.c
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2022-02-13 05:26:15 +0800
committerGitHub <noreply@github.com>2022-02-13 05:26:15 +0800
commit90a43e846d96255b35338e95b5841f913ce2c657 (patch)
tree9429ff3ad73fe0f44d349a089167b3ff80d40e32 /src/nvim/eval/funcs.c
parentf89f4b1e12d97a78a86efbe80b23bf60f4d07d73 (diff)
parented169d89979caf8e67dbdf74491367d2e0cfad58 (diff)
downloadrneovim-90a43e846d96255b35338e95b5841f913ce2c657.tar.gz
rneovim-90a43e846d96255b35338e95b5841f913ce2c657.tar.bz2
rneovim-90a43e846d96255b35338e95b5841f913ce2c657.zip
Merge pull request #17382 from zeertzjq/vim-8.2.2342
vim-patch:8.2.2342: "char" functions may return wrong column in Insert mode
Diffstat (limited to 'src/nvim/eval/funcs.c')
-rw-r--r--src/nvim/eval/funcs.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c
index 8beacc9988..7772d9ffc2 100644
--- a/src/nvim/eval/funcs.c
+++ b/src/nvim/eval/funcs.c
@@ -1588,7 +1588,7 @@ static void set_cursorpos(typval_T *argvars, typval_T *rettv, bool charcol)
line = tv_get_lnum(argvars);
col = (long)tv_get_number_chk(&argvars[1], NULL);
if (charcol) {
- col = buf_charidx_to_byteidx(curbuf, line, col);
+ col = buf_charidx_to_byteidx(curbuf, line, col) + 1;
}
if (argvars[2].v_type != VAR_UNKNOWN) {
coladd = (long)tv_get_number_chk(&argvars[2], NULL);
@@ -3327,7 +3327,7 @@ static void getpos_both(typval_T *argvars, typval_T *rettv, bool getcurpos, bool
}
if (fp != NULL && charcol) {
pos = *fp;
- pos.col = buf_byteidx_to_charidx(wp->w_buffer, pos.lnum, pos.col) - 1;
+ pos.col = buf_byteidx_to_charidx(wp->w_buffer, pos.lnum, pos.col);
fp = &pos;
}
} else {