From 70ab19822184b5ffb630e238f10a6a45121bb15c Mon Sep 17 00:00:00 2001 From: watiko Date: Sat, 6 Feb 2016 05:03:24 +0900 Subject: vim-patch:7.4.717 Problem: ":let list += list" can change a locked list. Solution: Check for the lock earlier. (Olaf Dabrunz) https://github.com/vim/vim/commit/1cd5e613b0d8947d52762af0e17351d5e49869de --- src/nvim/testdir/test55.in | 11 +++++++++++ src/nvim/testdir/test55.ok | 3 +++ 2 files changed, 14 insertions(+) (limited to 'src/nvim/testdir') diff --git a/src/nvim/testdir/test55.in b/src/nvim/testdir/test55.in index 7b6f684caa..9e3c1168cc 100644 --- a/src/nvim/testdir/test55.in +++ b/src/nvim/testdir/test55.in @@ -442,6 +442,17 @@ let l = [0, 1, 2, 3] :unlockvar 1 b: :unlet! b:testvar :" +:$put ='No :let += of locked list variable:' +:let l = ['a', 'b', 3] +:lockvar 1 l +:try +: let l += ['x'] +: $put ='did :let +=' +:catch +: $put =v:exception[:14] +:endtry +:$put =string(l) +:" :unlet l :let l = [1, 2, 3, 4] :lockvar! l diff --git a/src/nvim/testdir/test55.ok b/src/nvim/testdir/test55.ok index 4e0303c26e..607a95ead9 100644 --- a/src/nvim/testdir/test55.ok +++ b/src/nvim/testdir/test55.ok @@ -144,6 +144,9 @@ No extend() of write-protected scope-level variable: Vim(put):E742: No :unlet of variable in locked scope: Vim(unlet):E741: +No :let += of locked list variable: +Vim(let):E741: +['a', 'b', 3] [1, 2, 3, 4] [1, 2, 3, 4] [1, 2, 3, 4] -- cgit