patch 8.2.3743: ":sign" can add a highlight group without a name

Problem:    ":sign" can add a highlight group without a name.
Solution:   Give an error if the group name is missing. (closes #9280)
diff --git a/src/sign.c b/src/sign.c
index a4c8967..66a29db 100644
--- a/src/sign.c
+++ b/src/sign.c
@@ -1295,6 +1295,17 @@
     return lnum;
 }
 
+    static int
+check_empty_group(size_t len, char *name)
+{
+    if (len == 0)
+    {
+	semsg(_(e_group_name_missing_for_str), name);
+	return FAIL;
+    }
+    return OK;
+}
+
 /*
  * ":sign define {name} ..." command
  */
@@ -1330,16 +1341,31 @@
 	else if (STRNCMP(arg, "linehl=", 7) == 0)
 	{
 	    arg += 7;
+	    if (check_empty_group(p - arg, "linehl") == FAIL)
+	    {
+		failed = TRUE;
+		break;
+	    }
 	    linehl = vim_strnsave(arg, p - arg);
 	}
 	else if (STRNCMP(arg, "texthl=", 7) == 0)
 	{
 	    arg += 7;
+	    if (check_empty_group(p - arg, "texthl") == FAIL)
+	    {
+		failed = TRUE;
+		break;
+	    }
 	    texthl = vim_strnsave(arg, p - arg);
 	}
 	else if (STRNCMP(arg, "culhl=", 6) == 0)
 	{
 	    arg += 6;
+	    if (check_empty_group(p - arg, "culhl") == FAIL)
+	    {
+		failed = TRUE;
+		break;
+	    }
 	    culhl = vim_strnsave(arg, p - arg);
 	}
 	else