diff src/autocmd.c @ 23758:97296182d336 v8.2.2420

patch 8.2.2420: too many problems with using all autocommand events Commit: https://github.com/vim/vim/commit/9a046fd08bcae319d39a4dbde2be81decee19013 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Jan 28 13:47:59 2021 +0100 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.
author Bram Moolenaar <Bram@vim.org>
date Thu, 28 Jan 2021 14:00:04 +0100
parents 9a5f12b36273
children 03438d77d8ab
line wrap: on
line diff
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -956,11 +956,14 @@ do_autocmd(char_u *arg_in, int forceit)
     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
     {