Mercurial > vim
view READMEdir/README_ami.txt @ 33393:016d8f863230 v9.0.1955
patch 9.0.1955: Vim9: lockvar issues with objects/classes
Commit: https://github.com/vim/vim/commit/ee865f37acab6cac2cee6a171d60e1b365f852b0
Author: Ernie Rael <errael@raelity.com>
Date: Fri Sep 29 19:53:55 2023 +0200
patch 9.0.1955: Vim9: lockvar issues with objects/classes
Problem: Vim9: lockvar issues with objects/classes
Solution: fix `get_lhs()` object/class access and avoid `SEGV`,
make error messages more accurate.
- `get_lval()` detects/returns object/class access
- `compile_lock_unlock()` generate code for bare static and obj_arg access
- `do_lock_var()` check lval for `ll_object`/`ll_class` and fail if so.
Details:
- Add `ll_object`/`ll_class`/`ll_oi` to `lval_T`.
- Add `lockunlock_T` to `isn_T` for `is_arg` to specify handling of `lval_root` in `get_lval()`.
- In `get_lval()`, fill in `ll_object`/`ll_class`/`ll_oi` as needed; when no `[idx] or .key`, check lval_root on the way out.
- In `do_lock_var()` check for `ll_object`/`ll_class`; also bullet proof ll_dict case
and give `Dictionay required` if problem. (not needed to avoid lockvar crash anymore)
- In `compile_lock_unlock()` compile for the class variable and func arg cases.
closes: #13174
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Ernie Rael <errael@raelity.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Fri, 29 Sep 2023 20:00:07 +0200 |
parents | f8116058ca76 |
children | 4635e43f2c6f |
line wrap: on
line source
README_ami.txt for version 9.0 of Vim: Vi IMproved. This file explains the installation of Vim on Amiga systems. See README.txt for general information about Vim. Unpack the distributed files in the place where you want to keep them. It is wise to have a "vim" directory to keep your vimrc file and any other files you change. The distributed files go into a subdirectory. This way you can easily upgrade to a new version. For example: dh0:editors/vim contains your vimrc and modified files dh0:editors/vim/vim54 contains the Vim version 5.4 distributed files dh0:editors/vim/vim55 contains the Vim version 5.5 distributed files You would then unpack the archives like this: cd dh0:editors tar xf t:vim90bin.tar tar xf t:vim90rt.tar Set the $VIM environment variable to point to the top directory of your Vim files. For the above example: set VIM=dh0:editors/vim Vim version 5.4 will look for your vimrc file in $VIM, and for the runtime files in $VIM/vim54. See ":help $VIM" for more information. Make sure the Vim executable is in your search path. Either copy the Vim executable to a directory that is in your search path, or (preferred) modify the search path to include the directory where the Vim executable is.