Mercurial > vim
comparison src/vim9.h @ 23266:00f7cd9b6033 v8.2.2179
patch 8.2.2179: Vim9: crash when indexing a dict with a number
Commit: https://github.com/vim/vim/commit/4f5e39775616795ac7d1c01bf15a1bd316feb387
Author: Bram Moolenaar <Bram@vim.org>
Date: Mon Dec 21 17:30:50 2020 +0100
patch 8.2.2179: Vim9: crash when indexing a dict with a number
Problem: Vim9: crash when indexing a dict with a number.
Solution: Add ISN_STOREINDEX. (closes https://github.com/vim/vim/issues/7513)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Mon, 21 Dec 2020 17:45:04 +0100 |
parents | 657216220293 |
children | 112fa621b127 |
comparison
equal
deleted
inserted
replaced
23265:684de8fd484a | 23266:00f7cd9b6033 |
---|---|
53 ISN_STOREENV, // pop into environment variable isn_arg.string | 53 ISN_STOREENV, // pop into environment variable isn_arg.string |
54 ISN_STOREREG, // pop into register isn_arg.number | 54 ISN_STOREREG, // pop into register isn_arg.number |
55 // ISN_STOREOTHER, // pop into other script variable isn_arg.other. | 55 // ISN_STOREOTHER, // pop into other script variable isn_arg.other. |
56 | 56 |
57 ISN_STORENR, // store number into local variable isn_arg.storenr.stnr_idx | 57 ISN_STORENR, // store number into local variable isn_arg.storenr.stnr_idx |
58 ISN_STORELIST, // store into list, value/index/variable on stack | 58 ISN_STOREINDEX, // store into list or dictionary, type isn_arg.vartype, |
59 ISN_STOREDICT, // store into dictionary, value/index/variable on stack | 59 // value/index/variable on stack |
60 | 60 |
61 ISN_UNLET, // unlet variable isn_arg.unlet.ul_name | 61 ISN_UNLET, // unlet variable isn_arg.unlet.ul_name |
62 ISN_UNLETENV, // unlet environment variable isn_arg.unlet.ul_name | 62 ISN_UNLETENV, // unlet environment variable isn_arg.unlet.ul_name |
63 | 63 |
64 ISN_LOCKCONST, // lock constant value | 64 ISN_LOCKCONST, // lock constant value |
302 int isn_lnum; | 302 int isn_lnum; |
303 union { | 303 union { |
304 char_u *string; | 304 char_u *string; |
305 varnumber_T number; | 305 varnumber_T number; |
306 blob_T *blob; | 306 blob_T *blob; |
307 vartype_T vartype; | |
307 #ifdef FEAT_FLOAT | 308 #ifdef FEAT_FLOAT |
308 float_T fnumber; | 309 float_T fnumber; |
309 #endif | 310 #endif |
310 channel_T *channel; | 311 channel_T *channel; |
311 job_T *job; | 312 job_T *job; |