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;
|
error = ERROR_DICT;
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
int did_save_redo = FALSE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Call the user function.
|
* Call the user function.
|
||||||
* Save and restore search patterns, script variables and
|
* Save and restore search patterns, script variables and
|
||||||
* redo buffer.
|
* redo buffer.
|
||||||
*/
|
*/
|
||||||
save_search_patterns();
|
save_search_patterns();
|
||||||
saveRedobuff();
|
if (!ins_compl_active())
|
||||||
|
{
|
||||||
|
saveRedobuff();
|
||||||
|
did_save_redo = TRUE;
|
||||||
|
}
|
||||||
++fp->uf_calls;
|
++fp->uf_calls;
|
||||||
call_user_func(fp, argcount, argvars, rettv,
|
call_user_func(fp, argcount, argvars, rettv,
|
||||||
firstline, lastline,
|
firstline, lastline,
|
||||||
@@ -8709,7 +8715,8 @@ call_func(funcname, len, rettv, argcount, argvars, firstline, lastline,
|
|||||||
/* Function was unreferenced while being used, free it
|
/* Function was unreferenced while being used, free it
|
||||||
* now. */
|
* now. */
|
||||||
func_free(fp);
|
func_free(fp);
|
||||||
restoreRedobuff();
|
if (did_save_redo)
|
||||||
|
restoreRedobuff();
|
||||||
restore_search_patterns();
|
restore_search_patterns();
|
||||||
error = ERROR_NONE;
|
error = ERROR_NONE;
|
||||||
}
|
}
|
||||||
|
@@ -741,6 +741,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
633,
|
||||||
/**/
|
/**/
|
||||||
632,
|
632,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user