From fe55c31752acae5a02cd5274fb81965fd41bbcc7 Mon Sep 17 00:00:00 2001 From: Yegappan Lakshmanan Date: Sun, 28 Apr 2024 09:54:09 +0200 Subject: [PATCH] patch 9.1.0378: Vim9: no comments allowed after class vars 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 Signed-off-by: Christian Brabandt --- src/testdir/test_vim9_class.vim | 12 ++++++++++++ src/version.c | 2 ++ src/vim9class.c | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/testdir/test_vim9_class.vim b/src/testdir/test_vim9_class.vim index bd06c6e28622e..ed3aac0be2978 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 71e56a223f7e7..be2be7062b679 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 378, /**/ 377, /**/ diff --git a/src/vim9class.c b/src/vim9class.c index 4314b52901d67..21945fec348e1 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;