]> granicus.if.org Git - vim/commitdiff
patch 8.1.1686: "*" of "*{" is recognized as multipy operator v8.1.1686
authorBram Moolenaar <Bram@vim.org>
Sun, 14 Jul 2019 11:41:34 +0000 (13:41 +0200)
committerBram Moolenaar <Bram@vim.org>
Sun, 14 Jul 2019 11:41:34 +0000 (13:41 +0200)
Problem:    "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto)
Solution:   Check for the "{".

src/eval.c
src/testdir/test_listdict.vim
src/version.c

index 20cec169bfbb0ea1e29f68ecf4003d2e92822378..8c065f26e599c4859d615ef6d5b9a363b5ffb5c3 100644 (file)
@@ -4266,7 +4266,7 @@ eval6(
     for (;;)
     {
        op = **arg;
-       if (op != '*' && op != '/' && op != '%')
+       if ((op != '*' || (*arg)[1] == '{') && op != '/' && op != '%')
            break;
 
        if (evaluate)
index 574beb51daf9218aeba8c7bfd300bc406878cd73..56c84a29de94e6855e91a90aae2cd5498a5aed85 100644 (file)
@@ -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)
index 21dc66e02b2294b7e337e3a0d2b575ce0e8cbb92..66f3d34be72c9dd016f11814c9cc567f921f42fc 100644 (file)
@@ -777,6 +777,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    1686,
 /**/
     1685,
 /**/