patch 8.2.5051: check for autocmd_add() event argument is confusing
Problem: Check for autocmd_add() event argument is confusing.
Solution: Make the code more straightforward.
diff --git a/src/autocmd.c b/src/autocmd.c
index 2050da6..71aeb50 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -2951,26 +2951,24 @@
if (eli == NULL)
break;
if (eli->li_tv.v_type != VAR_STRING
- || eli->li_tv.vval.v_string == NULL)
+ || (p = eli->li_tv.vval.v_string) == NULL)
{
emsg(_(e_string_required));
- continue;
+ break;
}
- p = eli->li_tv.vval.v_string;
}
else
{
- if (end == NULL)
- p = end = event_name;
- if (end == NULL || *end == NUL)
+ if (p == NULL)
+ p = event_name;
+ if (p == NULL || *p == NUL)
break;
}
- if (p == NULL)
- continue;
event = event_name2nr(p, &end);
if (event == NUM_EVENTS || *end != NUL)
{
+ // this also catches something following a valid event name
semsg(_(e_no_such_event_str), p);
retval = VVAL_FALSE;
break;