summaryrefslogtreecommitdiffstats
path: root/src/vim9execute.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vim9execute.c')
-rw-r--r--src/vim9execute.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/vim9execute.c b/src/vim9execute.c
index fdca977145..9fc942d379 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -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);