aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* perf(iter): reduce number of table allocationsGregory Anders2023-04-28
| | | | | | | | Packing and unpacking return values impairs performance considerably. In an attempt to avoid creating tables as much as possible we can instead pass return values between functions (which does not require knowing the number of values a function might return). This makes the code more complex, but improves benchmark numbers non-trivially.
* test: add benchmark for vim.iterGregory Anders2023-04-28
|
* feat: add link in issue template to minimal config templateLewis Russell2023-04-28
|
* vim-patch:8.2.3509: undo file is not synced (#23371)zeertzjq2023-04-28
| | | | | | | | | Problem: Undo file is not synced. (Sami Farin) Solution: Sync the undo file if 'fsync' is set. (Christian Brabandt, closes vim/vim#8879, closes vim/vim#8920) https://github.com/vim/vim/commit/340dd0fbe462a15a9678cfba02085b4adcc45f02 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* fix(tui): position cursor at bottom-left before stopping (#23369)zeertzjq2023-04-28
| | | Fix #23361
* Merge pull request #23367 from zeertzjq/vim-8.2.1108zeertzjq2023-04-28
|\ | | | | vim-patch:8.2.{1108,partial:1235},9.0.1084
| * vim-patch:9.0.1084: code handling low level MS-Windows events cannot be testedzeertzjq2023-04-28
| | | | | | | | | | | | | | | | Problem: Code handling low level MS-Windows events cannot be tested. Solution: Add test_mswin_event() and tests using it. (Christopher Plewright, closes vim/vim#11622) https://github.com/vim/vim/commit/20b795e0eba6c933868c8f7cf62fb85d4f007688
| * vim-patch:partial:8.2.1235: Not all mouse codes covered by testszeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: Not all mouse codes covered by tests. Solution: Add more tests for the mouse. (Yegappan Lakshmanan, closes vim/vim#6472) https://github.com/vim/vim/commit/2764d06ab7140c95b6317e344d853e4a32c76e9a Cherry-pick typo fixes from patch 8.2.0020.
| * vim-patch:8.2.1108: mouse left-right scroll is not supported in terminal windowzeertzjq2023-04-28
|/ | | | | | | Problem: Mouse left-right scroll is not supported in terminal window. Solution: Implement mouse codes 6 and 7. (Trygve Aaberge, closes vim/vim#6363) https://github.com/vim/vim/commit/d58d4f90aeb381045000ea46493b5bd9b9d1fa23
* Merge pull request #23364 from zeertzjq/vim-8.1.1155zeertzjq2023-04-28
|\ | | | | vim-patch:8.1.{partial:1155,1160,1165,1167,1175,1176,1178,1179,1181,1216,1223,1244,1247,1248,.2106,2148,2306},9.0.0825
| * vim-patch:9.0.0825: cannot drag an entry in the tabpage linezeertzjq2023-04-28
| | | | | | | | | | | | | | | | Problem: Cannot drag an entry in the tabpage line. Solution: Clear dragwin instead of got_click. (closes vim/vim#11483, closes vim/vim#11482) https://github.com/vim/vim/commit/8e0ccb6bc21a446e5c6375b7fdf200fb53a129da
| * vim-patch:8.1.2306: double and triple clicks are not testedzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: Double and triple clicks are not tested. Solution: Test mouse clicks to select text. (closes vim/vim#5226) https://github.com/vim/vim/commit/f36a2c7e60d86b1a1733a8f51ed72da9c6f76eb8 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.2148: no test for right click extending Visual areazeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: No test for right click extending Visual area. Solution: Add a test. (Dominique Pelle, closes vim/vim#5018) https://github.com/vim/vim/commit/6aa7523b9642a752ab879131d4b159635207d9f2 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.2106: no tests for dragging the mouse beyond the windowzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: No tests for dragging the mouse beyond the window. Solution: Add a test. (Dominique Pelle, closes vim/vim#5004) https://github.com/vim/vim/commit/b4367b7fb65f6a88f76ef99f79342341af0b1017 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1248: no test for dec mousezeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: No test for dec mouse. Solution: Add some tests for dec mouse. Add "no_query_mouse". https://github.com/vim/vim/commit/92fd599e0d85bdd7462926b2e5bcf7ce65fccc50 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1247: urxvt mouse codes are not testedzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | | | | | Problem: Urxvt mouse codes are not tested. Solution: Also set 'ttymouse' to "urxvt" in the termcodes test. https://github.com/vim/vim/commit/d0621d85a6ceb17e1e6fb17415c3f94a755aaafa Use code from latest tests instead. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1244: no tests for CTRL-mouse-clickzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | | | | | Problem: No tests for CTRL-mouse-click. Solution: Add a few tests. (Dominique Pelle, closes vim/vim#4323) https://github.com/vim/vim/commit/1ee36d6ff5bc51a1ecb5631c3e5bb632b5d1bcfc Use usr_toc.txt instead of help.txt. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1223: middle mouse click test fails without a clipboardzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Middle mouse click test fails without a clipboard. Solution: Check if the clipboard can be used. (Dominique Pelle, Christian Brabandt) Also use WorkingClipboard() instead of checking for the "clipboard" feature. https://github.com/vim/vim/commit/564344ace9ef06b22e4e60a0196c41b410ac27da Use CheckFeature clipboard_working from latest test instead. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1216: mouse middle click is not testedzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: Mouse middle click is not tested. Solution: Add a test. (Dominique Pelle, closes vim/vim#4310) https://github.com/vim/vim/commit/c1b8160b44b43cca3acd7a47c1b85350cb648fe5 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1181: tests for mouse clicks are a bit flakyzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | | | | | Problem: Tests for mouse clicks are a bit flaky when run in an interactive terminal. Solution: Use "xterm2" instead of "xterm" for 'ttymouse' to avoid spurious drag events. https://github.com/vim/vim/commit/2b00b9b0f355421fdb49e3a15f5a62af657d1922 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1179: no test for mouse clicks in the fold columnzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: No test for mouse clicks in the fold column. Solution: Add a test. (Dominique Pelle, closes vim/vim#4261) https://github.com/vim/vim/commit/696d6377289eb7c703263aaabe58134968335c4b Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1178: when mouse click tests fails value of 'ttytype' is unknownzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: When mouse click tests fails value of 'ttytype' is unknown. Solution: Add a message to the assert. https://github.com/vim/vim/commit/4945219b99f8e191c599f80dedc0c4be02ed821e Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1176: test for dragging a tab is flakyzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | Problem: Test for dragging a tab is flaky. Solution: Add a brief sleep. https://github.com/vim/vim/commit/7f27976589f075d591d54f754be257b5f6e6fd92 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1175: no test for dragging a tab and double click for new tabzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | | | | | | | Problem: No test for dragging a tab with the mouse and for creating a new tab by double clicking in the tabline. Solution: Add two tests. (Dominique Pelle, closes vim/vim#4258) https://github.com/vim/vim/commit/e3e3828f935392bb3c2147a000db1c7b094a4360 Set 'mousetime' to 0 instead. Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1167: no test for closing tab by click in tablinezeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | | | Problem: No test for closing tab by click in tabline. Solution: Add a test. Also fix that dragging window separator could fail in a large terminal. (Dominique Pelle, closes vim/vim#4253) https://github.com/vim/vim/commit/39f76c6ac0f5e07a0e608ddf920a67702ec83824 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1165: no test for mouse clicks in the terminal tabpage linezeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | | | Problem: No test for mouse clicks in the terminal tabpage line. Solution: Add a test. (Dominique Pelle, closes vim/vim#4247). Also init TabPageIdxs[], in case it's used before a redraw. https://github.com/vim/vim/commit/ca57ab54d759a3e265b19bbe31b57dfed00bbdd0 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:8.1.1160: termcodes test would fail in a very big terminalzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | | | Problem: Termcodes test would fail in a very big terminal. Solution: Bail out when the row is larger than what will work. (Dominique Pelle, closes vim/vim#4246) https://github.com/vim/vim/commit/c8b3ddab51cd2901d5946949d02c96e1035b25c0 Co-authored-by: Bram Moolenaar <Bram@vim.org>
| * vim-patch:partial:8.1.1155: termcodes tests can be improvedzeertzjq2023-04-28
|/ | | | | | | | | | Problem: Termcodes tests can be improved. Solution: Add helper functions to simplify tests. Dragging statusline for xterm and sgr. (Dominique Pelle, closes vim/vim#4237) https://github.com/vim/vim/commit/3fbd2d7c316eaeea463b2f84f29b36d439306bf9 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* vim-patch:partial:8.2.0425: code for modeless selection not sufficiently ↵zeertzjq2023-04-28
| | | | | | | | | | | tested (#23362) Problem: Code for modeless selection not sufficiently tested. Solution: Add tests. Move mouse code functionality to a common script file. (Yegappan Lakshmanan, closes vim/vim#5821) Add some mouse.vim functions that can be made to work in Nvim. https://github.com/vim/vim/commit/515545e11f523d14343b1e588dc0b9bd3d362bc2
* vim-patch:9.0.1494: crash when recovering from corrupted swap file (#23358)zeertzjq2023-04-28
| | | | | | | | Problem: Crash when recovering from corrupted swap file. Solution: Bail out when the line index looks wrong. (closes vim/vim#12276) https://github.com/vim/vim/commit/bf1b7132021bac0fccefebb4a1c24a5f372bae4f Co-authored-by: Bram Moolenaar <Bram@vim.org>
* Merge pull request #23352 from zeertzjq/pum-at-cursorzeertzjq2023-04-28
|\ | | | | fix(pum): make :popup position correctly with float border
| * vim-patch:9.0.1493: popup menu position wrong in window with toolbarzeertzjq2023-04-28
| | | | | | | | | | | | | | | | | | | | Problem: Popup menu position wrong in window with toolbar. Solution: Take the window toolbar into account when positioning the popup menu. (closes vim/vim#12308) https://github.com/vim/vim/commit/4e1ca0d9a6c6d66987da67155e97f83f286ffbcc Fixed in the previous commit. Test only.
| * fix(pum): make :popup position correctly with float borderzeertzjq2023-04-28
|/
* Merge pull request #23356 from ii14/fix/23355bfredl2023-04-27
|\ | | | | fix(events): null dereference in autocmd functions
| * fix(events): null dereference in autocmd functionsii142023-04-27
| |
* | ci: replace stale bot with custom implementationdundargoc2023-04-27
|/ | | | The stale action has a bug where it won't close an issue/PR if it has comments after the stale label.
* perf(events): store autocommands in flat vectors (#23256)ii142023-04-27
| | | | | | | | | | Instead of nested linked lists, store autocommands in a flat, contiguous kvec_t, with one kvec_t per event type. Previously patterns were stored in each node of the outer linked list, so they can be matched only once on repeating patterns. They are now reference counted and referenced in each autocommand, and matching is skipped if the pattern repeats. Speeds up creation and deletion, execution is not affected. Co-authored-by: ii14 <ii14@users.noreply.github.com>
* fix: disallow removing extmarks in on_lines callbacks (#23219)Lewis Russell2023-04-27
| | | | | | | | | | fix(extmarks): disallow removing extmarks in on_lines callbacks decor_redraw_start (which runs before decor_providers_invoke_lines) gets references for the extmarks on a specific line. If these extmarks are deleted in on_lines callbacks then this results in a heap-use-after-free error. Fixes #22801
* vim-patch:9.0.1492: using uninitialized memory when argument is missing (#23351)zeertzjq2023-04-28
| | | | | | | | | Problem: Using uninitialized memory when argument is missing. Solution: Check there are sufficient arguments before the base. (closes vim/vim#12302) https://github.com/vim/vim/commit/b7f2270bab102d68f83a6300699b7f98efad81f2 Co-authored-by: Bram Moolenaar <Bram@vim.org>
* fix(pum): position properly with ext_multigrid (#23336)zeertzjq2023-04-27
|
* docs(lsp): remove obsolete lsp-extension example (#23346)Christian Clason2023-04-27
| | | | This example is made obsolete by the addition of `vim.lsp.start()` and `vim.fs` (whose use is already documented in `:h lsp-quickstart`).
* Merge pull request #23216 from bfredl/lpegbfredl2023-04-27
|\ | | | | refactor(build): include lpeg as a library
| * refactor(build): include lpeg as a librarybfredl2023-04-27
| |
* | test: fix dependencies between test cases (#23343)zeertzjq2023-04-27
| | | | | | Discovered using --shuffle argument of busted.
* | build: remove BUSTED_PRG dead code (#23340)zeertzjq2023-04-27
| | | | | | BUSTED_PRG is no longer used by RunTests.cmake.
* | build(Makefile): add nvim to oldtest phony targetluukvbaal2023-04-27
| | | | | | This is to force a rebuild each time a file is changed.
* | vim-patch:9.0.1491: wrong scrolling with ls=0 and :botright split (#23333)zeertzjq2023-04-27
| | | | | | | | | | | | Problem: Wrong scrolling with ls=0 and :botright split. Solution: Add statusline before calling frame_new_height(). (closes vim/vim#12299) https://github.com/vim/vim/commit/fbf2071ac9ef08302a1df86c15f3d4ddbe871243
* | refactor: uncrustifydundargoc2023-04-26
| | | | | | | | Notable changes: replace all infinite loops to `while(true)` and remove `int` from `unsigned int`.
* | ci: containerize the external dependencies testdundargoc2023-04-26
| | | | | | | | | | | | Cirrus ci automatically pushes/caches docker images, which makes containerization much simpler to handle. Moving this job to cirrus ci shortens the job by a minute, and reduces github actions CI usage by two minutes per PR.
* | refactor(clang-tidy): remove redundant castsdundargoc2023-04-26
| |