mirror of
https://github.com/neovim/neovim.git
synced 2025-11-30 06:00:42 +00:00
Merge pull request #21104 from zeertzjq/vim-8.2.0469
vim-patch:8.2.{0450,0469}
This commit is contained in:
@@ -90,6 +90,7 @@
|
||||
#define DICT_MAXNEST 100 // maximum nesting of lists and dicts
|
||||
|
||||
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_nowhitespace
|
||||
= 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 != ']') {
|
||||
semsg(_("E697: Missing end of List ']': %s"), *arg);
|
||||
semsg(_(e_list_end), *arg);
|
||||
failret:
|
||||
if (evaluate) {
|
||||
tv_list_free(l);
|
||||
|
||||
@@ -297,6 +297,7 @@ int get_lambda_tv(char **arg, typval_T *rettv, bool evaluate)
|
||||
e = (char_u *)(*arg);
|
||||
*arg = skipwhite(*arg);
|
||||
if (**arg != '}') {
|
||||
semsg(_("E451: Expected }: %s"), *arg);
|
||||
goto errret;
|
||||
}
|
||||
(*arg)++;
|
||||
|
||||
@@ -62,7 +62,7 @@ endfunc
|
||||
function Test_lambda_fails()
|
||||
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, 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:')
|
||||
endfunc
|
||||
|
||||
|
||||
@@ -153,6 +153,22 @@ endfunc
|
||||
|
||||
func Test_method_not_supported()
|
||||
call assert_fails('eval 123->changenr()', 'E276:')
|
||||
call assert_fails('echo "abc"->invalidfunc()', 'E117:')
|
||||
" Test for too many or too few arguments to a method
|
||||
call assert_fails('let n="abc"->len(2)', 'E118:')
|
||||
call assert_fails('let n=10->setwinvar()', 'E119:')
|
||||
endfunc
|
||||
|
||||
" vim: shiftwidth=2 sts=2 expandtab
|
||||
" Test for passing optional arguments to methods
|
||||
func Test_method_args()
|
||||
let v:errors = []
|
||||
let n = 10->assert_inrange(1, 5, "Test_assert_inrange")
|
||||
if v:errors[0] !~ 'Test_assert_inrange'
|
||||
call assert_report(v:errors[0])
|
||||
else
|
||||
" Test passed
|
||||
let v:errors = []
|
||||
endif
|
||||
endfunc
|
||||
|
||||
" vim: ts=8 sw=2 sts=2 expandtab tw=80 fdm=marker
|
||||
|
||||
Reference in New Issue
Block a user