Skip to content

Commit

Permalink
patch 9.1.0378: Vim9: no comments allowed after class vars
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
yegappan authored and chrisbra committed Apr 28, 2024
1 parent 1125051 commit fe55c31
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 1 deletion.
12 changes: 12 additions & 0 deletions src/testdir/test_vim9_class.vim
Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions src/version.c
Expand Up @@ -704,6 +704,8 @@ static char *(features[]) =

static int included_patches[] =
{ /* Add new patch number below this line */
/**/
378,
/**/
377,
/**/
Expand Down
2 changes: 1 addition & 1 deletion src/vim9class.c
Expand Up @@ -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;
Expand Down

0 comments on commit fe55c31

Please sign in to comment.