Mercurial > vim
diff src/eval.c @ 24713:34a5329b85aa v8.2.2895
patch 8.2.2895: Vim9: random characters appear in some error messages
Commit: https://github.com/vim/vim/commit/4ac198c61cb3097d4839d5a697cc8b2b256ac575
Author: mityu <mityu.mail@gmail.com>
Date: Fri May 28 17:52:40 2021 +0200
patch 8.2.2895: Vim9: random characters appear in some error messages
Problem: Vim9: random characters appear in some error messages.
Solution: Pass the correct pointer. (closes https://github.com/vim/vim/issues/8277)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 28 May 2021 18:00:03 +0200 |
parents | ad7cac75b2d1 |
children | bf8feac8a89a |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -2358,7 +2358,7 @@ eval1(char_u **arg, typval_T *rettv, eva ++*arg; if (evaluate && vim9script && !IS_WHITE_OR_NUL((*arg)[1])) { - error_white_both(p, op_falsy ? 2 : 1); + error_white_both(*arg - (op_falsy ? 1 : 0), op_falsy ? 2 : 1); clear_tv(rettv); return FAIL; } @@ -2406,7 +2406,7 @@ eval1(char_u **arg, typval_T *rettv, eva */ if (evaluate && vim9script && !IS_WHITE_OR_NUL((*arg)[1])) { - error_white_both(p, 1); + error_white_both(*arg, 1); clear_tv(rettv); evalarg_used->eval_flags = orig_flags; return FAIL; @@ -2511,7 +2511,7 @@ eval2(char_u **arg, typval_T *rettv, eva */ if (evaluate && in_vim9script() && !IS_WHITE_OR_NUL((*arg)[2])) { - error_white_both(p, 2); + error_white_both(*arg, 2); clear_tv(rettv); return FAIL; } @@ -2637,7 +2637,7 @@ eval3(char_u **arg, typval_T *rettv, eva */ if (evaluate && in_vim9script() && !IS_WHITE_OR_NUL((*arg)[2])) { - error_white_both(p, 2); + error_white_both(*arg, 2); clear_tv(rettv); return FAIL; } @@ -2735,10 +2735,13 @@ eval4(char_u **arg, typval_T *rettv, eva ? 0 : (evalarg->eval_flags & EVAL_EVALUATE); if (getnext) + { *arg = eval_next_line(evalarg); + p = *arg; + } else if (evaluate && vim9script && !VIM_ISWHITE(**arg)) { - error_white_both(p, len); + error_white_both(*arg, len); clear_tv(rettv); return FAIL; } @@ -2898,7 +2901,7 @@ eval5(char_u **arg, typval_T *rettv, eva { if (evaluate && vim9script && !VIM_ISWHITE(**arg)) { - error_white_both(p, oplen); + error_white_both(*arg, oplen); clear_tv(rettv); return FAIL; } @@ -3130,7 +3133,7 @@ eval6( { if (evaluate && in_vim9script() && !VIM_ISWHITE(**arg)) { - error_white_both(p, 1); + error_white_both(*arg, 1); clear_tv(rettv); return FAIL; }