aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
* 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
| * | test: add a test for what Vim patch 8.2.0151 fixeszeertzjq2022-07-08
| | |
| * | vim-patch:8.2.0151: detecting a script was already sourced is unreliablezeertzjq2022-07-08
| | | | | | | | | | | | | | | | | | Problem: Detecting a script was already sourced is unreliable. Solution: Do not use the inode number. https://github.com/vim/vim/commit/978d170bdce9c0a47e6683cd7c288bc2706f3fff
| * | vim-patch:8.2.0136: stray ch_logfile() callzeertzjq2022-07-08
| | | | | | | | | | | | | | | | | | Problem: Stray ch_logfile() call. Solution: Remove it. (closes vim/vim#5503) https://github.com/vim/vim/commit/ed5adff1e6da412732514d82363005f85fe22e04
| * | vim-patch:8.2.0132: script may be re-used when deleting and creating a new onezeertzjq2022-07-08
|/ / | | | | | | | | | | Problem: Script may be re-used when deleting and creating a new one. Solution: When the inode matches, also check the file name. https://github.com/vim/vim/commit/ca33eb256eb910af05e8c9852bc9f716cece1f5c
* | vim-patch:8.1.{1524,1544}: tests are silently skipped (#19276)zeertzjq2022-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a port of these two patches combined: vim-patch:8.1.1524: tests are silently skipped Problem: Tests are silently skipped. Solution: Throw an exception for skipped tests in more places. https://github.com/vim/vim/commit/b0f94c1ff34d27d33aa9f96204985ea29c2eb0a1 vim-patch:8.1.1544: some balloon tests don't run when they can Problem: Some balloon tests don't run when they can. Solution: Split GUI balloon tests off into a separate file. (Ozaki Kiichi, closes vim/vim#4538) Change the feature check into a command for consistency. https://github.com/vim/vim/commit/b46fecd3454399f8ebdc5055302e4bfc5a10f98b Omit test_lua.vim: previous patches are N/A Omit test_memory_usage.vim: previous patches are N/A Omit test_textprop.vim: previous patches are N/A Omit test_winbar.vim: previous patches are N/A Omit test_termcodes.vim: mostly N/A Skip Test_mouse_positon() because it uses test_setmouse(). Cannot throw error in a Test_nocatch_ test. Use latest `CheckFeature clipboard_working` for test_quotestar.vim
* | feat(runtime)!: enable filetype.lua by default (#19216)Christian Clason2022-07-07
| | | | | | | | | | | | * revert to filetype.vim by setting `g:do_legacy_filetype` * skip either filetype.lua or filetype.vim via `g:did_load_filetypes` (Running both is no longer required and therefore no longer supported.)
* | refactor(lua): git-blame-ignore stylua update PR (#19273)Christian Clason2022-07-07
| | | | | | https://github.com/neovim/neovim/pull/19264
* | refactor(lua): reformat with stylua 0.14.0 (#19264)Christian Clason2022-07-07
|/ | | | * reformat Lua runtime to make lint CI pass * reduce max line length to 100
* feat(tui): try terminfo for [re]set_cursor_color OSC #19255Wsevolod2022-07-07
|
* vim-patch:5ed11535e069 (#19256)Christian Clason2022-07-07
| | | | Update runtime files https://github.com/vim/vim/commit/5ed11535e0695163cec71033b98bb97356cf0113