Mercurial > vim
comparison src/testdir/test_vim9_disassemble.vim @ 30333:fc0830246f49 v9.0.0502
patch 9.0.0502: a closure in a nested loop in a :def function does not work
Commit: https://github.com/vim/vim/commit/cc34181f9994d64f8c8fa2f5845eaf0cc963067f
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Sep 19 15:54:34 2022 +0100
patch 9.0.0502: a closure in a nested loop in a :def function does not work
Problem: A closure in a nested loop in a :def function does not work.
Solution: Use an array of loopvars, one per loop level.
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 19 Sep 2022 17:00:07 +0200 |
parents | 029c59bf78f1 |
children | d914a3812d5b |
comparison
equal
deleted
inserted
replaced
30332:462d122636b3 | 30333:fc0830246f49 |
---|---|
1021 '\d\+ PUSHNR 0\_s*' .. | 1021 '\d\+ PUSHNR 0\_s*' .. |
1022 '\d\+ RETURN\_s*' .. | 1022 '\d\+ RETURN\_s*' .. |
1023 | 1023 |
1024 'endif\_s*' .. | 1024 'endif\_s*' .. |
1025 'g:Ref = () => ii\_s*' .. | 1025 'g:Ref = () => ii\_s*' .. |
1026 '\d\+ FUNCREF <lambda>4 var $3 - $3\_s*' .. | 1026 '\d\+ FUNCREF <lambda>4 vars $3-$3\_s*' .. |
1027 '\d\+ STOREG g:Ref\_s*' .. | 1027 '\d\+ STOREG g:Ref\_s*' .. |
1028 | 1028 |
1029 'continue\_s*' .. | 1029 'continue\_s*' .. |
1030 '\d\+ ENDLOOP $1 save $3 - $3\_s*' .. | 1030 '\d\+ ENDLOOP ref $1 save $3-$3 depth 0\_s*' .. |
1031 '\d\+ JUMP -> \d\+\_s*' .. | 1031 '\d\+ JUMP -> \d\+\_s*' .. |
1032 | 1032 |
1033 'break\_s*' .. | 1033 'break\_s*' .. |
1034 '\d\+ ENDLOOP $1 save $3 - $3\_s*' .. | 1034 '\d\+ ENDLOOP ref $1 save $3-$3 depth 0\_s*' .. |
1035 '\d\+ JUMP -> \d\+\_s*' .. | 1035 '\d\+ JUMP -> \d\+\_s*' .. |
1036 | 1036 |
1037 'if g:val\_s*' .. | 1037 'if g:val\_s*' .. |
1038 '\d\+ LOADG g:val\_s*' .. | 1038 '\d\+ LOADG g:val\_s*' .. |
1039 '\d\+ COND2BOOL\_s*' .. | 1039 '\d\+ COND2BOOL\_s*' .. |
1040 '\d\+ JUMP_IF_FALSE -> \d\+\_s*' .. | 1040 '\d\+ JUMP_IF_FALSE -> \d\+\_s*' .. |
1041 | 1041 |
1042 ' return\_s*' .. | 1042 ' return\_s*' .. |
1043 '\d\+ PUSHNR 0\_s*' .. | 1043 '\d\+ PUSHNR 0\_s*' .. |
1044 '\d\+ ENDLOOP $1 save $3 - $3\_s*' .. | 1044 '\d\+ ENDLOOP ref $1 save $3-$3 depth 0\_s*' .. |
1045 '\d\+ RETURN\_s*' .. | 1045 '\d\+ RETURN\_s*' .. |
1046 | 1046 |
1047 'endif\_s*' .. | 1047 'endif\_s*' .. |
1048 'endfor\_s*' .. | 1048 'endfor\_s*' .. |
1049 '\d\+ ENDLOOP $1 save $3 - $3\_s*' .. | 1049 '\d\+ ENDLOOP ref $1 save $3-$3 depth 0\_s*' .. |
1050 '\d\+ JUMP -> \d\+\_s*' .. | 1050 '\d\+ JUMP -> \d\+\_s*' .. |
1051 '\d\+ DROP\_s*' .. | 1051 '\d\+ DROP\_s*' .. |
1052 '\d\+ RETURN void', | 1052 '\d\+ RETURN void', |
1053 res) | 1053 res) |
1054 enddef | 1054 enddef |