commit 2eb1f62e29c54fe4d3cebcff388ea6c239313980
parent 4bcf8c15b3079ca72d6557890b50b35565fcd577
Author: zeertzjq <zeertzjq@outlook.com>
Date: Sat, 29 Apr 2023 08:50:04 +0800
vim-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 vim/vim#6019)
https://github.com/vim/vim/commit/6ab0953fefe31fef91e40752a675ceb60fc2fe03
Diffstat:
7 files changed, 25 insertions(+), 7 deletions(-)
diff --git a/src/nvim/eval/vars.c b/src/nvim/eval/vars.c
@@ -214,7 +214,7 @@ list_T *heredoc_get(exarg_T *eap, char *cmd, bool script_get)
return NULL;
}
*p = NUL;
- if (islower((uint8_t)(*marker))) {
+ if (!script_get && islower((uint8_t)(*marker))) {
emsg(_("E221: Marker cannot start with lower case letter"));
return NULL;
}
diff --git a/test/old/testdir/test_perl.vim b/test/old/testdir/test_perl.vim
@@ -311,7 +311,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
diff --git a/test/old/testdir/test_python2.vim b/test/old/testdir/test_python2.vim
@@ -186,7 +186,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
diff --git a/test/old/testdir/test_python3.vim b/test/old/testdir/test_python3.vim
@@ -281,7 +281,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
diff --git a/test/old/testdir/test_pyx2.vim b/test/old/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
diff --git a/test/old/testdir/test_pyx3.vim b/test/old/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
diff --git a/test/old/testdir/test_ruby.vim b/test/old/testdir/test_ruby.vim
@@ -428,7 +428,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