patch 8.2.0672: heredoc in scripts does not accept lower case marker
Problem: Heredoc in scripts does not accept lower case marker.
Solution: Allow lower case only in non-Vim scripts. (Ken Takata,
closes #6019)
diff --git a/src/evalvars.c b/src/evalvars.c
index 7c8b9f7..f6f0779 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -595,7 +595,7 @@
return NULL;
}
*p = NUL;
- if (vim_islower(*marker))
+ if (!script_get && vim_islower(*marker))
{
emsg(_("E221: Marker cannot start with lower case letter"));
return NULL;
diff --git a/src/testdir/test_lua.vim b/src/testdir/test_lua.vim
index 44aae22..25300b6 100644
--- a/src/testdir/test_lua.vim
+++ b/src/testdir/test_lua.vim
@@ -623,7 +623,10 @@
lua << trim
vim.command('let s ..= "D"')
.
- call assert_equal('ABCD', s)
+ lua << trim eof
+ vim.command('let s ..= "E"')
+ eof
+ call assert_equal('ABCDE', s)
endfunc
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_perl.vim b/src/testdir/test_perl.vim
index 35cb813..1a856d5 100644
--- a/src/testdir/test_perl.vim
+++ b/src/testdir/test_perl.vim
@@ -305,7 +305,10 @@
perl << trim
VIM::DoCommand('let s ..= "D"')
.
- call assert_equal('ABCD', s)
+ perl << trim eof
+ VIM::DoCommand('let s ..= "E"')
+ eof
+ call assert_equal('ABCDE', s)
endfunc
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_python2.vim b/src/testdir/test_python2.vim
index 7be5b40..ae76fe6 100644
--- a/src/testdir/test_python2.vim
+++ b/src/testdir/test_python2.vim
@@ -182,7 +182,10 @@
python << trim
s+='D'
.
- call assert_equal('ABCD', pyxeval('s'))
+ python << trim eof
+ s+='E'
+ eof
+ call assert_equal('ABCDE', pyxeval('s'))
endfunc
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_python3.vim b/src/testdir/test_python3.vim
index 2244846..b4a4a4a 100644
--- a/src/testdir/test_python3.vim
+++ b/src/testdir/test_python3.vim
@@ -349,7 +349,10 @@
python3 << trim
s+='D'
.
- call assert_equal('ABCD', pyxeval('s'))
+ python3 << trim eof
+ s+='E'
+ eof
+ call assert_equal('ABCDE', pyxeval('s'))
endfunc
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_pyx2.vim b/src/testdir/test_pyx2.vim
index 93a2b89..7432ceb 100644
--- a/src/testdir/test_pyx2.vim
+++ b/src/testdir/test_pyx2.vim
@@ -94,7 +94,10 @@
pyx << trim
result+='D'
.
- call assert_equal('ABCD', pyxeval('result'))
+ pyx << trim eof
+ result+='E'
+ eof
+ call assert_equal('ABCDE', pyxeval('result'))
endfunc
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_pyx3.vim b/src/testdir/test_pyx3.vim
index 5b983e4..5d38420 100644
--- a/src/testdir/test_pyx3.vim
+++ b/src/testdir/test_pyx3.vim
@@ -94,7 +94,10 @@
pyx << trim
result+='D'
.
- call assert_equal('ABCD', pyxeval('result'))
+ pyx << trim eof
+ result+='E'
+ eof
+ call assert_equal('ABCDE', pyxeval('result'))
endfunc
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/testdir/test_ruby.vim b/src/testdir/test_ruby.vim
index 100c9ea..eee2831 100644
--- a/src/testdir/test_ruby.vim
+++ b/src/testdir/test_ruby.vim
@@ -409,7 +409,10 @@
ruby << trim
Vim.command('let s ..= "D"')
.
- call assert_equal('ABCD', s)
+ ruby << trim eof
+ Vim.command('let s ..= "E"')
+ eof
+ call assert_equal('ABCDE', s)
endfunc
" vim: shiftwidth=2 sts=2 expandtab
diff --git a/src/version.c b/src/version.c
index 5e35da8..140871c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 672,
+/**/
671,
/**/
670,