summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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,