diff src/eval.c @ 359:6c62b9b939bd v7.0093

updated for version 7.0093
author vimboss
date Sat, 25 Jun 2005 23:04:51 +0000
parents 25dd5036f2b0
children 5332dd13733c
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -2588,7 +2588,10 @@ eval_for_line(arg, errp, nextcmdp, skip)
 	{
 	    l = tv.vval.v_list;
 	    if (tv.v_type != VAR_LIST || l == NULL)
+	    {
 		EMSG(_(e_listreq));
+		clear_tv(&tv);
+	    }
 	    else
 	    {
 		fi->fi_list = l;
@@ -2640,7 +2643,10 @@ free_for_info(fi_void)
     forinfo_T    *fi = (forinfo_T *)fi_void;
 
     if (fi != NULL && fi->fi_list != NULL)
+    {
 	list_rem_watch(fi->fi_list, &fi->fi_lw);
+	list_unref(fi->fi_list);
+    }
     vim_free(fi);
 }