Commit Graph

1734 Commits

Author SHA1 Message Date
zeertzjq
003b429a86 vim-patch:9.1.1892: Not possible to know once Vim is done with sourcing vimrc (#36429)
Problem:   A plugin does not know when startup scripts were already
           triggered. This is useful to determine if a function is
           called inside vimrc or after (like when sourcing 'plugin/'
           files).
Solution:  Add the v:vim_did_init variable (Evgeni Chasnovski)

closes: vim/vim#18668

294bce21ee

Nvim has two more steps between sourcing startup scripts and loading
plugins. Set this variable after these two steps.

Co-authored-by: Evgeni Chasnovski <evgeni.chasnovski@gmail.com>
2025-11-02 18:07:33 +08:00
zeertzjq
d847548a1c vim-patch:9.1.1893: ICCF charity will dissolve (#36427)
Problem:  ICCF charity will dissolve
Solution: Update references to Kuwasha

Since the ICCF[1] will be dissolved and handing over to the Kuwasha charity
to continue supporting the Kibaale Children Center in Uganda, update the
uganda.txt help file.

[1]: https://groups.google.com/g/vim_announce/c/pUNbNXBLbKw/m/-zFUd4JjAQAJ

fixes: vim/vim#18584
closes: vim/vim#18667

0405665638

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-11-02 08:29:00 +08:00
varsidry
b92b95e2c2 vim-patch:9.1.1891: g<End> does not move to last non-blank in visual mode (#36354)
Problem:  In visual mode, g<End> does not move to the last non-blank
          character when the end of a line is on the same line as the
          cursor (after v9.0.1753)
Solution: Move the cursor back by one position if it lands after the
          line (varsidry)

fixes: vim/vim#18657
closes: vim/vim#18658

adc85151f3
2025-11-01 01:37:12 +00:00
zeertzjq
1fddd74da7 vim-patch:9.1.1889: filetype: not all AppleScript files are recognized (#36411)
Problem:  filetype: not all AppleScript files are recognized
Solution: Detect *.applescript files as applescript filetype
          (Samuel Huang)

Reference:
https://en.wikipedia.org/wiki/AppleScript

closes: vim/vim#18672

69dd5906fd

Co-authored-by: Samuel Huang <hi@sgh.ng>
2025-11-01 06:27:11 +08:00
zeertzjq
d4106bade7 vim-patch:9.1.1890: %P in 'statusline' doesn't behave as documented
Problem:  %P in 'statusline' doesn't behave as documented
          (after 9.1.1479).
Solution: Make the percentage 3-chars wide when not translated.
          (zeertzjq)

fixes: vim/vim#18669
closes: vim/vim#18671

73a0de4a04

Co-authored-by: Christ van Willegen <cvwillegen@gmail.com>
2025-10-31 18:46:01 +08:00
zeertzjq
a0f3fdba58 vim-patch:9.1.1479: regression when displaying localized percentage position
Problem:  regression when displaying localized percentage position
          (after v9.1.1291)
Solution: calculate percentage first (Emir SARI)

Cleanups made in ec032de broke the Turkish percent display, failing to
prepend it properly in cases between 0 and 10. In Turkish, the percent
sign is prepended to the number, so it was displaying it as `% 5`
(should have been `%5`), while displaying numbers bigger than 9 properly.

related: vim/vim#17597

8fe9e55a7d

The test was unskipped in Vim in patch 9.1.1479 which added Turkish
translation for "%d%%". However, Nvim has had Turkish translation for
"%d%%" since 2023, so don't skip the test.

Co-authored-by: Emir SARI <emir_sari@icloud.com>
2025-10-31 18:46:01 +08:00
zeertzjq
c75f547839 vim-patch:9.1.1888: Wrong display with cpo+=$, matchparen and wrapped line (#36385)
Problem:  Wrong display with cpo+=$, matchparen and wrapped line.
Solution: Use old cursor line height when scrolling with cpo+=$. Also
          fix wrong redraw in non-current window. (zeertzjq)

fixes: vim/vim#18647
closes: vim/vim#18662

5c3e762631
2025-10-30 07:29:21 +08:00
zeertzjq
3fb56ff8af vim-patch:9.1.1885: Wrong restored cursor pos when re-entering buffer after changes
Problem:  Wrong restored cursor position when re-entering a buffer
          previously viewed in a window after making changes to the same
          buffer in another window.
Solution: Adjust per-window "last cursor" positions on buffer changes.
          (zeertzjq)

closes: vim/vim#18655

b2e6b328da
2025-10-29 10:18:01 +08:00
zeertzjq
3c14646896 vim-patch:9.1.1886: filetype: Android aconfig files are not recognized (#36374)
Problem:  filetype: Android aconfig files are not recognized
Solution: Detect *.aconfig files as pbtxt filetype (Bruno Belanyi)

Reference:
https://source.android.com/docs/setup/build/feature-flagging/declare-flag

closes: vim/vim#18656

7adeb09bb2

Co-authored-by: Bruno Belanyi <bruno@belanyi.fr>
2025-10-29 00:16:15 +00:00
zeertzjq
c2781d3db3 vim-patch:9.1.1883: Wrong display with 'smoothscroll' with -diff (#36372)
Problem:  Wrong display with 'smoothscroll' when FEAT_DIFF is disabled.
Solution: Use plines_correct_topline() (zeertzjq).

closes: vim/vim#18649

e06e70f7b1
2025-10-28 23:49:53 +00:00
zeertzjq
21ea0537e0 vim-patch:9.1.1880: Allocation error with complete_info() (#36360)
Problem:  Allocation error with complete_info()
          (after v9.1.1876)
Solution: Make sure length is positive (kuuote)

closes: vim/vim#18640

7d3b647f88

Co-authored-by: kuuote <znmxodq1@gmail.com>
2025-10-28 07:13:58 +08:00
zeertzjq
070f4d3da0 vim-patch:9.1.1875: username parsing bug in netrw plugin (#36348)
Problem:  username parsing bug in netrw plugin when using remote adding
          feature
Solution: Allow any characters except for "@" (Václav Kobera), add a
          test for the netrw plugin

closes: vim/vim#18611

f17f78c557

Co-authored-by: Václav Kobera <vasekobera@gmail.com>
2025-10-27 03:20:34 +00:00
zeertzjq
35d04394aa vim-patch:9.1.1878: filetype: Soy files are not recognized (#36346)
Problem:  filetype: Soy files are not recognized
Solution: Detect *.soy files as soy filetype,
          include a soy filetype plugin (Riley Bruins)

closes: vim/vim#18640

9fff99c3c2

Co-authored-by: Riley Bruins <ribru17@hotmail.com>
2025-10-27 02:52:56 +00:00
zeertzjq
155efabb15 vim-patch:9.1.1876: pre-inserted text not exposed in complete_info() (#36342)
Problem:  pre-inserted text not exposed in complete_info()
Solution: Add the pre-inserted text to the complete_info() Vim script
          function (Girish Palya)

closes: vim/vim#18571

Feat: expose preinserted text in complete_info()

ef5bf58d8c

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-10-27 01:34:52 +00:00
zeertzjq
fb6fd17f26 vim-patch:9.1.1870: :Tutor may not work as expected (#36343)
Problem:  :Tutor may not work as expected
Solution: set buftype=nowrite instead of nofile
          (Phạm Bình An)

closes: vim/vim#18613

9978bb77c6

Co-authored-by: Phạm Bình An <phambinhanctb2004@gmail.com>
2025-10-27 01:21:52 +00:00
zeertzjq
f0cf488698 vim-patch:9.1.1877: cindent: wrong indentation after an array declaration (#36340)
Problem:  cindent: wrong indentation after an array declaration
Solution: check if the filetype if javascript before matching the syntax
          (Anttoni Erkkilä)

cindent matches a javascript syntax for C files causing wrong
indentation in the following case:
```
void foo() {
float a[5],
b;
}
```

closes: vim/vim#18631

61ef8a3db9

Co-authored-by: Anttoni Erkkilä <anttoni.erkkila@protonmail.com>
2025-10-27 00:06:25 +00:00
zeertzjq
2407833ba1 vim-patch:9.1.1872: Cmdline history not updated when mapping <Up> and <CR> (#36334)
Problem:  Cmdline history not updated when mapping both <Up> and <CR>.
Solution: Consider the command typed when in Cmdline mode and there is
          no pending input (zeertzjq).

Although the existing behavior technically does match documentation, the
"completely come from mappings" part is a bit ambiguous, because one may
argue that the command doesn't completely come from mappings as long as
the user has typed a key in Cmdline mode.  I'm not entirely sure if this
change will cause problems, but it seems unlikely.

fixes: vim/vim#2771
related: neovim/neovim#36256
closes: vim/vim#18607

97b6e8b424
2025-10-26 22:19:32 +08:00
zeertzjq
5db3544991 vim-patch:9.1.1871: Wrong 'showcmd' in the cmdwin (#36320)
Problem:  Wrong 'showcmd' in the command-line window.
Solution: Clear 'showcmd' when entering cmdwin (zeertzjq).

related: neovim/neovim#36271
closes: vim/vim#18616

826326f13b
2025-10-25 22:16:05 +08:00
zeertzjq
737dd83d1f vim-patch:9.1.1869: tests: test failures with Python 3.14 and test_python3 (#36310)
Problem:  tests: test failures with Python 3.14 and test_python3
Solution: Adjust the expected error message (Yee Cheng Chin)

Python 3.14 changed the error message from "argument must be 2-item
sequence" to "argument must be 2-item tuple". Fix test to account for
that. Otherwise the error message for the `vim.current.window.cursor =
True` line would not match.

closes: vim/vim#18629

6cb995970e

Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-10-25 08:02:41 +08:00
Jan Edmund Lazo
96a514ed46 vim-patch:9.0.0106: illegal byte regexp test doesn't fail when fix is reversed
Problem:    Illegal byte regexp test doesn't fail when fix is reversed.
Solution:   Make sure illegal bytes end up in sourced script file.

cb36c2a3cd

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-10-20 22:21:09 -04:00
zeertzjq
68a54bfda6 vim-patch:9.1.1868: v:register is wrong in v_: command (#36238)
Problem:  v:register is wrong in v_: command (after 9.1.1858).
Solution: Don't reset v:register for OP_COLON (zeertzjq)

related: https://github.com/vim/vim/pull/18583#issuecomment-3418030021

closes: vim/vim#18597

0124320c97

While at it, also fix using stale set_prevcount value. That only matters
when readbuf1 ends with an operator or a register, which never happens,
but it's still good to avoid using a stale value.
2025-10-18 15:14:20 +00:00
zeertzjq
a08aa77e40 vim-patch:9.1.1859: completion: whitespace not cleared with 'ai' (#36218)
Problem:  completion: whitespace not cleared with 'ai'
Solution: Remove spaces added by 'autoindent' when autocomplete is set
          and restore did_ai in ins_compl_start() (Maxim Kim)

fixes vim/vim#18560
closes: vim/vim#18582

6180d65751

Co-authored-by: Maxim Kim <habamax@gmail.com>
2025-10-17 02:51:49 +00:00
zeertzjq
aeeadddac4 vim-patch:9.1.1858: v:register not reset after Visual mode command (#36215)
Problem:  v:register not reset after Visual mode command.
          (laktak)
Solution: Reset v:register if Visual mode was active before
          do_pending_operator() (zeertzjq)

fixes: vim/vim#18579
related: vim/vim#5305
closes: vim/vim#18583

b3b47e540d
2025-10-17 08:36:27 +08:00
zeertzjq
93d1473732 vim-patch:9.1.1853: Ctrl-F and Ctrl-B at more prompt not working with key protocol
Problem:  Ctrl-F and Ctrl-B at more prompt not working with kitty
          keyboard protocol or modifyOtherKeys (after v9.1.1849).
Solution: Call merge_modifyOtherKeys() in get_keystroke() (zeertzjq).

closes: vim/vim#18558

6622dc2ded
2025-10-14 08:46:54 +08:00
zeertzjq
92b834fc7a vim-patch:9.1.1849: CTRL-F and CTRL-B don't work in more prompt
Problem:  CTRL-F and CTRL-B don't work in more prompt
Solution: Make CTRL-F and CTRL-B scroll by a screen down/up
          (Bjoern Foersterling)

closes: vim/vim#18545

fcf4c435af

Co-authored-by: bfoersterling <bjoern.foersterling@gmail.com>
2025-10-14 08:42:06 +08:00
zeertzjq
7468db5187 vim-patch:partial:9.1.1847: No cmdline completion for :echoconsole and :echowindow (#36157)
Problem:  No cmdline completion for :echoconsole, :echowindow and second
          expression after :echoerr.
Solution: Set EXPAND_EXPRESSION for :echoconsole and :echowindow, and
          check for multiple expressions after :echoerr (zeertzjq).

closes: vim/vim#18552

7aaca97fc5
2025-10-13 15:35:16 +08:00
zeertzjq
83c7193c11 vim-patch:9.1.1850: completion: not triggered after i_Ctrl-W/i_Ctrl-U (#36156)
Problem:  completion: not triggered after i_Ctrl-W/i_Ctrl-U
Solution: Trigger autocomplete when entering Insert mode
          (Girish Palya).

fixes: vim/vim#18535
closes: vim/vim#18543

da2dabc6f7

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-10-13 00:08:53 +00:00
zeertzjq
f4e4799f27 docs: small fixes (#36146)
Close #35989
Close #36031
Close #36107

Co-authored-by: Kieran Moy <kfatyuip@gmail.com>
Co-authored-by: William Sprent <william@sprent.dk>
Co-authored-by: David Briscoe <43559+idbrii@users.noreply.github.com>
2025-10-12 12:16:14 +08:00
glepnir
072f126453 fix(ui): 'pumborder' parsing, shadow #36127
Problem:
1. Setting `pumborder=+,+,+,+,+,+,+,+` failed to render the custom
   border characters correctly. The issue occurred in `parse_winborder()`
   where it incorrectly used `p_winborder` instead of the `border_opt`
   parameter when the option value didn't contain commas.
2. In `pum_redraw()`, calling `parse_border_style()` directly with the
   option string failed to parse comma-separated border characters.
3. Missing documentation for PmenuShadow and PmenuShadowThrough
   highlight groups used by the shadow border style.
4. Coverity reports CID 631420: passing WinConfig (480 bytes) by value
   in `grid_draw_border()`.
5. crash when using `shadow` value on pumborder.

Solution:
1. Fix `parse_winborder()` to use `border_opt` parameter consistently,
   ensuring the correct option value is parsed regardless of which
   option (winborder/pumborder) is being set.
2. Update `pum_redraw()` to call `parse_winborder()` instead of
   `parse_border_style()`, properly handling both predefined styles
   and custom comma-separated border characters.
3. Add documentation for PmenuShadow (blended shadow areas) and
   PmenuShadowThrough (see-through corners) highlight groups.
4. Change `grid_draw_border()` to accept WinConfig by pointer.
5. When the "shadow" style is used, no additional row and column offset
   is applied, and the border width is reduced.
2025-10-11 19:48:27 -07:00
zeertzjq
b1c41a332d vim-patch:9.1.1843: tests: Test_search_stat_option() may fail on slow systems (#36110)
Problem:  tests: Test_search_stat_option() may fail on slow systems
Solution: test_search_stat: Extend searchcount() timeout if the test is
          being re-run due to flakiness (James McCoy).

closes: vim/vim#18524

4fa7ec8036

Co-authored-by: James McCoy <jamessan@jamessan.com>
2025-10-10 07:32:08 +08:00
zeertzjq
28355050a8 vim-patch:9.1.1839: Window may have wrong height if resized from another tabpage (#36093)
Problem:  Window may have wrong height if resized from another tabpage.
Solution: Improve check for whether a tabline has been added (zeertzjq).

fixes: vim/vim#18518
closes: vim/vim#18519

bd3b958027
2025-10-09 07:49:05 +08:00
zeertzjq
ba47cb7eda vim-patch:9.1.1836: 'culopt' "screenline" not redrawn with line("w0") and :retab
Problem:  'cursorlineopt' "screenline" isn't redrawn when moving cursor
          and then using line("w0") and :retab that does nothing.
Solution: Call redraw_for_cursorcolumn() when setting a valid w_virtcol
          (zeertzjq).

closes: vim/vim#18506

a084914361
2025-10-08 08:16:17 +08:00
altermo
9e1d3f4870 feat(runtime): undotree #35627
Problem
No builtin way to visualize and navigate the undo-tree.

Solution
Include an "opt" plugin.
2025-10-07 14:32:22 -07:00
zeertzjq
d9153d620a vim-patch:9.1.1833: completion: fuzzy candidates are not sorted (#36062)
Problem:  completion: fuzzy candidates are not sorted
          (ddad431)
Solution: Always sort fuzzy candidates (Girish Palya)

fixes: vim/vim#18488
closes: vim/vim#18497

10aa04e3d4

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-10-07 10:02:11 +08:00
Sean Dewar
7923e847ca vim-patch:9.1.1831: stray vseps in right-most 'winfixwidth' window
Problem:  vertical separator of 'winfixwidth' windows may remain if they
          become right-most windows from closing windows to the right.
Solution: Don't implicitly rely on frame_new_width to fix vseps, as the
          call may be skipped for 'winfixwidth' windows to preserve
          their width; do it explicitly in winframe_remove (Sean Dewar).

Note that I prefer win_new_width here over setting w_width directly, which
would've previously been done by win_split_ins after frame_add_vsep, as this
wasn't true for winframe_remove.

Though the equivalent issue of bottom 'winfixheight' windows leaving stray
statuslines with &ls=0 doesn't seem to exist, test it anyway.

closes: vim/vim#18481

620c655677

Nvim: calling win_new_width over setting w_width directly is especially
important in making sure stuff like w_view_width is correct here.

Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
2025-10-05 23:30:23 +01:00
zeertzjq
a4a8838178 vim-patch:9.1.1829: filetype: KerML and SysML files are not recognized (#36042)
Problem:  filetype: KerML and SysML files are not recognized
Solution: Detect *.kerml as kerml filetype, detect *.sysml as sysml
          filetype, include a kerml and sysml filetype plugin
          (Daumantas Kavolis)

closes: vim/vim#18476

b73ccf7ff0

Co-authored-by: Daumantas Kavolis <daumantas.kavolis@sensmetry.com>
2025-10-06 06:07:41 +08:00
zeertzjq
fbaf48cb23 vim-patch:9.1.1827: completion: v9.1.1797 broke Ctrl-Y behaviour (#36040)
Problem:  completion: v9.1.1797 broke Ctrl-Y behaviour
          (ddad431, after v9.1.1797)
Solution: Restore correct behaviour (Girish Palya).

closes: vim/vim#18494

f3d0d08907

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-10-05 21:58:33 +08:00
zeertzjq
f8b50bf3b0 vim-patch:9.1.1825: completion: flicker when LSP server is slow (#36020)
Problem:  completion: flicker when LSP server is slow
Solution: reinsert leader text before invoking user function
          (Girish Palya)

Reference:
https://github.com/girishji/vimcomplete/issues/101#issuecomment-3343063245

In insert-mode completion, the leader text is temporarily removed while
searching for candidates. When the LSP server responds slowly, the
client may call `:sleep` to wait, which triggers `out_flush()`. This
causes the deleted text to disappear briefly before being redrawn,
resulting in visible flicker.

This commit reinserts the leader text before invoking the user function,
and removes it again afterward to eliminate flicker.

closes: vim/vim#18468

c51d1cc578

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-10-04 12:08:28 +00:00
zeertzjq
94bd212dbc vim-patch:9.1.1824: tests: no test for displaying 'foldcolumn' with Unicode "foldinner" (#36019)
Problem:  tests: no test for displaying 'foldcolumn' with Unicode
          "foldinner" in 'fillchars'.
Solution: Add a few more test cases.  Also fix misplaced "foldinner"
          entry in version9.txt (zeertzjq).

closes: vim/vim#18483

bcf44668f6
2025-10-04 11:43:23 +00:00
zeertzjq
b6b80824cc vim-patch:9.1.1819: Cannot configure the inner foldlevel indicator (#36010)
Problem:  Cannot configure the inner foldlevel indicator for the
          foldcolumn
Solution: Add "foldinner" suboption value to the 'fillchar' option
          (Maria José Solano).

closes: vim/vim#18365

1a691afd27

Co-authored-by: Maria José Solano <majosolano99@gmail.com>
2025-10-03 23:53:29 +00:00
zeertzjq
2c76a50e20 vim-patch:9.1.1821: filetype: Not all PKL files are recognized (#36008)
Problem:  filetype: Not all PKL files are recognized
Solution: Detect *.pcf as pkl filetype, detect using the pkl-lsp://
          protocol as pkl filetype, include PKL syntax script
          (Jan Claußen)

This adds basic syntax support for the new PKL language by Apple.

What works:
- Shebang support
- Comment support
- Integers (decimal, hex, octal and binary) support
- Floating point support including exponentials
- Basic datatype support
- Unicode escape delimiters
- Escape code support
- String interpolation
- Support up to five pounds for custom delimiters
- Folding of multi-line comments and blocks

What doesn't work:

  The language heavily uses parameterized type declarations, which can get
  very complex. It is very hard to highlight this properly. There is
  official Tree-sitter support for this. Since it is hard to pull this off
  in a vim syntax file, I opted for basic support of the data types.

References:
  https://github.com/apple/pkl-pantry

fixes: vim/vim#18271
closes: vim/vim#18274

67a8f2945e

Co-authored-by: Jan Claußen <jan.claussen10@web.de>
2025-10-04 06:01:16 +08:00
zeertzjq
8151fc59cf vim-patch:9.1.1820: completion: some issues with 'acl' (#36007)
Problem:  completion: some issues with 'acl' when "preinsert" and
          "longest" is in 'completeopt' (musonius, after v9.1.1638)
Solution: Fix various issues (see details below) (Girish Palya)

This commit addresses multiple issues in the 'autocompletedelay' behavior with
"preinsert" and "longest":

- Prevents spurious characters from being inserted.
- Ensures the completion menu is not shown until `autocompletedelay` has
  expired.
- Shows the "preinsert" effect immediately.
- Keeps the "preinsert" effect visible even when a character is deleted.

fixes: vim/vim#18443
closes: vim/vim#18460

f77c187277

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-10-03 13:10:05 +00:00
zeertzjq
df0b9e7a5d vim-patch:9.1.1818: possible crash when calculating topline in diff.c
Problem:  possible crash when calculating topline in diff.c
          (youngmith)
Solution: Check for pointer being Null before accessing it

fixes: vim/vim#18437

d32b3bb7eb

The POC is likely not applicable to Nvim due to #32160.

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-10-02 12:36:15 +08:00
zeertzjq
dfd3ac6f48 vim-patch:partial:9.1.1110: Vim tests are slow and flaky
Problem:  Vim tests are slow and flaky at the same time due to reliance
          on timeouts which are unreliable.
Solution: improve Vim test performance and reduce flakiness
          (Yee Cheng Chin)

A lot of Vim tests currently rely on waiting a specific amount of time
before asserting a condition. This is bad because 1) it is slow, as the
timeout is hardcoded, 2) it's unreliable as a resource-starved runner
may overshoot the timeout. Also, there are a lot of builtin sleep
commands in commonly used utilities like VerifyScreenDump and WaitFor()
which leads to a lot of unnecessary idle time.

Fix these issues by doing the following:
1. Make utilities like VerifyScreenDump and WaitFor use the lowest wait
   time possible (1 ms). This essentially turns it into a spin wait. On
   fast machines, these will finish very quickly. For existing tests
   that had an implicit reliance on the old timeouts (e.g.
   VerifyScreenDump had a 50ms wait before), fix the tests to wait that
   specific amount explicitly.
2. Fix tests that sleep or wait for long amounts of time to instead
   explicitly use a callback mechanism to be notified when a child
   terminal job has finished. This allows the test to only take as much
   time as possible instead of having to hard code an unreliable
   timeout.

With these fixes, tests should 1) completely quickly on fast machines,
and 2) on slow machines they will still run to completion albeit slowly.
Note that previoulsy both were not true. The hardcoded timeouts meant
that on fast machines the tests were mostly idling wasting time, whereas
on slow machines, the timeouts often were not generous enough to allow
them to run to completion.

closes: vim/vim#16615

e70587dbdb

Part of shared.vim and test_crash.vim changes only.

Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
2025-10-02 12:18:16 +08:00
zeertzjq
532cc88604 vim-patch:9.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone
Problem:  tests: "Untitled" file not removed when running Test_crash1_3 alone
          with TEST_FILTER (after v9.1.0695)
Solution: Use a TearDown function instead of another test.
          (zeertzjq)

closes: vim/vim#15578
closes: vim/vim#15577

d56c451e1c
2025-10-02 07:55:58 +08:00
zeertzjq
71662bbb49 vim-patch:9.1.0695: tests: test_crash leaves Untitled file around
Problem:  tests: test_crash leaves Untitled file around
Solution: cleanup at the end of the test_crash.vim test file

cd83173def

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-10-02 07:55:41 +08:00
zeertzjq
69a9a25fcc vim-patch:9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft'
Problem:  buffer-overflow in do_search() with 'rightleft'
          (SuyueGuo)
Solution: after reversing the text (which allocates a new buffer),
          re-calculate the text length

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-v2x2-cjcg-f9jm

cacb6693c1

Add missing change from patch 8.1.1270.
Omit `call delete('Untitled')`: moved again in patch 9.1.0695.

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-10-02 07:52:18 +08:00
zeertzjq
35fc4fda99 vim-patch:9.1.1799: completion: crash with autcompletion (#35963)
Problem:  completion: crash with autcompletion
          (Maxim Kim)
Solution: Rework remove_old_matches (Girish Palya)

fixes: vim/vim#18378
fixes: vim/vim#18390
fixes: vim/vim#18391
closes: vim/vim#18427

3aa2edb557

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-09-30 02:42:13 +00:00
zeertzjq
756e55dc49 vim-patch:9.1.1810: completion: "longest" doesn't work for manual completion with 'ac'
Problem:  completion: "longest" doesn't work for manual completion when
          'autocomplete' is on (after 9.1.1800).
Solution: Only reset compl_get_longest when enabling autocompletion
          (zeertzjq).

closes: vim/vim#18430

b3966d6a8e
2025-09-30 09:32:33 +08:00
zeertzjq
f30a33858f vim-patch:9.1.1800: completion: strange behaviour with 'ac' completeopt=longest,preinsert
Problem:  completion: strange behaviour with 'ac'
          completeopt=longest,preinsert (zeertzjq)
Solution: Let preinsert take precedence (Girish Palya)

fixes: vim/vim#18410
closes: vim/vim#18428

d35e5e4237

Co-authored-by: Girish Palya <girishji@gmail.com>
2025-09-30 09:32:33 +08:00