aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* vim-patch:8.2.5088: value of cmod_verbose is a bit complicated to usezeertzjq2022-06-14
| | | | | | | | Problem: Value of cmod_verbose is a bit complicated to use. Solution: Use zero for not set, value + 1 when set. (closes vim/vim#10564) https://github.com/vim/vim/commit/cd7496382efc9e6748326c6cda7f01003fa07063 Omit has_cmdmod(): only used for Vim9 script
* vim-patch:8.2.1898: command modifier parsing always uses global cmdmodzeertzjq2022-06-14
| | | | | | Problem: Command modifier parsing always uses global cmdmod. Solution: Pass in cmdmod_T to use. Rename struct fields consistently. https://github.com/vim/vim/commit/e10044015841711b989f9a898d427bcc1fdb4c32
* refactor(api): remove redundant fields of CmdParseInfozeertzjq2022-06-14
|
* vim-patch:8.2.1897: command modifiers are saved and set inconsistentlyzeertzjq2022-06-14
| | | | | | | | | Problem: Command modifiers are saved and set inconsistently. Solution: Separate parsing and applying command modifiers. Save values in cmdmod_T. https://github.com/vim/vim/commit/5661ed6c833e05467cab33cb9b1c535e7e5cc570 Cherry-pick: :0verbose fix from patch 8.2.4741
* refactor: enable -Wconversion warning for eval.c (#18448)dundargoc2022-06-14
| | | Work on https://github.com/neovim/neovim/issues/567
* vim-patch:6ba83ba9ee29 (#18948)Christian Clason2022-06-14
| | | | Update runtime files. https://github.com/vim/vim/commit/6ba83ba9ee292f68aa0b218b3eef42db31c0b632
* fix(inccommand): never preview if parsing command failed (#18944)zeertzjq2022-06-14
| | | | `errormsg` is not always set when parsing the command failed (e.g. when the range contains invalid marks). Check the return value is better.
* feat(lsp): sort codelens if multiple item per line (#18951)rhcher2022-06-13
|
* vim-patch:8.2.0577: not all modifiers supported for :options (#18952)zeertzjq2022-06-13
| | | | | | | Problem: Not all modifiers supported for :options. Solution: Use all cmdmod.split flags. (closes vim/vim#4401) https://github.com/vim/vim/commit/7a1637f4c00ac3d0cbf894803ada1586a1717470 Cherry-pick Test_options_command() change from patch 8.2.0540
* fix(tests): missing clear() #18927kylo2522022-06-13
| | | This was caught in #18674 since it allows test isolation
* feat: cmdheight=0 #16251Shougo2022-06-13
| | | | | | | | | Fix https://github.com/neovim/neovim/issues/1004 Limitation: All outputs need hit-enter prompt. Related: https://github.com/neovim/neovim/pull/6732 https://github.com/neovim/neovim/pull/4382
* Merge pull request #18902 from bfredl/fulexitbfredl2022-06-13
|\ | | | | fix(tests): check for EOF in requests to nvim properly
| * fix(tests): check for EOF on exit of nvim properlybfredl2022-06-13
| |
* | Merge pull request #18934 from zeertzjq/vim-8.2.5079zeertzjq2022-06-13
|\ \ | |/ |/| vim-patch:8.2.{5079,5081,5083}
| * vim-patch:8.2.5083: autocmd test still fails on MS-Windowszeertzjq2022-06-13
| | | | | | | | | | | | Problem: Autocmd test still fails on MS-Windows. Solution: Change backward to forward slashes. https://github.com/vim/vim/commit/db77c49401145d76441fbb3d22a1d7d987681c13
| * vim-patch:8.2.5081: autocmd test fails on MS-Windowszeertzjq2022-06-13
| | | | | | | | | | | | Problem: Autocmd test fails on MS-Windows. Solution: Set shellslash to get forward slashes. https://github.com/vim/vim/commit/7c0d0c3c75151e716184397a41ff74ab0429db5a
| * vim-patch:8.2.5079: DirChanged autocommand may use freed memoryzeertzjq2022-06-13
|/ | | | | | | | | Problem: DirChanged autocommand may use freed memory. (Shane-XB Qian) Solution: Free the memory later. (closes vim/vim#10555) https://github.com/vim/vim/commit/d8c9d32c8932e93008bfd4e8828ed42f4e9f8315 Code change is N/A as Nvim gets the full current directory again before applying the autocommand, so this just ports the tests.
* build(lint): fix lintuncrustify #18945Justin M. Keyes2022-06-12
| | | | | | | | | | Problem: lintuncrustify doesn't actually do anything. Solution: - Fix the parameters. - Fail correctly on nonzero result. followup to #18940
* test: dismiss quit_more from Lua #11226Daniel Hahler2022-06-12
| | | Add a test for what #16537 fixed.
* Merge pull request #18931 from zeertzjq/regexp-num-escapedzeertzjq2022-06-13
|\ | | | | fix(substitute): subtract number of backslashes later
| * vim-patch:8.2.5078: substitute test has a one second delayzeertzjq2022-06-12
| | | | | | | | | | | | Problem: Substitute test has a one second delay. Solution: Use ":silent!". Add another test case. (closes vim/vim#10558) https://github.com/vim/vim/commit/3269efdf014dd3b6e60e330950d40a7cc5d13d3a
| * fix(substitute): subtract number of backslashes laterzeertzjq2022-06-12
| |
* | build: remove CMAKE_CROSSCOMPILING code #18914dundargoc2022-06-12
| | | | | | | | This is rarely, if ever, used and certainly not tested. It's likely this isn't functional anymore.
* | build(lint): fix luacheck not found #18940Justin M. Keyes2022-06-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Since 6d57bb89c1ee #18543, luacheck is not found on some systems when running the "lintlua" target. Solution: - Move the find_program() to the top-level CMakeLists.txt - Define a def_cmd_target() function with fewer assumptions than the old lint() function. - Move "lintuncrustify" to src/nvim/CMakeLists.txt so it can reuse the $LINT_NVIM_SOURCES already defined there. - Make the lint targets _fatal_ by default. There is little reason for the "lint" umbrella target defined in Makefile to exist if it's going to ignore the absence of the actual linters. - For now, keep the uncrustify call in a separate cmake script so that it can be silenced (too noisy).
* | fix(buffer): disable buffer-updates before removing from window #18933zeertzjq2022-06-12
| | | | | | | | | | | | | | | | There can be other places that access window buffer info (e.g. `tabpagebuflist()`), so checking `w_closing` in `win_findbuf()` doesn't solve the crash in all cases, and may also cause Nvim's behavior to diverge from Vim. Fix #14998
* | Merge pull request #18936 from bfredl/apioptionbfredl2022-06-12
|\ \ | | | | | | refactor(api): reorganize code
| * | refactor(api): update vimdocbfredl2022-06-12
| | |
| * | refactor(api): move command related API to separate filebfredl2022-06-12
| | |
| * | refactor(api): move extmark specific functions to api/extmark.cbfredl2022-06-12
| | |
| * | refactor(api): move option code to own filebfredl2022-06-12
| |/
* | fix(inccommand): skip split window if not enough room #18937Famiu Haque2022-06-12
| | | | | | | | | | Command preview now behaves like inccommand=nosplit when there's not enough room for the preview window to be opened instead of aborting, which is consistent with old behavior of 'inccommand'.
* | feat(contrib): asan debugging script #18892dundargoc2022-06-12
|/ | | | Opted to use a shell script because it's simpler to manipulate environment variables than in makefiles.
* Merge pull request #18919 from bfredl/multiattrbfredl2022-06-11
|\ | | | | fix(messages): add color when showing nvim_echo in :messages history
| * fix(messages): add color when showing nvim_echo in :messages historybfredl2022-06-11
|/
* Merge pull request #18428 from bfredl/do_sourcebfredl2022-06-11
|\ | | | | feat(api): nvim__get_runtime do_source
| * feat(api): nvim__get_runtime do_sourcebfredl2022-06-11
|/
* fix(inccommand): clear cmdpreview state if preview is not shown (#18923)zeertzjq2022-06-11
|
* vim-patch:8.2.5076: unnecessary code (#18922)zeertzjq2022-06-11
| | | | | Problem: Unnecessary code. Solution: Remove code and replace with function call. (closes vim/vim#10552) https://github.com/vim/vim/commit/2e7cba347fc8b746add12aa5e0e9f6218a76c788
* Merge pull request #18461 from dundargoc/refactor/change-linenr-to-int32bfredl2022-06-10
|\ | | | | refactor: change type of linenr_T from long to int32_t
| * refactor: change type of linenr_T from long to int32_tDundar Goc2022-06-10
|/ | | | | | | | | | | | | The size of long varies depending on architecture, in contrast to the MAXLNUM constant which sets the maximum allowable number of lines to 2^32-1. This discrepancy may lead to hard to detect bugs, for example https://github.com/neovim/neovim/issues/18454. Setting linenr_T to a fix maximum size of 2^32-1 will prevent this type of errors in the future. Also change the variables `amount` and `amount_after` to be linenr_T since they're referring to "the line number difference" between two texts.
* fix(input): fix macro recording with ALT and special key (#18917)zeertzjq2022-06-10
|
* vim-patch:partial:63f32603789d (#18916)Christian Clason2022-06-10
| | | | | | | Update runtime files https://github.com/vim/vim/commit/63f32603789d1a27c559fc440325955fd0b8b500 skip translations skip user manual rewrite
* feat(filetype): remove side effects from vim.filetype.match (#18894)Gregory Anders2022-06-09
| | | | | | | | Many filetypes from filetype.vim set buffer-local variables, meaning vim.filetype.match cannot be used without side effects. Instead of setting these buffer-local variables in the filetype detection functions themselves, have vim.filetype.match return an optional function value that, when called, sets these variables. This allows vim.filetype.match to work without side effects.
* refactor(ops): doxygen docstrings #17743dundargoc2022-06-09
|
* build: add a cmake target for all used linters #18543dundargoc2022-06-09
| | | | | | | | | * build: move the logic for linters to cmake Cmake is our source of truth. We should have as much of our build process there as possible so everyone can make use of it. * build: remove redundant check for ninja generator The minimum cmake version as of writing this is 3.10, which has ninja support.
* fix(tests): unreliable parser_spec #18911Justin M. Keyes2022-06-09
| | | | | | | | | The "first run" has high variability. Looks like the test failures correlate with 545dc82c1b22709c83ec23e9450f245f9ff1babc , which makes sense because that improves "first run" performance. So the `1000*` factor of this test could be adjusted to e.g. `300*` or `500*`. ref https://github.com/neovim/neovim/pull/16945
* 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