Mercurial > vim
annotate 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 |
rev | line source |
---|---|
29314 | 1 README_ami.txt for version 9.0 of Vim: Vi IMproved. |
8623
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
2 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
3 This file explains the installation of Vim on Amiga systems. |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
4 See README.txt for general information about Vim. |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
5 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
6 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
7 Unpack the distributed files in the place where you want to keep them. It is |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
8 wise to have a "vim" directory to keep your vimrc file and any other files you |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
9 change. The distributed files go into a subdirectory. This way you can |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
10 easily upgrade to a new version. For example: |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
11 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
12 dh0:editors/vim contains your vimrc and modified files |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
13 dh0:editors/vim/vim54 contains the Vim version 5.4 distributed files |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
14 dh0:editors/vim/vim55 contains the Vim version 5.5 distributed files |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
15 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
16 You would then unpack the archives like this: |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
17 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
18 cd dh0:editors |
29314 | 19 tar xf t:vim90bin.tar |
20 tar xf t:vim90rt.tar | |
8623
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
21 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
22 Set the $VIM environment variable to point to the top directory of your Vim |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
23 files. For the above example: |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
24 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
25 set VIM=dh0:editors/vim |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
26 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
27 Vim version 5.4 will look for your vimrc file in $VIM, and for the runtime |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
28 files in $VIM/vim54. See ":help $VIM" for more information. |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
29 |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
30 Make sure the Vim executable is in your search path. Either copy the Vim |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
31 executable to a directory that is in your search path, or (preferred) modify |
58e749232bd7
commit https://github.com/vim/vim/commit/818c9e7edfce339eff7cb357f2ec29a72afd1977
Christian Brabandt <cb@256bit.org>
parents:
diff
changeset
|
32 the search path to include the directory where the Vim executable is. |