forked from aniani/vim
updated for version 7.4.633
Problem: After 7.4.630 the problem persists. Solution: Also skip redo when calling a user function.
This commit is contained in:
11
src/eval.c
11
src/eval.c
@@ -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,
|
||||
@@ -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;
|
||||
}
|
||||
|
@@ -741,6 +741,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
633,
|
||||
/**/
|
||||
632,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user