Mercurial > vim
comparison src/structs.h @ 33456:4a62e78803db v9.0.1982
patch 9.0.1982: vim9: clean up from v9.0.1955
Commit: https://github.com/vim/vim/commit/64885645e76b301a6c34fe762c4e29c7a0f63881
Author: Ernie Rael <errael@raelity.com>
Date: Wed Oct 4 20:16:22 2023 +0200
patch 9.0.1982: vim9: clean up from v9.0.1955
Problem: vim9: clean up from v9.0.1955
Solution: Fix a few remaining issues, improve error message
- Use `cl_exec`, the executing class, to check permissions in `get_lval()`.
- Handle lockvar of script variable from class.
- Add 'in class "Xxx"' to e_cannot_access_private_variable_str.
closes: #13222
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 04 Oct 2023 20:30:03 +0200 |
parents | 508dfc0c261c |
children | f72004b37b2b |
comparison
equal
deleted
inserted
replaced
33455:d1dddc5cb66e | 33456:4a62e78803db |
---|---|
4593 int ll_oi; // The object/class member index | 4593 int ll_oi; // The object/class member index |
4594 int ll_is_root; // Special case. ll_tv is lval_root, | 4594 int ll_is_root; // Special case. ll_tv is lval_root, |
4595 // ignore the rest. | 4595 // ignore the rest. |
4596 } lval_T; | 4596 } lval_T; |
4597 | 4597 |
4598 /** | |
4599 * This may be used to specify the base type that get_lval() uses when | |
4600 * following a chain, for example a[idx1][idx2]. | |
4601 */ | |
4602 typedef struct lval_root_S { | |
4603 typval_T *lr_tv; | |
4604 class_T *lr_cl_exec; // executing class for access checking | |
4605 int lr_is_arg; | |
4606 } lval_root_T; | |
4607 | |
4598 // Structure used to save the current state. Used when executing Normal mode | 4608 // Structure used to save the current state. Used when executing Normal mode |
4599 // commands while in any other mode. | 4609 // commands while in any other mode. |
4600 typedef struct { | 4610 typedef struct { |
4601 int save_msg_scroll; | 4611 int save_msg_scroll; |
4602 int save_restart_edit; | 4612 int save_restart_edit; |