Problem: After 7.4.630 the problem persists.
Solution: Also skip redo when calling a user function.
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,
/* Function was unreferenced while being used, free it
* now. */
func_free(fp);
- restoreRedobuff();
+ if (did_save_redo)
+ restoreRedobuff();
restore_search_patterns();
error = ERROR_NONE;
}
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 633,
/**/
632,
/**/