vim-patch:8.2.1360: stray error for white space after expression

Problem:    Stray error for white space after expression.
Solution:   Ignore trailing white space. (closes vim/vim#6608)
f96e9dec63
This commit is contained in:
Jan Edmund Lazo
2020-08-04 22:02:41 -04:00
parent 7a047d8dc2
commit 9abfb85264
2 changed files with 2 additions and 1 deletions

View File

@@ -760,7 +760,7 @@ int eval_expr_typval(const typval_T *expr, typval_T *argv,
if (eval1_emsg(&s, rettv, true) == FAIL) { if (eval1_emsg(&s, rettv, true) == FAIL) {
return FAIL; return FAIL;
} }
if (*s != NUL) { // check for trailing chars after expr if (*skipwhite(s) != NUL) { // check for trailing chars after expr
tv_clear(rettv); tv_clear(rettv);
emsgf(_(e_invexpr2), s); emsgf(_(e_invexpr2), s);
return FAIL; return FAIL;

View File

@@ -11,6 +11,7 @@ func Test_filter_map_list_expr_string()
call assert_equal([2, 4, 6, 8], map([1, 2, 3, 4], 'v:val * 2')) call assert_equal([2, 4, 6, 8], map([1, 2, 3, 4], 'v:val * 2'))
call assert_equal([0, 2, 4, 6], map([1, 2, 3, 4], 'v:key * 2')) call assert_equal([0, 2, 4, 6], map([1, 2, 3, 4], 'v:key * 2'))
call assert_equal([9, 9, 9, 9], map([1, 2, 3, 4], 9)) call assert_equal([9, 9, 9, 9], map([1, 2, 3, 4], 9))
call assert_equal([7, 7, 7], map([1, 2, 3], ' 7 '))
endfunc endfunc
" dict with expression string " dict with expression string