# HG changeset patch # User Bram Moolenaar # Date 1592512204 -7200 # Node ID a127db33a0759339026ca09b325549c7192a95f5 # Parent 2fb9ec70129762aae160ccf300410cf341535eb6 patch 8.2.1008: Vim9: no test for disassambling newly added instructions Commit: https://github.com/vim/vim/commit/0779fab2979d6d055ba3c464f1c2b9d90dc9e49f Author: Bram Moolenaar Date: Thu Jun 18 22:18:18 2020 +0200 patch 8.2.1008: Vim9: no test for disassambling newly added instructions Problem: Vim9: no test for disassambling newly added instructions. Solution: Add a function and check disassembly. diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim --- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -185,6 +185,42 @@ def Test_disassemble_store_member() res) enddef +def s:ListAssign() + let x: string + let y: string + let l: list + [x, y; l] = g:stringlist +enddef + +def Test_disassemble_list_assign() + let res = execute('disass s:ListAssign') + assert_match('\d*_ListAssign\_s*' .. + 'let x: string\_s*' .. + '\d PUSHS "\[NULL\]"\_s*' .. + '\d STORE $0\_s*' .. + 'let y: string\_s*' .. + '\d PUSHS "\[NULL\]"\_s*' .. + '\d STORE $1\_s*' .. + 'let l: list\_s*' .. + '\d NEWLIST size 0\_s*' .. + '\d STORE $2\_s*' .. + '\[x, y; l\] = g:stringlist\_s*' .. + '\d LOADG g:stringlist\_s*' .. + '\d CHECKTYPE list stack\[-1\]\_s*' .. + '\d CHECKLEN >= 2\_s*' .. + '\d\+ ITEM 0\_s*' .. + '\d\+ CHECKTYPE string stack\[-1\]\_s*' .. + '\d\+ STORE $0\_s*' .. + '\d\+ ITEM 1\_s*' .. + '\d\+ CHECKTYPE string stack\[-1\]\_s*' .. + '\d\+ STORE $1\_s*' .. + '\d\+ SLICE 2\_s*' .. + '\d\+ STORE $2\_s*' .. + '\d\+ PUSHNR 0\_s*' .. + '\d\+ RETURN', + res) +enddef + def s:ScriptFuncUnlet() g:somevar = "value" unlet g:somevar diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1008, +/**/ 1007, /**/ 1006,