summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/testdir/test_vim9_assign.vim7
-rw-r--r--src/version.c2
-rw-r--r--src/vim9execute.c1
3 files changed, 10 insertions, 0 deletions
diff --git a/src/testdir/test_vim9_assign.vim b/src/testdir/test_vim9_assign.vim
index 730212d10..3957942db 100644
--- a/src/testdir/test_vim9_assign.vim
+++ b/src/testdir/test_vim9_assign.vim
@@ -2023,6 +2023,13 @@ def Test_var_declaration()
unlet w:FLIST
enddef
+def Test_create_list_after_const()
+ const a = 1
+ g:ll = []
+ assert_equal(0, islocked('g:ll'))
+ unlet g:ll
+enddef
+
def Test_var_declaration_fails()
var lines =<< trim END
vim9script
diff --git a/src/version.c b/src/version.c
index 16ba3ee25..415897ae3 100644
--- a/src/version.c
+++ b/src/version.c
@@ -700,6 +700,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 499,
+/**/
498,
/**/
497,
diff --git a/src/vim9execute.c b/src/vim9execute.c
index 22dfaaa52..c2a331081 100644
--- a/src/vim9execute.c
+++ b/src/vim9execute.c
@@ -200,6 +200,7 @@ exe_newlist(int count, ectx_T *ectx)
tv = STACK_TV_BOT(-1);
tv->v_type = VAR_LIST;
tv->vval.v_list = list;
+ tv->v_lock = 0;
if (list != NULL)
++list->lv_refcount;
return OK;