diff options
-rw-r--r-- | src/testdir/test_vim9_disassemble.vim | 38 | ||||
-rw-r--r-- | src/testdir/test_vim9_script.vim | 8 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 48 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_disassemble.vim b/src/testdir/test_vim9_disassemble.vim index 41aaa2845..1e61853e0 100644 --- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -2487,6 +2487,44 @@ def Test_debug_for() res) enddef +def s:TryCatch() + try + echo "try" + catch /error/ + echo "caught" + endtry +enddef + +def Test_debug_try_catch() + var res = execute('disass debug s:TryCatch') + assert_match('<SNR>\d*_TryCatch\_s*' .. + 'try\_s*' .. + '0 DEBUG line 1-1 varcount 0\_s*' .. + '1 TRY catch -> 7, endtry -> 17\_s*' .. + 'echo "try"\_s*' .. + '2 DEBUG line 2-2 varcount 0\_s*' .. + '3 PUSHS "try"\_s*' .. + '4 ECHO 1\_s*' .. + 'catch /error/\_s*' .. + '5 DEBUG line 3-3 varcount 0\_s*' .. + '6 JUMP -> 17\_s*' .. + '7 DEBUG line 4-3 varcount 0\_s*' .. + '8 PUSH v:exception\_s*' .. + '9 PUSHS "error"\_s*' .. + '10 COMPARESTRING =\~\_s*' .. + '11 JUMP_IF_FALSE -> 17\_s*' .. + '12 CATCH\_s*' .. + 'echo "caught"\_s*' .. + '13 DEBUG line 4-4 varcount 0\_s*' .. + '14 PUSHS "caught"\_s*' .. + '15 ECHO 1\_s*' .. + 'endtry\_s*' .. + '16 DEBUG line 5-5 varcount 0\_s*' .. + '17 ENDTRY\_s*' .. + '\d\+ RETURN void', + res) +enddef + func s:Legacy() dict echo 'legacy' endfunc diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index 767abd485..28dd78b0e 100644 --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -1580,6 +1580,14 @@ def Test_if_const_expr() burp endif + if 0 + if 1 + echo nothing + elseif 1 + echo still nothing + endif + endif + # expression with line breaks skipped if false ('aaa' diff --git a/src/version.c b/src/version.c index 503f873df..95f2b5fd3 100644 --- a/src/version.c +++ b/src/version.c @@ -747,6 +747,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 4297, +/**/ 4296, /**/ 4295, |