aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/generators/gen_events.lua
Commit message (Collapse)AuthorAge
* refactor: move autocmd types to autocmd_defs.h (#26239)zeertzjq2023-11-27
|
* perf(events): store autocommands in flat vectors (#23256)ii142023-04-27
| | | | | | | | | | Instead of nested linked lists, store autocommands in a flat, contiguous kvec_t, with one kvec_t per event type. Previously patterns were stored in each node of the outer linked list, so they can be matched only once on repeating patterns. They are now reference counted and referenced in each autocommand, and matching is skipped if the pattern repeats. Speeds up creation and deletion, execution is not affected. Co-authored-by: ii14 <ii14@users.noreply.github.com>
* refactor(build): use vendored versions of mpack and luabitopbfredl2023-04-19
|
* build: make generated source files reproducible #21586Arnout Engelen2023-01-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Build is not reproducible, because generated source files (.c/.h/) are not deterministic, mostly because Lua pairs() is unordered by design (for security). https://github.com/LuaJIT/LuaJIT/issues/626#issuecomment-707005671 https://www.lua.org/manual/5.1/manual.html#pdf-next > The order in which the indices are enumerated is not specified [...] > >> The hardening of the VM deliberately randomizes string hashes. This in >> turn randomizes the iteration order of tables with string keys. Solution: - Update the code generation scripts to be deterministic. - That is only a partial solution: the exported function (funcs_metadata.generated.h) and ui event (ui_events_metadata.generated.h) metadata have some mpack'ed tables, which are not serialized deterministically. - As a workaround, introduce `PRG_GEN_LUA` cmake setting, so you can inject a modified build of luajit (with LUAJIT_SECURITY_PRN=0) that preserves table order. - Longer-term we should change the mpack'ed data structure so it no longer uses tables keyed by strings. Closes #20124 Co-Authored-By: dundargoc <gocdundar@gmail.com> Co-Authored-By: Arnout Engelen <arnout@bzzt.net>
* vim-patch:8.1.0825: code for autocommands is mixed with file I/O code (#13305)TJ DeVries2020-11-24
|
* Fix luacheck errors for all Lua source filesSameed Ali2019-07-04
|
* gen_events.lua: define NUM_EVENTS as an enum valueJustin M. Keyes2018-06-16
| | | | | | | | | | Fix PVS warnings: fileio.c:7293 Medium V547 Expression is always true. fileio.c:7351 Medium V547 Expression 'event == 100' is always false. event_name2nr returns event_T, so PVS infers that nothing outside of that range could possibly be returned.
* generators: separate source generators from scriptsBjörn Linse2017-05-10