patch 8.2.2420: too many problems with using all autocommand events
Problem: Too many problems with using all autocommand events.
Solution: Disallow defining an autocommand for all events.
diff --git a/src/autocmd.c b/src/autocmd.c
index f7ca41d..2f6001c 100644
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -956,11 +956,14 @@
last_group = AUGROUP_ERROR; // for listing the group name
if (*arg == '*' || *arg == NUL || *arg == '|')
{
- for (event = (event_T)0; (int)event < (int)NUM_EVENTS;
- event = (event_T)((int)event + 1))
- if (do_autocmd_event(event, pat,
- once, nested, cmd, forceit, group) == FAIL)
- break;
+ if (!forceit && *cmd != NUL)
+ emsg(_(e_cannot_define_autocommands_for_all_events));
+ else
+ for (event = (event_T)0; (int)event < (int)NUM_EVENTS;
+ event = (event_T)((int)event + 1))
+ if (do_autocmd_event(event, pat,
+ once, nested, cmd, forceit, group) == FAIL)
+ break;
}
else
{