Mercurial > vim
diff src/eval.c @ 7422:35af1e06696b v7.4.1015
commit https://github.com/vim/vim/commit/c21d67e33c1b42a492e04788cbb14a23a6724e39
Author: Bram Moolenaar <Bram@vim.org>
Date: Thu Dec 31 22:27:55 2015 +0100
patch 7.4.1015
Problem: The column is not restored properly when the matchparen plugin is
used in Insert mode and the cursor is after the end of the line.
Solution: Set the curswant flag. (Christian Brabandt). Also fix
highlighting the match of the character before the cursor.
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Thu, 31 Dec 2015 22:30:05 +0100 |
parents | 1886f2863437 |
children | ad432f8f68fb |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -10183,6 +10183,7 @@ f_cursor(argvars, rettv) #ifdef FEAT_VIRTUALEDIT long coladd = 0; #endif + int set_curswant = TRUE; rettv->vval.v_number = -1; if (argvars[1].v_type == VAR_UNKNOWN) @@ -10198,7 +10199,10 @@ f_cursor(argvars, rettv) coladd = pos.coladd; #endif if (curswant >= 0) + { curwin->w_curswant = curswant - 1; + set_curswant = FALSE; + } } else { @@ -10231,7 +10235,7 @@ f_cursor(argvars, rettv) mb_adjust_cursor(); #endif - curwin->w_set_curswant = TRUE; + curwin->w_set_curswant = set_curswant; rettv->vval.v_number = 0; } @@ -17524,7 +17528,10 @@ f_setpos(argvars, rettv) { curwin->w_cursor = pos; if (curswant >= 0) + { curwin->w_curswant = curswant - 1; + curwin->w_set_curswant = FALSE; + } check_cursor(); rettv->vval.v_number = 0; }