aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fix: segfault in find_tagfunc_tags #18841fkm32022-06-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fixes #15221 I tried to reproduce with a test, but failed. The below patch is able to cause the out of bound access (I verified by adding a check to the code), but it doesn't seg fault or trigger asan/valgrind errors. ``` diff --git a/src/nvim/testdir/test_tagfunc.vim b/src/nvim/testdir/test_tagfunc.vim index ffc1d63b9..22828a39f 100644 --- a/src/nvim/testdir/test_tagfunc.vim +++ b/src/nvim/testdir/test_tagfunc.vim @@ -117,4 +117,26 @@ func Test_tagfunc_settagstack() delfunc Mytagfunc2 endfunc +func Test_tagfunc_settagstack_many() + + func Mytagfunc1(pat, flags, info) + return [{'name' : 'mytag', 'filename' : 'Xtest', 'cmd' : '1'}] + endfunc + set tagfunc=Mytagfunc1 + call writefile([''], 'Xtest') + + for i in range(0,20) + let pos = [bufnr()] + getcurpos()[1:] + let newtag = [{'tagname' : 'mytag' + i, 'from' : pos}] + call settagstack(1, {'items' : newtag}, 'a') + call settagstack(1, {'curidx' : 21}) + endfor + + tag + + call delete('Xtest') + set tagfunc& + delfunc Mytagfunc1 +endfunc ```
* fix: correct nlua_wait error message #18867resolritter2022-06-09
| | | the message is wrapped in `if (timeout < 0)`, which means 0 is a valid value
* Merge pull request #18908 from zeertzjq/vim-8.2.5066zeertzjq2022-06-09
|\ | | | | vim-patch:8.2.{5066,5070}: lcs-leadmultispace
| * vim-patch:8.2.5070: unnecessary codezeertzjq2022-06-09
| | | | | | | | | | | | Problem: Unnecessary code. Solution: Remove code that isn't needed. (closes vim/vim#10534) https://github.com/vim/vim/commit/b5f0801b1f043b5cf99380f58eca51b75b3236c7
| * vim-patch:8.2.5066: lcs-leadmultispacezeertzjq2022-06-09
|/ | | | https://github.com/vim/vim/commit/aca12fd89b082dd9cc12ae085a84f1805747bbdf
* feat(autocmds): retrieve lua callback (#18642)kylo2522022-06-09
| | | add a new `callback` field to `nvim_get_autocmds`
* Merge pull request #18904 from jamessan/no-parser-ciJames McCoy2022-06-08
|\ | | | | ci: run tests with no treesitter parsers installed
| * test: allow running CI without ts parsers installedJames McCoy2022-06-08
| |
| * ci: run tests with no treesitter parsers installedJames McCoy2022-06-08
|/
* Merge pull request #18903 from jamessan/skip-test-parsersJames McCoy2022-06-08
|\ | | | | test(ts): skip test if C parser is not available
| * test(ts): skip test if C parser is not availableJames McCoy2022-06-08
| |
* | fix(terminal): scrollback delete lines immediately #18832Javier Lopez2022-06-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * on_scrollback_option_changed renamed to adjust_scrollback. The function name did not correspond to what it was doing. It is called unconditionally in every refresh of the terminal unrelated if the scrollback option was changed. * new on_scrollback_option_changed function, which calls refresh_terminal, which then calls adjust_scrollback * terminal_check_size is not the appropriate function to call when the option is changed since it only conditionally adjusts the scrollback. Use the new on_scrollback_option_changed fixes #15477 fixes #11811
* | Merge pull request #18788 from dundargoc/ci/api-docs/colorJames McCoy2022-06-08
|\ \ | |/ |/| ci(api-docs): show required changes with color
| * ci(api-docs): show required changes with colorDundar Goc2022-05-28
| | | | | | | | It makes it easier to see what needs to be changed.
* | fix(diagnostic): check for negative column value (#18868)mohsen2022-06-08
| |
* | refactor(log): simplify log_path_init #18898Justin M. Keyes2022-06-08
| | | | | | | | | | | | | | | | | | Problem: Since 22b52dd462e5 #11501, log_path_init is called in log_init, so it is now called at a deterministic time. So the "just in time" complexity of log_path_init is no longer needed. Solution: Remove logic intended to try to "heal" partial initialization.
* | Merge pull request #18896 from famiu/fix/nvim_create_user_command/smodsbfredl2022-06-08
|\ \ | | | | | | fix(nvim_create_user_command): make `smods` work with `nvim_cmd`
| * | fix(nvim_create_user_command): make `smods` work with `nvim_cmd`Famiu Haque2022-06-08
|/ / | | | | | | Closes #18876.
* | fix(eval/f_getmatches): return empty list for invalid win argument (#18893)Sean Dewar2022-06-07
| | | | | | | | | | Slight inaccuracy in v8.1.1084's port. Like Vim, it should return [], not 0. Ref #18890
* | Merge pull request #18870 from zbirenbaum/winhl-cursorbfredl2022-06-07
|\ \ | | | | | | fix(highlight): let winhighlight use cursor
| * | fix(highlight): let winhighlight use cursorzbirenbaum2022-06-07
| | |
* | | vim-patch:partial:016188fd8a30 (#18890)Christian Clason2022-06-07
|/ / | | | | | | | | | | | | Update runtime files. https://github.com/vim/vim/commit/016188fd8a30cfbaca3faa0daea9a47138dc5c4b omit changes from doc/builtin.txt (needs 8.2.1536, 8.2.4981) skip user manual rewrite for Vim9script
* | fix(input): allow Ctrl-C to interrupt a recursive mapping even if mapped ↵zeertzjq2022-06-07
| | | | | | | | (#18885)
* | vim-patch:8.2.5064: no test for what 8.1.0052 fixes (#18881)zeertzjq2022-06-07
| | | | | | | | | | Problem: No test for what 8.1.0052 fixes. Solution: Add a test. (closes vim/vim#10531) https://github.com/vim/vim/commit/3760bfddc414e4d3e1c4203db8c22e293cf08d09
* | refactor(runtime): port remaining patterns from filetype.vim to filetype.lua ↵Jonas Strittmatter2022-06-06
| | | | | | | | (#18814)
* | docs: documenting struct members inline #18783Javier Lopez2022-06-06
| | | | | | | | | | | | | | | | Without the proper comments, doxygen doesn't understand the comment belongs to the struct member: https://www.doxygen.nl/manual/docblocks.html#memberdoc [skip ci]
* | vim-patch:8.2.5058: input() does not handle composing characters properly ↵zeertzjq2022-06-06
| | | | | | | | | | | | | | | | | | | | (#18872) Problem: input() does not handle composing characters properly. Solution: Use mb_cptr2char_adv() instead of mb_ptr2char_adv(). (closes vim/vim#10527) https://github.com/vim/vim/commit/e3a529bc877909a9eccf792461050b4f6737ed33 Cherry-pick all of Test_input_func() from patch 8.2.0316.
* | fix(lsp): fix multi client handling in code action (#18869)Mathias Fußenegger2022-06-05
| | | | | | Fixes https://github.com/neovim/neovim/issues/18860
* | fix(terminfo): disable smglr for vtpcon and conemu (#18855)zeertzjq2022-06-05
| |
* | Merge pull request #18864 from bfredl/optcutbfredl2022-06-05
|\ \ | | | | | | perf(tests): don't invoke nvim_get_all_options_info until needed
| * | perf(tests): don't invoke nvim_get_all_options_info until neededbfredl2022-06-05
| | | | | | | | | | | | | | | This call alone is responible of 40 000 000 out of 80 000 000 individual alloc/free calls in the test suite.
* | | docs: specify CMAKE_BUILD_TYPE=RelWithDebInfo in README (#18859)dundargoc2022-06-05
| | | | | | | | | | | | | | | | | | There have been complaints about the installation instructions being inconsistent around the build type e.g. https://github.com/neovim/neovim/issues/18670#issuecomment-1146468741. Use CMAKE_BUILD_TYPE for both examples in the README.
* | | Merge pull request #18861 from bfredl/norpluginbfredl2022-06-04
|\ \ \ | |/ / |/| | fix(startup): nvim with --clean should not load user rplugins
| * | fix(startup): nvim with --clean should not load user rpluginsbfredl2022-06-04
|/ / | | | | | | | | runtime rplugins such like legacy script providers are not affected by this change.
* | vim-patch:partial:cfa8f9a3f285 (#18858)Christian Clason2022-06-04
| | | | | | | | | | | | | | | | Update runtime files https://github.com/vim/vim/commit/cfa8f9a3f285060152ebbdbf86fbc7aecf1dd756 skip syntax/vim.vim (needs 8.2.4770) skip doc/syntax.vim (needs several colorscheme patches) skip further rewrite of manual
* | fix(lsp): set buflisted before switching to buffer (#18854)zeertzjq2022-06-04
| |
* | vim-patch:8.2.5054: no good filetype for conf files similar to dosini (#18851)Christian Clason2022-06-04
| | | | | | | | | | Problem: No good filetype for conf files similar to dosini. Solution: Add the confini filetype. (closes vim/vim#10510) https://github.com/vim/vim/commit/635f48010dcf6d97f3a65b4785e1726ad386d3eb
* | docs: fix typos (#18269)dundargoc2022-06-04
| | | | | | | | | | | | | | | | | | | | Co-authored-by: zeertzjq <zeertzjq@outlook.com> Co-authored-by: Dan Sully <dan+github@sully.org> Co-authored-by: saher <msaher.shair@gmail.com> Co-authored-by: Stephan Seitz <stephan.seitz@fau.de> Co-authored-by: Benedikt Müller <d12bb@posteo.de> Co-authored-by: Andrey Mishchenko <mishchea@gmail.com> Co-authored-by: Famiu Haque <famiuhaque@protonmail.com> Co-authored-by: Oliver Marriott <hello@omarriott.com>
* | fix(filetype): fix typo in starsetf function (#18856)Gregory Anders2022-06-03
| |
* | feat(lsp): send didChangeConfiguration after init (#18847)Mathias Fußenegger2022-06-03
| | | | | | | | | | | | | | Most LSP servers require the notification to correctly load the settings and for those who don't it doesn't cause any harm. So far this is done in lspconfig, but with the addition of vim.lsp.start it should be part of core.
* | fix(hl): set Normal hl group sg_attr value #18820Oliver Marriott2022-06-03
| | | | | | fix #18024
* | ci: use python3 explicitly to fix macos warnings #18837kylo2522022-06-03
| | | | | | | | | | | | > DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020 Testing `pynvim` compatibility with python2 should not be done in core, and there's only a provider_spec for python3 either way.
* | Merge pull request #18848 from bfredl/backevenagainbfredl2022-06-03
|\ \ | | | | | | fix(log): back even again
| * | fix(log): back even againbfredl2022-06-03
|/ /
* | Merge pull request #18846 from bfredl/unpackfixbfredl2022-06-03
|\ \ | | | | | | fix(api): some robustness issues in api_parse_enter
| * | fix(api): some robustness issues in api_parse_enterbfredl2022-06-03
| | |
* | | feat(lsp): add a start function (#18631)Mathias Fußenegger2022-06-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A alternative/subset of https://github.com/neovim/neovim/pull/18506 that should be forward compatible with a potential project system. Configuration of LSP clients (without lspconfig) now looks like this: vim.lsp.start({ name = 'my-server-name', cmd = {'name-of-language-server-executable'}, root_dir = vim.fs.dirname(vim.fs.find({'setup.py', 'pyproject.toml'}, { upward = true })[1]), })
* | | Merge pull request #18845 from bfredl/threadlogbfredl2022-06-03
|\ \ \ | |/ / |/| | fix(logging): make logmsg() thread-safe again
| * | fix(logging): make logmsg() thread-safe againbfredl2022-06-03
|/ / | | | | | | | | | | | | | | | | problem: data race when `recursive` is read outside of mutex by thread A while thread B has taken the mutex and modifies it. solution: use a recursive lock. ref #18764
* | Merge pull request #18730 from bfredl/apiconvertbfredl2022-06-02
|\ \ | | | | | | convert API types using mpack instead of msgpack