summaryrefslogtreecommitdiffstatshomepage
path: root/src/nvim/runtime.h
AgeCommit message (Collapse)AuthorFiles
2025-12-28vim-patch:8.2.0098: exe stack length can be wrong without being detected ↵Jan Edmund Lazo1
(#37136) Problem: Exe stack length can be wrong without being detected. Solution: Add a check when ABORT_ON_INTERNAL_ERROR is defined. https://github.com/vim/vim/commit/e31ee86859528a7ffe00405645547d494e522fa8 vim-patch:8.2.3262: build failure when ABORT_ON_INTERNAL_ERROR is defined Port patch 9.0.1454 for "make formatc". Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-10-19vim-patch:8.2.3673: crash when allocating signal stack failsJan Edmund Lazo1
Problem: Crash when allocating signal stack fails. Solution: Only using sourcing info when available. (closes vim/vim#9215) https://github.com/vim/vim/commit/0bd8d0563853ab821a018fb9cdd85f674684fe57 Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-08-14refactor(build): remove INCLUDE_GENERATED_DECLARATIONS guardsbfredl1
These are not needed after #35129 but making uncrustify still play nice with them was a bit tricky. Unfortunately `uncrustify --update-config-with-doc` breaks strings with backslashes. This issue has been reported upstream, and in the meanwhile auto-update on every single run has been disabled.
2024-01-11refactor(IWYU): fix headersdundargoc1
Remove `export` pramgas from defs headers as it causes IWYU to believe that the definitions from the defs headers comes from main header, which is not what we really want.
2023-11-28refactor: fix runtime_defs.h (#26259)zeertzjq1
2023-11-27refactor: create runtime_defs.hdundargoc1
2023-11-27build(IWYU): fix includes for undo_defs.hdundargoc1
2023-11-27refactor: move autocmd types to autocmd_defs.h (#26239)zeertzjq1
2023-11-26refactor: move garray_T to garray_defs.h (#26227)zeertzjq1
2023-11-12refactor: replace manual header guards with #pragma oncedundargoc1
It is less error-prone than manually defining header guards. Pretty much all compilers support it even if it's not part of the C standard.
2023-10-02refactor: move cmdline completion types to cmdexpand_defs.h (#25465)zeertzjq1
2023-09-30refactor: reorganize option header files (#25437)zeertzjq1
- Move vimoption_T to option.h - option_defs.h is for option-related types - option_vars.h corresponds to Vim's option.h - option_defs.h and option_vars.h don't include each other
2023-07-13perf(rtp): reduce rtp scans (#24191)Lewis Russell1
* perf(rtp): reduce rtp scans Problem: Scanning the filesystem is expensive and particularly affects startuptime. Solution: Reduce the amount of redundant directory scans by relying less on glob patterns and handle vim and lua sourcing lower down.
2023-05-13refactor: remove typval.h from most header files (#23601)zeertzjq1
Because typval_defs.h is enough for most of them.
2023-02-16vim-patch:8.2.0154: reallocating the list of scripts is inefficientzeertzjq1
Problem: Reallocating the list of scripts is inefficient. Solution: Instead of using a growarray of scriptitem_T, store pointers and allocate each scriptitem_T separately. Also avoids that the growarray pointers change when sourcing a new script. https://github.com/vim/vim/commit/21b9e9773d64de40994f8762173bdd8befa6acf7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-02-16vim-patch:8.2.0114: info about sourced scripts is scatteredzeertzjq1
Problem: Info about sourced scripts is scattered. Solution: Use scriptitem_T for info about a script, including s: variables. Drop ga_scripts. https://github.com/vim/vim/commit/7ebcba61b20d25d23109fff73d0346ad44ba1b3b Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-01-22fix(completion): include lua syntaxes in :ownsyntax completion (#21941)zeertzjq1
This just removes DIP_LUA and always executes its branches. Also add tests for cmdline completion for other lua runtime files.
2022-12-02vim-patch:8.2.3829: no error when setting a func option to script-local functionzeertzjq1
Problem: No error when setting a func option to a script-local function. Solution: Give an error if the name starts with "s:". (closes vim/vim#9358) https://github.com/vim/vim/commit/94c785d235dccacf6cdf38c5903115b61ca8a981 Omit test: reverted in patch 8.2.3838. Cherry-pick SCRIPT_ID_VALID from patch 8.2.1539. Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-11-15build: allow IWYU to fix includes for all .c filesdundargoc1
Allow Include What You Use to remove unnecessary includes and only include what is necessary. This helps with reducing compilation times and makes it easier to visualise which dependencies are actually required. Work on https://github.com/neovim/neovim/issues/549, but doesn't close it since this only works fully for .c files and not headers.
2022-08-30refactor: replace char_u with char 4 (#19987)dundargoc1
* refactor: replace char_u with char Work on https://github.com/neovim/neovim/issues/459
2022-08-23vim-patch:8.2.4726: cannot use expand() to get the script namezeertzjq1
Problem: Cannot use expand() to get the script name. Solution: Support expand('<script>'). (closes vim/vim#10121) https://github.com/vim/vim/commit/6013d0045dec7ca7c0068fbe186c42d754a7368b Use `.sn_name` instead of `->sn_name` as v8.2.0154 hasn't been ported. Cherry-pick builtin.txt expand() doc from latest Vim.
2022-08-15vim-patch:8.2.1653: expand('<stack>') does not include the final line numberzeertzjq1
Problem: Expand('<stack>') does not include the final line number. Solution: Add the line nuber. (closes vim/vim#6927) https://github.com/vim/vim/commit/4f25b1aba050b85fa97ca2316aa04dd4b0b22530
2022-08-14refactor: change remaining sourcing_name/sourcing_lnum to exestackzeertzjq1
Co-Authored-By: VVKot <volodymyr.kot.ua@gmail.com>
2022-08-14vim-patch:8.2.0056: execution stack is incomplete and inefficientzeertzjq1
Problem: Execution stack is incomplete and inefficient. Solution: Introduce a proper execution stack and use it instead of sourcing_name/sourcing_lnum. Create a string only when used. https://github.com/vim/vim/commit/1a47ae32cdc19b0fd5a82e19fe5fddf45db1a506 Omit test_debugger.vim: superseded by later patches. Omit check_map_keycodes(): N/A. Omit kword_test.c: N/A (converted to a unit test).
2022-08-12refactor: remove some unused includes (#19740)zeertzjq1
Mostly avoids including eval.h, ex_cmds2.h and ex_docmd.h in other headers.
2022-08-12vim-patch:8.1.1689: profiling code is spread outzeertzjq1
Problem: Profiling code is spread out. Solution: Move more profiling code to profiler.c. (Yegappan Lakshmanan, closes vim/vim#4668) https://github.com/vim/vim/commit/660a10ad41c14363326f83451c3c425201923119
2022-08-12vim-patch:8.1.1684: profiling functionality is spread outzeertzjq1
Problem: Profiling functionality is spread out. Solution: Put profiling functionality in profiling.c. (Yegappan Lakshmanan, closes vim/vim#4666) https://github.com/vim/vim/commit/fa55cfc69d2b14761e2a8bd85bc1e0d82df770aa Move proftime_T to types.h for now to avoid recursive #include.
2022-05-25refactor(uncrustify): set maximum number of consecutive newlines to 2 (#18695)dundargoc1
2022-05-09refactor: replace char_u variables and functions with charDundar Goc1
Work on https://github.com/neovim/neovim/issues/459
2021-10-17fix(runtime): don't use regexes inside lua require'mod'Björn Linse1
Fixes #15147 and fixes #15497. Also sketch "subdir" caching. Currently this only caches whether an rtp entry has a "lua/" subdir but we could consider cache other subdirs potentially or even "lua/mybigplugin/" possibly. Note: the async_leftpad test doesn't actually fail on master, at least not deterministically (even when disabling the fast_breakcheck throttling). It's still useful as a regression test for further changes and included as such.
2021-09-26fix(runtime): ordering of loading packages with user configBjörn Linse1
site packages must be sourced before user config NOTE: we only consider dirs exactly matching "after" to be an AFTER dir. vim8 considers all dirs like "foo/bar_after", "Xafter" etc, as an "after" dir in SOME codepaths not not in ALL codepaths.
2020-11-25runtime: extract 'runtimepath' and 'packpath' logic to its own fileBjörn Linse1
No code changes, except for added ILOG for the calculated startup path