summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2019-07-14 13:41:34 +0200
committerBram Moolenaar <Bram@vim.org>2019-07-14 13:41:34 +0200
commit2898ebb44cee62a70a11b44a97bdad8cc00157b1 (patch)
treefc09d7b7b0ad688555c85c8f0e07fae117e51b1b /src
parenta099da357248b48e0a78bc5675c5dd222b557bf1 (diff)
patch 8.1.1686: "*" of "*{" is recognized as multipy operatorv8.1.1686
Problem: "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto) Solution: Check for the "{".
Diffstat (limited to 'src')
-rw-r--r--src/eval.c2
-rw-r--r--src/testdir/test_listdict.vim1
-rw-r--r--src/version.c2
3 files changed, 4 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c
index 20cec169bf..8c065f26e5 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -4266,7 +4266,7 @@ eval6(
for (;;)
{
op = **arg;
- if (op != '*' && op != '/' && op != '%')
+ if ((op != '*' || (*arg)[1] == '{') && op != '/' && op != '%')
break;
if (evaluate)
diff --git a/src/testdir/test_listdict.vim b/src/testdir/test_listdict.vim
index 574beb51da..56c84a29de 100644
--- a/src/testdir/test_listdict.vim
+++ b/src/testdir/test_listdict.vim
@@ -282,6 +282,7 @@ endfunc
func Test_dict_literal_keys()
call assert_equal({'one': 1, 'two2': 2, '3three': 3, '44': 4}, *{one: 1, two2: 2, 3three: 3, 44: 4},)
+ call assert_equal('2 3', trim(execute('echo 2 *{blue: 3}.blue')))
endfunc
" Nasty: deepcopy() dict that refers to itself (fails when noref used)
diff --git a/src/version.c b/src/version.c
index 21dc66e02b..66f3d34be7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1686,
+/**/
1685,
/**/
1684,