| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
```
|
|
|
| |
the message is wrapped in `if (timeout < 0)`, which means 0 is a valid value
|
|\
| |
| | |
vim-patch:8.2.{5066,5070}: lcs-leadmultispace
|
| |
| |
| |
| |
| |
| | |
Problem: Unnecessary code.
Solution: Remove code that isn't needed. (closes vim/vim#10534)
https://github.com/vim/vim/commit/b5f0801b1f043b5cf99380f58eca51b75b3236c7
|
|/
|
|
| |
https://github.com/vim/vim/commit/aca12fd89b082dd9cc12ae085a84f1805747bbdf
|
|
|
| |
add a new `callback` field to `nvim_get_autocmds`
|
|\
| |
| | |
ci: run tests with no treesitter parsers installed
|
| | |
|
|/ |
|
|\
| |
| | |
test(ts): skip test if C parser is not available
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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
|
|\ \
| |/
|/| |
ci(api-docs): show required changes with color
|
| |
| |
| |
| | |
It makes it easier to see what needs to be changed.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
fix(nvim_create_user_command): make `smods` work with `nvim_cmd`
|
|/ /
| |
| |
| | |
Closes #18876.
|
| |
| |
| |
| |
| | |
Slight inaccuracy in v8.1.1084's port.
Like Vim, it should return [], not 0.
Ref #18890
|
|\ \
| | |
| | | |
fix(highlight): let winhighlight use cursor
|
| | | |
|
|/ /
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| | |
(#18885)
|
| |
| |
| |
| |
| | |
Problem: No test for what 8.1.0052 fixes.
Solution: Add a test. (closes vim/vim#10531)
https://github.com/vim/vim/commit/3760bfddc414e4d3e1c4203db8c22e293cf08d09
|
| |
| |
| |
| | |
(#18814)
|
| |
| |
| |
| |
| |
| |
| |
| | |
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]
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
(#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.
|
| |
| |
| | |
Fixes https://github.com/neovim/neovim/issues/18860
|
| | |
|
|\ \
| | |
| | | |
perf(tests): don't invoke nvim_get_all_options_info until needed
|
| | |
| | |
| | |
| | |
| | | |
This call alone is responible of 40 000 000 out of 80 000 000
individual alloc/free calls in the test suite.
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
|\ \ \
| |/ /
|/| | |
fix(startup): nvim with --clean should not load user rplugins
|
|/ /
| |
| |
| |
| | |
runtime rplugins such like legacy script providers are not affected
by this change.
|
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| | |
|
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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 #18024
|
| |
| |
| |
| |
| |
| | |
> 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.
|
|\ \
| | |
| | | |
fix(log): back even again
|
|/ / |
|
|\ \
| | |
| | | |
fix(api): some robustness issues in api_parse_enter
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]),
})
|
|\ \ \
| |/ /
|/| | |
fix(logging): make logmsg() thread-safe again
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\ \
| | |
| | | |
convert API types using mpack instead of msgpack
|