]> git.ipfire.org Git - thirdparty/vim.git/commit
patch 9.0.2015: Vim9: does not handle islocked() from a method correctly v9.0.2015
authorErnie Rael <errael@raelity.com>
Wed, 11 Oct 2023 19:35:11 +0000 (21:35 +0200)
committerChristian Brabandt <cb@256bit.org>
Wed, 11 Oct 2023 19:38:24 +0000 (21:38 +0200)
commit4c8da025ef8140168b7a09d9fe922ce4bb40f19d
tree73571eb4b3ba86ed7a2f00c9897796bfc92111d0
parentc97b3febc82c1ccacf5f328ed0bd81c8b850e97d
patch 9.0.2015: Vim9: does not handle islocked() from a method correctly

Problem:  Vim9: does not handle islocked() from a method correctly
Solution: Handle islocked() builtin from a method.

- Setup `lval_root` from `f_islocked()`.
- Add function `fill_exec_lval_root()` to get info about executing method.
- `sync_root` added in get_lval to handle method member access.
- Conservative approach to reference counting.

closes: #13309

Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
src/eval.c
src/evalfunc.c
src/proto/vim9execute.pro
src/structs.h
src/testdir/test_vim9_class.vim
src/version.c
src/vim9execute.c