patch 8.2.4934: string interpolation fails when not evaluating
Problem: String interpolation fails when not evaluating.
Solution: Skip the expression when not evaluating. (closes #10398)
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index 202bb58..bbe39d1 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -2156,6 +2156,13 @@
->split($'x{x}x')
->map((_, v: string) => v =~ 'bar')
assert_equal([false, true, false], vl)
+
+ # interpolated string in a lambda
+ lines =<< trim END
+ assert_equal(['gnome-256color', 'xterm-256color'], ['gnome', 'xterm']
+ ->map((_, term: string) => $'{term}-256color'))
+ END
+ v9.CheckDefAndScriptSuccess(lines)
enddef
def Test_expr8_vimvar()