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)
 	{