comparison src/vim9execute.c @ 21863:809b1e7fbd72 v8.2.1481

patch 8.2.1481: Vim9: line number reported with error may be wrong Commit: https://github.com/vim/vim/commit/3affe7a6c6fc813f5d29857933ee6aca0b9c7bd6 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Aug 18 20:34:13 2020 +0200 patch 8.2.1481: Vim9: line number reported with error may be wrong Problem: Vim9: line number reported with error may be wrong. Solution: Check line number in tests.
author Bram Moolenaar <Bram@vim.org>
date Tue, 18 Aug 2020 20:45:03 +0200
parents 3e5d0832a2e7
children 5edd776d886d
comparison
equal deleted inserted replaced
21862:961d816a163f 21863:809b1e7fbd72
2315 2315
2316 // index: composite is at stack-2, index at stack-1 2316 // index: composite is at stack-2, index at stack-1
2317 // slice: composite is at stack-3, indexes at stack-2 and 2317 // slice: composite is at stack-3, indexes at stack-2 and
2318 // stack-1 2318 // stack-1
2319 tv = is_slice ? STACK_TV_BOT(-3) : STACK_TV_BOT(-2); 2319 tv = is_slice ? STACK_TV_BOT(-3) : STACK_TV_BOT(-2);
2320 SOURCING_LNUM = iptr->isn_lnum;
2320 if (check_can_index(tv, TRUE, TRUE) == FAIL) 2321 if (check_can_index(tv, TRUE, TRUE) == FAIL)
2321 goto on_error; 2322 goto on_error;
2322 var1 = is_slice ? STACK_TV_BOT(-2) : STACK_TV_BOT(-1); 2323 var1 = is_slice ? STACK_TV_BOT(-2) : STACK_TV_BOT(-1);
2323 var2 = is_slice ? STACK_TV_BOT(-1) : NULL; 2324 var2 = is_slice ? STACK_TV_BOT(-1) : NULL;
2324 res = eval_index_inner(tv, is_slice, 2325 res = eval_index_inner(tv, is_slice,
2461 case ISN_CHECKNR: 2462 case ISN_CHECKNR:
2462 { 2463 {
2463 int error = FALSE; 2464 int error = FALSE;
2464 2465
2465 tv = STACK_TV_BOT(-1); 2466 tv = STACK_TV_BOT(-1);
2467 SOURCING_LNUM = iptr->isn_lnum;
2466 if (check_not_string(tv) == FAIL) 2468 if (check_not_string(tv) == FAIL)
2467 goto on_error; 2469 goto on_error;
2468 (void)tv_get_number_chk(tv, &error); 2470 (void)tv_get_number_chk(tv, &error);
2469 if (error) 2471 if (error)
2470 goto on_error; 2472 goto on_error;