Mercurial > vim
diff src/vim9expr.c @ 34957:3cacfb652766 v9.1.0335
patch 9.1.0335: String interpolation fails for List type
Commit: https://github.com/vim/vim/commit/bce51d9005dd1c5bc002acbac2e12b649abcb013
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Mon Apr 15 19:19:52 2024 +0200
patch 9.1.0335: String interpolation fails for List type
Problem: String interpolation fails for List type
Solution: use implicit string(list) for string interpolation and :put =
(Yegappan Lakshmanan)
related: #14529
closes: #14556
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Mon, 15 Apr 2024 19:30:04 +0200 |
parents | 6d03fa3a05ad |
children | 4cc31827e1db |
line wrap: on
line diff
--- a/src/vim9expr.c +++ b/src/vim9expr.c @@ -142,7 +142,7 @@ compile_member(int is_slice, int *keepin typep->type_curr = &t_any; typep->type_decl = &t_any; } - if (may_generate_2STRING(-1, FALSE, cctx) == FAIL + if (may_generate_2STRING(-1, TOSTRING_NONE, cctx) == FAIL || generate_instr_drop(cctx, ISN_MEMBER, 1) == FAIL) return FAIL; if (keeping_dict != NULL) @@ -1598,7 +1598,7 @@ compile_dict(char_u **arg, cctx_T *cctx, } if (isn->isn_type == ISN_PUSHS) key = isn->isn_arg.string; - else if (may_generate_2STRING(-1, FALSE, cctx) == FAIL) + else if (may_generate_2STRING(-1, TOSTRING_NONE, cctx) == FAIL) return FAIL; *arg = skipwhite(*arg); if (**arg != ']') @@ -3014,8 +3014,8 @@ compile_expr6(char_u **arg, cctx_T *cctx ppconst->pp_is_const = FALSE; if (*op == '.') { - if (may_generate_2STRING(-2, FALSE, cctx) == FAIL - || may_generate_2STRING(-1, FALSE, cctx) == FAIL) + if (may_generate_2STRING(-2, TOSTRING_NONE, cctx) == FAIL + || may_generate_2STRING(-1, TOSTRING_NONE, cctx) == FAIL) return FAIL; if (generate_CONCAT(cctx, 2) == FAIL) return FAIL;