diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 0ec63e2..0c55a57 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3219,7 +3219,7 @@
      * "lvar = value", "lvar(arg)", "[1, 2 3]->Func()"
      */
     p = eap->cmd;
-    if (lookup != NULL && (*p == '('
+    if (lookup != NULL && (*p == '(' || *p == '[' || *p == '{'
 	       || ((p = to_name_const_end(eap->cmd)) > eap->cmd && *p != NUL)))
     {
 	int oplen;
@@ -3230,8 +3230,9 @@
 	// "g:varname" is an expression.
 	// "varname->expr" is an expression.
 	// "(..." is an expression.
+	// "{..." is an dict expression.
 	if (*p == '('
-		|| *p == '['
+		|| *p == '{'
 		|| p[1] == ':'
 		|| (*p == '-' && p[1] == '>'))
 	{
@@ -3239,12 +3240,12 @@
 	    return eap->cmd;
 	}
 
+	// Recognize an assignment if we recognize the variable name:
+	// "g:var = expr"
+	// "var = expr"  where "var" is a local var name.
 	oplen = assignment_len(skipwhite(p), &heredoc);
 	if (oplen > 0)
 	{
-	    // Recognize an assignment if we recognize the variable name:
-	    // "g:var = expr"
-	    // "var = expr"  where "var" is a local var name.
 	    if (((p - eap->cmd) > 2 && eap->cmd[1] == ':')
 		    || lookup(eap->cmd, p - eap->cmd, cctx) != NULL)
 	    {
@@ -3252,6 +3253,15 @@
 		return eap->cmd;
 	    }
 	}
+
+	// "[...]->Method()" is a list expression.  But "[a, b] = Func()" is
+	// an assignment.
+	if (*p == '[' && (eval_list(&p, NULL, NULL, FALSE) == FAIL
+						      || *skipwhite(p) != '='))
+	{
+	    eap->cmdidx = CMD_eval;
+	    return eap->cmd;
+	}
     }
 #endif
 
