changeset 20233:5f9c2c7d3d73 v8.2.0672

patch 8.2.0672: heredoc in scripts does not accept lower case marker Commit: https://github.com/vim/vim/commit/6ab0953fefe31fef91e40752a675ceb60fc2fe03 Author: Bram Moolenaar <Bram@vim.org> Date: Fri May 1 14:10:13 2020 +0200 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)
author Bram Moolenaar <Bram@vim.org>
date Fri, 01 May 2020 14:15:04 +0200
parents 426745ecefee
children 718824058b00
files src/evalvars.c src/testdir/test_lua.vim src/testdir/test_perl.vim src/testdir/test_python2.vim src/testdir/test_python3.vim src/testdir/test_pyx2.vim src/testdir/test_pyx3.vim src/testdir/test_ruby.vim src/version.c
diffstat 9 files changed, 31 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -595,7 +595,7 @@ heredoc_get(exarg_T *eap, char_u *cmd, i
 	    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;
--- a/src/testdir/test_lua.vim
+++ b/src/testdir/test_lua.vim
@@ -623,7 +623,10 @@ vim.command('let s ..= "B"')
   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
--- a/src/testdir/test_perl.vim
+++ b/src/testdir/test_perl.vim
@@ -305,7 +305,10 @@ VIM::DoCommand('let s ..= "B"')
   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
--- a/src/testdir/test_python2.vim
+++ b/src/testdir/test_python2.vim
@@ -182,7 +182,10 @@ s+='B'
   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
--- a/src/testdir/test_python3.vim
+++ b/src/testdir/test_python3.vim
@@ -349,7 +349,10 @@ s+='B'
   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
--- a/src/testdir/test_pyx2.vim
+++ b/src/testdir/test_pyx2.vim
@@ -94,7 +94,10 @@ result+='B'
   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
--- a/src/testdir/test_pyx3.vim
+++ b/src/testdir/test_pyx3.vim
@@ -94,7 +94,10 @@ result+='B'
   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
--- a/src/testdir/test_ruby.vim
+++ b/src/testdir/test_ruby.vim
@@ -409,7 +409,10 @@ Vim.command('let s ..= "B"')
   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
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    672,
+/**/
     671,
 /**/
     670,