comparison src/eval.c @ 34288:6df143135376 v9.1.0080

patch 9.1.0080: unexpected error for modifying final list using += Commit: https://github.com/vim/vim/commit/1af35631f85d2fcdc83c5d457af8273697f5146a Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Tue Feb 6 11:03:36 2024 +0100 patch 9.1.0080: unexpected error for modifying final list using += Problem: unexpected error for modifying final list using += operator (Ernie Rael) Solution: Allow List value modification of a final variable using += operator (Yegappan Lakshmanan) fixes: #13745 fixes: #13959 closes: #13962 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 06 Feb 2024 11:15:05 +0100
parents c4ad4778946c
children 5c1a025192ed
comparison
equal deleted inserted replaced
34287:4fb3789423a3 34288:6df143135376
1899 if ((di == NULL 1899 if ((di == NULL
1900 || (!var_check_ro(di->di_flags, lp->ll_name, FALSE) 1900 || (!var_check_ro(di->di_flags, lp->ll_name, FALSE)
1901 && !tv_check_lock(&di->di_tv, lp->ll_name, FALSE))) 1901 && !tv_check_lock(&di->di_tv, lp->ll_name, FALSE)))
1902 && tv_op(&tv, rettv, op) == OK) 1902 && tv_op(&tv, rettv, op) == OK)
1903 set_var_const(lp->ll_name, lp->ll_sid, NULL, &tv, FALSE, 1903 set_var_const(lp->ll_name, lp->ll_sid, NULL, &tv, FALSE,
1904 ASSIGN_NO_DECL, 0); 1904 ASSIGN_NO_DECL | ASSIGN_COMPOUND_OP, 0);
1905 clear_tv(&tv); 1905 clear_tv(&tv);
1906 } 1906 }
1907 } 1907 }
1908 else 1908 else
1909 { 1909 {