Mercurial > vim
comparison src/testdir/test_vim9_disassemble.vim @ 24430:fe71212fd202 v8.2.2755
patch 8.2.2755: Vim9: no error for using a number in a condition
Commit: https://github.com/vim/vim/commit/af8ea0d066d31cf3cd0a39c5c49ce0342728588d
Author: Bram Moolenaar <Bram@vim.org>
Date: Sun Apr 11 18:24:46 2021 +0200
patch 8.2.2755: Vim9: no error for using a number in a condition
Problem: Vim9: no error for using a number in a condition.
Solution: Also use ISN_COND2BOOL if the type is t_number_bool.
(closes #7644)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sun, 11 Apr 2021 18:30:05 +0200 |
parents | cabed216cc2f |
children | b5fbe8280853 |
comparison
equal
deleted
inserted
replaced
24429:72b285e88c65 | 24430:fe71212fd202 |
---|---|
768 # GUI not running but can start later, call has() | 768 # GUI not running but can start later, call has() |
769 instr_expected = 'HasGuiRunning.*' .. | 769 instr_expected = 'HasGuiRunning.*' .. |
770 'if has("gui_running")\_s*' .. | 770 'if has("gui_running")\_s*' .. |
771 '\d PUSHS "gui_running"\_s*' .. | 771 '\d PUSHS "gui_running"\_s*' .. |
772 '\d BCALL has(argc 1)\_s*' .. | 772 '\d BCALL has(argc 1)\_s*' .. |
773 '\d 2BOOL (!!val)\_s*' .. | 773 '\d COND2BOOL\_s*' .. |
774 '\d JUMP_IF_FALSE -> \d\_s*' .. | 774 '\d JUMP_IF_FALSE -> \d\_s*' .. |
775 ' echo "yes"\_s*' .. | 775 ' echo "yes"\_s*' .. |
776 '\d PUSHS "yes"\_s*' .. | 776 '\d PUSHS "yes"\_s*' .. |
777 '\d ECHO 1\_s*' .. | 777 '\d ECHO 1\_s*' .. |
778 'else\_s*' .. | 778 'else\_s*' .. |
1535 def Test_disassemble_return_bool() | 1535 def Test_disassemble_return_bool() |
1536 var instr = execute('disassemble ReturnBool') | 1536 var instr = execute('disassemble ReturnBool') |
1537 assert_match('ReturnBool\_s*' .. | 1537 assert_match('ReturnBool\_s*' .. |
1538 'var name: bool = 1 && 0 || 1\_s*' .. | 1538 'var name: bool = 1 && 0 || 1\_s*' .. |
1539 '0 PUSHNR 1\_s*' .. | 1539 '0 PUSHNR 1\_s*' .. |
1540 '1 2BOOL (!!val)\_s*' .. | 1540 '1 COND2BOOL\_s*' .. |
1541 '2 JUMP_IF_COND_FALSE -> 5\_s*' .. | 1541 '2 JUMP_IF_COND_FALSE -> 5\_s*' .. |
1542 '3 PUSHNR 0\_s*' .. | 1542 '3 PUSHNR 0\_s*' .. |
1543 '4 2BOOL (!!val)\_s*' .. | 1543 '4 COND2BOOL\_s*' .. |
1544 '5 JUMP_IF_COND_TRUE -> 8\_s*' .. | 1544 '5 JUMP_IF_COND_TRUE -> 8\_s*' .. |
1545 '6 PUSHNR 1\_s*' .. | 1545 '6 PUSHNR 1\_s*' .. |
1546 '7 2BOOL (!!val)\_s*' .. | 1546 '7 COND2BOOL\_s*' .. |
1547 '\d STORE $0\_s*' .. | 1547 '\d STORE $0\_s*' .. |
1548 'return name\_s*' .. | 1548 'return name\_s*' .. |
1549 '\d\+ LOAD $0\_s*' .. | 1549 '\d\+ LOAD $0\_s*' .. |
1550 '\d\+ RETURN', | 1550 '\d\+ RETURN', |
1551 instr) | 1551 instr) |