forked from aniani/vim
updated for version 7.4.630
Problem: When using Insert mode completion combined with autocommands the redo command may not work. Solution: Do not save the redo buffer when executing autocommands. (Yasuhiro Matsumoto)
This commit is contained in:
@@ -9230,6 +9230,7 @@ apply_autocmds_group(event, fname, fname_io, force, group, buf, eap)
|
||||
#ifdef FEAT_PROFILE
|
||||
proftime_T wait_time;
|
||||
#endif
|
||||
int did_save_redobuff = FALSE;
|
||||
|
||||
/*
|
||||
* Quickly return if there are no autocommands for this event or
|
||||
@@ -9430,7 +9431,11 @@ apply_autocmds_group(event, fname, fname_io, force, group, buf, eap)
|
||||
if (!autocmd_busy)
|
||||
{
|
||||
save_search_patterns();
|
||||
if (!ins_compl_active())
|
||||
{
|
||||
saveRedobuff();
|
||||
did_save_redobuff = TRUE;
|
||||
}
|
||||
did_filetype = keep_filetype;
|
||||
}
|
||||
|
||||
@@ -9530,6 +9535,7 @@ apply_autocmds_group(event, fname, fname_io, force, group, buf, eap)
|
||||
if (!autocmd_busy)
|
||||
{
|
||||
restore_search_patterns();
|
||||
if (did_save_redobuff)
|
||||
restoreRedobuff();
|
||||
did_filetype = FALSE;
|
||||
while (au_pending_free_buf != NULL)
|
||||
|
@@ -741,6 +741,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
630,
|
||||
/**/
|
||||
629,
|
||||
/**/
|
||||
|
Reference in New Issue
Block a user