aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
* vim-patch:9.0.0244: cannot easily get the list of sourced scripts (#22596)Michal Liszcz2023-03-11
| | | | | | | | | | | Problem: Cannot easily get the list of sourced scripts. Solution: Add the getscriptinfo() function. (Yegappan Lakshmanan, closes vim/vim#10957) https://github.com/vim/vim/commit/f768c3d19c518822d89dec4cc3947ddeea249316 Cherry-pick usr_41.txt change from a later runtime update. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.1397: highlight for popupmenu kind and extra cannot be set ↵zeertzjq2023-03-11
| | | | | | | | | | | (#22619) Problem: Highlight for popupmenu kind and extra cannot be set. Solution: Add PmenuKind, PmenuKindSel, PmenuExtra and PmenuExtraSel highlight groups and use them. (Gianmaria Bajo, closes vim/vim#12114) https://github.com/vim/vim/commit/6a7c7749204b256e779c245b1e999bf852ad7b64 Co-authored-by: Gianmaria Bajo <mg1979.git@gmail.com>
* build: explicitly add dependency include dir for header generationdundargoc2023-03-10
| | | | | | | | | | | Neovim and the generated headers needs to use the same include directories to build correctly. However, we need to generate headers before all target dependencies has been resolved, meaning that we cannot rely on any target to determine the final list of include directories. This may lead to a problems when bundling some, but not all or none, dependencies as the dependency include directory won't be included. Also remove the dependency path options as this assumes a specific structure on the dependency build directory.
* perf(treesitter): more efficient foldexprLewis Russell2023-03-10
|
* fix(treesitter): correct include_bytes arg for parse()Lewis Russell2023-03-10
|
* refactor(treesitter): use byte ranges from treesitter (#22589)Lewis Russell2023-03-09
|
* feat: try to recover from missing tempdir #22573Justin M. Keyes2023-03-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: If vim_tempdir mysteriously goes missing (typically by "antivirus" on Windows), any plugins using tempname() will be broken for the rest of the session. #1432 #9833 https://groups.google.com/g/vim_use/c/ef55jNm5czI Steps: mkdir foo TMPDIR=./foo nvim :echo tempname() !rm -r foo :echo tempname() tempname() still uses the foo path even though it was deleted. Solution: - Don't assume that vim_tempdir exists. - If it goes missing once, retry vim_mktempdir and log (silently) an error. - If it goes missing again, retry vim_mktempdir and show an error. Rejected in Vim for performance reasons: https://groups.google.com/g/vim_use/c/qgRob9SWDv8/m/FAOFVVcDTv0J https://groups.google.com/g/vim_dev/c/cogp-Vye4oo/m/d_SVFXBbnnoJ But, logging shows that `vim_gettempdir` is not called frequently. Fixes #1432 Fixes #9833 Fixes #11250 Related: stdpath("run") f50135a32e11c535e1dc3a8e9460c5b4e640ee86
* Merge pull request #22547 from luukvbaal/statuslinebfredl2023-03-09
|\ | | | | perf(statusline): UI elements are always redrawn on K_EVENT
| * perf(statusline): UI elements are always redrawn on K_EVENTLuuk van Baal2023-03-08
| | | | | | | | | | Problem: 'statusline'-format UI elements are redrawn on each K_EVENT. Solution: Only redraw UI elements when something relevant has changed.
* | vim-patch:8.2.1067: expression "!expr->func()" does not work (#22585)zeertzjq2023-03-09
| | | | | | | | | | | | | | | | Problem: Expression "!expr->func()" does not work. Solution: Apply plus and minus earlier. (closes vim/vim#6348) https://github.com/vim/vim/commit/0b1cd52ff6bf690388f892be686a91721a082e55 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | fix(buffer_updates): save and restore current window cursor (#16732)zeertzjq2023-03-09
| | | | | | | | | | | | | | | | When a buffer update callback is called, textlock is active so buffer text cannot be changed, but cursor can still be moved. This can cause problems when the buffer update is in the middle of an operator, like the one mentioned in #16729. The solution is to save cursor position and restore it afterwards, like how cursor is saved and restored when evaluating an <expr> mapping.
* | vim-patch:9.0.1392: using NULL pointer with nested :open command (#22583)zeertzjq2023-03-09
| | | | | | | | | | | | | | | | Problem: Using NULL pointer with nested :open command. Solution: Check that ccline.cmdbuff is not NULL. https://github.com/vim/vim/commit/7ac5023a5f1a37baafbe1043645f97ba3443d9f6 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | Revert "refactor(treesitter): delegate region calculation to treesitter" ↵Lewis Russell2023-03-08
| | | | | | | | | | | | | | (#22575) Revert "refactor(treesitter): delegate region calculation to treesitter (#22553)" This reverts commit 276b647fdba07bf1762d8dd371c4b655b8a418df.
* | refactor(treesitter): delegate region calculation to treesitter (#22553)Lewis Russell2023-03-08
|/
* Merge pull request #22558 from zeertzjq/vim-8.2.3969zeertzjq2023-03-07
|\
| * vim-patch:8.2.3969: value of MAXCOL not available in Vim scriptzeertzjq2023-03-07
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Value of MAXCOL not available in Vim script. Solution: Add v:maxcol. (Naohiro Ono, closes vim/vim#9451) https://github.com/vim/vim/commit/56200eed62e59ad831f6564dcafe346e6f97ac20 The variable is always 2147483647, but introducing it makes functions easier to document. Co-authored-by: naohiro ono <obcat@icloud.com>
* | build!: make libintl a required dependencydundargoc2023-03-07
|/ | | | Libintl being an optional dependency is not by design, but a workaround as it didn't use work on all platforms. That should be fixed by now.
* test: move oldtests to test directory (#22536)dundargoc2023-03-07
| | | | | The new oldtest directory is in test/old/testdir. The reason for this is that many tests have hardcoded the parent directory name to be 'testdir'.
* fix(column): issues with 'statuscolumn' width (#22542)luukvbaal2023-03-07
| | | | | | | | Problem: 'statuscolumn' width can be incorrect when toggling 'number' or setting 'statuscolumn'. Solution: Make sure the width is reset and re-estimated when 'statuscolumn' and 'number' are set. (When 'relativenumber' is set this already happens because it always changes "nrwidth_line_count".)
* Merge pull request #13834 from bfredl/omniluabfredl2023-03-07
|\ | | | | omnifunc for builtin lua
| * feat(lua): omnifunc for builting lua interpreterBjörn Linse2023-03-06
| | | | | | | | | | | | | | also make implicit submodules "uri" and "_inspector" work with completion this is needed for `:lua=vim.uri_<tab>` wildmenu completion to work even before uri or _inspector functions are used.
* | build: enable unit testing on release builds (#22554)dundargoc2023-03-06
| | | | | | | | | | | | | | Unittests not working on release builds can lead to confusing situations, such as contributors wondering why their tests aren't working if they forgot they've built with a release build. This only increased the Release executable size by 8 kB on my personal machine, which is an acceptable tradeoff.
* | feat(lsp)!: add rule-based sem token highlighting (#22022)swarn2023-03-06
| | | | | | | | | | | | | | | | | | | | | | | | | | feat(lsp)!: change semantic token highlighting Change the default highlights used, and add more highlights per token. Add an LspTokenUpdate event and a highlight_token function. :Inspect now shows any highlights applied by token highlighting rules, default or user-defined. BREAKING CHANGE: change the default highlight groups used by semantic token highlighting.
* | fix(diff): add NULL checkLewis Russell2023-03-06
| |
* | feat(lua): add semver apiKelly Lin2023-03-06
| |
* | vim-patch:9.0.1386: options test fails with some window width (#22548)zeertzjq2023-03-06
| | | | | | | | | | | | Problem: Options test fails with some window width. Solution: Adjust what text the test checks with. (closes vim/vim#12111) https://github.com/vim/vim/commit/30585e03a7ce6cf985f93ca30275bf4dae0d87cc
* | vim-patch:9.0.1385: g'Esc is considered an error (#22544)zeertzjq2023-03-06
| | | | | | | | | | | | Problem: g'Esc is considered an error. Solution: Make g'Esc silently abandon the command. (closes vim/vim#12110) https://github.com/vim/vim/commit/f86dea8119f3141e3d2c680219036d1511101f9b
* | build: remove workaround for incorrectly packaged libluvdundargoc2023-03-05
| | | | | | | | | | | | This removes a workaround for incorrectly packaged libluv in 90e44ecf1144cb32195da00e24d23afb111ea680 as it should not be needed anymore.
* | build: fix unknown pragma warning with mingw (#22533)Biswapriyo Nath2023-03-05
| | | | | | | | | | | | | | | | This checks MSVC toolchain with _MSC_VER macro before adding pragma warning directive. It is specific to MSVC and shows compiler warning with mingw gcc as following: main.c:187: warning: ignoring '#pragma warning ' [-Wunknown-pragmas] 187 | # pragma warning(suppress : 4996)
* | vim-patch:9.0.0870: get E967 when using text property in quickfix windowzeertzjq2023-03-05
| | | | | | | | | | | | | | | | | | | | | | Problem: Get E967 when using text property in quickfix window. (Sergey Vlasov) Solution: Do not add an extra NUL and compute the text length correctly. (closes vim/vim#11513) https://github.com/vim/vim/commit/2f7bfe66a1373051792f2ecaeefb66049825221d Co-authored-by: Bram Moolenaar <Bram@vim.org>
* | vim-patch:9.0.0770: quickfix commands may keep memory allocatedzeertzjq2023-03-05
| | | | | | | | | | | | | | | | | | | | Problem: Quickfix commands may keep memory allocated. Solution: Free memory when it's a bit much. (Yegappan Lakshmanan, closes vim/vim#11379) https://github.com/vim/vim/commit/d8cd6f7427bc89aa38f42cc44f58bf5fb5f0f972 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:9.0.0749: alloc/free of buffer for each quickfix entry is inefficientzeertzjq2023-03-05
| | | | | | | | | | | | | | | | | | Problem: Alloc/free of buffer for each quickfix entry is inefficient. Solution: Use a shared grow array. (Yegappan Lakshmanan, closes vim/vim#11365) https://github.com/vim/vim/commit/975a665d4811649a51e2c6a97a6ce096290d87ae Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* | vim-patch:9.0.0736: quickfix listing does not handle very long messageszeertzjq2023-03-05
|/ | | | | | | | | | | | | Problem: Quickfix listing does not handle very long messages. Solution: Use a growarray instead of a fixed size buffer. (Yegappan Lakshmanan, closes vim/vim#11357) https://github.com/vim/vim/commit/f8412c9d7cc487dacf47a217ae947da68a525c53 Override Test_very_long_error_line() with a rewrite that doesn't use deferred delete and string interpolation. Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.1380: CTRL-X on 2**64 subtracts two (#22530)zeertzjq2023-03-05
| | | | | | | | Problem: CTRL-X on 2**64 subtracts two. (James McCoy) Solution: Correct computation for large number. (closes vim/vim#12103) https://github.com/vim/vim/commit/5fb78c3fa5c996c08a65431d698bd2c251eef5c7 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* test(old): make getting an unused PID work (#22529)zeertzjq2023-03-05
|
* vim-patch:9.0.1378: illegal memory access when using virtual editing (#22527)zeertzjq2023-03-05
| | | | | | | | Problem: Illegal memory access when using virtual editing. Solution: Make sure "startspaces" is not negative. https://github.com/vim/vim/commit/c99cbf8f289bdda5d4a77d7ec415850a520330ba Co-authored-by: Bram Moolenaar <Bram@vim.org>
* fix(extmarks): don't leak memory on error (#22507)zeertzjq2023-03-05
|
* Merge pull request #22415 from bfredl/log_debugbfredl2023-03-04
|\ | | | | refactor(log): reduce compile time LOG_LEVEL granularity
| * refactor(log): reduce compile time LOG_LEVEL granularitybfredl2023-03-04
| |
* | refactor(spell): use uint8_t for "byts" variables (#22519)zeertzjq2023-03-04
|/ | | Avoid casting back and forth.
* refactor: replace char_u with char or uint8_t (#22400)dundargoc2023-03-04
| | | Work on https://github.com/neovim/neovim/issues/459
* fix(redraw): get the line again after evaluating somethingzeertzjq2023-03-04
|
* fix(luado): get old_line length before executing Lua codezeertzjq2023-03-04
|
* vim-patch:9.0.0016: comparing line pointer for 'breakindent' is not reliablezeertzjq2023-03-04
| | | | | | | | | | | Problem: Comparing line pointer for 'breakindent' is not reliable. Solution: Make a copy of the line. https://github.com/vim/vim/commit/c2a79b87fc31080ba24394c0b30bab45f1bea852 Test changes have been squashed into the previous commit. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:partial:9.0.0013: reproducing memory access errors can be difficultzeertzjq2023-03-04
| | | | | | | | | | | | | | | | | | Problem: Reproducing memory access errors can be difficult. Solution: When testing, copy each line to allocated memory, so that valgrind can detect accessing memory before and/or after it. Fix uncovered problems. https://github.com/vim/vim/commit/fa4873ccfc10e0f278dc46f39d00136fab059b19 Since test_override() is N/A, enable ml_get_alloc_lines when ASAN is enabled instead, so it also applies to functional tests. Use xstrdup() to copy the line as ml_line_len looks hard to port. Squash the test changes from patch 9.0.0016. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:9.0.1376: accessing invalid memory with put in Visual block mode ↵zeertzjq2023-03-04
| | | | | | | | | | (#22505) Problem: Accessing invalid memory with put in Visual block mode. Solution: Adjust the cursor column if needed. https://github.com/vim/vim/commit/1c73b65229c25e3c1fd8824ba958f7cc4d604f9c Co-authored-by: Bram Moolenaar <Bram@vim.org>
* fix(treesitter): raise ts_match_limit to 256 (#22497)Christian Clason2023-03-03
| | | | | | | | | | Problem: Some complex queries may not return all matches. Solution: Raise `ts_match_limit` from current 64 (twice the original default) to 256 (which Helix uses, and seems to be enough for the reported problematic cases). If this leads performance regressions in other queries, we should add a generic querying timeout instead of relying on a low value here.
* vim-patch:9.0.0527: long sign text may overflow buffer (#22496)zeertzjq2023-03-03
| | | | | | | | | | | | | | Problem: Long sign text may overflow buffer. Solution: Use a larger buffer. Prevent for overflow. https://github.com/vim/vim/commit/2b1ddf19f8f14365d0b998b4ac12ca85c0923475 Don't change the size of extra[] as it's already large enough. N/A patches for version.c: vim-patch:9.0.0523: more compiler warnings for arguments in small version Co-authored-by: Bram Moolenaar <Bram@vim.org>
* refactor(build): graduate -Wvla, -fno-common and -Og "features"bfredl2023-03-03
| | | | | | These are in gcc 4.9+ which we require anyway. -Og is safe on clang as well (reserved for a future debug-optimize mode, and currently does the same as -O1 which is reasonable)
* refactor(build): graduate unibilium VAR_FROM feature from 2017bfredl2023-03-03
|