Mercurial > vim
diff runtime/doc/eval.txt @ 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 | e67eafbceca9 |
children | 167d80fce1b1 |
line wrap: on
line diff
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 9.1. Last change: 2024 Feb 05 +*eval.txt* For Vim version 9.1. Last change: 2024 Feb 06 VIM REFERENCE MANUAL by Bram Moolenaar @@ -425,6 +425,18 @@ To change part of a list you can specify modified. The value must at least have the number of items in the range: > :let list[3:5] = [3, 4, 5] +To add items to a List in-place, you can use the |+=| operator: > + :let listA = [1, 2] + :let listA += [3, 4] +< +When two variables refer to the same List, changing one List in-place will +cause the referenced List to be changed in-place: > + :let listA = [1, 2] + :let listB = listA + :let listB += [3, 4] + :echo listA + [1, 2, 3, 4] +< Adding and removing items from a list is done with functions. Here are a few examples: > :call insert(list, 'a') " prepend item 'a'