summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-01-22 22:06:56 +0100
committerBram Moolenaar <Bram@vim.org>2021-01-22 22:06:56 +0100
commit4bce26bb70144633713e7e8f149ba99cac511336 (patch)
tree4d612e69966b21ce4137281433efef4535d61401
parent402115f1c2b4d0704a822206f2e6e931e721c129 (diff)
patch 8.2.2393: Vim9: error message when script line starts with "[{"v8.2.2393
Problem: Vim9: error message when script line starts with "[{". Solution: Do not give an error for checking for end of list.
-rw-r--r--src/dict.c3
-rw-r--r--src/testdir/test_vim9_script.vim6
-rw-r--r--src/version.c2
3 files changed, 10 insertions, 1 deletions
diff --git a/src/dict.c b/src/dict.c
index fc8756c57b..b267e240db 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -1032,7 +1032,8 @@ eval_dict(char_u **arg, typval_T *rettv, evalarg_T *evalarg, int literal)
if (**arg != '}')
{
- semsg(_(e_missing_dict_end), *arg);
+ if (evalarg != NULL)
+ semsg(_(e_missing_dict_end), *arg);
failret:
if (d != NULL)
dict_free(d);
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index 957671c53b..9dadf1edaa 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -815,6 +815,12 @@ def Test_list_vimscript()
# comment 6
END
assert_equal(['# comment 1', 'two', '# comment 3', '', 'five', '# comment 6'], lines)
+
+ lines =<< trim END
+ [{
+ a: 0}]->string()->assert_equal("[{'a': 0}]")
+ END
+ CheckDefAndScriptSuccess(lines)
enddef
if has('channel')
diff --git a/src/version.c b/src/version.c
index c5fdf85855..02fd3fa49f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2393,
+/**/
2392,
/**/
2391,