patch 8.2.4948: cannot use Perl heredoc in nested :def function
Problem: Cannot use Perl heredoc in nested :def function. (Virginia
Senioria)
Solution: Only concatenate heredoc lines when not in a nested function.
(closes #10415)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index 14d0bce..30ff1ef 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -4155,5 +4155,23 @@
enddef
endif
+if has('perl')
+ def Test_perl_heredoc_nested()
+ var lines =<< trim END
+ vim9script
+ def F(): string
+ def G(): string
+ perl << EOF
+ EOF
+ return 'done'
+ enddef
+ return G()
+ enddef
+ assert_equal('done', F())
+ END
+ v9.CheckScriptSuccess(lines)
+ enddef
+endif
+
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker