Commit Graph

23129 Commits

Author SHA1 Message Date
Huihui Huang ede5252d89 patch 9.2.0134: memory leak in socket_server_send_reply()
Problem:  memory leak in socket_server_send_reply() in src/os_unix.c
Solution: Free final in the error case when returning early
          (Huihui Huang).

closes: #19627

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0134
2026-03-10 19:40:33 +00:00
Huihui Huang 248de84d86 patch 9.2.0133: memory leak in netbeans_file_activated()
Problem:  memory leak in netbeans_file_activated()
Solution: Free q on early return (Huihui Huang).

closes: #19626

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0133
2026-03-10 19:33:22 +00:00
James McCoy ff16ebdb08 patch 9.2.0132: tests: Test_recover_corrupted_swap_file1 fails on be systems
Problem:  tests: Test_recover_corrupted_swap_file1 fails on big-ending
          systems (after v9.2.0077)
Solution: Skip the test on big-endian systems (James McCoy)

The POC files were generated on 64-bit little-endian systems and
therefore are not portable to any other system type.

Extract the 64-bit / endianness detection from
Test_recover_corrupted_swap_file() into a SetUp() function and use that
data to determine if the test should be run.

closes: #19620

Signed-off-by: James McCoy <jamessan@debian.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0132
2026-03-10 18:39:40 +00:00
Christian Brabandt 9360647715 patch 9.2.0131: potential buffer overflow in regdump()
Problem:  Potential buffer overflow in regdump()
Solution: Add the size to the compiled regular expression and ensure we
          don't read over the limit.

Note: this is not a security issue, because regdump() is typically not
compiled in any version of Vim, so should not affect anybody.

supported by AI claude.

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0131
2026-03-09 20:18:52 +00:00
Doug Kearns 49b8d9903b patch 9.2.0130: missing range flags for the :tab command
Problem:  :tab accepts a tab address range but doesn't specify this in
          the command specification.
Solution: Add EX_RANGE and EX_ZEROR to the command specification and use
          ADDR_TABS (Doug Kearns).

As command modifers are handled separately before these flags are tested
in the ex-command parser they have no effect.  However, it's better to
use an accurate description and the command specification table has uses
in other areas like runtime file generation for the Vim filetype.

closes: #19100

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0130
2026-03-09 19:52:30 +00:00
Yasuhiro Matsumoto 433bcf3bec patch 9.2.0129: popup: wrong handling of wide-chars and opacity:0
Problem:  popup: wrong handling of wide-chars and opacity:0
Solution: Correctly handle opacity 0, correctly handle wide chars
          (Yasuhiro Matsumoto)

closes: #19606

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0129
2026-03-09 18:47:10 +00:00
Christoffer Aasted 1f1b86ac60 patch 9.2.0128: Wayland: using _Boolean instead of bool type
Problem:  Wayland: using _Boolean instead of bool type
Solution: Change type of variable (Christoffer Aasted).

related: #19473
closes:  #19610

Signed-off-by: Christoffer Aasted <dezzadk@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0128
2026-03-09 18:36:34 +00:00
Christian Brabandt ffeb2339cb patch 9.2.0127: line('w0') and line('w$') return wrong values in a terminal
Problem:  In a terminal window, line('w0') and line('w$') return wrong
          values instead of the first and last visible line number,
          because a terminal buffer does not go through the normal
          redraw path that updates w_topline and w_botline (ubaldot).
Solution: Before computing w0 and w$, sync the terminal contents to the
          buffer by calling may_move_terminal_to_buffer() so that
          w_topline and w_botline are correctly updated.

fixes:  #19585
closes: #19615

supported by AI claude.

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0127
2026-03-09 18:26:41 +00:00
John Marriott 727f6e2686 patch 9.2.0126: String handling can be improved
Problem:  String handling can be improved
Solution: Pass string length where it is known to avoid strlen() calls,
          do a few minor refactors (John Marriott).

This commit changes some calls to function `set_vim_var_string()` to pass
the string length where it is known or can be easily calculated.

In addition:
In `evalvars.c`:
  * In function `set_reg_var()` turn variable `regname` into a C string
    because that is how it used.
  * Small cosmetics.
In `option.c`:
  * Slightly refactor function `apply_optionset_autocmd()` to move some
    variables closer to where they are used.
In `getchar.c`:
  * Slightly refactor function `do_key_input_pre()`:
    -> change call to `dict_add_string()` to `dict_add_string_len()` and
       pass it the length of `buf`.
    -> only call `get_vim_var_string()` once.
In `message.c`:
  * Use a `string_T` to store local variable `p`.
In `normal.c`:
  * Move some variables closer to where they are used.

closes: #19618

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0126
2026-03-09 18:17:22 +00:00
Phạm Bình An bab7619604 runtime(doc): Update intro.txt about Neovim
Just to fix some phrases:
- "A Vim clone". Neovim document says that it is not a clone, but just a
  fork https://neovim.io/doc/user/nvim/#nvim
- "Supports a remote GUI". Neovim supports any UI (both GUI and TUI)
  that implements its UI protocol, so "a" is not correct
- "Integration with scripting languages". This is true, but it is also
  true to Vim (which supports 8 scripting languages AFAIK), so this
  probably doesn't need to be said in this document. Instead, what makes
  Neovim unique in this "scripting languages" aspect is its first class
  support for Lua.

closes: #19605

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 21:03:12 +00:00
Christian Brabandt 271f4fe47b patch 9.2.0125: tests: test_textformat.vim leaves swapfiles behind
Problem:  tests: test_textformat.vim leaves swapfiles behind
Solution: Close open buffer using :bw! instead of :close!

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0125
2026-03-08 20:32:13 +00:00
Daniel Müller 24fd698045 patch 9.2.0124: auto-format may swallow white space
Problem:  With auto paragraph formatting enabled, when a user makes an
          attempt to add a new word before the end of a line and with
          the following space bringing the line width over 'textwidth',
          the space ends up just getting swallowed by the editor.
Solution: Detect such a constellation and do not auto-format in that
          case (Daniel Müller).

closes: #19593

Signed-off-by: Daniel Müller <deso@posteo.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0124
2026-03-08 20:24:10 +00:00
Christian Brabandt 6c0321fb9d patch 9.2.0123: GTK: using deprecated gdk_pixbuf_new_from_xpm_data()
Problem:  GTK: gdk_pixbuf_new_from_xpm_data() is deprecated since
          2.44.5, causing build warnings
Solution: Replace XPM icon loading with PNG byte arrays loaded via
          g_memory_input_stream_new_from_data() and
          gdk_pixbuf_new_from_stream(). These APIs are available since
          GLib 2.12 and gdk-pixbuf 2.14 (around 2008) so should be safe
          to use today.

fixes:  #19446
closes: #19583

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0123
2026-03-08 20:10:03 +00:00
Christian Brabandt 48b913d735 patch 9.2.0122: Vim still supports compiling on NeXTSTEP
Problem:  Vim still supports compiling on NeXTSTEP
Solution: Drop Support (Damien Lejay)

The NeXTSTEP operating system has been obsolete for decades. The
special-case code required to support it adds unnecessary complexity,
preprocessor conditionals, and non-standard workarounds to the codebase.

This commit removes all support for NeXTSTEP, simplifying the code and
build system in several ways:

-   Replaced custom configure checks for `union wait` with a standard `AC_CHECK_FUNCS` call for `waitpid`.
-   Removed all conditional code that used the non-standard `union wait` for process status, relying solely on a standard `int`.
-   Replaced calls to the non-standard `wait4()` function with the POSIX-standard `waitpid()`.
-   Cleaned up headers (`os_unix.h`, `os_unixx.h`) to remove NeXT-specific workarounds and macros.
-   Removed obsolete NeXT compilation instructions from the INSTALL file.

This change improves maintainability and makes the Unix process handling code more linear and compliant with modern POSIX standards.

related: #18079
closes:  #19582

Signed-off-by: Damien Lejay <damien@lejay.be>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0122
2026-03-08 19:48:32 +00:00
Huihui Huang 7ed37dc534 patch memory leak in list_extend_func() in list.c
Problem:  memory leak in list_extend_func() in list.c
Solution: Free l1 on early return (Huihui Huang)

closes: #19572

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0121
2026-03-08 19:37:22 +00:00
Christian Brabandt 123a1e6410 patch 9.2.0120: tests: test_normal fails
Problem:  tests: test_normal fails
Solution: Ensure the terminal width is 40 columns and also
          check for existence of the tr.mo file

closes: #19608

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0120
2026-03-08 19:33:01 +00:00
Christian Brabandt 2c1269f0d3 runtime(zip): Make ZipUpdatePS() check that shell is powershell
fixes: #19576

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-08 15:30:31 +00:00
Foxe Chen 6495ca4c16 patch 9.2.0119: incorrect highlight initialization in win_init()
Problem:  When initializing a window in win_init(), w_hl is reset to
          NULL without ensuring existing highlight overrides are
          cleared (after v9.2.0113)
