Mercurial > vim
diff src/testdir/test_vim9_disassemble.vim @ 21299:883315e762b7 v8.2.1200
patch 8.2.1200: Vim9: cannot disassemble a lambda function
Commit: https://github.com/vim/vim/commit/bfd65589d9b6bd5fd2c8ee768d1427469bd61ead
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Jul 13 18:18:00 2020 +0200
patch 8.2.1200: Vim9: cannot disassemble a lambda function
Problem: Vim9: cannot disassemble a lambda function.
Solution: Recognize "<lambda>123" as a function name.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 13 Jul 2020 18:30:04 +0200 |
parents | 6a4806e326dd |
children | fb8c8fcb7b60 |
line wrap: on
line diff
--- a/src/testdir/test_vim9_disassemble.vim +++ b/src/testdir/test_vim9_disassemble.vim @@ -664,6 +664,19 @@ def Test_disassemble_lambda() '\d PCALL (argc 1)\_s*' .. '\d RETURN', instr) + + let name = substitute(instr, '.*\(<lambda>\d\+\).*', '\1', '') + instr = execute('disassemble ' .. name) + assert_match('<lambda>\d\+\_s*' .. + 'return "X" .. a .. "X"\_s*' .. + '\d PUSHS "X"\_s*' .. + '\d LOAD arg\[-1\]\_s*' .. + '\d 2STRING stack\[-1\]\_s*' .. + '\d CONCAT\_s*' .. + '\d PUSHS "X"\_s*' .. + '\d CONCAT\_s*' .. + '\d RETURN', + instr) enddef def AndOr(arg: any): string