diff options
author | ckelsel <ckelsel@hotmail.com> | 2017-07-19 22:48:05 +0800 |
---|---|---|
committer | James McCoy <jamessan@jamessan.com> | 2017-08-16 12:48:58 -0400 |
commit | 8dddf5590796994254fb31b4cbe1736ec3faf9f6 (patch) | |
tree | 3ded9ed145e3d073608cf20f023e0089c7126984 /src/nvim/move.c | |
parent | 30cb66e8ba520d4564189ff763b5859e3d80581f (diff) | |
download | rneovim-8dddf5590796994254fb31b4cbe1736ec3faf9f6.tar.gz rneovim-8dddf5590796994254fb31b4cbe1736ec3faf9f6.tar.bz2 rneovim-8dddf5590796994254fb31b4cbe1736ec3faf9f6.zip |
vim-patch:8.0.0044
Problem: In diff mode the cursor may end up below the last line, resulting
in an ml_get error.
Solution: Check the line to be valid.
https://github.com/vim/vim/commit/025e3e0bafbc85cc4e365145af711edf99d0a90d
Diffstat (limited to 'src/nvim/move.c')
-rw-r--r-- | src/nvim/move.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/nvim/move.c b/src/nvim/move.c index 81d46a7f17..4d646f5a4b 100644 --- a/src/nvim/move.c +++ b/src/nvim/move.c @@ -2147,14 +2147,12 @@ void do_check_cursorbind(void) curbuf = curwin->w_buffer; /* skip original window and windows with 'noscrollbind' */ if (curwin != old_curwin && curwin->w_p_crb) { - if (curwin->w_p_diff) - curwin->w_cursor.lnum - = diff_get_corresponding_line(old_curbuf, - line, - curbuf, - curwin->w_cursor.lnum); - else + if (curwin->w_p_diff) { + curwin->w_cursor.lnum = + diff_get_corresponding_line(old_curbuf, line); + } else { curwin->w_cursor.lnum = line; + } curwin->w_cursor.col = col; curwin->w_cursor.coladd = coladd; curwin->w_curswant = curswant; |