patch 8.2.2951: Vim9: cannot use heredoc for :python, :lua, etc.
Problem: Vim9: cannot use heredoc in :def function for :python, :lua, etc.
Solution: Concatenate the heredoc lines and pass them in the ISN_EXEC_SPLIT
instruction.
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index f266cbe..965399b 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -121,6 +121,23 @@
res)
enddef
+if has('python3')
+ def s:PyHeredoc()
+ python3 << EOF
+ print('hello')
+EOF
+ enddef
+
+ def Test_disassemble_python_heredoc()
+ var res = execute('disass s:PyHeredoc')
+ assert_match('<SNR>\d*_PyHeredoc.*' ..
+ " python3 << EOF^@ print('hello')^@EOF\\_s*" ..
+ '\d EXEC_SPLIT python3 << EOF^@ print(''hello'')^@EOF\_s*' ..
+ '\d RETURN 0',
+ res)
+ enddef
+endif
+
def s:Substitute()
var expr = "abc"
:%s/a/\=expr/&g#c