0
0
mirror of https://github.com/vim/vim.git synced 2025-10-18 07:54:29 -04:00

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)
This commit is contained in:
Bram Moolenaar
2017-04-07 19:50:12 +02:00
parent 52604f2454
commit d4863aa99e
7 changed files with 60 additions and 34 deletions

View File

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