Mercurial > vim
diff src/testdir/test_vim9_disassemble.vim @ 24272:cabed216cc2f v8.2.2677
patch 8.2.2677: Vim9: cannot use only some of the default arguments
Commit: https://github.com/vim/vim/commit/38a3bfa9a2931729a5e0c28dc087f745b68988ef
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Mar 29 22:14:55 2021 +0200
patch 8.2.2677: Vim9: cannot use only some of the default arguments
Problem: Vim9: cannot use only some of the default arguments.
Solution: Use v:none to use default argument value. Remove
uf_def_arg_idx[], use JUMP_IF_ARG_SET. (closes #6504)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 29 Mar 2021 22:15:03 +0200 |
parents | 7ffc795288dd |
children | fe71212fd202 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -641,18 +641,25 @@ def Test_disassemble_update_instr() enddef -def FuncWithDefault(arg: string = 'default'): string - return arg +def FuncWithDefault(arg: string = 'default', nr = 77): string + return arg .. nr enddef def Test_disassemble_call_default() var res = execute('disass FuncWithDefault') assert_match('FuncWithDefault\_s*' .. + '\d JUMP_IF_ARG_SET arg\[-2\] -> 3\_s*' .. '\d PUSHS "default"\_s*' .. + '\d STORE arg\[-2]\_s*' .. + '3 JUMP_IF_ARG_SET arg\[-1\] -> 6\_s*' .. + '\d PUSHNR 77\_s*' .. '\d STORE arg\[-1]\_s*' .. - 'return arg\_s*' .. + 'return arg .. nr\_s*' .. + '6 LOAD arg\[-2]\_s*' .. '\d LOAD arg\[-1]\_s*' .. - '\d RETURN', + '\d 2STRING stack\[-1]\_s*' .. + '\d\+ CONCAT\_s*' .. + '\d\+ RETURN', res) enddef