diff options
-rw-r--r-- | src/eval.c | 4 | ||||
-rw-r--r-- | src/testdir/test_viml.vim | 16 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 19 insertions, 3 deletions
diff --git a/src/eval.c b/src/eval.c index c61b64dd6..fb2cbe79e 100644 --- a/src/eval.c +++ b/src/eval.c @@ -20844,10 +20844,10 @@ find_name_end(arg, expr_start, expr_end, flags) else if (br_nest == 0 && mb_nest == 0 && *p == ':') { /* "s:" is start of "s:var", but "n:" is not and can be used in - * slice "[n:]". Also "xx:" is not a namespace. */ + * slice "[n:]". Also "xx:" is not a namespace. But {ns}: is. */ len = (int)(p - arg); if ((len == 1 && vim_strchr(NAMESPACE_CHAR, *arg) == NULL) - || len > 1) + || (len > 1 && p[-1] != '}')) break; } diff --git a/src/testdir/test_viml.vim b/src/testdir/test_viml.vim index 5d65953a9..07286fb02 100644 --- a/src/testdir/test_viml.vim +++ b/src/testdir/test_viml.vim @@ -1,5 +1,5 @@ " Test various aspects of the Vim language. -" This was formerly in test49. +" Most of this was formerly in test49. "------------------------------------------------------------------------------- " Test environment {{{1 @@ -906,6 +906,20 @@ func Test_if_bar_fail() call assert_equal('acdfh-acfh', g:test15_result) endfunc +"------------------------------------------------------------------------------- +" Test 90: Recognizing {} in variable name. {{{1 +"------------------------------------------------------------------------------- + +func Test_curlies() + let s:var = 66 + let ns = 's' + call assert_equal(66, {ns}:var) + + let g:a = {} + let g:b = 't' + let g:a[g:b] = 77 + call assert_equal(77, g:a['t']) +endfunc "------------------------------------------------------------------------------- " Modelines {{{1 diff --git a/src/version.c b/src/version.c index 4cce40b91..8d9fda815 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1113, +/**/ 1112, /**/ 1111, |