updated for version 7.3.812

Problem:    When 'indentexpr' moves the cursor "curswant" not restored.
Solution:   Restore "curswant". (Sung Pae)
This commit is contained in:
Bram Moolenaar
2013-02-13 16:10:17 +01:00
parent be9c627666
commit 8fe8d9ed06
2 changed files with 13 additions and 3 deletions

View File

@ -8809,12 +8809,18 @@ find_match(lookfor, ourscope, ind_maxparen, ind_maxcomment)
get_expr_indent()
{
int indent;
pos_T pos;
pos_T save_pos;
colnr_T save_curswant;
int save_set_curswant;
int save_State;
int use_sandbox = was_set_insecurely((char_u *)"indentexpr",
OPT_LOCAL);
pos = curwin->w_cursor;
/* Save and restore cursor position and curswant, in case it was changed
* via :normal commands */
save_pos = curwin->w_cursor;
save_curswant = curwin->w_curswant;
save_set_curswant = curwin->w_set_curswant;
set_vim_var_nr(VV_LNUM, curwin->w_cursor.lnum);
if (use_sandbox)
++sandbox;
@ -8829,7 +8835,9 @@ get_expr_indent()
* command. */
save_State = State;
State = INSERT;
curwin->w_cursor = pos;
curwin->w_cursor = save_pos;
curwin->w_curswant = save_curswant;
curwin->w_set_curswant = save_set_curswant;
check_cursor();
State = save_State;

View File

@ -725,6 +725,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
812,
/**/
811,
/**/