Mercurial > vim
comparison src/testdir/test_vim9_disassemble.vim @ 23414:9bd3873b13e2 v8.2.2250
patch 8.2.2250: Vim9: sublist is ambiguous
Commit: https://github.com/vim/vim/commit/de4f95b04134f6dfd10f60051a5078fd903a297d
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Dec 30 20:39:21 2020 +0100
patch 8.2.2250: Vim9: sublist is ambiguous
Problem: Vim9: sublist is ambiguous.
Solution: Require white space around the colon. (closes https://github.com/vim/vim/issues/7409)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 30 Dec 2020 20:45:03 +0100 |
parents | 7951c5098e8e |
children | 5807e3958e38 |
comparison
equal
deleted
inserted
replaced
23413:490f599d5bbc | 23414:9bd3873b13e2 |
---|---|
1283 assert_equal('b', StringIndex()) | 1283 assert_equal('b', StringIndex()) |
1284 enddef | 1284 enddef |
1285 | 1285 |
1286 def StringSlice(): string | 1286 def StringSlice(): string |
1287 var s = "abcd" | 1287 var s = "abcd" |
1288 var res = s[1:8] | 1288 var res = s[1 : 8] |
1289 return res | 1289 return res |
1290 enddef | 1290 enddef |
1291 | 1291 |
1292 def Test_disassemble_string_slice() | 1292 def Test_disassemble_string_slice() |
1293 var instr = execute('disassemble StringSlice') | 1293 var instr = execute('disassemble StringSlice') |
1294 assert_match('StringSlice\_s*' .. | 1294 assert_match('StringSlice\_s*' .. |
1295 'var s = "abcd"\_s*' .. | 1295 'var s = "abcd"\_s*' .. |
1296 '\d PUSHS "abcd"\_s*' .. | 1296 '\d PUSHS "abcd"\_s*' .. |
1297 '\d STORE $0\_s*' .. | 1297 '\d STORE $0\_s*' .. |
1298 'var res = s\[1:8]\_s*' .. | 1298 'var res = s\[1 : 8]\_s*' .. |
1299 '\d LOAD $0\_s*' .. | 1299 '\d LOAD $0\_s*' .. |
1300 '\d PUSHNR 1\_s*' .. | 1300 '\d PUSHNR 1\_s*' .. |
1301 '\d PUSHNR 8\_s*' .. | 1301 '\d PUSHNR 8\_s*' .. |
1302 '\d STRSLICE\_s*' .. | 1302 '\d STRSLICE\_s*' .. |
1303 '\d STORE $1\_s*', | 1303 '\d STORE $1\_s*', |
1329 assert_equal(2, ListIndex()) | 1329 assert_equal(2, ListIndex()) |
1330 enddef | 1330 enddef |
1331 | 1331 |
1332 def ListSlice(): list<number> | 1332 def ListSlice(): list<number> |
1333 var l = [1, 2, 3] | 1333 var l = [1, 2, 3] |
1334 var res = l[1:8] | 1334 var res = l[1 : 8] |
1335 return res | 1335 return res |
1336 enddef | 1336 enddef |
1337 | 1337 |
1338 def Test_disassemble_list_slice() | 1338 def Test_disassemble_list_slice() |
1339 var instr = execute('disassemble ListSlice') | 1339 var instr = execute('disassemble ListSlice') |
1342 '\d PUSHNR 1\_s*' .. | 1342 '\d PUSHNR 1\_s*' .. |
1343 '\d PUSHNR 2\_s*' .. | 1343 '\d PUSHNR 2\_s*' .. |
1344 '\d PUSHNR 3\_s*' .. | 1344 '\d PUSHNR 3\_s*' .. |
1345 '\d NEWLIST size 3\_s*' .. | 1345 '\d NEWLIST size 3\_s*' .. |
1346 '\d STORE $0\_s*' .. | 1346 '\d STORE $0\_s*' .. |
1347 'var res = l\[1:8]\_s*' .. | 1347 'var res = l\[1 : 8]\_s*' .. |
1348 '\d LOAD $0\_s*' .. | 1348 '\d LOAD $0\_s*' .. |
1349 '\d PUSHNR 1\_s*' .. | 1349 '\d PUSHNR 1\_s*' .. |
1350 '\d PUSHNR 8\_s*' .. | 1350 '\d PUSHNR 8\_s*' .. |
1351 '\d LISTSLICE\_s*' .. | 1351 '\d LISTSLICE\_s*' .. |
1352 '\d STORE $1\_s*', | 1352 '\d STORE $1\_s*', |
1403 instr) | 1403 instr) |
1404 assert_equal(3, AnyIndex()) | 1404 assert_equal(3, AnyIndex()) |
1405 enddef | 1405 enddef |
1406 | 1406 |
1407 def AnySlice(): list<number> | 1407 def AnySlice(): list<number> |
1408 var res = g:somelist[1:3] | 1408 var res = g:somelist[1 : 3] |
1409 return res | 1409 return res |
1410 enddef | 1410 enddef |
1411 | 1411 |
1412 def Test_disassemble_any_slice() | 1412 def Test_disassemble_any_slice() |
1413 var instr = execute('disassemble AnySlice') | 1413 var instr = execute('disassemble AnySlice') |
1414 assert_match('AnySlice\_s*' .. | 1414 assert_match('AnySlice\_s*' .. |
1415 'var res = g:somelist\[1:3\]\_s*' .. | 1415 'var res = g:somelist\[1 : 3\]\_s*' .. |
1416 '\d LOADG g:somelist\_s*' .. | 1416 '\d LOADG g:somelist\_s*' .. |
1417 '\d PUSHNR 1\_s*' .. | 1417 '\d PUSHNR 1\_s*' .. |
1418 '\d PUSHNR 3\_s*' .. | 1418 '\d PUSHNR 3\_s*' .. |
1419 '\d ANYSLICE\_s*' .. | 1419 '\d ANYSLICE\_s*' .. |
1420 '\d STORE $0\_s*' .. | 1420 '\d STORE $0\_s*' .. |