patch 8.2.2135: Vim9: #{ still seen as start of dict in some places
Problem: Vim9: #{ still seen as start of dict in some places.
Solution: Remove check for { after #. (closes #7456)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 065a038..c80d23e 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1683,7 +1683,7 @@
{
#ifdef FEAT_EVAL
if (in_vim9script())
- return p[0] == '#' && p[1] != '{' && !starts_with_colon;
+ return p[0] == '#' && !starts_with_colon;
#endif
return *p == '"';
}
@@ -4780,7 +4780,6 @@
|| (*p == '#'
&& in_vim9script()
&& !(eap->argt & EX_NOTRLCOM)
- && p[1] != '{'
&& p > eap->cmd && VIM_ISWHITE(p[-1]))
#endif
|| *p == '|' || *p == '\n')
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index bb070ca..45103fc 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -2069,7 +2069,21 @@
CheckScriptSuccess([
'vim9script',
'# something',
+ '#something',
+ '#{something',
])
+
+ split Xfile
+ CheckScriptSuccess([
+ 'vim9script',
+ 'edit #something',
+ ])
+ CheckScriptSuccess([
+ 'vim9script',
+ 'edit #{something',
+ ])
+ close
+
CheckScriptFailure([
'vim9script',
':# something',
diff --git a/src/version.c b/src/version.c
index f4211ef..7f78742 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 2135,
+/**/
2134,
/**/
2133,