forked from aniani/vim
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>
This commit is contained in:
committed by
Christian Brabandt
parent
a59e031aa0
commit
bce51d9005
@@ -142,7 +142,7 @@ compile_member(int is_slice, int *keeping_dict, cctx_T *cctx)
|
||||
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, ppconst_T *ppconst)
|
||||
}
|
||||
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_T *ppconst)
|
||||
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;
|
||||
|
Reference in New Issue
Block a user