0
0
mirror of https://github.com/vim/vim.git synced 2025-09-26 04:04:07 -04:00

patch 8.0.1019: pasting in virtual edit happens in the wrong place

Problem:    Pasting in virtual edit happens in the wrong place.
Solution:   Do not adjust coladd when after the end of the line (closes #2015)
This commit is contained in:
Bram Moolenaar
2017-08-30 17:01:35 +02:00
parent 4ad3b2b588
commit d41babef89
3 changed files with 20 additions and 3 deletions

View File

@@ -607,11 +607,14 @@ check_cursor_col_win(win_T *win)
if (oldcoladd > win->w_cursor.col)
{
win->w_cursor.coladd = oldcoladd - win->w_cursor.col;
if (win->w_cursor.col < len && win->w_cursor.coladd > 0)
/* Make sure that coladd is not more than the char width.
* Not for the last character, coladd is then used when the cursor
* is actually after the last character. */
if (win->w_cursor.col + 1 < len && win->w_cursor.coladd > 0)
{
int cs, ce;
/* check that coladd is not more than the char width */
getvcol(win, &win->w_cursor, &cs, NULL, &ce);
if (win->w_cursor.coladd > ce - cs)
win->w_cursor.coladd = ce - cs;