comparison src/evalvars.c @ 21905:2474c6b0c5de v8.2.1502

patch 8.2.1502: Vim9: can use += with a :let command at script level Commit: https://github.com/vim/vim/commit/122616d9c1b57f1e1f29f1151f8e26d24df9092a Author: Bram Moolenaar <Bram@vim.org> Date: Fri Aug 21 21:32:50 2020 +0200 patch 8.2.1502: Vim9: can use += with a :let command at script level Problem: Vim9: can use += with a :let command at script level. Solution: Give an error.
author Bram Moolenaar <Bram@vim.org>
date Fri, 21 Aug 2020 21:45:04 +0200
parents 172b1746489c
children a211bca98bc3
comparison
equal deleted inserted replaced
21904:a0088959f40a 21905:2474c6b0c5de
784 { 784 {
785 op[0] = '='; 785 op[0] = '=';
786 op[1] = NUL; 786 op[1] = NUL;
787 if (*expr != '=') 787 if (*expr != '=')
788 { 788 {
789 if (vim_strchr((char_u *)"+-*/%.", *expr) != NULL) 789 if (vim9script && (flags & LET_NO_COMMAND) == 0)
790 {
791 // +=, /=, etc. require an existing variable
792 semsg(_(e_cannot_use_operator_on_new_variable), eap->arg);
793 i = FAIL;
794 }
795 else if (vim_strchr((char_u *)"+-*/%.", *expr) != NULL)
790 { 796 {
791 op[0] = *expr; // +=, -=, *=, /=, %= or .= 797 op[0] = *expr; // +=, -=, *=, /=, %= or .=
792 ++len; 798 ++len;
793 if (expr[0] == '.' && expr[1] == '.') // ..= 799 if (expr[0] == '.' && expr[1] == '.') // ..=
794 { 800 {