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
|
#ifdef FEAT_PROFILE
|
||||||
proftime_T wait_time;
|
proftime_T wait_time;
|
||||||
#endif
|
#endif
|
||||||
|
int did_save_redobuff = FALSE;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Quickly return if there are no autocommands for this event or
|
* 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)
|
if (!autocmd_busy)
|
||||||
{
|
{
|
||||||
save_search_patterns();
|
save_search_patterns();
|
||||||
|
if (!ins_compl_active())
|
||||||
|
{
|
||||||
saveRedobuff();
|
saveRedobuff();
|
||||||
|
did_save_redobuff = TRUE;
|
||||||
|
}
|
||||||
did_filetype = keep_filetype;
|
did_filetype = keep_filetype;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -9530,6 +9535,7 @@ apply_autocmds_group(event, fname, fname_io, force, group, buf, eap)
|
|||||||
if (!autocmd_busy)
|
if (!autocmd_busy)
|
||||||
{
|
{
|
||||||
restore_search_patterns();
|
restore_search_patterns();
|
||||||
|
if (did_save_redobuff)
|
||||||
restoreRedobuff();
|
restoreRedobuff();
|
||||||
did_filetype = FALSE;
|
did_filetype = FALSE;
|
||||||
while (au_pending_free_buf != NULL)
|
while (au_pending_free_buf != NULL)
|
||||||
|
@@ -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 */
|
||||||
|
/**/
|
||||||
|
630,
|
||||||
/**/
|
/**/
|
||||||
629,
|
629,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user