mirror of
https://github.com/neovim/neovim.git
synced 2025-09-06 03:18:16 +00:00
vim-patch:8.2.0469: Vim9: no error for missing ] after list
Problem: Vim9: no error for missing ] after list.
Solution: Add error message. Add more tests.
ee619e5bc0
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This commit is contained in:
@@ -90,6 +90,7 @@
|
|||||||
#define DICT_MAXNEST 100 // maximum nesting of lists and dicts
|
#define DICT_MAXNEST 100 // maximum nesting of lists and dicts
|
||||||
|
|
||||||
static char *e_missbrac = N_("E111: Missing ']'");
|
static char *e_missbrac = N_("E111: Missing ']'");
|
||||||
|
static char *e_list_end = N_("E697: Missing end of List ']': %s");
|
||||||
static char *e_dictrange = N_("E719: Cannot use [:] with a Dictionary");
|
static char *e_dictrange = N_("E719: Cannot use [:] with a Dictionary");
|
||||||
static char *e_nowhitespace
|
static char *e_nowhitespace
|
||||||
= N_("E274: No white space allowed before parenthesis");
|
= N_("E274: No white space allowed before parenthesis");
|
||||||
@@ -4035,7 +4036,7 @@ static int get_list_tv(char **arg, typval_T *rettv, int evaluate)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (**arg != ']') {
|
if (**arg != ']') {
|
||||||
semsg(_("E697: Missing end of List ']': %s"), *arg);
|
semsg(_(e_list_end), *arg);
|
||||||
failret:
|
failret:
|
||||||
if (evaluate) {
|
if (evaluate) {
|
||||||
tv_list_free(l);
|
tv_list_free(l);
|
||||||
|
@@ -297,6 +297,7 @@ int get_lambda_tv(char **arg, typval_T *rettv, bool evaluate)
|
|||||||
e = (char_u *)(*arg);
|
e = (char_u *)(*arg);
|
||||||
*arg = skipwhite(*arg);
|
*arg = skipwhite(*arg);
|
||||||
if (**arg != '}') {
|
if (**arg != '}') {
|
||||||
|
semsg(_("E451: Expected }: %s"), *arg);
|
||||||
goto errret;
|
goto errret;
|
||||||
}
|
}
|
||||||
(*arg)++;
|
(*arg)++;
|
||||||
|
@@ -62,7 +62,7 @@ endfunc
|
|||||||
function Test_lambda_fails()
|
function Test_lambda_fails()
|
||||||
call assert_equal(3, {a, b -> a + b}(1, 2))
|
call assert_equal(3, {a, b -> a + b}(1, 2))
|
||||||
call assert_fails('echo {a, a -> a + a}(1, 2)', 'E853:')
|
call assert_fails('echo {a, a -> a + a}(1, 2)', 'E853:')
|
||||||
call assert_fails('echo {a, b -> a + b)}(1, 2)', 'E15:')
|
call assert_fails('echo {a, b -> a + b)}(1, 2)', 'E451:')
|
||||||
echo assert_fails('echo 10->{a -> a + 2}', 'E107:')
|
echo assert_fails('echo 10->{a -> a + 2}', 'E107:')
|
||||||
endfunc
|
endfunc
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user