aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/mark.c
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2018-08-12 14:54:18 +0200
committerGitHub <noreply@github.com>2018-08-12 14:54:18 +0200
commitaddd181369abc7c0cf17da44808e7b74bc6c1987 (patch)
tree1748903d094967789ca82f91323e237034ad3348 /src/nvim/mark.c
parent1211fa09cfd30d6fcd15a897769586d39595a3e8 (diff)
parent09c2184660e6b958025954218272ec304e8951ba (diff)
downloadrneovim-addd181369abc7c0cf17da44808e7b74bc6c1987.tar.gz
rneovim-addd181369abc7c0cf17da44808e7b74bc6c1987.tar.bz2
rneovim-addd181369abc7c0cf17da44808e7b74bc6c1987.zip
Merge #8837 from janlazo/vim-8.0.1290
Diffstat (limited to 'src/nvim/mark.c')
-rw-r--r--src/nvim/mark.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/nvim/mark.c b/src/nvim/mark.c
index b9c91de2a8..3861d9ceb8 100644
--- a/src/nvim/mark.c
+++ b/src/nvim/mark.c
@@ -1465,7 +1465,11 @@ void mark_mb_adjustpos(buf_T *buf, pos_T *lp)
{
if (lp->col > 0 || lp->coladd > 1) {
const char_u *const p = ml_get_buf(buf, lp->lnum, false);
- lp->col -= (*mb_head_off)(p, p + lp->col);
+ if (*p == NUL || (int)STRLEN(p) < lp->col) {
+ lp->col = 0;
+ } else {
+ lp->col -= (*mb_head_off)(p, p + lp->col);
+ }
// Reset "coladd" when the cursor would be on the right half of a
// double-wide character.
if (lp->coladd == 1