summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2015-02-17 10:58:25 +0100
committerBram Moolenaar <Bram@vim.org>2015-02-17 10:58:25 +0100
commitc51b02d7d9c75c241eb6435d410422d0fa9147a1 (patch)
treea4688ae9bfc551cf06dd6a309bc82bc08aa45b20
parent98f52500b6bca75539f50ea31cb333223141dfeb (diff)
downloadvim-git-c51b02d7d9c75c241eb6435d410422d0fa9147a1.tar.gz
updated for version 7.4.630v7.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)
-rw-r--r--src/fileio.c10
-rw-r--r--src/version.c2
2 files changed, 10 insertions, 2 deletions
diff --git a/src/fileio.c b/src/fileio.c
index 0fa0fc8e0..47814fab9 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -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();
- saveRedobuff();
+ if (!ins_compl_active())
+ {
+ saveRedobuff();
+ did_save_redobuff = TRUE;
+ }
did_filetype = keep_filetype;
}
@@ -9530,7 +9535,8 @@ apply_autocmds_group(event, fname, fname_io, force, group, buf, eap)
if (!autocmd_busy)
{
restore_search_patterns();
- restoreRedobuff();
+ if (did_save_redobuff)
+ restoreRedobuff();
did_filetype = FALSE;
while (au_pending_free_buf != NULL)
{
diff --git a/src/version.c b/src/version.c
index c0684b09b..4fb12302c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 630,
+/**/
629,
/**/
628,