INIT(= N_("E1247: Line number out of range"));
EXTERN char e_closure_called_from_invalid_context[]
INIT(= N_("E1248: Closure called from invalid context"));
+EXTERN char e_group_name_missing_for_str[]
+ INIT(= N_("E1249: Group name missing for %s"));
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
*/
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
call assert_fails("sign define Sign4 text= linehl=Comment", 'E239:')
call assert_fails("sign define Sign4 text=\\ ab linehl=Comment", 'E239:')
+ call assert_fails("sign define Sign4 linehl=", 'E1249: Group name missing for linehl')
+ call assert_fails("sign define Sign4 culhl=", 'E1249: Group name missing for culhl')
+ call assert_fails("sign define Sign4 texthl=", 'E1249: Group name missing for texthl')
+
" define sign with whitespace
sign define Sign4 text=\ X linehl=Comment
sign undefine Sign4