]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
updated for version 7.4.633 v7.4.633
authorBram Moolenaar <Bram@vim.org>
Tue, 17 Feb 2015 11:44:09 +0000 (12:44 +0100)
committerBram Moolenaar <Bram@vim.org>
Tue, 17 Feb 2015 11:44:09 +0000 (12:44 +0100)
Problem:    After 7.4.630 the problem persists.
Solution:   Also skip redo when calling a user function.

src/eval.c
src/version.c

index d468403a0854289ae61e4f01998cf043896a579e..508a26c1fa6ef82afb2b3bb59337028055aaba67 100644 (file)
@@ -8693,13 +8693,19 @@ call_func(funcname, len, rettv, argcount, argvars, firstline, lastline,
                    error = ERROR_DICT;
                else
                {
+                   int did_save_redo = FALSE;
+
                    /*
                     * Call the user function.
                     * Save and restore search patterns, script variables and
                     * redo buffer.
                     */
                    save_search_patterns();
-                   saveRedobuff();
+                   if (!ins_compl_active())
+                   {
+                       saveRedobuff();
+                       did_save_redo = TRUE;
+                   }
                    ++fp->uf_calls;
                    call_user_func(fp, argcount, argvars, rettv,
                                               firstline, lastline,
@@ -8709,7 +8715,8 @@ call_func(funcname, len, rettv, argcount, argvars, firstline, lastline,
                        /* Function was unreferenced while being used, free it
                         * now. */
                        func_free(fp);
-                   restoreRedobuff();
+                   if (did_save_redo)
+                       restoreRedobuff();
                    restore_search_patterns();
                    error = ERROR_NONE;
                }
index 9b1707007d6cd58dfee992ca1c31429f79b56069..d2afbf500abaa171967404afa018d147a174aeb8 100644 (file)
@@ -741,6 +741,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    633,
 /**/
     632,
 /**/