Mercurial > vim
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 {