patch 8.2.1943: Vim9: wrong error message when colon is missing

Problem:    Vim9: wrong error message when colon is missing.
Solution:   Check for a missing colon. (issue #7239)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index d2cc05f..290dcee 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -1807,12 +1807,19 @@
 	if (ea.cmd == cmd + 1 && *cmd == '$')
 	    // should be "$VAR = val"
 	    --ea.cmd;
-	else if (ea.cmd > cmd)
-	{
-	    emsg(_(e_colon_required_before_a_range));
-	    goto doend;
-	}
 	p = find_ex_command(&ea, NULL, lookup_scriptvar, NULL);
+	if (ea.cmdidx == CMD_SIZE)
+	{
+	    char_u *ar = skip_range(ea.cmd, TRUE, NULL);
+
+	    // If a ':' before the range is missing, give a clearer error
+	    // message.
+	    if (ar > ea.cmd)
+	    {
+		emsg(_(e_colon_required_before_a_range));
+		goto doend;
+	    }
+	}
     }
     else
 #endif