patch 8.1.1686: "*" of "*{" is recognized as multipy operator

Problem:    "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto)
Solution:   Check for the "{".
diff --git a/src/eval.c b/src/eval.c
index 20cec16..8c065f2 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -4266,7 +4266,7 @@
     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 574beb5..56c84a2 100644
--- a/src/testdir/test_listdict.vim
+++ b/src/testdir/test_listdict.vim
@@ -282,6 +282,7 @@
 
 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 21dc66e..66f3d34 100644
--- a/src/version.c
+++ b/src/version.c
@@ -778,6 +778,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1686,
+/**/
     1685,
 /**/
     1684,