aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* fix(deps): make sure --force-config takes effectSergey Slipchenko2023-09-09
| | | | | | | | | | | | | | Fixes #24881 --force-config passed to luarocks' configure script is only taken into account in case "make install" is used afterwards. But if "make bootstrap" is used then this flag has no effect. And it can actually copy an existing config on the system to the new installation. That existing config can have a different version of Lua set by default. In which case luarocks will install packages for that version instead of the one used in tests. And trying to run tests then will fail because of missing packages.
* revert: "ci: trigger tests when pushing"dundargoc2023-09-09
| | | | | | | | | This reverts commit e71c7898ca3cf3af1243227ff3cba526d48897e8. Triggering jobs on users own fork turned out to be not that useful, and only necessary in rare moments. It's easier to adjust the CI scripts if the users wants CI results before creating a pull request. It also reduces the complexity of the CI code.
* ci(release): remove unnecessary full clonedundargoc2023-09-09
|
* fix(rpc): fix hang with channel closed while waiting for responseSergey Slipchenko2023-09-09
|
* Merge pull request #25039 from glepnir/fix_hlbfredl2023-09-09
|\ | | | | fix(highlight): add create param in nvim_get_hl api function
| * fix(highlight): add create param in nvim_get_hlglepnir2023-09-09
| |
* | Merge pull request #25058 from zeertzjq/vim-9.0.1886zeertzjq2023-09-09
|\ \ | | | | | | vim-patch:9.0.{1877,partial:1886}
| * | vim-patch:partial:9.0.1886: Various Typoszeertzjq2023-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Various Typos Solution: Fix Typos This is a collection of typo related commits. closes: vim/vim#12753 closes: vim/vim#13016 https://github.com/vim/vim/commit/ee17b6f70d382ec6c5d8d27b56c4e84106ac8c55 Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Adri Verhoef <a3@a3.xs4all.nl> Co-authored-by: Viktor Szépe <viktor@szepe.net> Co-authored-by: nuid64 <lvkuzvesov@proton.me> Co-authored-by: Meng Xiangzhuo <aumo@foxmail.com> Co-authored-by: Dominique Pellé <dominique.pelle@gmail.com>
| * | vim-patch:9.0.1877: missing test for patch 9.0.1873zeertzjq2023-09-09
|/ / | | | | | | | | | | | | | | | | | | | | | | Problem: missing test for patch 9.0.1873 Solution: add a test trying to exchange windows Add a test, making sure that switching windows is not allowed when textlock is active, e.g. when running `:s/<pat>/\=func()/` https://github.com/vim/vim/commit/18d2709aa12ffa3f6ae1a13059990558c5f8e406 Co-authored-by: Christian Brabandt <cb@256bit.org>
* | ci: remove container solution for the linux runnerdundargoc2023-09-09
| | | | | | | | | | | | | | | | This will fix the failing release job. Ubuntu 18.04 is incompatible with checkout action version 4, which requires glibc 2.28+. This will bump the minimum glibc version required to use the release versions to 2.31. People requring the older releases can find them at https://github.com/neovim/neovim-releases.
* | vim-patch:86cfb39030ebChristian Clason2023-09-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(tohtml): Update TOhtml to version 9.0v2 (vim/vim#13050) Modified behavior: - Change default value of g:html_use_input_for_pc from "fallback" to "none". This means with default settings, only the standards-based method to make special text unselectable is used. The old method relying on unspecified browser behavior for <input> tags is now only used if a user specifically enables it. - Officially deprecate g:use_xhtml option (in favor of g:html_use_xhtml) by issuing a warning message when used. Bugfixes: - Fix issue vim/vim#8547: LineNr and other special highlight groups did not get proper style rules defined when using "hi link". - Fix that diff filler was not properly added for deleted lines at the end of a buffer. Other: - Refactored function definitions from long lists of strings to use :let-heredoc variable assignment instead. - Corrected deprecated "." string concatenation operator to ".." operator in more places. https://github.com/vim/vim/commit/86cfb39030eb557e1a1c7804f9c147556ca5dbf1 Co-authored-by: fritzophrenic <fritzophrenic@gmail.com>
* | vim-patch:4e554d282c50Christian Clason2023-09-09
|/ | | | | | | | runtime(perl): Update ftplugin and indent files (vim/vim#13052) https://github.com/vim/vim/commit/4e554d282c50e428932df5fff9917f8a836f7782 Co-authored-by: dkearns <dougkearns@gmail.com>
* vim-patch:9.0.1884: Wrong order of arguments for error messages (#25055)zeertzjq2023-09-09
| | | | | | | | | | Problem: Wrong order of arguments for error messages Solution: Reverse order or arguments for e_aptypes_is_null_nr_str closes: vim/vim#13051 https://github.com/vim/vim/commit/1bd2cb11694690a77e4141bce2e34d9dfb882f1c Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
* feat(runtime): highlight hl groups in syntax.txt (#25050)zeertzjq2023-09-08
| | | | | | - Add runtime/lua/vim/vimhelp.lua, which is a translation of Vim's runtime/import/dist/vimhelp.vim. - Unlike Vim, run the highlighting from an ftplugin file instead of a syntax file, so that it is run even if using treesitter.
* Merge pull request #24985 from bfredl/hash2bfredl2023-09-08
|\ | | | | refactor(map): enhanced implementation, Clean Code™, etc etc
| * refactor(map): enhanced implementation, Clean Code™, etc etcbfredl2023-09-08
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This involves two redesigns of the map.c implementations: 1. Change of macro style and code organization The old khash.h and map.c implementation used huge #define blocks with a lot of backslash line continuations. This instead uses the "implementation file" .c.h pattern. Such a file is meant to be included multiple times, with different macros set prior to inclusion as parameters. we already use this pattern e.g. for eval/typval_encode.c.h to implement different typval encoders reusing a similar structure. We can structure this code into two parts. one that only depends on key type and is enough to implement sets, and one which depends on both key and value to implement maps (as a wrapper around sets, with an added value[] array) 2. Separate the main hash buckets from the key / value arrays Change the hack buckets to only contain an index into separate key / value arrays This is a common pattern in modern, state of the art hashmap implementations. Even though this leads to one more allocated array, it is this often is a net reduction of memory consumption. Consider key+value consuming at least 12 bytes per pair. On average, we will have twice as many buckets per item. Thus old implementation: 2*12 = 24 bytes per item New implementation 1*12 + 2*4 = 20 bytes per item And the difference gets bigger with larger items. One might think we have pulled a fast one here, as wouldn't the average size of the new key/value arrays be 1.5 slots per items due to amortized grows? But remember, these arrays are fully dense, and thus the accessed memory, measured in _cache lines_, the unit which actually matters, will be the fully used memory but just rounded up to the nearest cache line boundary. This has some other interesting properties, such as an insert-only set/map will be fully ordered by insert only. Preserving this ordering in face of deletions is more tricky tho. As we currently don't use ordered maps, the "delete" operation maintains compactness of the item arrays in the simplest way by breaking the ordering. It would be possible to implement an order-preserving delete although at some cost, like allowing the items array to become non-dense until the next rehash. Finally, in face of these two major changes, all code used in khash.h has been integrated into map.c and friends. Given the heavy edits it makes no sense to "layer" the code into a vendored and a wrapper part. Rather, the layered cake follows the specialization depth: code shared for all maps, code specialized to a key type (and its equivalence relation), and finally code specialized to value+key type.
* build(vim-patch.sh): don't use control chars in command (#25044)zeertzjq2023-09-08
|
* build(vim-patch.sh): use older associative array syntaxzeertzjq2023-09-08
|
* build(vim-patch.sh): dereference annotated tags when listing (#25042)zeertzjq2023-09-08
|
* Merge pull request #25024 from bfredl/luacheck2bfredl2023-09-07
|\ | | | | refactor(build): derocksify luacheck
| * refactor(build): derocksify luacheckbfredl2023-09-07
|/
* feat(lsp): add original LSP Location as item's user_data in ↵Tom Praschan2023-09-07
| | | | locations_to_items (#23743)
* vim-patch:f7ac0ef50988Christian Clason2023-09-07
| | | | | | | | | | | | | | | | | | | | | | | | | runtime: don't execute external commands when loading ftplugins This is a followup to 816fbcc262687b81fc46f82f7bbeb1453addfe0c (patch 9.0.1833: [security] runtime file fixes) It basically disables that external commands are run on loading of the filetype plugin, **unless** the user has set the `g:plugin_exec = 1` global variable in their configuration or for a specific filetype the variable g:<filetype>_exec=1. There are a few more plugins, that may execute system commands like debchangelog, gitcommit, sh, racket, zsh, ps1 but those do at least do not run those commands by default during loading of the filetype plugin (there the command is mostly run as convenience for auto-completion or to provide documentation lookup). closes: vim/vim#13034 https://github.com/vim/vim/commit/f7ac0ef5098856bedca26e7073594a407c05636f Co-authored-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Tim Pope <vim@tpope.org>
* vim-patch:67c951df4c95Christian Clason2023-09-07
| | | | | | | | | | | | | | | | | runtime(ftplugin): allow to exec if curdir is in PATH In case the current directory is present as valid $PATH entry, it is OK to call the program from it, even if vim curdir is in that same directory. (Without that patch, for instance, you will not be able to open .zip files while your current directory is /bin) closes: vim/vim#13027 https://github.com/vim/vim/commit/67c951df4c95981c716eeedb1b102d9668549e65 Co-authored-by: Anton Sharonov <anton.sharonov@gmail.com>
* fix(diagnostic): always return copies of diagnostic items (#25010)Evgeni Chasnovski2023-09-06
|
* Merge pull request #25030 from zeertzjq/vim-9.0.1874zeertzjq2023-09-06
|\ | | | | vim-patch:9.0.{partial:0669,1874}
| * vim-patch:9.0.1874: CI may fail in test_recover_empty_swapzeertzjq2023-09-06
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: CI may fail in test_recover_empty_swap Solution: Set directory option Fix failing Test_recover_empty_swap test :recover by default not only looks in the current directory, but also in ~/tmp for files to recover. If it finds some files to recover, it will interactively prompt for a file to recover. However, prompting doesn't work when running the test suite (and even if it would, there is no one that can answer the prompt). So it doesn't really make sense during testing, to inspect different directories for swap files and prompt and wait (which will lead to a timeout and therefore a failing test). So set the 'directory' option temporarily to the current directory only and reset it back once the test finishes. closes: vim/vim#13038 https://github.com/vim/vim/commit/1c7397f3f1e168541f88bb1bbd93a9f0b1235852 Co-authored-by: Christian Brabandt <cb@256bit.org>
| * vim-patch:partial:9.0.0669: too many delete() calls in testszeertzjq2023-09-06
|/ | | | | | | | | | | | Problem: Too many delete() calls in tests. Solution: Use deferred delete where possible. https://github.com/vim/vim/commit/db77cb3c08784e6038dd029271b2080c1b2d9acb Include test_recover.vim changes only. Cherry-pick test_recover.vim change from patch 8.2.3637. Co-authored-by: Bram Moolenaar <Bram@vim.org>
* test(old): reorder test_quickfix.vim to match upstream (#25029)zeertzjq2023-09-06
|
* Merge pull request #25006 from lewis6991/fix/systemkillLewis Russell2023-09-05
|\ | | | | `vim.system` fixes and improvements
| * fix: windows timeouts have exit code 1Lewis Russell2023-09-05
| |
| * refactor(vim.system): factor out on_exit handlingLewis Russell2023-09-05
| |
| * fix(vim.system): make timeout work properlyLewis Russell2023-09-05
| | | | | | | | Mimic the behaviour of timeout(1) from coreutils.
| * fix(vim.system): let on_exit handle cleanup after killLewis Russell2023-09-05
| | | | | | | | Fixes #25000
* | fix(options): correct condition for calling did_set_option() (#25026)zeertzjq2023-09-05
|/
* vim-patch:282a94be990fChristian Clason2023-09-05
| | | | | | | | | runtime: Fix problem of checking wrong cwd for ruby ftplugin (vim/vim#13026) https://github.com/vim/vim/commit/282a94be990fc1ee5be46548bf7241b583d48972 Co-authored-by: Anton Sharonov (ant0sha) <109120102+ant0sha@users.noreply.github.com> Co-authored-by: Anton Sharonov <anton.sharonov@gmail.com>
* vim-patch:3170342af304Christian Clason2023-09-05
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | runtime(php): Update the php indent script to the 1.75 (from 1.70) (vim/vim#13025) Changes: 1.75: - Fix 2072/PHP-Indenting-for-VImvim/vim#87: The indent optimization was causing wrong indentation of lines preceded by a line ending with '}' when preceded by non white characters. - Fix long standing non-reported regex escaping issue in cleaning end of line comments function. This should help fixing some other unreported issues when parts of codes are commented out at ends of lines... 1.74: - Fix 2072/PHP-Indenting-for-VImvim/vim#86: Add support for `match` expression. 1.73: - Fix 2072/PHP-Indenting-for-VImvim/vim#77 where multi line strings and true/false keywords at beginning of a line would cause indentation failures. 1.72: - Fix vim/vimvim/vim#5722 where it was reported that the option PHP_BracesAtCodeLevel had not been working for the last 6 years. 1.71: - Fix 2072/PHP-Indenting-for-VImvim/vim#75 where the indent script would hang on some multi-line quoted strings. https://github.com/vim/vim/commit/3170342af3049852afb2fbca85df37baf5fec82f Co-authored-by: John Wellesz <john.wellesz@gmail.com>
* vim-patch:9.0.1866: undo is synced after character find (#25021)zeertzjq2023-09-05
| | | | | | | | | | | vim-patch:9.0.1866: undo is synced after character find Problem: Undo is synced after character find. Solution: Set no_u_sync when calling gotchars_nop(). closes: vim/vim#13022 closes: vim/vim#13024 https://github.com/vim/vim/commit/dccc29c228f8336ef7dd069a447886639af4458e
* ci: bump actions/checkout from 3 to 4dependabot[bot]2023-09-04
| | | | | | | | | | | | | | | Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3...v4) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
* build: bump lpeg to 1.1.0 (#25016)dundargoc2023-09-04
| | | | Release notes indicates it has better UTF8 handling which is relevant for us.
* vim-patch:9.0.1863: wrong format specifiers in e_aptypes_is_null_str_nr (#25015)zeertzjq2023-09-04
| | | | | | | | Problem: wrong format specifiers in e_aptypes_is_null_str_nr Solution: Fix the wrong format specifier closes: vim/vim#13020 https://github.com/vim/vim/commit/7db89bdc23e53c7bc43af6f1c7281bc69a6a3098
* vim-patch:9.0.1856: issues with formatting positional arguments (#25013)zeertzjq2023-09-04
| | | | | | | | | | | | | Problem: issues with formatting positional arguments Solution: fix them, add tests and documentation closes: vim/vim#12140 closes: vim/vim#12985 Tentatively fix message_test. Check NULL ptr. https://github.com/vim/vim/commit/aa90d4f031f73a34aaef5746931ea746849a2231 Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
* build: various fixesdundargoc2023-09-04
| | | | | | | | | - simplify lua interpreter search - fix incorrect variable name in BuildLua.cmake - build PUC Lua with -O2 - silence non-mandatory find_package search for libuv - simplify Find modules - Prefer using the explicitly set CI_BUILD over relying on the environment variable "CI".
* Merge pull request #24974 from bfredl/memline2bfredl2023-09-03
|\ | | | | fix(memline): more curbuf stuff
| * fix(memline): more curbuf stuffbfredl2023-09-01
| |
* | ci: move external_deps job from cirrus-ci back to github actionsdundargoc2023-09-03
| | | | | | | | | | | | | | This partially reverts commit 7d0479c55810af9bf9f115ba69d1419ea81ec41e. The job has been particularly unstable when used with docker on cirrus-ci, which is especially bad as it's meant to be a non-flaky and simple test.
* | refactor(ex_session.c): remove unnecessary char -> int -> char castzeertzjq2023-09-03
| | | | | | | | The two calls to get_view_file() both pass a char in a string, and get_view_file() assigns it to a char in a string.
* | vim-patch:9.0.1848: [security] buffer-overflow in vim_regsub_both() (#25001)zeertzjq2023-09-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: buffer-overflow in vim_regsub_both() Solution: Check remaining space https://github.com/vim/vim/commit/ced2c7394aafdc90fb7845e09b3a3fee23d48cb1 The change to do_sub() looks confusing. Maybe it's an overflow check? Then the crash may not be applicable to Nvim because of different casts. The test also looks confusing. It seems to source itself recursively. Also don't call strlen() twice on evaluation result. N/A patches for version.c: vim-patch:9.0.1849: CI error on different signedness in ex_cmds.c vim-patch:9.0.1853: CI error on different signedness in regexp.c Co-authored-by: Christian Brabandt <cb@256bit.org>
* | perf(substitute): don't reallocate new_start every time (#24997)zeertzjq2023-09-03
| |
* | vim-patch:9.0.1840: [security] use-after-free in do_ecmd (#24993)zeertzjq2023-09-03
| | | | | | | | | | | | | | | | | | | | | | Problem: use-after-free in do_ecmd Solution: Verify oldwin pointer after reset_VIsual() https://github.com/vim/vim/commit/e1dc9a627536304bc4f738c21e909ad9fcf3974c N/A patches for version.c: vim-patch:9.0.1841: style: trailing whitespace in ex_cmds.c Co-authored-by: Christian Brabandt <cb@256bit.org>