aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Walch <florian@fwalch.com>2015-04-28 12:57:20 +0300
committerJustin M. Keyes <justinkz@gmail.com>2015-04-28 21:03:00 -0400
commit6a8862ded4d6f1693ac591ac8e47d1acbd044c49 (patch)
treea32c5598b90d3c53b499a30eec1e617d181dc7b7
parent13e148687c4eb60205c56b0ddaf19241daea7ca4 (diff)
downloadrneovim-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.c10
-rw-r--r--src/nvim/version.c2
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,