forked from aniani/vim
patch 9.1.0989: Vim9: Whitespace after the final enum value causes a syntax error
Problem: Vim9: Whitespace after the final enum value causes a syntax error Solution: Fix parsing to allow whitespace after the final enum value. (Doug Kearns) closes: #16383 Signed-off-by: Doug Kearns <dougkearns@gmail.com> Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
cd96075cde
commit
dbe39edb29
@ -85,6 +85,7 @@ def Test_test_files()
|
||||
&& fname !~ 'test_let.vim'
|
||||
&& fname !~ 'test_tagjump.vim'
|
||||
&& fname !~ 'test_vim9_cmd.vim'
|
||||
&& fname !~ 'test_vim9_enum.vim'
|
||||
cursor(1, 1)
|
||||
var lnum = search(
|
||||
fname =~ 'test_vim9_assign.vim' ? '[^=]\s$'
|
||||
|
@ -908,6 +908,18 @@ def Test_enum_comments()
|
||||
END
|
||||
v9.CheckSourceSuccess(lines)
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
enum Car # cars
|
||||
# before enum
|
||||
Honda(), # honda
|
||||
# before enum
|
||||
Ford() # ford
|
||||
endenum
|
||||
assert_equal(1, Car.Ford.ordinal)
|
||||
END
|
||||
v9.CheckSourceSuccess(lines)
|
||||
|
||||
# Test for using an unsupported comment
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
@ -921,6 +933,29 @@ def Test_enum_comments()
|
||||
v9.CheckSourceFailure(lines, 'E1170: Cannot use #{ to start a comment', 4)
|
||||
enddef
|
||||
|
||||
" Test trailing whitespace after enum values
|
||||
def Test_enum_whitespace()
|
||||
var lines =<< trim END
|
||||
vim9script
|
||||
enum Car
|
||||
Honda,
|
||||
Ford
|
||||
endenum
|
||||
defcompile
|
||||
END
|
||||
v9.CheckSourceSuccess(lines)
|
||||
|
||||
lines =<< trim END
|
||||
vim9script
|
||||
enum Car
|
||||
Honda(),
|
||||
Ford()
|
||||
endenum
|
||||
defcompile
|
||||
END
|
||||
v9.CheckSourceSuccess(lines)
|
||||
enddef
|
||||
|
||||
" Test string() with enums
|
||||
def Test_enum_string()
|
||||
var lines =<< trim END
|
||||
|
@ -704,6 +704,8 @@ static char *(features[]) =
|
||||
|
||||
static int included_patches[] =
|
||||
{ /* Add new patch number below this line */
|
||||
/**/
|
||||
989,
|
||||
/**/
|
||||
988,
|
||||
/**/
|
||||
|
@ -1623,6 +1623,8 @@ enum_parse_values(
|
||||
}
|
||||
}
|
||||
|
||||
p = skipwhite(p);
|
||||
|
||||
if (*p != NUL && *p != '#')
|
||||
{
|
||||
if (did_emsg == did_emsg_before)
|
||||
|
Loading…
x
Reference in New Issue
Block a user