summaryrefslogtreecommitdiffstatshomepage
path: root/test/old/testdir/test_diffmode.vim
AgeCommit message (Collapse)AuthorFiles
2026-01-30vim-patch:9.1.2118: 'cursorline' missing after :diffput to empty buf (#37628)zeertzjq1
Problem: 'cursorline' and part of 'statusline' are missing after :diffput to an empty buffer. Solution: Make sure the cursor doesn't go beyond the last line after :diffput (zeertzjq) related: neovim/neovim#37621 closes: vim/vim#19281 https://github.com/vim/vim/commit/ce1e562fdafa998e577d65a8b0a1b8bc1cbfcf4c
2026-01-24vim-patch:9.1.1370: CI Tests favor GTK2 over GTK3zeertzjq1
Problem: CI Tests favor GTK2 over GTK3 Solution: Install GTK3 dependencies and debug packages for CI workflows, update ASAN suppression list, update required dependency checks for the tests (Drew Vogel) closes: vim/vim#17253 https://github.com/vim/vim/commit/ea67ba718d8af10cb7aa3b91379203f5dd7e50d7 Cherry-pick test_match.vim changes from patch 9.0.0626. Co-authored-by: Drew Vogel <dvogel@github>
2026-01-17vim-patch:9.1.2088: Redundant NULL checks in find_pattern_in_path() (#37432)zeertzjq1
Problem: Redundant NULL checks in find_pattern_in_path(). Solution: Remove the NULL checks. Also fix typos in test_diffmode.vim (zeertzjq). After assigning to inc_opt on line 2976, it's dereferenced immediately, and not assigned another value afterwards, so checking for NULL after line 2977 is redundant. closes: vim/vim#19185 https://github.com/vim/vim/commit/ce394b13e9df1f995525198887f0a2289410a7c5
2026-01-14vim-patch:9.1.2085: Use-after-free in winframe_remove()zeertzjq1
Problem: Use-after-free in winframe_remove() (henices) Solution: Set window_layout_locked() inside winframe_remove() and check that writing diff files is disallowed when the window layout is locked. It can happen with a custom diff expression when removing a window: 1. Buffer was removed, so win_frame_remove() is called to remove the window. 2. win_frame_remove() → frame_new_height() → scroll_to_fraction() → diff_check_fill() (checks for filler lines) 3. diff_check_fill() ends up causing a diff_try_update, and because we are not using internal diff, it has to first write the file to a buffer using buf_write() 4. buf_write() is called for a buffer that is not contained within a window, so it first calls aucmd_prepbuf() to create a new temporary window before writing the buffer and then later calls aucmd_restbuf(), which restores the previous window layout, calling winframe_remove() again, which will free the window/frame structure, eventually freeing stuff that will still be accessed at step 2. closes: vim/vim#19064 https://github.com/vim/vim/commit/ead1dda74a485ef0470e7252d07c1a36b8cde517 Nvim doesn't have this bug as Nvim uses a floating window as autocommand window, and removing it doesn't need winframe_remove(). Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-09-15vim-patch:9.1.1758: Diff mode crashes when adding text property in ↵zeertzjq1
autocommand (#35760) Problem: Diff mode crashes when adding text property in autocommand (after 9.1.1557). Solution: Only restore ML_EMPTY memline flag, ignore the others (zeertzjq). fixes: vim/vim#18288 closes: vim/vim#18291 https://github.com/vim/vim/commit/46e22fd2f73b03795a5922ba07621472713eddb3
2025-09-12vim-patch:9.1.1753: defaults: 'diffopt' option value can be improved (#35727)zeertzjq1
Problem: defaults: 'diffopt' option value can be improved Solution: Update diffopt defaults to include "indent-heuristic" and "inline:char" (Yee Cheng Chin) The default diff options have not been updated much despite new functionality having been added to Vim. - indent-heurstic: This has been enabled by default in Git since 33de716387 in 2017. Given that Vim uses xdiff from Git, it makes sense to track the default configuration from Git. - inline:char: This turns on character-wise inline highlighting which is generally much better than the default inline:simple. It has been implemented since vim/vim#16881 and we have not seen reports of any issues with it, and it has received good feedbacks. closes: vim/vim#18255 https://github.com/vim/vim/commit/976b365305c2e9025813ff3c7fe52f8d927fafc3 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-09-12test(old): reorder test_diffmode.vim to match upstream (#35726)zeertzjq1
2025-08-07vim-patch:9.1.1600: using diff anchors with hidden buffers fails silently ↵zeertzjq1
(#35218) Problem: diff: using diff anchors with hidden buffers fails silently Solution: Give specific error message for diff anchors when using hidden buffers (Yee Cheng Chin). Diff anchors currently will fail to parse if a buffer used for diff'ing is hidden. Previously it would just fail as the code assumes it would not happen normally, but this is actually possible to do if `closeoff` and `hideoff` are not set in diffopt. Git's default diff tool "vimdiff3" also takes advantage of this. This fix this properly would require the `{address}` parser to be smarter about whether a particular address relies on window position or not (e.g. the `'.` address requires an active window, but `'a` or `1234` do not). Since hidden diff buffers seem relatively niche, just provide a better error message / documentation for now. This could be improved later if there's a demand for it. related: vim/vim#17615 closes: vim/vim#17904 https://github.com/vim/vim/commit/cad3b2421de7b703e0ee619850a8a3bc55454281 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-07-20vim-patch:9.1.1567: crash when using inline diff mode (#35005)zeertzjq1
Problem: Crash when using inline diff mode (Ilya Grigoriev) Solution: Set tp_diffbuf to NULL when skipping a diff block (Yee Cheng Chin). Fix an array out of bounds crash when using diffopt+=inline:char when 4 or more buffers are being diff'ed. This happens when one of the blocks is empty. The inline highlight logic skips using that buffer's block, but when another buffer is used later and calls diff_read() to merge the diff blocks together, it could erroneously consider the empty block's diff info which has not been initialized, leaving to diff numbers that are invalid. Later on the diff num is used without bounds checking which leads to the crash. Fix this by making sure to unset tp_diffbuf to NULL when we skip a block, so diff_read() will not consider this buffer to be used within inline diff. Also, add more bounds checking just to be safe. closes: vim/vim#17805 https://github.com/vim/vim/commit/c8b99e2d139cf72c567892e44939f2719f703fa8 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-07-18vim-patch:9.1.1557: not possible to anchor specific lines in diff mode (#34967)zeertzjq1
Problem: not possible to anchor specific lines in diff mode Solution: Add support for the anchoring lines in diff mode using the 'diffanchor' option (Yee Cheng Chin). Adds support for anchoring specific lines to each other while viewing a diff. While lines are anchored, they are guaranteed to be aligned to each other in a diff view, allowing the user to control and inform the diff algorithm what the desired alignment is. Internally, this is done by splitting up the buffer at each anchor and run the diff algorithm on each split section separately, and then merge the results back for a logically consistent diff result. To do this, add a new "diffanchors" option that takes a list of `{address}`, and a new "diffopt" option value "anchor". Each address specified will be an anchor, and the user can choose to use any type of address, including marks, line numbers, or pattern search. Anchors are sorted by line number in each file, and it's possible to have multiple anchors on the same line (this is useful when doing multi-buffer diff). Update documentation to provide examples. This is similar to Git diff's `--anchored` flag. Other diff tools like Meld/Araxis Merge also have similar features (called "synchronization points" or "synchronization links"). We are not using Git/Xdiff's `--anchored` implementation here because it has a very limited API (it requires usage of the Patience algorithm, and can only anchor unique lines that are the same across both files). Because the user could anchor anywhere, diff anchors could result in adjacent diff blocks (one block is directly touching another without a gap), if there is a change right above the anchor point. We don't want to merge these diff blocks because we want to line up the change at the anchor. Adjacent diff blocks were first allowed when linematch was added, but the existing code had a lot of branched paths where line-matched diff blocks were handled differently. As a part of this change, refactor them to have a more unified code path that is generalized enough to handle adjacent diff blocks correctly and without needing to carve in exceptions all over the place. closes: vim/vim#17615 https://github.com/vim/vim/commit/0d9160e11ce4b921adff1e5621dd989ce96fb0f3 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-06-22vim-patch:9.1.1473: inconsistent range arg for :diffget/diffput (#34588)zeertzjq1
Problem: inconsistent range arg for :diffget/diffput Solution: fix the range specification, place the cursor for :diffput and :diffget consistently on the last line (Yee Cheng Chin) Previously, `:<range>diffget` only allowed using 1 or above in the range value, making it impossible to use the command for a diff block at the beginning of the file. Fix the range specification so the user can now use 0 to specify the space before the first line. This allows `:0,$+1diffget` to work to retrieve all the changes from the other file instead of missing the first diff block. Also do this for `:diffput`. Also, make `:diffput` work more similar to `:diffget`. Make it so that if the cursor is on the last line and a new line is inserted in the other file, doing `:diffput` will select that diff block below the line, just like `:diffget` would. Also clean up the logic a little bit for edge cases and for handling line matched diff blocks better. closes: vim/vim#17579 https://github.com/vim/vim/commit/d75ab0cbf5cfaefab3edb0aa553954de70b236f8 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-06-10vim-patch:9.1.1442: tests: Test_diff_fold_redraw() is insufficient (#34407)zeertzjq1
Problem: tests: Test_diff_fold_redraw() is insufficient (after v9.1.1439, Christ van Willegen) Solution: improve the test (Gary Johnson) The original Test_diff_fold_redraw() function, added 2025-06-08 at patch 9.1.1439, had a bug and didn't do a very good job of testing the fold behavior. This new version is simpler and more thorough. The bug was that it checked the fold state of one window twice instead of checking both windows. closes: vim/vim#17492 https://github.com/vim/vim/commit/69565e3618209001eeeb6a35f14a19d47aaaa8f8 Co-authored-by: Gary Johnson <garyjohn@spocom.com>
2025-06-09vim-patch:9.1.1439: Last diff folds not merged (#34380)zeertzjq1
Problem: Last diff folds not merged (after v8.1.1922) Solution: loop over all windows in the current tabpage and update all folds (Gary Johnson) This commit fixes a bug where the last two folds of a diff are not merged when the last difference between the two diff'd buffers is resolved. Normally, when two buffers are diff'd, folding is used to show only the text that differs and to hide the text that is the same between the two buffers. When a difference is resolved by making a block of text the same in both buffers, the folds are updated to merge that block with the folds above and below it into one closed fold. That updating of the folds did not occur when the block of text was the last diff block in the buffers. The bug was introduced by this patch on August 24, 2019: patch 8.1.1922: in diff mode global operations can be very slow Problem: In diff mode global operations can be very slow. Solution: Do not call diff_redraw() many times, call it once when redrawing. And also don't update folds multiple times. Unfortunately, folds were then not updated often enough. The problem was fixed by adding a short loop to the ex_diffgetput() function in diff.c to update all the folds in the current tab when the last difference is removed. A test for this was added to test_diffmode.vim. Two of the reference screen dumps for another test in that file, Test_diffget_diffput_linematch(), had to be changed to have all the folds closed rather than to have the last diff block remain open. closes: vim/vim#17457 https://github.com/vim/vim/commit/3fa0d3514b928e0b21ef24594785f9104a3ffafd Co-authored-by: Gary Johnson <garyjohn@spocom.com>
2025-04-05vim-patch:9.1.1276: inline word diff treats multibyte chars as word char ↵zeertzjq1
(#33323) Problem: inline word diff treats multibyte chars as word char (after 9.1.1243) Solution: treat all non-alphanumeric characters as non-word characters (Yee Cheng Chin) Previously inline word diff simply used Vim's definition of keyword to determine what is a word, which leads to multi-byte character classes such as emojis and CJK (Chinese/Japanese/Korean) characters all classifying as word characters, leading to entire sentences being grouped as a single word which does not provide meaningful information in a diff highlight. Fix this by treating all non-alphanumeric characters (with class number above 2) as non-word characters, as there is usually no benefit in using word diff on them. These include CJK characters, emojis, and also subscript/superscript numbers. Meanwhile, multi-byte characters like Cyrillic and Greek letters will still continue to considered as words. Note that this is slightly inconsistent with how words are defined elsewhere, as Vim usually considers any character with class >=2 to be a "word". related: vim/vim#16881 (diff inline highlight) closes: vim/vim#17050 https://github.com/vim/vim/commit/9aa120f7ada592ed03b37f4de8ee413c5385f123 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-03-29vim-patch:9.1.1252: typos in code and docs related to 'diffopt' "inline:" ↵zeertzjq1
(#33143) Problem: Typos in code and docs related to 'diffopt' "inline:". (after v9.1.1243) Solution: Fix typos and slightly improve the docs. (zeertzjq) closes: vim/vim#16997 https://github.com/vim/vim/commit/5a307c361cbe9f7ac438a917b905378d87f8f2de
2025-03-28vim-patch:9.1.1243: diff mode is lacking for changes within lineszeertzjq1
Problem: Diff mode's inline highlighting is lackluster. It only performs a line-by-line comparison, and calculates a single shortest range within a line that could encompass all the changes. In lines with multiple changes, or those that span multiple lines, this approach tends to end up highlighting much more than necessary. Solution: Implement new inline highlighting modes by doing per-character or per-word diff within the diff block, and highlight only the relevant parts, add "inline:simple" to the defaults (which is the old behaviour) This change introduces a new diffopt option "inline:<type>". Setting to "none" will disable all inline highlighting, "simple" (the default) will use the old behavior, "char" / "word" will perform a character/word-wise diff of the texts within each diff block and only highlight the differences. The new char/word inline diff only use the internal xdiff, and will respect diff options such as algorithm choice, icase, and misc iwhite options. indent-heuristics is always on to perform better sliding. For character highlight, a post-process of the diff results is first applied before we show the highlight. This is because a naive diff will create a result with a lot of small diff chunks and gaps, due to the repetitive nature of individual characters. The post-process is a heuristic-based refinement that attempts to merge adjacent diff blocks if they are separated by a short gap (1-3 characters), and can be further tuned in the future for better results. This process results in more characters than necessary being highlighted but overall less visual noise. For word highlight, always use first buffer's iskeyword definition. Otherwise if each buffer has different iskeyword settings we would not be able to group words properly. The char/word diffing is always per-diff block, not per line, meaning that changes that span multiple lines will show up correctly. Added/removed newlines are not shown by default, but if the user has 'list' set (with "eol" listchar defined), the eol character will be be highlighted correctly for the specific newline characters. Also, add a new "DiffTextAdd" highlight group linked to "DiffText" by default. It allows color schemes to use different colors for texts that have been added within a line versus modified. This doesn't interact with linematch perfectly currently. The linematch feature splits up diff blocks into multiple smaller blocks for better visual matching, which makes inline highlight less useful especially for multi-line change (e.g. a line is broken into two lines). This could be addressed in the future. As a side change, this also removes the bounds checking introduced to diff_read() as they were added to mask existing logic bugs that were properly fixed in vim/vim#16768. closes: vim/vim#16881 https://github.com/vim/vim/commit/9943d4790e42721a6777da9e12637aa595ba4965 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-03-03vim-patch:9.1.1165: diff: regression with multi-file diff blocks (#32702)zeertzjq1
Problem: Vim's diff block merging algorithm when doing a multi-file diff is buggy when two different diff hunks overlap a single existing diff block (after v9.1.0743) Solution: fix a couple bugs in this logic: 1. Fix regression from v9.1.0743 where it's not correctly expanding the 2nd overlap correctly, where it always expands without taking into account that this was always taken care of when the first overlap happened. Instead, we should only grow the 2nd overlap if it overhangs outside the existing diff block, and if we encounter a new overlapping diff block (due to overlap chaining). 2. When we expand a diff block to match the hunk size on the orig side (when handling the first overlap), we expand the same amount of lines in the new side. This is not sound if there exists a second overlap hunk that we haven't processed yet, and that hunk has different number of lines in orig/new. Fix this by doing the corresponding counter adjustment when handling 2nd/3rd/etc overlap by calculating the difference in lines between orig and new side. (Yee Cheng Chin) closes: vim/vim#16768 https://github.com/vim/vim/commit/bc08ceb75572dcac57ef5019f3d0df6e8290c0f9 Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-02-04vim-patch:9.1.1027: no sanitize check when running linematchzeertzjq1
Problem: no sanitize check when running linematch Solution: add sanitize check before applying the linematch algorithm, similar to diff_find_change() (Jonathon) closes: vim/vim#16446 https://github.com/vim/vim/commit/ca307efe486670b76563a4a287bc94dace57fb74 Co-authored-by: Jonathon <jonathonwhite@protonmail.com>
2025-02-04vim-patch:9.1.1009: diff feature can be improvedzeertzjq1
Problem: diff feature can be improved Solution: include the linematch diff alignment algorithm (Jonathon) closes: vim/vim#9661 https://github.com/vim/vim/commit/7c7a4e6d1ad50d5b25b42aa2d5a33a8d04a4cc8a Co-authored-by: Jonathon <jonathonwhite@protonmail.com>
2025-01-16vim-patch:9.1.1018: v9.1.0743 causes regression with diff mode (#32047)zeertzjq1
Problem: v9.1.0743 causes regression with diff mode Solution: Fix the regression with overlapping regions closes: vim/vim#16454 https://github.com/vim/vim/commit/01f6509fb2de1627cc4ec2c109cd0aa2e3346d50 Co-authored-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
2024-11-11vim-patch:9.1.0849: there are a few typos in the source (#31159)zeertzjq1
Problem: there are a few typos in the source. Solution: Correct typos (zeertzjq). closes: vim/vim#16026 https://github.com/vim/vim/commit/7c5152826f61bc968ba539ff6db3a55e75556bf2
2024-10-30vim-patch:9.1.0822: topline might be changed in diff mode unexpectedly (#30988)zeertzjq1
Problem: topline might be changed in diff mode unexpectedly (Jaehwang Jung) Solution: do not re-calculate topline, when using line() func in diff mode. fixes: vim/vim#15812 closes: vim/vim#15950 https://github.com/vim/vim/commit/05a40e07c2f0e41b708c4c75a6aa7d0e7f6201a3 Co-authored-by: Christian Brabandt <cb@256bit.org>
2024-09-27vim-patch:9.1.0743: diff mode does not handle overlapping diffs correctly ↵zeertzjq1
(#30532) Problem: diff mode does not handle overlapping diffs correctly Solution: correct the logic to handle overlapping blocks (Yukihiro Nakadaira) Vim merges overlapped diff blocks and it doesn't work expectedly in some situation. closes: vim/vim#15735 https://github.com/vim/vim/commit/06fe70c183a53ea97cd42ace490d4fb9fd14f042 Co-authored-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
2024-09-23vim-patch:9.1.0740: incorrect internal diff with empty file (#30471)zeertzjq1
Problem: incorrect internal diff with an empty file Solution: Set pointer to NULL, instead of using an empty line file (Yukihiro Nakadaira) When using internal diff, empty file is read as one empty line file. So result differs from external diff. closes: vim/vim#15719 https://github.com/vim/vim/commit/f1694b439bb175d956b49da620f1253462ec507b Co-authored-by: Yukihiro Nakadaira <yukihiro.nakadaira@gmail.com>
2024-07-18vim-patch:9.0.1257: code style is not check in test scriptszeertzjq1
Problem: Code style is not check in test scripts. Solution: Add basic code style check for test files. https://github.com/vim/vim/commit/94722c510745a0cfd494c51625a514b92dd2bfb2 Use Test_test_files() from latest Vim. Co-authored-by: Bram Moolenaar <Bram@vim.org>
2024-06-04vim-patch:partial:8.2.3637: typos in test files (#29172)zeertzjq1
Problem: Typos in test files. Solution: Correct the typos. (Dominique Pellé, closes vim/vim#9175) https://github.com/vim/vim/commit/923dce2b07ff185c0ef661f3eca47bc17655f01b Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
2024-04-09vim-patch:9.1.0294: Text height function does not respect it's argumentLuuk van Baal1
Problem: plines_m_win() does not take into account it's "limit_winheight" argument for filler lines below the last line of the buffer. (after v9.1.0280) Solution: Check window height when "limit_winheight" is TRUE. (Luuk van Baal) https://github.com/vim/vim/commit/08b0f632c125514fe0ea188c36ac048d7d7929d4
2024-04-09vim-patch:9.1.0283: Several small issues in doc and tests (#28249)zeertzjq1
Problem: Wrong doc style for pandoc syntax description, Test_diff_eob_halfpage() may fail depending on screen size, using braces in highlight.c when not necessary Solution: Fix pandoc documentation, make sure the window for the test has 7 lines, remove the braces. https://github.com/vim/vim/commit/a040019be68859f0667ae475de8d67bb755596ed Co-authored-by: Christian Brabandt <cb@256bit.org>
2024-04-09vim-patch:9.1.0280: several issues with 'smoothscroll' supportLuuk van Baal1
Problem: Logic to make sure cursor is in visible part of the screen after scrolling the text with 'smoothscroll' is scattered, asymmetric and contains bugs. Solution: Adjust and create helper function for 'smoothscroll' cursor logic. (Luuk van Baal) https://github.com/vim/vim/commit/9148ba8a46baa3934c44164989cdcdec5d01d9e3
2024-04-08vim-patch:9.1.0258: half-page scrolling broke backward compatibilityLuuk van Baal1
Problem: Support for 'smoothscroll' in (half-)page scrolling broke backward compatibility and can be made to work better. (after v9.1.215) Solution: Restore the previous cursor and end-of-buffer behavior for half-page scrolling and improve 'smoothscroll' support. (Luuk van Baal) https://github.com/vim/vim/commit/cb204e688e5c9d56a78b621ef27c35d91860cb09
2024-03-28vim-patch:9.1.0211: page-wise scrolling does not support smooth-scrollingLuuk van Baal1
Problem: Page-wise scrolling with Ctrl-F/Ctrl-B implements it's own logic to change the topline and cursor. In doing so, skipcol is not handled properly for 'smoothscroll', and virtual lines. Solution: Re-use the logic from Ctrl-E/Ctrl-Y while staying backward compatible as much as possible. https://github.com/vim/vim/commit/b9f5b95b7bec2414a5a96010514702d99afea18e
2024-03-16vim-patch:9.1.0183: Wrong display or screenpos() result when toggling diff ↵zeertzjq1
mode (#27882) Problem: Wrong display or screenpos() result when toggling diff mode. Solution: Reset w_skipcol when disabling 'wrap'. Reset w_leftcol when enabling 'wrap' (zeertzjq). fixes: vim/vim#14210 closes: vim/vim#14211 https://github.com/vim/vim/commit/9e7f1fc2f159d58b2a4cd4b7060bead126fead49
2024-02-13vim-patch:9.1.0103: 'breakindentopt' "min" not correct with 'signcolumn' ↵zeertzjq1
(#27451) Problem: 'breakindentopt' "min" works incorrectly with 'signcolumn'. Solution: Use win_col_off() and win_col_off2(). (zeertzjq) closes: vim/vim#14014 https://github.com/vim/vim/commit/f0a9d65e0a1d693cdfa964aa72de5b93b4cacdea
2023-12-06vim-patch:9.0.2151: 'breakindent' is not drawn after diff filler lines (#26412)zeertzjq1
Problem: 'breakindent' is not drawn after diff filler lines. Solution: Correct check for whether 'breakindent' should be drawn. closes: vim/vim#13624 https://github.com/vim/vim/commit/588f20decebebedba3ad733f4f443a597e9747c3 Cherry-pick Test_diff_with_syntax() change from patch 9.0.1257.
2023-11-13vim-patch:9.0.0525: manually deleting temp test fileszeertzjq1
Problem: Manually deleting temp test files. Solution: Add the 'D' flag to writefile(). https://github.com/vim/vim/commit/5917341f65d4fc669b9d15343ccdb00c160201da Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-11-13vim-patch:9.0.0336: tests are flaky because of using a common file namezeertzjq1
Problem: Tests are flaky because of using a common file name. Solution: Rename files and directories to be more unique. https://github.com/vim/vim/commit/61abe7d8f827ec31f098e8abcdf58846b956ef16 Cherry-pick Test_custom_complete_autoload() from patch 8.2.4584. Cherry-pick test_delete.vim & test_edit.vim changes from patch 9.0.0323. Cherry-pick test_edit.vim changes from patch 8.2.3637. Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-10-05vim-patch:9.0.1981: not being able to scroll up in diff mode (#25506)zeertzjq1
Problem: Cannot scroll up in diff mode with many filler lines and zero 'scrolloff'. Solution: Invalidate w_cline_row before calling comp_botline(). closes: vim/vim#13256 https://github.com/vim/vim/commit/0583491277dea9d14e000051c26405b90d839072
2023-08-21vim-patch:8.2.4339: CTRL-A does not work properly with the cmdline popup menuzeertzjq1
Problem: CTRL-A does not work properly with the cmdline popup menu. Solution: Fix issues with CTRL-A. Add more tests for the cmdline popup menu. Remove TermWait() before VeriryScreenDump(). Refactor the cmdline popup code. (Yegappan Lakshmanan, closes vim/vim#9735) https://github.com/vim/vim/commit/560dff49c0095111fc96b4b8dd7f4d269aba9473 Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2023-08-21vim-patch:8.2.3518: Test_xrestore sometimes failszeertzjq1
Problem: Test_xrestore sometimes fails. Solution: Mark the test as flayky. Move marking test as flaky to the test instead of listing them in runtest. https://github.com/vim/vim/commit/f08b0eb8691ff09f98bc4beef986ece1c521655f Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-05-02vim-patch:9.0.1435: scrolling too many lines when 'wrap' and 'diff' are setLuuk van Baal1
Problem: Scrolling too many lines when 'wrap' and 'diff' are set. Solution: Only scroll by screenlines for 'diff' when 'wrap' is not set. (closes vim/vim#12211) https://github.com/vim/vim/commit/38d867f041349e1400c2cce9cac06f59ae6ccbb1 Co-authored-by: Bram Moolenaar <Bram@vim.org>
2023-03-07test: move oldtests to test directory (#22536)dundargoc1
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'.