From 6a8862ded4d6f1693ac591ac8e47d1acbd044c49 Mon Sep 17 00:00:00 2001 From: Florian Walch Date: Tue, 28 Apr 2015 12:57:20 +0300 Subject: [PATCH] vim-patch:7.4.633 #2526 Problem: After 7.4.630 the problem persists. Solution: Also skip redo when calling a user function. https://github.com/vim/vim/commit/v7-4-633 --- src/nvim/eval.c | 10 ++++++++-- src/nvim/version.c | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/nvim/eval.c b/src/nvim/eval.c index 3a8974bca1..1065f1caf9 100644 --- a/src/nvim/eval.c +++ b/src/nvim/eval.c @@ -18913,6 +18913,7 @@ call_user_func ( char_u *name; proftime_T wait_start; proftime_T call_start; + bool did_save_redo = false; /* If depth of calling is getting too high, don't execute the function */ if (depth >= p_mfd) { @@ -18924,7 +18925,10 @@ call_user_func ( ++depth; // Save search patterns and redo buffer. save_search_patterns(); - saveRedobuff(); + if (!ins_compl_active()) { + saveRedobuff(); + did_save_redo = true; + } ++fp->uf_calls; // check for CTRL-C hit line_breakcheck(); @@ -19239,7 +19243,9 @@ call_user_func ( func_free(fp); } // restore search patterns and redo buffer - restoreRedobuff(); + if (did_save_redo) { + restoreRedobuff(); + } restore_search_patterns(); } diff --git a/src/nvim/version.c b/src/nvim/version.c index 1d0804796e..8622f9fe8a 100644 --- a/src/nvim/version.c +++ b/src/nvim/version.c @@ -146,7 +146,7 @@ static int included_patches[] = { 636, //635, //634, - //633, + 633, //632, //631, 630,