diff src/fileio.c @ 11325:77f3b7316d8b v8.0.0548

patch 8.0.0548: saving the redo buffer only works one time commit https://github.com/vim/vim/commit/d4863aa99e0527e9505c79cbeafc68a6832200bf Author: Bram Moolenaar <Bram@vim.org> Date: Fri Apr 7 19:50:12 2017 +0200 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)
author Christian Brabandt <cb@256bit.org>
date Fri, 07 Apr 2017 20:00:04 +0200
parents e08ead1d269f
children 16ccaedce025
line wrap: on
line diff
--- 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)
 	{