diff options
Diffstat (limited to 'src/vim9execute.c')
-rw-r--r-- | src/vim9execute.c | 9 |
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); |