1
0
forked from aniani/vim

patch 8.2.4914: string interpolation in :def function may fail

Problem:    String interpolation in :def function may fail.
Solution:   Do not terminate the expression. (closes #10377)
This commit is contained in:
Bram Moolenaar
2022-05-08 16:37:07 +01:00
parent 27724251bc
commit 933c2922b5
3 changed files with 15 additions and 4 deletions

View File

@@ -2143,6 +2143,19 @@ def Test_expr8_string()
v9.CheckDefAndScriptFailure(['var x = "abc'], 'E114:', 1)
v9.CheckDefAndScriptFailure(["var x = 'abc"], 'E115:', 1)
v9.CheckDefFailure(["if 0", "echo 'xx", "endif"], 'E115', 2)
# interpolated string
var val = 'val'
var vv = $"some {val}"
assert_equal('some val', vv)
vv = $'other {val}'
assert_equal('other val', vv)
var x = 'x'
var vl = 'foo xxx bar xxx baz'
->split($'x{x}x')
->map((_, v: string) => v =~ 'bar')
assert_equal([false, true, false], vl)
enddef
def Test_expr8_vimvar()