view READMEdir/Contents @ 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

Vim		Vi IMproved.  A clone of the UNIX text editor Vi.  Very useful
		for editing programs and other plain ASCII text.  Full Vi
		compatibility and includes all Ex commands.  Extra features
		above Vi: Multilevel undo, multiple windows, syntax
		highlighting, command line history, folding, improved command
		line editing, command typeahead display, command to display
		yank buffers, possibility to edit binary files, file name
		stack, support for Manx QuickFix and other compiler's error
		messages, shows current file name in window title, on-line
		help, rectangular cut/paste, etc., etc., etc...

		Version 9.0.  Also runs under UNIX, MS-Windows, Mac, etc.
		vim90rt.tgz  contains the documentation and syntax files.
		vim90bin.tgz contains the binaries.
		vim90src.tgz contains the sources.
		Author: Bram Moolenaar et al.


Xxd		Hex dumper and reader.  Can be used to view files as hex, edit
		them and write them back.  Can also be used to patch files.

		Version 2022 Jan 14
		Author: Juergen Weigert