]> granicus.if.org Git - vim/commitdiff
updated for version 7.0-092 v7.0.092
authorBram Moolenaar <Bram@vim.org>
Sat, 9 Sep 2006 10:06:58 +0000 (10:06 +0000)
committerBram Moolenaar <Bram@vim.org>
Sat, 9 Sep 2006 10:06:58 +0000 (10:06 +0000)
src/eval.c
src/version.c

index 8dc74b9a49f4b62f8ce6f86313f65f0b51d3cac9..f2abba7b26dee62de60678621bd43f57f0b5f157 100644 (file)
@@ -247,17 +247,6 @@ struct funccall_S
     funccall_T *caller;        /* calling function or NULL */
 };
 
-/*
- * Struct used to make a list of all arguments used in internal functions.
- */
-typedef struct av_list_item_S av_list_item_T;
-struct av_list_item_S {
-    av_list_item_T  *avl_next;
-    typval_T       *avl_argvars;
-};
-
-av_list_item_T *argvars_list = NULL;
-
 /*
  * Info used by a ":for" loop.
  */
@@ -6069,7 +6058,6 @@ garbage_collect()
     int                i;
     funccall_T *fc;
     int                did_free = FALSE;
-    av_list_item_T *av;
 #ifdef FEAT_WINDOWS
     tabpage_T  *tp;
 #endif
@@ -6110,11 +6098,6 @@ garbage_collect()
        set_ref_in_ht(&fc->l_avars.dv_hashtab, copyID);
     }
 
-    /* arguments for internal functions */
-    for (av = argvars_list; av != NULL; av = av->avl_next)
-       for (i = 0; av->avl_argvars[i].v_type != VAR_UNKNOWN; ++i)
-           set_ref_in_item(&av->avl_argvars[i], copyID);
-
     /*
      * 2. Go through the list of dicts and free items without the copyID.
      */
@@ -7558,21 +7541,9 @@ call_func(name, len, rettv, argcount, argvars, firstline, lastline,
                    error = ERROR_TOOMANY;
                else
                {
-                   av_list_item_T  av_list_item;
-
-                   /* Add the arguments to the "argvars_list" to avoid the
-                    * garbage collector not seeing them.  This isn't needed
-                    * for user functions, because the arguments are available
-                    * in the a: hashtab. */
-                   av_list_item.avl_argvars = argvars;
-                   av_list_item.avl_next = argvars_list;
-                   argvars_list = &av_list_item;
-
                    argvars[argcount].v_type = VAR_UNKNOWN;
                    functions[i].f_func(argvars, rettv);
                    error = ERROR_NONE;
-
-                   argvars_list = av_list_item.avl_next;
                }
            }
        }
index 71a14a7dbe195da4a806ec31ed9afa40e2ffead7..673db10b3d90f00e780935a642f9356ec4f4f987 100644 (file)
@@ -666,6 +666,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    92,
 /**/
     91,
 /**/