diff src/eval.c @ 11418:162bcd0debd7 v8.0.0593

patch 8.0.0593: duplication of code for adding a list or dict return value commit https://github.com/vim/vim/commit/45cf6e910c6d162775ca9d470fac4b6db844001f Author: Bram Moolenaar <Bram@vim.org> Date: Sun Apr 30 20:25:19 2017 +0200 patch 8.0.0593: duplication of code for adding a list or dict return value Problem: Duplication of code for adding a list or dict return value. Solution: Add rettv_dict_set() and rettv_list_set(). (Yegappan Lakshmanan)
author Christian Brabandt <cb@256bit.org>
date Sun, 30 Apr 2017 20:30:04 +0200
parents 84baca75b7f2
children 5630978ae089
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -4665,9 +4665,7 @@ eval_index(
 			item = item->li_next;
 		    }
 		    clear_tv(rettv);
-		    rettv->v_type = VAR_LIST;
-		    rettv->vval.v_list = l;
-		    ++l->lv_refcount;
+		    rettv_list_set(rettv, l);
 		}
 		else
 		{
@@ -8486,9 +8484,7 @@ getwinvar(
 
 		    if (opts != NULL)
 		    {
-			rettv->v_type = VAR_DICT;
-			rettv->vval.v_dict = opts;
-			++opts->dv_refcount;
+			rettv_dict_set(rettv, opts);
 			done = TRUE;
 		    }
 		}