view READMEdir/README_extra.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 645722244c3f
children 4635e43f2c6f
line wrap: on
line source

README_extra.txt for version 9.0 of Vim: Vi IMproved.

These extra files of Vim are for special purposes.  This README explains what
the files are for.  For general information about Vim, see the "README.txt"
file.


farsi/*			Files for the Farsi (persian) language.  If you don't
			know what Farsi is, this is not for you.

src/if_sniff.*		Interface to SNiFF.  If you don't know what SNiFF is,
			this is not for you.

src/os_amiga.*		Files for the Amiga port.

src/os_msdos.*
src/os_dos.*		Files for the MS-DOS port.

src/os_mac.*		Files for the Mac port.

src/os_vms*		Files for the VMS port.

src/os_w32*
src/os_win32.*		Files for the Win32 port.

src/gui_w32.*		Files for the Win32 GUI.
src/gui_w48.*		Files for the Win32 and Win16 GUI.
src/Make_mvc.mak	MS Visual C++ makefile for the Win32 GUI.

src/if_ole.*		OLE automation interface, for MS Windows 95 and NT.

src/GvimExt/*		DLL for the "Edit with Vim" context menu entry

nsis/*			NSIS script to build the self-installing MS-Windows exe

runtime/doc/*.man	Preprocessed manual pages.

runtime/macros/file_select.vim	Vim script to browse directories (Unix only).