Mercurial > vim
comparison src/testdir/test_vim9_builtin.vim @ 28345:fabe722b24e9 v8.2.4698
patch 8.2.4698: Vim9: script variable has no flag that it was set
Commit: https://github.com/vim/vim/commit/aa7d0c233532fb9d8c2876ea8e978a82b12c377f
Author: Bram Moolenaar <Bram@vim.org>
Date: Tue Apr 5 21:40:38 2022 +0100
patch 8.2.4698: Vim9: script variable has no flag that it was set
Problem: Vim9: script variable has no flag that it was set.
Solution: Add a flag that it was set, to avoid giving it a value when used.
(closes #10088)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 05 Apr 2022 22:45:03 +0200 |
parents | 425700af491b |
children | da28696e5340 |
comparison
equal
deleted
inserted
replaced
28344:10a99c04ba1d | 28345:fabe722b24e9 |
---|---|
151 var l: list<number> = test_null_list() | 151 var l: list<number> = test_null_list() |
152 add(l, 123) | 152 add(l, 123) |
153 END | 153 END |
154 v9.CheckDefExecFailure(lines, 'E1130:', 2) | 154 v9.CheckDefExecFailure(lines, 'E1130:', 2) |
155 | 155 |
156 # Getting variable with NULL list allocates a new list at script level | 156 # Getting an uninitialized variable allocates a new list at script level |
157 lines =<< trim END | |
158 vim9script | |
159 var l: list<number> | |
160 add(l, 123) | |
161 END | |
162 v9.CheckScriptSuccess(lines) | |
163 | |
164 # Adding to a variable set to a NULL list fails | |
157 lines =<< trim END | 165 lines =<< trim END |
158 vim9script | 166 vim9script |
159 var l: list<number> = test_null_list() | 167 var l: list<number> = test_null_list() |
160 add(l, 123) | 168 add(l, 123) |
161 END | 169 END |
162 v9.CheckScriptSuccess(lines) | 170 v9.CheckScriptFailure(lines, 'E1130:', 3) |
163 | 171 |
164 lines =<< trim END | 172 lines =<< trim END |
165 vim9script | 173 vim9script |
166 var l: list<string> = ['a'] | 174 var l: list<string> = ['a'] |
167 l->add(123) | 175 l->add(123) |