summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYegappan Lakshmanan <yegappan@yahoo.com>2024-04-28 09:54:09 +0200
committerChristian Brabandt <cb@256bit.org>2024-04-28 09:54:09 +0200
commitfe55c31752acae5a02cd5274fb81965fd41bbcc7 (patch)
tree3127a94da878828ad6d6ce5211ee1de884bd3e31
parent11250510404860a76d9e9cea4f99025277f607a5 (diff)
patch 9.1.0378: Vim9: no comments allowed after class varsv9.1.0378
Problem: Vim9: no comments allowed after class vars (Christian Robinson, after 9.1.376) Solution: Allow trailing comments after class vars (Yegappan Lakshmanan) closes: #14651 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
-rw-r--r--src/testdir/test_vim9_class.vim12
-rw-r--r--src/version.c2
-rw-r--r--src/vim9class.c2
3 files changed, 15 insertions, 1 deletions
diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim
index bd06c6e286..ed3aac0be2 100644
--- a/src/testdir/test_vim9_class.vim
+++ b/src/testdir/test_vim9_class.vim
@@ -103,6 +103,18 @@ def Test_class_basic()
END
v9.CheckSourceFailure(lines, "E488: Trailing characters: | var y = 10", 3)
+ # Comments are allowed after an inline block
+ lines =<< trim END
+ vim9script
+ class Foo
+ static const bar = { # {{{
+ baz: 'qux'
+ } # }}}
+ endclass
+ assert_equal({baz: 'qux'}, Foo.bar)
+ END
+ v9.CheckSourceSuccess(lines)
+
# Try to define a class with the same name as an existing variable
lines =<< trim END
vim9script
diff --git a/src/version.c b/src/version.c
index 71e56a223f..be2be7062b 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 378,
+/**/
377,
/**/
376,
diff --git a/src/vim9class.c b/src/vim9class.c
index 4314b52901..21945fec34 100644
--- a/src/vim9class.c
+++ b/src/vim9class.c
@@ -137,7 +137,7 @@ parse_member(
(void)skip_expr_concatenate(&init_arg, &expr_start, &expr_end, &evalarg);
init_arg = skipwhite(init_arg);
- if (*init_arg != NUL)
+ if (*init_arg != NUL && !vim9_comment_start(init_arg))
{
semsg(_(e_trailing_characters_str), init_arg);
return FAIL;