neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit b8ddd3b6bbfb7c2186be546a491b31b0db30b6b3
parent f05a6666cfcb2cd95d860620748cb0fa58b23aba
Author: zeertzjq <zeertzjq@outlook.com>
Date:   Sat,  8 Mar 2025 08:02:50 +0800

perf(events): remove unnecessary loop in event_nr2name() (#32777)

It's no longer needed after #32152.
I'll not apply this change to Vim first, because Nvim's event name
aliases are a bit different from Vim.
After this change there is a small speedup in nvim_exec_autocmds as per
test/benchmark/autocmd_spec.lua.
Diffstat:
Msrc/nvim/autocmd.c | 7+------
1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/src/nvim/autocmd.c b/src/nvim/autocmd.c @@ -658,12 +658,7 @@ event_T event_name2nr_str(String str) const char *event_nr2name(event_T event) FUNC_ATTR_NONNULL_RET FUNC_ATTR_WARN_UNUSED_RESULT FUNC_ATTR_CONST { - for (int i = 0; event_names[i].name != NULL; i++) { - if ((event_T)abs(event_names[i].event) == event) { - return event_names[i].name; - } - } - return "Unknown"; + return event >= 0 && event < NUM_EVENTS ? event_names[event].name : "Unknown"; } /// Return true if "event" is included in 'eventignore(win)'.