Mercurial > vim
diff src/testdir/test_vim9_assign.vim @ 34868:443a527b43ed v9.1.0301
patch 9.1.0301: Vim9: heredoc start may be recognized in string
Commit: https://github.com/vim/vim/commit/1817ccdb107ceeaf5c48fe193da5146682c15ca6
Author: zeertzjq <zeertzjq@outlook.com>
Date: Wed Apr 10 17:37:47 2024 +0200
patch 9.1.0301: Vim9: heredoc start may be recognized in string
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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 10 Apr 2024 17:45:04 +0200 |
parents | 3f9d9ee5cb7c |
children | 1e6f45f5ca23 |
line wrap: on
line diff
--- 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:')