Mercurial > vim
changeset 21681:877321650f7f v8.2.1390
patch 8.2.1390: Vim9: type error after storing an option value
Commit: https://github.com/vim/vim/commit/1c199f9c70446933677d5210f34d2b86eefa2a43
Author: Bram Moolenaar <Bram@vim.org>
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)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 07 Aug 2020 21:30:03 +0200 |
parents | 943cdd108b70 |
children | 5e20df737eb4 |
files | src/testdir/test_vim9_script.vim src/version.c src/vim9compile.c |
diffstat | 3 files changed, 8 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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()
--- 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,
--- 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;