aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | Merge pull request #19330 from zeertzjq/vim-8.2.0203zeertzjq2022-07-12
| |\ \ \ | | | | | | | | | | vim-patch:8.2.0203: :helptags and some other functionality not tested
| | * | | vim-patch:8.2.0203: :helptags and some other functionality not testedzeertzjq2022-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: :helptags and some other functionality not tested. Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5567) https://github.com/vim/vim/commit/e20b9ececa37a81c0340a78f61e57fa1bf46b06d
| | * | | fix(cmdline): fix passing -1 as charzeertzjq2022-07-12
| |/ / /
| * | | fix(lsp): don't attach a client in lsp.start() if there is none (#19328)Nicolas Hillegeer2022-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | vim.lsp.start_client() may fail (for example if the `cmd` is not executable). It produces a nice error notification in this case. Passing the `nil` value returned from an erroneous `vim.lsp.start_client()` call into `vim.lsp.buf_attach_client()` causes a meaty param validate exception message. Avoid this.
| * | | Merge pull request #19277 from zeertzjq/vim-8.1.1855zeertzjq2022-07-12
| |\ \ \ | | | | | | | | | | vim-patch:8.1.{1855,1859,1864,1867}: flaky timer tests
| | * | | test(old): test_timers.vim call timer_stopall() in SetUp() insteadzeertzjq2022-07-12
| | | | |
| | * | | vim-patch:8.1.1867: still a timer test that is flaky on Maczeertzjq2022-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Still a timer test that is flaky on Mac. Solution: Loop with a sleep instead of one fixed sleep. https://github.com/vim/vim/commit/315244d85b9b8faae549b1700e8cc2e45eaa68ea
| | * | | vim-patch:8.1.1864: still a timer test that is flaky on Maczeertzjq2022-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Still a timer test that is flaky on Mac. Solution: Adjust the sleep times. https://github.com/vim/vim/commit/413c04e8d515f604a17b90295c86a0fd547518ba
| | * | | vim-patch:8.1.1859: timer test sometimes fails on Maczeertzjq2022-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Timer test sometimes fails on Mac. Solution: Show more info when it fails. https://github.com/vim/vim/commit/427dddf014fea1326ea7f8c0951b0667dc037409
| | * | | vim-patch:8.1.1855: another failing timer testzeertzjq2022-07-12
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Another failing timer test. Solution: Assert that timers are finished by the end of the test. Rename test functions to make them easier to find. https://github.com/vim/vim/commit/9a2fddcf04192a643dc97601d689c27f5bc5184f Use test_garbagecollect_now() in Test_timer_retain_partial() like Vim.
| * | | Merge pull request #19320 from zeertzjq/vim-8.2.0212zeertzjq2022-07-12
| |\ \ \ | | |/ / | |/| | vim-patch:8.2.{0212,0243,0250}: insufficient tests
| | * | vim-patch:8.2.0243: insufficient code coverage for ex_docmd.c functionszeertzjq2022-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Insufficient code coverage for ex_docmd.c functions. Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5618) https://github.com/vim/vim/commit/9f6277bdde97b7767ded43a0b5a2023eb601b3b7 Cherry-pick Test_window_only() from patch 8.2.0203. Cherry-pick a memory leak fix from patch 8.2.0399.
| | * | vim-patch:8.2.{0212,0250}zeertzjq2022-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | vim-patch:8.2.0212: missing search/substitute pattern hardly tested Problem: Missing search/substitute pattern hardly tested. Solution: Add test_clear_search_pat() and tests. (Yegappan Lakshmanan, closes vim/vim#5579) https://github.com/vim/vim/commit/07ada5ff2fd8f22ed3233ae5c4ddf87c7b3f56fe vim-patch:8.2.0250: test_clear_search_pat() is unused Problem: test_clear_search_pat() is unused. Solution: Remove the function. (Yegappan Lakshmanan, closes vim/vim#5624) https://github.com/vim/vim/commit/4f5776c17cd86f904a7e2f92db297c73e28939b7
| | * | test(old): align defaults to Vim before each test insteadzeertzjq2022-07-12
| |/ /
| * | vim-patch:8.2.3363: when :edit reuses the current buffer the alternate file ↵zeertzjq2022-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | is set (#19306) Problem: When :edit reuses the current buffer the alternate file is set to the same buffer. Solution: Only set the alternate file when not reusing the buffer. (closes vim/vim#8783) https://github.com/vim/vim/commit/b8bd2e6ebab03baf2672067067a599df69a278c0 Cherry-pick Test_cmdline_expand_special() from patches 8.2.{0243,2873}. Move Test_cmd_backtick() to the right place.
| * | fix(lsp): abort pending changes after flush when debouncing (#19314)Rishikesh Vaishnav2022-07-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issuing a server request triggers `changetracking.flush` so as to make sure we're not operating on a stale state. This immediately triggers notification of any pending changes (as a result of debouncing) to the server. However, this happens in addition to the notification that is waiting on the debounce delay. Because we `nil` `buf_state.pending_change` when it is called, the fix is to also check that this is non-`nil` when it is called and exit if it is, as this being `nil` would mean that it originates from a pending change that has already been flushed out.
| * | feat(lsp): defaults: tagfunc, omnifunc (#19003)Mathias Fußenegger2022-07-10
| | | | | | | | | set `tagfunc` to `vim.lsp.tagfunc` and `omnifunc` to `vim.lsp.omnifunc` if empty when attaching a server
| * | Merge pull request #19305 from zeertzjq/vim-8.2.3530zeertzjq2022-07-10
| |\ \ | | | | | | | | vim-patch:8.2.{3530,3531}: ":buf \{a}" fails while ":edit \{a}" works
| | * | vim-patch:8.2.3531: command line completion test fails on MS-Windowszeertzjq2022-07-10
| | | | | | | | | | | | | | | | | | | | | | | | Problem: Command line completion test fails on MS-Windows. Solution: Do not test with "\{" on MS-Windows. https://github.com/vim/vim/commit/39c47c310487b72bc78ff197b5a068a0bcf830de
| | * | vim-patch:8.2.3530: ":buf \{a}" fails while ":edit \{a}" workszeertzjq2022-07-10
| | | | | | | | | | | | | | | | | | | | | | | | Problem: ":buf \{a}" fails while ":edit \{a}" works. Solution: Unescape "\{". (closes vim/vim#8917) https://github.com/vim/vim/commit/21c1a0c2f10575dbb72fa873d33f0c1f6e170aa7
| * | | Merge pull request #18774 from zeertzjq/float-height-width-fixzeertzjq2022-07-10
| |\ \ \ | | | | | | | | | | Fix some floating window height and width bugs
| | * | | test(float_spec): make indent more consistentzeertzjq2022-07-10
| | | | |
| | * | | fix(float): fix mouse drag position if float window turned to a splitzeertzjq2022-07-10
| | | | |
| | * | | fix(float): fix glitch when making float window with border a splitzeertzjq2022-07-10
| | | | |
| | * | | fix(float): fix float window with winbar cannot have screen heightzeertzjq2022-07-10
| | | | |
| | * | | fix(float): fix float window border drawing with winbarzeertzjq2022-07-10
| |/ / /
| * | | fix(lsp): pcall nvim_del_augroup_by_name (#19302)Christian Clason2022-07-10
| | | | | | | | | | | | fixup for #19283
| * | | Merge pull request #19307 from zeertzjq/vim-8.2.1053zeertzjq2022-07-10
| |\ \ \ | | | | | | | | | | vim-patch:7.4.1724,8.2.1053: insufficient testing for 'statusline' and 'tabline'
| | * | | vim-patch:8.2.1053: insufficient testing for 'statusline' and 'tabline'zeertzjq2022-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Insufficient testing for 'statusline' and 'tabline'. Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#6333) https://github.com/vim/vim/commit/832adf9bb8cd39d8e982d8a35ed8a6d39b974494
| | * | | vim-patch:7.4.1724zeertzjq2022-07-10
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Tabline test fails in GUI. Solution: Remove 'e' from 'guioptions'. https://github.com/vim/vim/commit/73cd8fb3e87e4b29dfc489f58e56dee1839c18e5 Add missing file header.
| * / / fix(l10n): add folded line indicator translations from vim (#19286)tomial2022-07-10
| |/ /
| * | vim-patch:9.0.0049: csv and tsv files are not recognized (#19300)Christian Clason2022-07-10
| | | | | | | | | | | | | | | | | | Problem: Csv and tsv files are not recognized. Solution: Add patterns fo csv and tsv files. (Leandro Lourenci, closes vim/vim#10680) https://github.com/vim/vim/commit/99af91e5820c78a196c9272cd8ce5aa5be7bf374
| * | Merge #19267 require() in --startuptimeJustin M. Keyes2022-07-10
| |\ \
| | * | test: --startuptimeJustin M. Keyes2022-07-09
| | | |
| | * | feat(lua): measure require in --startuptimeii142022-07-09
| | | |
| * | | test(old): align defaults to Vim after every test (#19301)zeertzjq2022-07-10
| | | | | | | | | | | | This can avoid divergences from Vim in some small places.
| * | | vim-patch:8.1.1038: Arabic support excludes Farsi (#19285)zeertzjq2022-07-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Arabic support excludes Farsi. Solution: Add Farsi support to the Arabic support. (Ali Gholami Rudi, Ameretat Reith) https://github.com/vim/vim/commit/dc4fa190e7b9d6ba49416ce875d2192c4444d3eb Omit Test_shape_final_to_medial(): removed in later patches.
| * | | refactor: remove functions marked for deprecation in 0.8 (#19299)Gregory Anders2022-07-09
| | | |
| * | | refactor(lua): replace vim.cmd use with API calls (#19283)Raphael2022-07-09
| | | | | | | | | | | | Signed-off-by: Raphael <glephunter@gmail.com>
| * | | Merge pull request #19296 from zeertzjq/vim-8.2.2902zeertzjq2022-07-09
| |\ \ \ | | | | | | | | | | vim-patch:8.2.{2902,2917}: spellfile functionality not fully tested
| | * | | vim-patch:8.2.2917: spellfile functionality not fully testedzeertzjq2022-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Spellfile functionality not fully tested. Solution: Add tests for SFX with removal of characters, spelling suggestions with NOBREAK and others. (Dominique Pellé, closes vim/vim#8293) https://github.com/vim/vim/commit/bb162367ac77db877586086d7456685f2aeb8754
| | * | | vim-patch:8.2.2902: spellfile functionality not fully testedzeertzjq2022-07-09
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Spellfile functionality not fully tested. Solution: Add tests for CIRCUMFIX, NOBREAK and others. (Dominique Pellé, closes vim/vim#8283) https://github.com/vim/vim/commit/5a6cfb3ff2f2f422a3732f3855616c89dd19c19d Reorder test_spellfile.vim to match upstream.
| * | | Merge pull request #19294 from zeertzjq/vim-8.2.0332zeertzjq2022-07-09
| |\ \ \ | | | | | | | | | | vim-patch:8.2.{0332,0396}: insufficient tests for cmdline
| | * | | vim-patch:8.2.0396: cmdexpand.c insufficiently testedzeertzjq2022-07-09
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cmdexpand.c insufficiently tested. Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5789) https://github.com/vim/vim/commit/24ebd83e030e1c6f9a6be1f06232756ba4d00a8c Map Q to gQ before every test since a test uses :mapclear.
| | * | | vim-patch:8.2.0332: some code in ex_getln.c not covered by testszeertzjq2022-07-09
| |/ / / | | | | | | | | | | | | | | | | | | | | Problem: Some code in ex_getln.c not covered by tests. Solution: Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#5710) https://github.com/vim/vim/commit/d30ae2fc4acb3861fc7dc9618c1f90eee997d412
| * | | Merge pull request #19284 from zeertzjq/vim-8.2.0274zeertzjq2022-07-09
| |\ \ \ | | | | | | | | | | vim-patch:8.2.{0274,0325}
| | * | | vim-patch:8.2.0325: ex_getln.c code not covered by testszeertzjq2022-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Ex_getln.c code not covered by tests. Solution: Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#5702) https://github.com/vim/vim/commit/578fe947e3ad0cc7313c798cf76cc43dbf9b4ea6 Cherry-pick Test_Ex_global() from patch 8.2.0293. Test_rightleftcmd() fails if incsearch is enabled, so disable it.
| | * | | vim-patch:8.2.0274: hang with combination of feedkeys(), Ex mode and :globalzeertzjq2022-07-08
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Problem: Hang with combination of feedkeys(), Ex mode and :global. (Yegappan Lakshmanan) Solution: Add the pending_exmode_active flag. https://github.com/vim/vim/commit/9e2bcb5d23138d45a0b6f9c1542b5facc807efe7
| * | | fix(tui): add fixups for hterm family #19078Nicolas Hillegeer2022-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem ------- In #19040, I reported two things that started happening somewhen in the last three months when using neovim in hterm (the Chrome Secure Shell terminal): 1. Under certain circumstances, the window title (set by nvim [i0]) would appear over the line I was typing, corrupting the screen. 2. If I changed my $TERM from xterm-256color to the new hterm-256color (available since ncurses >=20210320), the window title corruption was gone, but pane scrolling was broken. Both problems are due to changes in the termcap files, their source of truth being the ncurses project. See "Timeline of ncurses changes" below for details. Cause: title corruption ----------------------- The title corruption when using hterm + TERM=xterm-256color can be explained by event #4 (ncurses 2022-03-12) in the ncurses timeline: The xterm-256color termcap file gained status line termcodes in ncurses 2022-03-12. These termcodes are used by Neovim to set the title when. hterm does not have a status line. Due to ncurses versions earlier than 2022-03-12 missing the xterm status line capability, Neovim manually fixed up [t0] the terminfo file if $TERM was xterm-256color. So if before Neovim manually added fsl/tsl capabilties, and after they were in the termcap file, why did hterm suddenly start getting corruption? The answer is that the termcodes for these capabilties are different when Neovim fixes them up, versus the one in the new termcap database: fsl=\E[0$} // from xterm-256color tsl=\E[2$~\E[1$}\E[%i%p1%d` // from xterm-256color fsl=\x07 // patched by Neovim tsl=\x1b]0; // patched by Neovim hterm ignores the latter, but corrupts the screen with the former. Solution: Make hterm users set hterm-256color, which lacks the new fsl/tsl codes. Also, to reduce superfluous work, stop patching in this capability when hterm is detected (even if hterm would ignore the patched version). Cause: pane corruption ---------------------- The pane corruption when using hterm + TERM=hterm-256color, but NOT when using hterm + TERM=xterm-256color can be explained by: - Neovim uses DECSLRM when available [p1] for performant scrolling. - Both the hterm-256color and xterm-256color termcap databases advertise support for DECSLRM (ncurses timeline #1, #2 and #3). - hterm does not support DESCLRM [p2] (note: it does support DESCTBM for top/bottom scrolling, but it's broken [p3] and not used by Neovim) - xterm-alikes that are not real xterm generally don't support DECSLRM either, so Neovim patches it out [p4]. When using hterm-256color, hterm is no longer considered an xterm-alike by Neovim. As a result, DECSLRM is not cleared. hterm does not support it, so corruption ensues. This is a problem with the hterm-256color termcap file, but we're stuck with it so the best we can do is patch over it. Timeline of ncurses changes --------------------------- 1. 2019-05-19: Part of the DECSLRM capability (smglr AKA set_lr_margin) added to vt420+lrmm, which xterm-256color inherits [n1] 2. 2021-03-20: hterm-256color added, inheriting xterm-256colors. [n2] 3. 2021-09-25: The *parm versions of smglr (AKA set_lr_margin) were added to vt420+lrmm [n3]. Namely: 1. smglp AKA set_left_margin_parm, and 2. smgrp AKA set_right_margin_parm 4. 2022-03-12: (new) codes for fsl, bsl and tsl added to xterm (add dec+sl to xterm-new, per patch #371 -TD) [n4] Fixes #19040. [i0]: https://github.com/neovim/neovim/blob/3a4fa22badc5595afc0a994ead965ff32ccf6c76/src/nvim/tui/tui.c#L1377 [t0]: https://github.com/neovim/neovim/blob/3a4fa22badc5595afc0a994ead965ff32ccf6c76/src/nvim/tui/tui.c#L1728,L1729 [p1]: https://github.com/neovim/neovim/blob/3a4fa22badc5595afc0a994ead965ff32ccf6c76/src/nvim/tui/tui.c#L1196 [p2]: https://bugs.chromium.org/p/chromium/issues/detail?id=1175065&q=component%3APlatform%3EApps%3EDefault%3EHterm [p3]: https://bugs.chromium.org/p/chromium/issues/detail?id=1298796&q=component%3APlatform%3EApps%3EDefault%3EHterm [p4]: https://github.com/neovim/neovim/blob/3a4fa22badc5595afc0a994ead965ff32ccf6c76/src/nvim/tui/tui.c#L1740-L1752 [n1]: https://github.com/mirror/ncurses/commit/8f6d94b8d6211a2323caef53fa4c96c475ec9a6#diff-01544c577762d3308a1d232aa7afc79acf64b9a5057f88a004df82fda89549b7R2742 [n2]: https://github.com/mirror/ncurses/commit/c2650100f80134924eda8f22cd7cc1d1d919ee3d#diff-01544c577762d3308a1d232aa7afc79acf64b9a5057f88a004df82fda89549b7R5907 [n3]: https://github.com/mirror/ncurses/commit/f6b436c4fb50275df43ea10ba9c744fe195a327d#diff-01544c577762d3308a1d232aa7afc79acf64b9a5057f88a004df82fda89549b7R2842 [n4]: https://github.com/mirror/ncurses/commit/8bf8c836fe2c28238adbd62e71f03272efe155ad#diff-01544c577762d3308a1d232aa7afc79acf64b9a5057f88a004df82fda89549b7R4828 Signed-off-by: Nicolas Hillegeer <nicolas@hillegeer.com>
| * | | Merge pull request #19278 from zeertzjq/vim-8.2.0132zeertzjq2022-07-08
| |\ \ \ | | | | | | | | | | vim-patch:8.2.{0132,0136,0151}: detecting a script was already sourced is unreliable