patch 8.2.2762: Vim9: function line truncated when compiling
Problem: Vim9: function line truncated when compiling.
Solution: Copy the line before processing it. (closes #8101)
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim
index 363aaea..3ea2ad9 100644
--- a/src/testdir/test_vim9_disassemble.vim
+++ b/src/testdir/test_vim9_disassemble.vim
@@ -386,6 +386,33 @@
res)
enddef
+def s:BlobIndexSlice()
+ var b: blob = 0z112233
+ echo b[1]
+ echo b[1 : 2]
+enddef
+
+def Test_disassemble_blob_index_slice()
+ var res = execute('disass s:BlobIndexSlice')
+ assert_match('<SNR>\d*_BlobIndexSlice\_s*' ..
+ 'var b: blob = 0z112233\_s*' ..
+ '\d PUSHBLOB 0z112233\_s*' ..
+ '\d STORE $0\_s*' ..
+ 'echo b\[1\]\_s*' ..
+ '\d LOAD $0\_s*' ..
+ '\d PUSHNR 1\_s*' ..
+ '\d BLOBINDEX\_s*' ..
+ '\d ECHO 1\_s*' ..
+ 'echo b\[1 : 2\]\_s*' ..
+ '\d LOAD $0\_s*' ..
+ '\d PUSHNR 1\_s*' ..
+ '\d\+ PUSHNR 2\_s*' ..
+ '\d\+ BLOBSLICE\_s*' ..
+ '\d\+ ECHO 1\_s*' ..
+ '\d\+ RETURN 0',
+ res)
+enddef
+
def s:ScriptFuncUnlet()
g:somevar = "value"
unlet g:somevar
@@ -2018,5 +2045,17 @@
res)
enddef
+def s:EchoMessages()
+ echohl ErrorMsg | echom v:exception | echohl NONE
+enddef
+
+def Test_disassemble_nextcmd()
+ # splitting commands and removing trailing blanks should not change the line
+ var res = execute('disass s:EchoMessages')
+ assert_match('<SNR>\d*_EchoMessages\_s*' ..
+ 'echohl ErrorMsg | echom v:exception | echohl NONE',
+ res)
+enddef
+
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker