Skip to content

Commit

Permalink
updated for version 7.4.633
Browse files Browse the repository at this point in the history
Problem:    After 7.4.630 the problem persists.
Solution:   Also skip redo when calling a user function.
  • Loading branch information
brammool committed Feb 17, 2015
1 parent eaa330e commit be20f9f
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 2 deletions.
11 changes: 9 additions & 2 deletions src/eval.c
Original file line number Diff line number Diff line change
Expand Up @@ -8693,13 +8693,19 @@ call_func(funcname, len, rettv, argcount, argvars, firstline, lastline,
error = ERROR_DICT;
else
{
int did_save_redo = FALSE;

/*
* Call the user function.
* Save and restore search patterns, script variables and
* redo buffer.
*/
save_search_patterns();
saveRedobuff();
if (!ins_compl_active())
{
saveRedobuff();
did_save_redo = TRUE;
}
++fp->uf_calls;
call_user_func(fp, argcount, argvars, rettv,
firstline, lastline,
Expand All @@ -8709,7 +8715,8 @@ call_func(funcname, len, rettv, argcount, argvars, firstline, lastline,
/* Function was unreferenced while being used, free it
* now. */
func_free(fp);
restoreRedobuff();
if (did_save_redo)
restoreRedobuff();
restore_search_patterns();
error = ERROR_NONE;
}
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Original file line number Diff line number Diff line change
Expand Up @@ -741,6 +741,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
633,
/**/
632,
/**/
Expand Down

0 comments on commit be20f9f

Please sign in to comment.