patch 9.0.1266: error for space before ": type" is inconsistent

Problem:    Error for space before ": type" is inconsistent.
Solution:   Give E1059 in more places. (closes #11868)
diff --git a/src/eval.c b/src/eval.c
index 699f43b..a0bbabf 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1093,7 +1093,7 @@
 		--p;
 		lp->ll_name_end = p;
 	    }
-	    if (*p == ':')
+	    if (*skipwhite(p) == ':')
 	    {
 		char_u	    *tp = skipwhite(p + 1);
 
@@ -1102,6 +1102,11 @@
 		    semsg(_(e_cannot_use_type_with_this_variable_str), name);
 		    return NULL;
 		}
+		if (VIM_ISWHITE(*p))
+		{
+		    semsg(_(e_no_white_space_allowed_before_colon_str), p);
+		    return NULL;
+		}
 		if (tp == p + 1 && !quiet)
 		{
 		    semsg(_(e_white_space_required_after_str_str), ":", p);