annotate runtime/ftplugin/ch.vim @ 32960:d5c05e15cf81
v9.0.1780
patch 9.0.1780: Vim9 type not defined during object creation
Commit: https://github.com/vim/vim/commit/618e47d1cd93954bad26d47e5353b4f1432daa5e
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Tue Aug 22 21:29:28 2023 +0200
patch 9.0.1780: Vim9 type not defined during object creation
Problem: Vim9 type not defined during object creation
Solution: Define type during object creation and not during class
definition, parse mulit-line member initializers, fix lock
initialization
If type is not specified for a member, set it during object creation
instead of during class definition. Add a runtime type check for the
object member initialization expression
Also, while at it, when copying an object or class, make sure the lock
is correctly initialized.
And finally, parse multi-line member initializers correctly.
closes: #11957
closes: #12868
closes: #12869
closes: #12881
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Co-authored-by: LemonBoy <thatlemon@gmail.com>
author |
Christian Brabandt <cb@256bit.org> |
date |
Tue, 22 Aug 2023 21:45:02 +0200 |
parents |
3fc0f57ecb91 |
children |
|
rev |
line source |
7
|
1 " Vim filetype plugin file
|
|
2 " Language: Ch
|
|
3 " Maintainer: SoftIntegration, Inc. <info@softintegration.com>
|
|
4 " URL: http://www.softintegration.com/download/vim/ftplugin/ch.vim
|
|
5 " Last change: 2004 May 16
|
|
6 " Created based on cpp.vim
|
|
7 "
|
|
8 " Ch is a C/C++ interpreter with many high level extensions
|
|
9 "
|
|
10
|
|
11 " Only do this when not done yet for this buffer
|
|
12 if exists("b:did_ftplugin")
|
|
13 finish
|
|
14 endif
|
|
15
|
|
16 " Behaves just like C
|
|
17 runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim
|