From 2eaef106e4a7fc9dc74a7e672b5f550ec1f9786e Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Fri, 6 May 2022 13:14:50 +0100 Subject: patch 8.2.4883: string interpolation only works in heredoc Problem: String interpolation only works in heredoc. Solution: Support interpolated strings. Use syntax for heredoc consistent with strings, similar to C#. (closes #10327) --- src/eval.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/eval.c') diff --git a/src/eval.c b/src/eval.c index 0c6d2e5ac1..18e196f443 100644 --- a/src/eval.c +++ b/src/eval.c @@ -3769,8 +3769,12 @@ eval7( /* * Environment variable: $VAR. + * Interpolated string: $"string" or $'string'. */ - case '$': ret = eval_env_var(arg, rettv, evaluate); + case '$': if ((*arg)[1] == '"' || (*arg)[1] == '\'') + ret = eval_interp_string(arg, rettv, evaluate); + else + ret = eval_env_var(arg, rettv, evaluate); break; /* -- cgit v1.2.3