summaryrefslogtreecommitdiffstats
path: root/src/fileio.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-04-07 19:50:12 +0200
committerBram Moolenaar <Bram@vim.org>2017-04-07 19:50:12 +0200
commitd4863aa99e0527e9505c79cbeafc68a6832200bf (patch)
tree2ea60d3eb3f29982b5188d86c7df63665d278d72 /src/fileio.c
parent52604f2454e5369f861d3ce34764f74a0999c773 (diff)
patch 8.0.0548: saving the redo buffer only works one timev8.0.0548
Problem: Saving the redo buffer only works one time, resulting in the "." command not working well for a function call inside another function call. (Ingo Karkat) Solution: Save the redo buffer at every user function call. (closes #1619)
Diffstat (limited to 'src/fileio.c')
-rw-r--r--src/fileio.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/fileio.c b/src/fileio.c
index e74392075b..b41df3e7b8 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -9316,6 +9316,7 @@ apply_autocmds_group(
proftime_T wait_time;
#endif
int did_save_redobuff = FALSE;
+ save_redo_T save_redo;
/*
* Quickly return if there are no autocommands for this event or
@@ -9521,7 +9522,7 @@ apply_autocmds_group(
if (!ins_compl_active())
#endif
{
- saveRedobuff();
+ saveRedobuff(&save_redo);
did_save_redobuff = TRUE;
}
did_filetype = keep_filetype;
@@ -9624,7 +9625,7 @@ apply_autocmds_group(
{
restore_search_patterns();
if (did_save_redobuff)
- restoreRedobuff();
+ restoreRedobuff(&save_redo);
did_filetype = FALSE;
while (au_pending_free_buf != NULL)
{