summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_vim9_assign.vim
diff options
context:
space:
mode:
authorzeertzjq <zeertzjq@outlook.com>2024-04-10 17:37:47 +0200
committerChristian Brabandt <cb@256bit.org>2024-04-10 17:37:47 +0200
commit1817ccdb107ceeaf5c48fe193da5146682c15ca6 (patch)
tree1b0fecad67841b8cd509468fad8ee6a3d0957fdb /src/testdir/test_vim9_assign.vim
parentaa8e22b035dd669cb47c9237f9c9a917ec6a0ec4 (diff)
patch 9.1.0301: Vim9: heredoc start may be recognized in stringv9.1.0301
Problem: Vim9: heredoc start may be recognized in string. Solution: Don't skip to closing bracket for invalid list assignment. (zeertzjq) closes: #14472 Signed-off-by: zeertzjq <zeertzjq@outlook.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
Diffstat (limited to 'src/testdir/test_vim9_assign.vim')
-rw-r--r--src/testdir/test_vim9_assign.vim14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 0d6d783ed8..0beaa440a8 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -2029,6 +2029,20 @@ def Test_heredoc()
END
v9.CheckScriptSuccess(lines)
+ # heredoc start should not be recognized in string
+ lines =<< trim END
+ vim9script
+ def Func()
+ new
+ @" = 'bar'
+ ['foo', @"]->setline("]=<<"->count('='))
+ assert_equal(['foo', 'bar'], getline(1, '$'))
+ bwipe!
+ enddef
+ Func()
+ END
+ v9.CheckScriptSuccess(lines)
+
v9.CheckDefFailure(['var lines =<< trim END X', 'END'], 'E488:')
v9.CheckDefFailure(['var lines =<< trim END " comment', 'END'], 'E488:')