comparison src/evalvars.c @ 21548:4e679db1c404 v8.2.1324

patch 8.2.1324: Vim9: line break after "=" does not work Commit: https://github.com/vim/vim/commit/c7e44a7e4caedc1bc33f5c8e481109c0ae002823 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jul 29 21:37:43 2020 +0200 patch 8.2.1324: Vim9: line break after "=" does not work Problem: Vim9: line break after "=" does not work. Solution: Also allow for NUL after "=". (closes https://github.com/vim/vim/issues/6549)
author Bram Moolenaar <Bram@vim.org>
date Wed, 29 Jul 2020 21:45:04 +0200
parents 574517d682cf
children 586241ee8096
comparison
equal deleted inserted replaced
21547:a24d2c2cbffd 21548:4e679db1c404
799 expr += 2; 799 expr += 2;
800 } 800 }
801 else 801 else
802 ++expr; 802 ++expr;
803 803
804 if (vim9script && (!VIM_ISWHITE(*argend) || !VIM_ISWHITE(*expr))) 804 if (vim9script && (!VIM_ISWHITE(*argend)
805 || !IS_WHITE_OR_NUL(*expr)))
805 { 806 {
806 vim_strncpy(op, expr - len, len); 807 vim_strncpy(op, expr - len, len);
807 semsg(_(e_white_both), op); 808 semsg(_(e_white_both), op);
808 i = FAIL; 809 i = FAIL;
809 } 810 }
810 expr = skipwhite(expr);
811 811
812 if (eap->skip) 812 if (eap->skip)
813 ++emsg_skip; 813 ++emsg_skip;
814 CLEAR_FIELD(evalarg); 814 CLEAR_FIELD(evalarg);
815 evalarg.eval_flags = eap->skip ? 0 : EVAL_EVALUATE; 815 evalarg.eval_flags = eap->skip ? 0 : EVAL_EVALUATE;
816 if (getline_equal(eap->getline, eap->cookie, getsourceline)) 816 if (getline_equal(eap->getline, eap->cookie, getsourceline))
817 { 817 {
818 evalarg.eval_getline = eap->getline; 818 evalarg.eval_getline = eap->getline;
819 evalarg.eval_cookie = eap->cookie; 819 evalarg.eval_cookie = eap->cookie;
820 } 820 }
821 expr = skipwhite_and_linebreak(expr, &evalarg);
821 i = eval0(expr, &rettv, eap, &evalarg); 822 i = eval0(expr, &rettv, eap, &evalarg);
822 if (eap->skip) 823 if (eap->skip)
823 --emsg_skip; 824 --emsg_skip;
824 clear_evalarg(&evalarg, eap); 825 clear_evalarg(&evalarg, eap);
825 } 826 }