Mercurial > vim
comparison src/eval.c @ 28273:fff70771d4bb v8.2.4662
patch 8.2.4662: no error for using out of range list index
Commit: https://github.com/vim/vim/commit/22ebd172e48ba060c8a7bae3dbf6480b7596d937
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Apr 1 15:26:58 2022 +0100
patch 8.2.4662: no error for using out of range list index
Problem: No error for using out of range list index.
Solution: Check list index at script level like in compiled function.
(closes #10051)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 01 Apr 2022 16:30:03 +0200 |
parents | c446812efd60 |
children | b418e073b42f |
comparison
equal
deleted
inserted
replaced
28272:bb583103b95b | 28273:fff70771d4bb |
---|---|
1309 lp->ll_n1 = (long)tv_get_number(&var1); | 1309 lp->ll_n1 = (long)tv_get_number(&var1); |
1310 clear_tv(&var1); | 1310 clear_tv(&var1); |
1311 | 1311 |
1312 lp->ll_dict = NULL; | 1312 lp->ll_dict = NULL; |
1313 lp->ll_list = lp->ll_tv->vval.v_list; | 1313 lp->ll_list = lp->ll_tv->vval.v_list; |
1314 lp->ll_li = check_range_index_one(lp->ll_list, &lp->ll_n1, quiet); | 1314 lp->ll_li = check_range_index_one(lp->ll_list, &lp->ll_n1, |
1315 (flags & GLV_ASSIGN_WITH_OP) == 0, quiet); | |
1315 if (lp->ll_li == NULL) | 1316 if (lp->ll_li == NULL) |
1316 { | 1317 { |
1317 clear_tv(&var2); | 1318 clear_tv(&var2); |
1318 return NULL; | 1319 return NULL; |
1319 } | 1320 } |