Mercurial > vim
view runtime/compiler/cm3.vim @ 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 | 9f41bfdbc6fc |
children | e1df51f68736 |
line wrap: on
line source
" Vim compiler file " Compiler: Critical Mass Modula-3 Compiler " Maintainer: Doug Kearns <dougkearns@gmail.com> " Last Change: 2021 Apr 08 if exists("current_compiler") finish endif let current_compiler = "cm3" if exists(":CompilerSet") != 2 " older Vim always used :setlocal command -nargs=* CompilerSet setlocal <args> endif let s:cpo_save = &cpo set cpo&vim " TODO: better handling of Quake errors CompilerSet makeprg=cm3 CompilerSet errorformat=%D---\ building\ in\ %f\ ---, \%W\"%f\"\\,\ line\ %l:\ warning:\ %m, \%E\"%f\"\\,\ line\ %l:\ %m, \%-G%.%# let &cpo = s:cpo_save unlet s:cpo_save