0
0
mirror of https://github.com/vim/vim.git synced 2025-09-27 04:14:06 -04:00

patch 7.4.1113

Problem:    Using {ns} in variable name does not work. (lilydjwg)
Solution:   Fix recognizing colon.  Add a test.
This commit is contained in:
Bram Moolenaar
2016-01-17 14:59:01 +01:00
parent 2db5c3b3ce
commit 4119cf80e1
3 changed files with 19 additions and 3 deletions

View File

@@ -20844,10 +20844,10 @@ find_name_end(arg, expr_start, expr_end, flags)
else if (br_nest == 0 && mb_nest == 0 && *p == ':') else if (br_nest == 0 && mb_nest == 0 && *p == ':')
{ {
/* "s:" is start of "s:var", but "n:" is not and can be used in /* "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); len = (int)(p - arg);
if ((len == 1 && vim_strchr(NAMESPACE_CHAR, *arg) == NULL) if ((len == 1 && vim_strchr(NAMESPACE_CHAR, *arg) == NULL)
|| len > 1) || (len > 1 && p[-1] != '}'))
break; break;
} }

View File

@@ -1,5 +1,5 @@
" Test various aspects of the Vim language. " Test various aspects of the Vim language.
" This was formerly in test49. " Most of this was formerly in test49.
"------------------------------------------------------------------------------- "-------------------------------------------------------------------------------
" Test environment {{{1 " Test environment {{{1
@@ -906,6 +906,20 @@ func Test_if_bar_fail()
call assert_equal('acdfh-acfh', g:test15_result) call assert_equal('acdfh-acfh', g:test15_result)
endfunc 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 " Modelines {{{1

View File

@@ -741,6 +741,8 @@ static char *(features[]) =
static int included_patches[] = static int included_patches[] =
{ /* Add new patch number below this line */ { /* Add new patch number below this line */
/**/
1113,
/**/ /**/
1112, 1112,
/**/ /**/