# HG changeset patch # User Bram Moolenaar # Date 1596828603 -7200 # Node ID 877321650f7f63dc4d0d95b415cd5b31b5a065a4 # Parent 943cdd108b70712fc2dc36e86c8f0fbe797a6bfa patch 8.2.1390: Vim9: type error after storing an option value Commit: https://github.com/vim/vim/commit/1c199f9c70446933677d5210f34d2b86eefa2a43 Author: Bram Moolenaar Date: Fri Aug 7 21:28:34 2020 +0200 patch 8.2.1390: Vim9: type error after storing an option value Problem: Vim9: type error after storing an option value. Solution: Drop the type after a STOREOPT instruction. (closes https://github.com/vim/vim/issues/6632) diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim --- a/src/testdir/test_vim9_script.vim +++ b/src/testdir/test_vim9_script.vim @@ -422,6 +422,11 @@ def Test_assignment_var_list() assert_equal('one', v1) assert_equal('two', v2) assert_equal(['three'], vrem) + + [&ts, &sw] = [3, 4] + assert_equal(3, &ts) + assert_equal(4, &sw) + set ts=8 sw=4 enddef def Test_assignment_vim9script() diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -755,6 +755,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1390, +/**/ 1389, /**/ 1388, diff --git a/src/vim9compile.c b/src/vim9compile.c --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -1336,7 +1336,7 @@ generate_STOREOPT(cctx_T *cctx, char_u * isn_T *isn; RETURN_OK_IF_SKIP(cctx); - if ((isn = generate_instr(cctx, ISN_STOREOPT)) == NULL) + if ((isn = generate_instr_drop(cctx, ISN_STOREOPT, 1)) == NULL) return FAIL; isn->isn_arg.storeopt.so_name = vim_strsave(name); isn->isn_arg.storeopt.so_flags = opt_flags;