diff options
author | Florian Walch <florian@fwalch.com> | 2015-04-28 12:57:20 +0300 |
---|---|---|
committer | Justin M. Keyes <justinkz@gmail.com> | 2015-04-28 21:03:00 -0400 |
commit | 6a8862ded4d6f1693ac591ac8e47d1acbd044c49 (patch) | |
tree | a32c5598b90d3c53b499a30eec1e617d181dc7b7 | |
parent | 13e148687c4eb60205c56b0ddaf19241daea7ca4 (diff) | |
download | rneovim-6a8862ded4d6f1693ac591ac8e47d1acbd044c49.tar.gz rneovim-6a8862ded4d6f1693ac591ac8e47d1acbd044c49.tar.bz2 rneovim-6a8862ded4d6f1693ac591ac8e47d1acbd044c49.zip |
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
-rw-r--r-- | src/nvim/eval.c | 10 | ||||
-rw-r--r-- | 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, |