patch 8.0.0548: saving the redo buffer only works one time
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)
diff --git a/src/fileio.c b/src/fileio.c
index e743920..b41df3e 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -9316,6 +9316,7 @@
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 @@
if (!ins_compl_active())
#endif
{
- saveRedobuff();
+ saveRedobuff(&save_redo);
did_save_redobuff = TRUE;
}
did_filetype = keep_filetype;
@@ -9624,7 +9625,7 @@
{
restore_search_patterns();
if (did_save_redobuff)
- restoreRedobuff();
+ restoreRedobuff(&save_redo);
did_filetype = FALSE;
while (au_pending_free_buf != NULL)
{