0
0
mirror of https://github.com/vim/vim.git synced 2025-09-24 03:44:06 -04:00

patch 8.2.3423: Vim9: list += list creates a new list in :def function

Problem:    Vim9: list += list creates a new list in :def function.
Solution:   Append to the existing list.
This commit is contained in:
Bram Moolenaar
2021-09-09 23:01:14 +02:00
parent efc084e335
commit 07802044b9
5 changed files with 36 additions and 12 deletions

View File

@@ -3677,7 +3677,14 @@ exec_instructions(ectx_T *ectx)
// add two lists or blobs
if (iptr->isn_type == ISN_ADDLIST)
eval_addlist(tv1, tv2);
{
if (iptr->isn_arg.op.op_type == EXPR_APPEND
&& tv1->vval.v_list != NULL)
list_extend(tv1->vval.v_list, tv2->vval.v_list,
NULL);
else
eval_addlist(tv1, tv2);
}
else
eval_addblob(tv1, tv2);
clear_tv(tv2);