Solution: Clear highlight overrides and reset w_hl in win_init(). Remove
          the redundant VIM_CLEAR() from win_init_empty() (Foxe Chen).

closes: #19609

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0119
2026-03-07 18:35:39 +00:00
Christian Brabandt d180f67a41 patch 9.2.0118: memory leak in w_hl when reusing a popup window
Problem:  When a popup info window is reused, win_init_empty() resets
          w_hl to NULL without freeing the previously allocated value,
          causing a memory leak (after v9.2.0113)
Solution: Free w_hl before resetting it to NULL in win_init_empty()
          using the VIM_CLEAR() macro.

closes: #19607

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0118
2026-03-07 17:44:24 +00:00
Christian Brabandt f17b8b1df5 patch 9.2.0117: tests: test_wayland.vim fails
Problem:  tests: test_wayland.vim fails when X11 is not available or
          $XDG_RUNTIME_DIR is not defined
Solution: Skip test_wayland when prerequisites are not fulfilled

closes: #19579

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0117
2026-03-07 17:40:50 +00:00
Foxe Chen f90fc1bd72 patch 9.2.0116: terminal: synchronized output sequences are buffered
Problem:  terminal: synchronized output sequences are buffered
Solution: Output the terminal sequences directly using ui_write(),
          bypassing buffering (Foxe Chen).

closes: #19597

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0116
2026-03-07 14:23:27 +00:00
dezza 49b81793ff runtime(docs): Update CONTRIBUTING.md and mention #vim on libera
Left out reddit intentionally, I think it's not the best place for
contribution questions, however irc has several contributors.

closes: #19604

Signed-off-by: dezza <402927+dezza@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 14:05:58 +00:00
Yasuhiro Matsumoto f3b566481c patch 9.2.0115: popup: screen flickering possible during async callbacks
Problem:  popup: When an async redraw is triggered, the screen may flicker
          because the terminal may render the intermediate states of the
          redraw.
Solution: Enable synchronized output if possible to ensure the terminal
          renders the entire update at once (Yasuhiro Matsumoto).

closes: #19584
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0115
2026-03-07 10:22:28 +00:00
Doug Kearns e948fea640 runtime(sed): Update syntax, support more GNU address extensions
- Support all GNU address extensions.
- Fix some bugs related to erroneous matching of pattern delimiters in
  bracket expressions.

closes: #19587

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-07 10:13:42 +00:00
gcrtnst 78ae2ff094 patch 9.2.0114: MS-Windows: terminal output may go to wrong terminal
Problem:  MS-Windows: terminal output may go to wrong terminal with
          ConPTY
Solution: Explicitly disable inheriting the terminal handles
          (gcrtnst).

closes: #19589

Signed-off-by: gcrtnst <52910071+gcrtnst@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0114
2026-03-07 10:01:49 +00:00
Mao-Yining bd77d327d3 runtime(doc): remove thoughts of generics for a function
Was implemented in 9.1.1577

closes: #19598

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:55:39 +00:00
Foxe Chen 9c4cb7145f patch 9.2.0113: winhighlight pointer may be used uninitialized
Problem:  winhighlight pointer may be used uninitialized causing a crash
Solution: Initialize pointer in win_init() and win_init_empty()
          (Foxe Chen).

closes: #19601

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0113
2026-03-05 20:50:24 +00:00
Yasuhiro Matsumoto 4d0c57e15f patch 9.2.0112: popup: windows flicker when updating text
Problem:  popup: windows flicker when updating text
Solution: Only refresh the popup mask if the position or size changed,
          manually set the window redraw type instead of using
          redraw_win_later() to avoid triggering a full screen redraw.
          Handle opacity 100 correctly. Keep "firstline" sticky when
          setting options (Yasuhiro Matsumoto).

related: #19510
closes:  #19559

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0112
2026-03-05 20:38:58 +00:00
Foxe Chen 0fe3ca6031 patch 9.2.0111: 'winhighlight' option not always applied
Problem:  'winhighlight' option not always applied
Solution: Apply 'winhighlight' setting in more places
          (Foxe Chen).

