Mercurial > vim
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 { |