vim-patch:8.2.0578: heredoc for interfaces does not support "trim"

Problem:    Heredoc for interfaces does not support "trim".
Solution:   Update the script heredoc support to be same as the :let command.
            (Yegappan Lakshmanan, closes vim/vim#5916)

6c2b7b8055
This commit is contained in:
zeertzjq
2023-04-29 08:12:32 +08:00
parent 291fd767e3
commit 4bcf8c15b3
13 changed files with 173 additions and 56 deletions

View File

@@ -227,9 +227,11 @@ func Test_python3_opt_reset_local_to_global()
" Set the global and buffer-local option values and then clear the
" buffer-local option value.
for opt in bopts
py3 pyopt = vim.bindeval("opt")
py3 vim.options[pyopt[0]] = pyopt[1]
py3 curbuf.options[pyopt[0]] = pyopt[2]
py3 << trim END
pyopt = vim.bindeval("opt")
vim.options[pyopt[0]] = pyopt[1]
curbuf.options[pyopt[0]] = pyopt[2]
END
exe "call assert_equal(opt[2], &" .. opt[0] .. ")"
exe "call assert_equal(opt[1], &g:" .. opt[0] .. ")"
exe "call assert_equal(opt[2], &l:" .. opt[0] .. ")"
@@ -247,9 +249,11 @@ func Test_python3_opt_reset_local_to_global()
\ ['sidescrolloff', 6, 12, -1],
\ ['statusline', '%<%f', '%<%F', '']]
for opt in wopts
py3 pyopt = vim.bindeval("opt")
py3 vim.options[pyopt[0]] = pyopt[1]
py3 curwin.options[pyopt[0]] = pyopt[2]
py3 << trim
pyopt = vim.bindeval("opt")
vim.options[pyopt[0]] = pyopt[1]
curwin.options[pyopt[0]] = pyopt[2]
.
exe "call assert_equal(opt[2], &" .. opt[0] .. ")"
exe "call assert_equal(opt[1], &g:" .. opt[0] .. ")"
exe "call assert_equal(opt[2], &l:" .. opt[0] .. ")"
@@ -263,4 +267,21 @@ func Test_python3_opt_reset_local_to_global()
close!
endfunc
" Test for various heredoc syntax
func Test_python3_heredoc()
python3 << END
s='A'
END
python3 <<
s+='B'
.
python3 << trim END
s+='C'
END
python3 << trim
s+='D'
.
call assert_equal('ABCD', pyxeval('s'))
endfunc
" vim: shiftwidth=2 sts=2 expandtab