closes: #19555

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0111
2026-03-05 20:17:57 +00:00
Devin Weaver 75decb4a8d runtime(glimmer): add syntax support for glimmer files
In commit cdf717283 ("patch 8.2.4424: ".gts" and ".gjs" files are not
recognized", 2022-02-19) support for the glimmer file types were added.

Problem:  Syntax hilighting suppoprt was missing.
Solution: Added a glimmer syntax file that will leverage the base
          syntaxs (javascript/typescript) and include handlebars syntax
          for .gjs/.gts files.

closes: #19569

Signed-off-by: Devin Weaver <suki@tritarget.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:07:50 +00:00
Devin Weaver 99ea2b5b06 runtime(handlebars): adds handlebars template syntax & indent support
The runtime had support to detect handlebars (*.hbs) files as filetype
handlebars but was lacking any indent or syntax highlighting for that
filetype.

The handlebars syntax file is also a prerequisite for the glimmer
syntax.

Permission was granted by the original author to retrofit these into the
Vim runtime. Original License (MIT) maintained in code comments.

related: #19569

Signed-off-by: Devin Weaver <suki@tritarget.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:06:02 +00:00
Christian Brabandt 22c62e2691 runtime(syntax-tests): regenerate dump files (after v9.2.0110)
related: #19541

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-05 20:01:10 +00:00
Foxe Chen 7ba60f17c2 patch 9.2.0110: No support for terminal synchronization mode
Problem:  No support for terminal synchronization mode
Solution: Add DEC 2026 support using the 'termsync' option
          (Foxe Chen).

related: #11718
closes:  #19541

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0110
2026-03-04 21:09:25 +00:00
Martin Tournoij 6c34ace536 patch 9.2.0109: VIM_BACKTICK is always defined except for tiny builds
Problem:  VIM_BACKTICK is always defined except for tiny builds
Solution: Remove the VIM_BACKTICK define and always compile backtick
          expansion. This change however will cause the vim.tiny build
          to be slightly larger (Martin Tournoij).

closes: #19562

Signed-off-by: Martin Tournoij <martin@arp242.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0109
2026-03-04 19:58:49 +00:00
Yasuhiro Matsumoto 499e93d09a patch 9.2.0108: byteidx_common() and f_utf16idx() call ptr2len() twice
Problem:  byteidx_common() and f_utf16idx() are calling ptr2len() twice
          per iteration, instead of reusing the already computed clen.
Solution: Reuse clen for pointer advancement in both functions
          (Yasuhiro Matsumoto).

closes: #19573

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0108
2026-03-04 19:29:45 +00:00
Hirohito Higashi 76abd0ccdf patch 9.2.0107: tests: Test_statuslineopt() is flaky
Problem:  tests: Test_statuslineopt() is flaky
Solution: Force a redraw earlier and read screen content directly using
          screenstring() instead of g:ScreenLines() (Hirohito Higashi).

closes: #19571

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0107
2026-03-04 19:09:37 +00:00
Huihui Huang 648240fe9a patch 9.2.0106: memory leak in expand_findfunc()
Problem:  memory leak in expand_findfunc() (after v9.1.0811)
Solution: Free list variable l on early return (Huihui Huang).

closes: #19564

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0106
2026-03-03 20:45:18 +00:00
Huihui Huang 7d1e0a7832 patch 9.2.0105: memory leak in heredoc_get() in src/evalvars.c
Problem:  memory leak in heredoc_get() in src/evalvars.c
Solution: Free variable l on early return (Huihui Huang).

closes: #19563

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0105
2026-03-03 20:35:48 +00:00
Javier Jaramago Fernández 2a7414594a patch 9.2.0104: popup: flickering on opaque popups with overlapping text
Problem:  popup: flickering on opaque popups with overlapping text,
          even if they are opaque (after v9.2.0016).
Solution: Prevent double redrawing by skipping background updates for
          opaque popups. Revert changes to test dumps
          (Javier Jaramago Fernández).

A flickering effect was introduced in commit v9.2.0016 (commit:
6c203072f) for all popups. This is a consequence of a double redraw of
the overlapping background characters. This could be expected for
transparent popups, but, it should exclude opaque ones. For a complete
fix of the flickering this commit is required in combination with fix
present in v9.2.0064 (commit: 97c5bed84b).

Additionally this commit reverts changes introduced for tests dumps for
masks in commits 6c203072f and cded5e220. These dumps were updated
preventing characters from popups to take into account the masks
specified for them. This forces the redraw of popup characters, even
when masks attempt to prevent them, leading to flickering effects. See
issues #19510 and PR: #19534.

closes: #19534

Signed-off-by: Javier Jaramago Fernández <jaramago.fernandez.javier@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0104
2026-03-03 20:33:03 +00:00
Hirohito Higashi ff9185e822 patch 9.2.0103: missing FEAT_MENU guard for w_winbar_height in window.c
Problem:  missing FEAT_MENU guard for w_winbar_height in window.c
          (Char, after v9.2.0083)
Solution: Use WINBAR_HEIGHT() macro (Hirohito Higashi)

fixes:  #19556
closes: #19560

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0103
2026-03-03 20:13:53 +00:00
zeertzjq 5845741d69 patch 9.2.0102: 'listchars' "leadtab" not used in :list
Problem:  'listchars' "leadtab" not used in :list (after 9.2.0088).
Solution: Also check for "leadtab" when using :list. Fix memory leak on
          E1572 if "multispace" or "leadmultispace" is set (zeertzjq).

closes: #19557

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0102
2026-03-03 20:08:12 +00:00
Hirohito Higashi b0ad5c077b patch 9.2.0101: statusline drawing issue for multi-lines
Problem:  statusline drawing issue for multi-lines
          (after v9.2.0083)
Solution: Correctly redraw multi-line statusline
          (Hirohito Higashi).

closes: #19551

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0101
2026-03-03 20:02:07 +00:00
Wei Tang 238a84621d patch 9.2.0100: Using reserved keyword new as function argument
Problem:  A recent commit introduced a new function named
          `update_highlight_overrides()` in `highlight.pro` and
          `highlight.c`, one of the parameter names conflicts with the C++
          keyword `new`. This causes compilation issues on Windows when
          VIM is compiled with OLE enabled, as "if_ole.cpp" cannot compile
          due to the conflict (after v9.2.0093).
Solution: Rename the parameter name of `update_highlight_overrides()`
          from new to hl_new (Wei Tang)

fixes:  #19568
closes: #19558

Signed-off-by: Wei Tang <gauchyler@uestc.edu.cn>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0100
2026-03-03 19:50:15 +00:00
Christian Brabandt b2bc54534c patch 9.2.0099: compiler warning about unused variable
Problem:  Coverity complains about uninitialized var, also gcc warns
          about a few other variables possibly being used uninitialized
          (Tony Mechelynck, after v9.2.0093)
Solution: Initialize a few other variables.

Coverity CID: 1683101

closes: #19561

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0099
2026-03-03 18:37:25 +00:00
Christian Brabandt bc959db163 patch 9.2.0098: Coverity: Error handling issue in win_init()
Problem:  Coverity: error handling issues in win_init() (after
          v9.2.0093)
Solution: Only call pop_highlight_overrides() when
          push_highlight_overrides() was successful.

CID: 1683100

related: #19561

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0098
2026-03-03 18:34:01 +00:00
Christian Brabandt f7a568ebeb runtime(syntax-tests): regenerate dump files (after v9.2.0093)
closes: #19553

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-03 18:28:32 +00:00
Christian Brabandt e352bb632a patch 9.2.0097: Memory leak in qf_push_dir()
Problem:  Memory leak in qf_push_dir() (after v9.2.0091)
Problem:  free dirname, if it is not a directory.

closes: #19552

Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0097
2026-03-03 18:25:24 +00:00
Yasuhiro Matsumoto 327e0e34c9 patch 9.2.0096: has() function is slow due to linear feature scan
Problem:  The has() function is slow because it performs a linear scan
          of the feature list for every call.
Solution: Move common runtime checks and the patch-version parser to the
          beginning of the f_has() function (Yasuhiro Matsumoto).

closes: #19550

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0096
2026-03-02 20:41:44 +00:00
AstroSnail 962a8c7f00 patch 9.2.0095: keypad keys may shadow normal keys
Problem:  In XTerm, typing Home, End, PgUp or PgDn on the editing pad
	  will cause vim to recognize <kHome>, <kEnd>, <kPageUp> or
	  <kPageDown> (keypad keys) instead of <Home>, <End>, <PageUp>
	  or <PageDown> (editing pad keys) respectively, affecting
          mappings and the :terminal. This is caused because the keypad
          termcaps are sorted before the editing pad ones in
	  termcodes, meaning vim will match the former if they are the
	  same.
Solution: Only recognize keypad keys when nothing else matches
          (AstroSnail).

fixes:  #17331
closes: #19145

Signed-off-by: AstroSnail <astrosnail@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
v9.2.0095
2026-03-02 20:06:48 +00:00
Christian Brabandt 9166f1c09b translation: regenerate po/vim.pot after v9.2.0093
also update one failing syntax test

related: #19493

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-03-02 19:58:22 +00:00