From: Bram Moolenaar Date: Fri, 7 Aug 2020 19:28:34 +0000 (+0200) Subject: patch 8.2.1390: Vim9: type error after storing an option value X-Git-Tag: v8.2.1390 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=1c199f9c70446933677d5210f34d2b86eefa2a43;p=vim 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 #6632) --- diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim index 2faa73796..c4a6f9a28 100644 --- 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 index 1ac4940e1..8b68bc164 100644 --- a/src/version.c +++ b/src/version.c @@ -754,6 +754,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1390, /**/ 1389, /**/ diff --git a/src/vim9compile.c b/src/vim9compile.c index 570885af1..a6b4a27db 100644 --- a/src/vim9compile.c +++ b/src/vim9compile.c @@ -1336,7 +1336,7 @@ generate_STOREOPT(cctx_T *cctx, char_u *name, int opt_flags) 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;