patch 8.2.5049: insufficient tests for autocommands
Problem: Insufficient tests for autocommands.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes #10507)
diff --git a/src/autocmd.c b/src/autocmd.c
index 143891c..2050da6 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -3161,33 +3161,23 @@
for (ac = ap->cmds; ac != NULL; ac = ac->next)
{
event_dict = dict_alloc();
- if (event_dict == NULL)
+ if (event_dict == NULL
+ || list_append_dict(event_list, event_dict) == FAIL)
return;
- if (list_append_dict(event_list, event_dict) == FAIL)
- return;
-
- if (dict_add_string(event_dict, "event", event_name) == FAIL)
- return;
-
- if (dict_add_string(event_dict, "group", group_name == NULL
- ? (char_u *)"" : group_name) == FAIL)
- return;
-
- if (ap->buflocal_nr != 0)
- if (dict_add_number(event_dict, "bufnr", ap->buflocal_nr)
- == FAIL)
- return;
-
- if (dict_add_string(event_dict, "pattern", ap->pat) == FAIL)
- return;
-
- if (dict_add_string(event_dict, "cmd", ac->cmd) == FAIL)
- return;
-
- if (dict_add_bool(event_dict, "once", ac->once) == FAIL)
- return;
- if (dict_add_bool(event_dict, "nested", ac->nested) == FAIL)
+ if (dict_add_string(event_dict, "event", event_name) == FAIL
+ || dict_add_string(event_dict, "group",
+ group_name == NULL ? (char_u *)""
+ : group_name) == FAIL
+ || (ap->buflocal_nr != 0
+ && (dict_add_number(event_dict, "bufnr",
+ ap->buflocal_nr) == FAIL))
+ || dict_add_string(event_dict, "pattern",
+ ap->pat) == FAIL
+ || dict_add_string(event_dict, "cmd", ac->cmd) == FAIL
+ || dict_add_bool(event_dict, "once", ac->once) == FAIL
+ || dict_add_bool(event_dict, "nested",
+ ac->nested) == FAIL)
return;
}
}