Mercurial > vim
view src/testdir/test77a.in @ 33532:f99f5a56ff27 v9.0.2015
patch 9.0.2015: Vim9: does not handle islocked() from a method correctly
Commit: https://github.com/vim/vim/commit/4c8da025ef8140168b7a09d9fe922ce4bb40f19d
Author: Ernie Rael <errael@raelity.com>
Date: Wed Oct 11 21:35:11 2023 +0200
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>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Wed, 11 Oct 2023 21:45:04 +0200 |
parents | e705ea6e855b |
children |
line wrap: on
line source
Inserts 2 million lines with consecutive integers starting from 1 (essentially, the output of GNU's seq 1 2000000), writes them to Xtest and writes its cksum to test.out. We need 2 million lines to trigger a call to mf_hash_grow(). If it would mess up the lines the checksum would differ. cksum is part of POSIX and so should be available on most Unixes. If it isn't available then the test will be skipped. VMS does not have CKSUM but has a built in CHECKSUM - it should be used STARTTEST :silent! while 0 : e! test.ok : w! test.out : qa! :silent! endwhile :if !has("vms") : e! test.ok : w! test.out : qa! :endif :set fileformat=unix undolevels=-1 ggdG :let i = 1 :while i <= 2000000 | call append(i, range(i, i + 99)) | let i += 100 | endwhile ggdd :w! Xtest. :r !@test77a.com Xtest. :s/\s/ /g :set fileformat& :.w! test.out :qa! ENDTEST