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)
diff --git a/src/eval.c b/src/eval.c
index 0c6d2e5..18e196f 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -3769,8 +3769,12 @@
/*
* 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;
/*