]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
6 weeks agopatch 9.2.0064: popup: opacity feature causes flickering v9.2.0064
Hirohito Higashi [Thu, 26 Feb 2026 20:49:06 +0000 (20:49 +0000)] 
patch 9.2.0064: popup: opacity feature causes flickering

Problem:  popup: opacity feature causes flickering
          (after v9.2.0016)
Solution: Only skip the mask and enable the opacity context if
          w_popup_blend is greater than 0 (Hirohito Higashi).

fixes:  #19510
fixes:  #19499
closes: #19515

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0063: memory leak in type_name_list_or_dict() v9.2.0063
Huihui Huang [Thu, 26 Feb 2026 20:41:11 +0000 (20:41 +0000)] 
patch 9.2.0063: memory leak in type_name_list_or_dict()

Problem:  memory leak in type_name_list_or_dict()
Solution: Free the variable member_free on early returns (Huihui Huang).

closes: #19513

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0062: Using the wrong field with DAP channel mode v9.2.0062
Foxe Chen [Wed, 25 Feb 2026 21:43:06 +0000 (21:43 +0000)] 
patch 9.2.0062: Using the wrong field with DAP channel mode

Problem:  Using the wrong field with DAP channel mode
          (after v9.2.0060)
Solution: Use request_seq instead of seq when handing DAP response
          (Foxe Chen).

closes: #19511

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0061: Not possible to know when a session will be loaded v9.2.0061
Colin Kennedy [Wed, 25 Feb 2026 21:08:15 +0000 (21:08 +0000)] 
patch 9.2.0061: Not possible to know when a session will be loaded

Problem:  Not possible to know when a session will be loaded.
Solution: Add the SessionLoadPre autocommand (Colin Kennedy).

fixes:  #19084
closes: #19306

Signed-off-by: Colin Kennedy <colinvfx@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0060: No support for the DAP channel mode v9.2.0060
Foxe Chen [Wed, 25 Feb 2026 20:53:21 +0000 (20:53 +0000)] 
patch 9.2.0060: No support for the DAP channel mode

Problem:  No support for the DAP channel mode
Solution: Add native channel support for the debug-adapter-protocol
          (Foxe Chen)

closes: #19432

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0059: memory leak in fill_assert_error v9.2.0059
Huihui Huang [Wed, 25 Feb 2026 20:36:36 +0000 (20:36 +0000)] 
patch 9.2.0059: memory leak in fill_assert_error

Problem:  memory leak in fill_assert_error
Solution: Free the variables (Huihui Huang).

fixes:  #19502
closes: #19507

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0058: Compile error in did_set_previewpopup() v9.2.0058
John Marriott [Wed, 25 Feb 2026 20:26:45 +0000 (20:26 +0000)] 
patch 9.2.0058: Compile error in did_set_previewpopup()

Problem:  Compile error in did_set_previewpopup() when quickfix
          feature is not included (John Marriott, after v9.2.0051)
Solution: Add ifdef FEAT_QUICKFIX (John Marriott)

related: #18873

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0057: memory leak in exe_newdict() v9.2.0057
Huihui Huang [Wed, 25 Feb 2026 20:18:16 +0000 (20:18 +0000)] 
patch 9.2.0057: memory leak in exe_newdict()

Problem:  memory leak in exe_newdict()
Solution: Free the variable item (Huihui Huang).

closes: #PR

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0056: memory leak in ex_substitute v9.2.0056
Huihui Huang [Wed, 25 Feb 2026 20:10:07 +0000 (20:10 +0000)] 
patch 9.2.0056: memory leak in ex_substitute

Problem:  memory leak in ex_substitute
Solution: Free the variable (Huihui Huang)

fixes:  #19501
closes: #19506

Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0055: memory leak in ExpandFromContext() v9.2.0055
Huihui Huang [Wed, 25 Feb 2026 20:04:07 +0000 (20:04 +0000)] 
patch 9.2.0055: memory leak in ExpandFromContext()

Problem:  memory leak in ExpandFromContext()
Solution: Free the variable (Huihui Huang).

fixes:  #19500
closes: #19505

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Huihui Huang <625173@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0054: eval_addblob() is inefficient v9.2.0054
Yasuhiro Matsumoto [Wed, 25 Feb 2026 19:57:13 +0000 (19:57 +0000)] 
patch 9.2.0054: eval_addblob() is inefficient

Problem:  eval_addblob() is inefficient
Solution: Replace per-byte ga_append() loop with a single ga_grow() and
          mch_memmove() for each source blob.  This eliminates N grow
          checks and function call overhead for blob concatenation
          (Yasuhiro Matsumoto).

closes: #19494

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0053: Vims list concatenation is inefficient v9.2.0053
Yasuhiro Matsumoto [Wed, 25 Feb 2026 19:31:37 +0000 (19:31 +0000)] 
patch 9.2.0053: Vims list concatenation is inefficient

Problem:  Vims list concatenation is inefficient
Solution: Use a single allocation of len1 + len2 using
          list_alloc_with_items() (Yasuhiro Matsumoto).

Replace list_copy() + list_extend() (N+1 individual mallocs) with a
single list_alloc_with_items(len1+len2) call.  This reduces the number
of memory allocations from O(N) to O(1) for the list '+' operator.

closes: #19495

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0052: Wayland: hiding lower half of command line in tiny vim v9.2.0052
Hirohito Higashi [Tue, 24 Feb 2026 22:13:52 +0000 (22:13 +0000)] 
patch 9.2.0052: Wayland: hiding lower half of command line in tiny vim

Problem:  Running gvim with a tiny build under a Wayland compositor
          hides the bottom half of the command line
          (dezza, after v9.1.1585).
Solution: When Wayland display protocol support is not compiled in
          (HAVE_WAYLAND not defined), force the X11 GDK backend to avoid
          display issues. This restores the gdk_set_allowed_backends("x11")
          call that was removed by patch 9.1.1585, but only for builds
          without Wayland support (e.g. tiny builds, see patch 9.1.1565)
          (Hirohito Higashi)

fixes:  #19483
closes: #19504

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0051: 'previewpopup' is missing features available in 'completepopup' v9.2.0051
Arkissa [Tue, 24 Feb 2026 21:45:22 +0000 (21:45 +0000)] 
patch 9.2.0051: 'previewpopup' is missing features available in 'completepopup'

Problem:  The 'previewpopup' option lacks several customization values
          that 'completepopup' supports, such as borders, shadows,
          and UI handles.
Solution: Add support for "border", "borderhighlight", "close",
          "resize", and "shadow" to 'previewpopup' (Arkissa)

closes: #18873

Signed-off-by: Arkissa <mrarkssac@gmail.com>
Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0050: WM_SETFOCUS not handled immediately v9.2.0050
Muraoka Taro [Tue, 24 Feb 2026 21:30:43 +0000 (21:30 +0000)] 
patch 9.2.0050: WM_SETFOCUS not handled immediately

Problem:  In gvim on Windows, a certain problem can occur when the
          WM_SETFOCUS event sent after an external command is not
          processed immediately.
Solution: After posting WM_SETFOCUS, run the message loop to process it
          as quickly as possible (Muraoka Taro).

The problem is that Test_normal11_showcmd may fail when running the
test_normal.vim test.  Investigation revealed that the trigger was an
external command executed in the previous test,
Test_mouse_shape_after_failed_change, when two tests were executed
consecutively.  In gvim on Windows, a WM_SETFOCUS event will be sent
when an external command finishes executing.  This WM_SETFOCUS event is
not processed immediately, but rather by redraw, which is expected to
update showcmd. Because it is queued in typebuf at this time,
clear_showcmd(), which expects typebuf to be empty, cannot update
showcmd.

Also added a test that simulates the above problem.

closes: #19167

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0049: Vim9: typename() wrong for lists/dicts/tuples with shared references v9.2.0049
Hirohito Higashi [Tue, 24 Feb 2026 21:22:38 +0000 (21:22 +0000)] 
patch 9.2.0049: Vim9: typename() wrong for lists/dicts/tuples with shared references

Problem:  Vim9: typename() returns wrong type for lists/dicts/tuples
          with shared references (Mao-Yining).
Solution: Reset CopyID after processing the item so it can be
          re-inspected if encountered again via a different reference
          (Hirohito Higashi).

fixes:  #19490
closes: #19492

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0048: MS-Windows: ConPTY not yet preferred v9.2.0048
bennyyip [Tue, 24 Feb 2026 21:13:40 +0000 (21:13 +0000)] 
patch 9.2.0048: MS-Windows: ConPTY not yet preferred

Problem:  MS-Windows: ConPTY not yet preferred
Solution: Mark ConPTY as stable starting with Windows 11 (build 22000).
          Vim will now prefer ConPTY over winpty on these systems.

fixes:  #19033
closes: #19037

Signed-off-by: bennyyip <yebenmy@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0047: Vim9: Comment parsing error with lambda v9.2.0047
Hirohito Higashi [Tue, 24 Feb 2026 20:56:06 +0000 (20:56 +0000)] 
patch 9.2.0047: Vim9: Comment parsing error with lambda

Problem:  Vim9: Comment parsing error with lambda (Mao-Yining)
Solution: Drop the skipwhite() (Hirohito Higashi)

fixes:  #19484
closes: #19487

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agoruntime(sshconfig): Add 3 additional keywords to syntax script
James Roberts-Thomson [Tue, 24 Feb 2026 20:51:47 +0000 (20:51 +0000)] 
runtime(sshconfig): Add 3 additional keywords to syntax script

closes: #19488

Signed-off-by: James Roberts-Thomson <jamesrt@gmail.com>
Signed-off-by: Jakub Jelen <jakuje@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0046: filetype: neon files are not recoginzed v9.2.0046
przepompownia [Tue, 24 Feb 2026 20:33:55 +0000 (20:33 +0000)] 
patch 9.2.0046: filetype: neon files are not recoginzed

Problem:  filetype: neon files are not recoginzed
Solution: Detect *.neon files as neon filetype
          (przepompownia)

Reference:
https://doc.nette.org/en/neon/format
https://github.com/fpob/nette.vim

closes: #19496

Signed-off-by: przepompownia <przepompownia@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0045: wrongly resetting the foreground cterm color v9.2.0045
Yasuhiro Matsumoto [Sun, 22 Feb 2026 20:00:52 +0000 (20:00 +0000)] 
patch 9.2.0045: wrongly resetting the foreground cterm color

Problem:  wrongly resetting the foreground cterm color
          (lilydjwg, after v9.2.0017)
Solution: Remove useless statement (Yasuhiro Matsumoto).

fixes:  #19485
closes: #19486

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agotranslation(it): Update Italian translation
Antonio Giovanni Colombo [Sun, 22 Feb 2026 19:58:49 +0000 (19:58 +0000)] 
translation(it): Update Italian translation

Signed-off-by: Antonio Giovanni Colombo <azc100@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0044: Wayland: still performance issues v9.2.0044
Christoffer Aasted [Sun, 22 Feb 2026 19:01:12 +0000 (19:01 +0000)] 
patch 9.2.0044: Wayland: still performance issues

Problem:  Wayland: still performance issues
          (lilydjwg, after v9.2.0010)
Solution: Revert another part of Patch v9.2.0010
          (Christoffer Aasted)

Revert "perf(gtk-wayland): avoid early redraws; compositor does redraw"

fixes:  #19471
fixes:  #19481
closes: #19482

Signed-off-by: Christoffer Aasted <dezzadk@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agotests(commondumps): Make mark-line-related optimisations
Aliaksei Budavei [Sun, 22 Feb 2026 18:58:37 +0000 (18:58 +0000)] 
tests(commondumps): Make mark-line-related optimisations

- Generate once (and inline) all alphabetical mark names.
- Allocate all markable "setpos" lists in advance.
- Continue tolerating redundant "setpos" calls that reset
  mark "`" for motions within a line or motions between
  paired lines (i.e. the lines for which mark "`" is made
  reciprocal) rather than making "getpos" calls that check
  the position of mark "`" before conditionally changing it
  with "setpos" since checking a mark position is slower
  than setting it according to profiling samples.
- Observe sparing use of empty lines.

closes: #19476

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agoCI: Avoid referencing the unstable ddebs.ubuntu.com/noble-proposed mirror
Hirohito Higashi [Sat, 21 Feb 2026 18:00:13 +0000 (18:00 +0000)] 
CI: Avoid referencing the unstable ddebs.ubuntu.com/noble-proposed mirror

closes: #19480

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0043: crypt: Crash when reading an encrypted UTF-8 file v9.2.0043
Foxe Chen [Sat, 21 Feb 2026 17:53:06 +0000 (17:53 +0000)] 
patch 9.2.0043: crypt: Crash when reading an encrypted UTF-8 file

Problem:  crypt: Crash when reading an encrypted  UTF-8 file.
          This happens because readfile() does not account for leftover
          conversion bytes (conv_restlen) when reallocating and moving
          the buffer after decryption (smss2022).
Solution: Include conv_restlen in the offset calculations and memmove
          operations within readfile() (Foxe Chen).

fixes:  #19425
closes: #19453

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0042: crypt: cannot decrypt empty file v9.2.0042
Foxe Chen [Sat, 21 Feb 2026 17:34:20 +0000 (17:34 +0000)] 
patch 9.2.0042: crypt: cannot decrypt empty file

Problem:  crypt: cannot decrypt empty file (smss2022)
Solution: Update wrong condition in check_for_cryptkey()
          (Foxe Chen)

fixes:  #19416
closes: #19455

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0041: Not always using GA_CONCAT_LITERAL v9.2.0041
John Marriott [Sat, 21 Feb 2026 17:24:47 +0000 (17:24 +0000)] 
patch 9.2.0041: Not always using GA_CONCAT_LITERAL

Problem:  Not always using GA_CONCAT_LITERAL with string literals.
          (after: v9.2.0031)
Solution: Use the GA_CONCAT_LITERAL, instead of ga_concat_len.
          (John Marriott)

closes: #19468

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agoAdd information for runtime files in the bug template.
Mao-Yining [Sat, 21 Feb 2026 11:09:00 +0000 (11:09 +0000)] 
Add information for runtime files in the bug template.

closes: #19469

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agoMaintainers: Update MAINTAINERS file
Mao-Yining [Sat, 21 Feb 2026 11:06:25 +0000 (11:06 +0000)] 
Maintainers: Update MAINTAINERS file

closes: #19470

Co-Authored-By: Enno <Konfekt@users.noreply.github.com>
Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0040: completion: preinsert wrong with register completion v9.2.0040
Girish Palya [Sat, 21 Feb 2026 10:56:26 +0000 (10:56 +0000)] 
patch 9.2.0040: completion: preinsert wrong with register completion

Problem:  completion: preinsert wrong with register completion
Solution: Remove preinserted text during register content insertion
          (Girish Palya).

fixes:  #19329
closes: #19474

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0039: potential integer underflow in screen_line() v9.2.0039
Christian Brabandt [Sat, 21 Feb 2026 10:50:20 +0000 (10:50 +0000)] 
patch 9.2.0039: potential integer underflow in screen_line()

Problem:  In screen_line(), there is a potential integer underflow when
          accessing ScreenAttrs[off_to - 1] if off_to is zero.
          (Coverity CID 1681430, after v9.2.0017)
Solution: Add a check to ensure off_to > 0 before accessing the
          previous attribute index.

related: #19272
closes:  #19479

Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agotranslation(sr): Update Serbian messages translation
Ivan Pešić [Sat, 21 Feb 2026 10:40:23 +0000 (10:40 +0000)] 
translation(sr): Update Serbian messages translation

closes: #19472

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0038: Wayland: Not using bool type v9.2.0038
Hirohito Higashi [Sat, 21 Feb 2026 10:36:13 +0000 (10:36 +0000)] 
patch 9.2.0038: Wayland: Not using bool type

Problem:  Wayland: Not using Boolean type (after v9.2.0010)
Solution: Use bool type instead of int (Hirohito Higashi).

closes: #19473

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0037: netrw: need better tests for absolute paths v9.2.0037
Miguel Barro [Sat, 21 Feb 2026 10:23:36 +0000 (10:23 +0000)] 
patch 9.2.0037: netrw: need better tests for absolute paths

Problem:  netrw: need better tests for absolute paths
Solution: Use absolutepath(), instead of regex test (Miguel Barro).

closes: #19477

Signed-off-by: Guybrush <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0036: completion: thesaurus completion incorrect with "longest/fuzzy" v9.2.0036
Girish Palya [Sat, 21 Feb 2026 10:10:17 +0000 (10:10 +0000)] 
patch 9.2.0036: completion: thesaurus completion incorrect with "longest/fuzzy"

Problem:  completion: thesaurus completion incorrect with
          "longest/fuzzy" (Mao-Yining)
Solution: Disable fuzzy matching and longest-match insertion
          specifically for thesaurus completion (Girish Palya).

fixes:  #19356
closes: #19475

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0035: syntax highlighting lost in popup with opacity v9.2.0035
Yasuhiro Matsumoto [Sat, 21 Feb 2026 09:55:18 +0000 (09:55 +0000)] 
patch 9.2.0035: syntax highlighting lost in popup with opacity

Problem:  syntax highlighting lost in popup with opacity lower than 100
          (after v9.2.0017)
Solution: Before blending, combine the popup's window color attribute
          with the character's own attribute using hl_combine_attr()
          (Yasuhiro Matsumoto).

related: #19272
closes:  #19478

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
6 weeks agopatch 9.2.0034: redundant code in hl_blend_attr() v9.2.0034
Christian Brabandt [Sat, 21 Feb 2026 09:39:35 +0000 (09:39 +0000)] 
patch 9.2.0034: redundant code in hl_blend_attr()

Problem:  Redundant code in hl_blend_attr()
          (Coverity, after v9.2.0017)
Solution: Remove redundant if/else logic, remove redundant braces.

related: #19272

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0033: filetype: sh filetype used for env files v9.2.0033
DuckAfire [Thu, 19 Feb 2026 18:04:46 +0000 (18:04 +0000)] 
patch 9.2.0033: filetype: sh filetype used for env files

Problem:  filetype: sh filetype used for env files
Solution: Detect *.env and .env.* files as env filetype,
          detect .envrc and .envrc.* as sh filetype,
          include a simple env syntax script (DuckAfire)

Previously, .env files were handled by the shell syntax. While
functional, this limited the ability to support specific .env
implementations, such as CodeIgniter4 which allows dots in keys
(e.g., "foo.bar=0").

The new dedicated 'env' filetype and syntax script improves legibility
and prevents highlighting from breaking when encountering spaces.
Currently, the syntax does not support indentation; fields, variables,
and comments must start at the beginning of the line.

closes: #19260

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: DuckAfire <155199080+duckafire@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(typeset): enable localization for ConTeXt, METAFONT and MetaPost
Ivan Pešić [Thu, 19 Feb 2026 17:53:18 +0000 (17:53 +0000)] 
runtime(typeset): enable localization for ConTeXt, METAFONT and MetaPost

This will enable localization of the messages that are displayed
by the ConTeXt support script.

closes: #19176

Signed-off-by: Ivan Pešić <27575106+eevan78@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(apache): Add 'SSLVHostSNIPolicy' declaration to syntax script
Michael Osipov [Thu, 19 Feb 2026 17:46:21 +0000 (17:46 +0000)] 
runtime(apache): Add 'SSLVHostSNIPolicy' declaration to syntax script

The declaration 'SSLVHostSNIPolicy' has bee introduced in version 2.4.66.

closes: #19452

Signed-off-by: Michael Osipov <michael.osipov@innomotics.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0032: completion: hang with line completion and fuzzy v9.2.0032
Hirohito Higashi [Thu, 19 Feb 2026 17:35:55 +0000 (17:35 +0000)] 
patch 9.2.0032: completion: hang with line completion and fuzzy

Problem:  completion: hang with line completion and fuzzy (Jesse Pavel)
Solution: Only check the line number when wrapping around the file
          (Hirohito Higashi).

fixes:  #19434
closes: #19443

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0031: Inefficient use of ga_concat() v9.2.0031
John Marriott [Thu, 19 Feb 2026 17:25:27 +0000 (17:25 +0000)] 
patch 9.2.0031: Inefficient use of ga_concat()

Problem:  Inefficient use of ga_concat()
Solution: Use ga_concat_len() when the length is already known to avoid
          use of strlen() (John Marriott).

closes: #19422

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0030: completion: non-prefix matches shown when leader is NULL v9.2.0030
Hirohito Higashi [Thu, 19 Feb 2026 17:06:43 +0000 (17:06 +0000)] 
patch 9.2.0030: completion: non-prefix matches shown when leader is NULL

Problem:  When 'autocomplete' fires before compl_leader is initialized,
          the prefix filter is bypassed. This allows non-prefix matches
          (e.g. from fuzzy omnifuncs) to be shown in the popup menu and
          incorrectly preinserted.
Solution: In get_leader_for_startcol(), if compl_leader.string is NULL,
          fall back to using compl_orig_text as a filter for matches
  starting at or after the completion column (Hirohito Higashi).

When 'autocomplete' first fires, compl_leader is NULL because
ins_compl_start() has not set it yet.  This caused the prefix filter in
ins_compl_build_pum(), find_next_completion_match() and
find_common_prefix() to be bypassed, allowing non-prefix fuzzy omnifunc
matches to appear in the PUM and be preinserted.

Extend get_leader_for_startcol() to fall back to compl_orig_text when
compl_leader.string is NULL: if the match's cpt source startcol is less
than compl_col the match includes pre-compl_col text, so return
&compl_leader (NULL string) to signal "pass through"; otherwise return
&compl_orig_text so callers filter by the original text.  The compl_col
<= 0 guard is kept only for the prepend-text path to avoid it
interfering with the NULL-leader fallback when compl_col is zero.

With this change all callers of get_leader_for_startcol() automatically
receive the correct filter string without additional helpers.

Also update Test_autocomplete_trigger Test 9 to reflect the new
behavior: 'faberge' is no longer shown when completing 'foo' because
it does not start with the current prefix.

Add Test_autocomplete_preinsert_null_leader() to verify that only
prefix-matching candidates appear in the PUM and are preinserted.

fixes:  #19328
closes: #19447

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0029: STRLEN() used for a string literal v9.2.0029
Yasuhiro Matsumoto [Thu, 19 Feb 2026 16:55:39 +0000 (16:55 +0000)] 
patch 9.2.0029: STRLEN() used for a string literal

Problem:  STRLEN() used for a string literal
Solution: Use STRLEN_LITERAL instead (Yasuhiro Matsumoto).

closes: #19450

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(progress): Use setlocal for expandtab
Daniel Smith [Thu, 19 Feb 2026 16:44:45 +0000 (16:44 +0000)] 
runtime(progress): Use setlocal for expandtab

The Progress syntax file gained `set expandtab` in 4c3f536f4 (updated
for version 7.0d01, 2006-04-11). The Progress language itself doesn't
distinguish between tabs and spaces for indentation, so this seems like
something that should be left to user preference; but the setting is
accompanied by the comment "The Progress editor doesn't cope with tabs
very well", so there may be reason to keep it.

However, using `set` means that any new buffers created after editing a
Progress file will also have `expandtab` turned on, which is likely
contrary to a user's expectations. We should use `setlocal` instead to
avoid this.

closes: #19458

Signed-off-by: Daniel Smith <daniel@rdnlsmith.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0028: matchadd() conceal may use unrelated syntax cchar v9.2.0028
zeertzjq [Thu, 19 Feb 2026 16:42:09 +0000 (16:42 +0000)] 
patch 9.2.0028: matchadd() conceal may use unrelated syntax cchar

Problem:  matchadd() conceal may use unrelated syntax cchar.
Solution: Only use syntax cchar when syntax_flags has HL_CONCEAL
          (zeertzjq).

closes: #19459

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0027: filetype: yara files are not recognized v9.2.0027
Thomas Dupuy [Thu, 19 Feb 2026 16:12:06 +0000 (16:12 +0000)] 
patch 9.2.0027: filetype: yara files are not recognized

Problem:  filetype: yara files are not recognized
Solution: Detect *.yara and *.yar files as yara filetype
          (Thomas Dupuy).

Reference:
- https://github.com/VirusTotal/yara
- https://github.com/VirusTotal/yara-x

closes: #19460

Signed-off-by: Thomas Dupuy <thom4s.d@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0026: The ss_pending_cmds variable is visible globally v9.2.0026
Foxe Chen [Thu, 19 Feb 2026 16:06:47 +0000 (16:06 +0000)] 
patch 9.2.0026: The ss_pending_cmds variable is visible globally

Problem:  The ss_pending_cmds variable is visible globally
Solution: Make it static (Foxe Chen).

closes: #19461

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(less.sh): Fix reading from stdin.
Shane Harper [Wed, 18 Feb 2026 22:28:21 +0000 (22:28 +0000)] 
runtime(less.sh): Fix reading from stdin.

Problem:  less.sh can't read from stdin; it will try to read from a file named "-" instead (after 515da6ecdb).
Solution: Do not prepend "-" with "--" in the arguments list for vim.

The following were checked manually and worked as expected:
    echo Test | less.sh
    echo Test | less.sh -
    less.sh some_file
    less.sh --cmd some_file  # vim will try to load "--cmd" and "some_file".
    less.sh                  # script outputs "No input."
    # All of the above repeated with the output piped to 'cat'.

closes: #19462

Signed-off-by: Shane Harper <shane@shaneharper.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agotranslation(zh): Update menu translation for changed "Sponsor" entry
Mao-Yining [Wed, 18 Feb 2026 22:24:14 +0000 (22:24 +0000)] 
translation(zh): Update menu translation for changed "Sponsor" entry

closes: #19463

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(doctags): remove unused header include file
Mao-Yining [Wed, 18 Feb 2026 22:19:06 +0000 (22:19 +0000)] 
runtime(doctags): remove unused header include file

closes: #19465

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoFilelist: Fix CI error caused by xdg.vim missing in Filelist
Hirohito Higashi [Wed, 18 Feb 2026 22:14:00 +0000 (22:14 +0000)] 
Filelist: Fix CI error caused by xdg.vim missing in Filelist

closes: #19466

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(xdg): Move viminfofile storage to state dir
Christian Brabandt [Thu, 19 Feb 2026 11:24:53 +0000 (12:24 +0100)] 
runtime(xdg): Move viminfofile storage to state dir

fixes: #19456

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(xdg): remove // from 'undo' and 'viwedir'
Christian Brabandt [Thu, 19 Feb 2026 06:38:04 +0000 (07:38 +0100)] 
runtime(xdg): remove // from 'undo' and 'viwedir'

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0025: filetype: cshtml incorrectly recognized v9.2.0025
tris203 [Wed, 18 Feb 2026 22:00:09 +0000 (22:00 +0000)] 
patch 9.2.0025: filetype: cshtml incorrectly recognized

Problem:  filetype: cshtml incorrectly recognized, razor files are not
          recognized
Solution: Detect *.cshtml and *.razor files as razor filetype
          (tris203)

Reference:
https://learn.microsoft.com/en-us/aspnet/core/mvc/views/razor?view=aspnetcore-10.0

closes: #19207

Signed-off-by: tris203 <admin@snappeh.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0024: Reading files with very long lines crashes with a segfault v9.2.0024
Christian Brabandt [Wed, 18 Feb 2026 21:52:40 +0000 (21:52 +0000)] 
patch 9.2.0024: Reading files with very long lines crashes with a segfault

Problem:  Reading files with lines approaching MAXCOL length crashes
          with segfault due to colnr_T overflow.
Solution: The split check 'linerest >= MAXCOL' fired too late because
          linerest could grow by up to 'size' bytes before the next
          check. Change threshold to 'linerest >= MAXCOL - size' to
          ensure the line passed to ml_append() stays within colnr_T
          range.

Note: supported by AI claude

fixes:   #17935
closes:  #18953
closes:  #19332

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0023: fix integer overflow in ml_append_int() for long lines v9.2.0023
Christian Brabandt [Wed, 18 Feb 2026 21:49:58 +0000 (21:49 +0000)] 
patch 9.2.0023: fix integer overflow in ml_append_int() for long lines

Problem:  ml_append_int() crashes when appending lines near MAXCOL
          length due to signed integer overflow in space_needed
          calculation.
Solution: Change 'space_needed' from int to long to handle the
          'len + INDEX_SIZE' computation without overflow. Update
          db_free comparison casts from (int) to (long) to match.

Note: supported by AI claude

related: #17935
related: #18953
related: #19332

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0022: bt_quickfix() is slow v9.2.0022
zeertzjq [Wed, 18 Feb 2026 21:42:25 +0000 (21:42 +0000)] 
patch 9.2.0022: bt_quickfix() is slow

Problem:  In order to prevent a use-after-free, bt_quickfix() added a
          call to buf_valid(), which slows it down, because Vim has to
          loop through many buffers all the time (v9.0.1859)
Solution: Patch v9.0.2010 fixed a similar problem, so that the call to
          buf_valid() is no longer required (zeertzjq)

fixes:  #19169
closes: #19183

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0021: channel: connection timeout fails to fall back to IPv4 v9.2.0021
thinca [Wed, 18 Feb 2026 21:34:57 +0000 (21:34 +0000)] 
patch 9.2.0021: channel: connection timeout fails to fall back to IPv4

Problem:  When ch_open() tries to connect to a hostname that resolves to
          multiple addresses (e.g., both IPv6 and IPv4), it uses a
          single waittime for all connection attempts. If the first IPv6
          connection attempt times out, it consumes almost all of the
          waittime, leaving insufficient time (often just 1ms) for the
          IPv4 attempt to succeed. (reporter)
Solution: Implement a simplified version of Happy Eyeballs (RFC 8305) to
          improve connection fallback behavior when IPv6 is unavailable
          or slow (thinca).

Distribute the waittime across multiple addresses:
- First address: use up to 250ms (RFC 8305 Connection Attempt Delay) or
  half of the total waittime, whichever is smaller
- Middle addresses: divide remaining time equally
- Last address: use all remaining time

This ensures that IPv4 fallback has sufficient time to succeed even when
IPv6 connection attempts fail or timeout.

closes: #19233

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0020: Wrong shortened buffer after :cd with duplicate slashes v9.2.0020
zeertzjq [Wed, 18 Feb 2026 21:27:50 +0000 (21:27 +0000)] 
patch 9.2.0020: Wrong shortened buffer after :cd with duplicate slashes

Problem:  Wrong shortened buffer name after :cd with duplicate slashes.
Solution: Skip over multiple consecutive path separators (zeertzjq).

related: neovim/neovim#37080
closes:  #19444

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(doc): Mention xdg.vim in version9.txt
Christian Brabandt [Wed, 18 Feb 2026 21:24:40 +0000 (21:24 +0000)] 
runtime(doc): Mention xdg.vim in version9.txt

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0019: Hard to configure Vim according to full XDG spec v9.2.0019
Andrey Butirsky [Wed, 18 Feb 2026 21:14:24 +0000 (21:14 +0000)] 
patch 9.2.0019: Hard to configure Vim according to full XDG spec

Problem:  Hard to configure Vim according to full XDG spec
Solution: Include the $VIMRUNTIME/xdg.vim script as an example.
          (Andrey Butirsky).

closes: #19421

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Andrey Butirsky <butirsky@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(syntax-tests): Fail when executable syntax tests are found
Aliaksei Budavei [Wed, 18 Feb 2026 18:35:26 +0000 (18:35 +0000)] 
runtime(syntax-tests): Fail when executable syntax tests are found

The input files with syntax test cases are never compiled or
interpreted on behalf of test runners, just read, and their
parts are rendered in accordance with syntax definitions for
associated languages, to be compared with previously vetted
renderings.  Whether their arbitrary contents will be valid
programs, benign programs, etc., is left for test authors to
decide and verify in their own environments.  As executable
and non-executable files equally qualify for testing and yet
executability is never exercised, and since maintaining
executable files turns out to be a short-lived exception
than common practice, let us persist in keeping syntax files
non-executable and enforce it with a CI check.

closes: #19433

Co-authored-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoREADME.md: mention r/vim and #vim libera
Christoffer Aasted [Wed, 18 Feb 2026 18:29:16 +0000 (18:29 +0000)] 
README.md: mention r/vim and #vim libera

closes: #19440

Signed-off-by: Christoffer Aasted <dezzadk@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0018: high cpu usage with Wayland compositor v9.2.0018
Christoffer Aasted [Wed, 18 Feb 2026 18:13:18 +0000 (18:13 +0000)] 
patch 9.2.0018: high cpu usage with Wayland compositor

Problem:  High cpu usage with Wayland compositor
          (lilydjwg, after v9.2.0010).
Solution: Partly revert patch v9.2.0010 for now
          (Christoffer Aasted)

fixes:  #19448
closes: #19451

Signed-off-by: Christoffer Aasted <dezzadk@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0017: popup: cannot allow to specify transparency v9.2.0017
Yasuhiro Matsumoto [Wed, 18 Feb 2026 17:58:54 +0000 (17:58 +0000)] 
patch 9.2.0017: popup: cannot allow to specify transparency

Problem:  popup: Popup windows do not support a transparency setting.
Solution: Add the "opacity" option to popup windows to support
          transparency when using the GUI or 'termguicolors'
          (Yasuhiro Matsumoto).

closes: #19272

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(less.sh): simplify the script and avoid startup messages
Shane Harper [Wed, 18 Feb 2026 17:30:27 +0000 (17:30 +0000)] 
runtime(less.sh): simplify the script and avoid startup messages

closes: #19445

Signed-off-by: Shane Harper <shane@shaneharper.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0016: popup border not redrawn correctly with wide chars v9.2.0016
Yasuhiro Matsumoto [Wed, 18 Feb 2026 17:15:37 +0000 (17:15 +0000)] 
patch 9.2.0016: popup border not redrawn correctly with wide chars

Problem:  When a popup window's border overwrites part of a wide
          character from another popup, the remaining half loses its
          original attribute (background color) because it is reset to 0.
Solution: Modify screen_line(), screen_puts_len(), and screen_fill() to
          preserve the existing ScreenAttrs value when clearing wide
          character boundaries. Also ensure background data is refreshed
          for transparent popup cells (Yasuhiro Matsumoto).

closes: #19299

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(ccomplete): handle structs from tags file
Christian Brabandt [Wed, 18 Feb 2026 16:37:39 +0000 (17:37 +0100)] 
runtime(ccomplete): handle structs from tags file

fixes: #7292

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agotranslation(ta): Update Tamil Translation
தமிழ் நேரம் [Tue, 17 Feb 2026 19:57:55 +0000 (19:57 +0000)] 
translation(ta): Update Tamil Translation

closes: #19435

Signed-off-by: தமிழ் நேரம் <67970539+TamilNeram@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0015: Vim gets confused by OSC handling v9.2.0015
Foxe Chen [Mon, 16 Feb 2026 22:26:57 +0000 (22:26 +0000)] 
patch 9.2.0015: Vim gets confused by OSC handling

Problem:  Vim gets confused by OSC handling, causing Vim to start in
          search mode (Shane Harper, after v9.1.1703)
Solution: In handle_mapping(), check if we are handling OSC sequences
          and if yes go straight to check_termcode() (Foxe Chen)

fixes:  #19426
closes: #19435

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoproto: make proto doesn't handle bool type correctly
Hirohito Higashi [Mon, 16 Feb 2026 22:20:50 +0000 (22:20 +0000)] 
proto: make proto doesn't handle bool type correctly

closes: #19436

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(doc): Update runtimepath default locations
Andrey Butirsky [Mon, 16 Feb 2026 22:17:06 +0000 (22:17 +0000)] 
runtime(doc): Update runtimepath default locations

Stop mentioning "home directory" in the rtp search locations 1. and 5.,
which is incorrect in case of XDG scheme. $MYVIMDIR is correct, so use
this instead.

closes: #19438

Signed-off-by: Andrey Butirsky <butirsky@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0014: unsafe string functions may lead to buffer overflows v9.2.0014
Yasuhiro Matsumoto [Mon, 16 Feb 2026 22:03:29 +0000 (22:03 +0000)] 
patch 9.2.0014: unsafe string functions may lead to buffer overflows

Problem:  Unsafe string functions may lead to buffer overflows
Solution: Use vim_strncpy() instead of strpcy(), replace sprintf() by
          vim_snprintf() (Yasuhiro Matsumoto)

closes: #19412

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0013: parallel make invocation may break Wayland header generation v9.2.0013
Jan Palus [Mon, 16 Feb 2026 21:46:27 +0000 (21:46 +0000)] 
patch 9.2.0013: parallel make invocation may break Wayland header generation

Problem:  parallel make invocation may break Wayland header generation
Solution: Use single make target to generate Wayland protocol files.
          (Jan Palus)

$(WAYLAND_SRC) contains up to 4 files which, given right timing and
parallelization level, can spawn 4 independent `make` processes during
parallel build. Each process generates same set of files intermittently
leading to inconsistent results. Instead use one common target each
source file depends on.

fixes:  #19419
closes: #19420

Signed-off-by: Jan Palus <jpalus@fastmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0012: Build fails when wayland is not defined v9.2.0012
Christoffer Aasted [Mon, 16 Feb 2026 21:39:57 +0000 (21:39 +0000)] 
patch 9.2.0012: Build fails when wayland is not defined

Problem:  Build fails when wayland is not defined
          (fjaell, after v9.2.0010)
Solution: Add ifdef GDK_WINDOWING_WAYLAND
          (Christoffer Aasted)

fixes:  #19429
closes: #19428

Signed-off-by: Christoffer Aasted <chr.aasted@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0011: A few double semicolons after statement v9.2.0011
Christian Brabandt [Mon, 16 Feb 2026 21:32:29 +0000 (21:32 +0000)] 
patch 9.2.0011: A few double semicolons after statement

Problem:  A few double semicolons after statement
Solution: Remove those, add a codestyle test

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(doc): Update version9.txt, update the description of getwininfo()
Hirohito Higashi [Sun, 15 Feb 2026 18:09:36 +0000 (18:09 +0000)] 
runtime(doc): Update version9.txt, update the description of getwininfo()

closes: #19424

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoFix a few more typos in various files
zeertzjq [Sun, 15 Feb 2026 18:03:37 +0000 (18:03 +0000)] 
Fix a few more typos in various files

closes: #19427

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(doc): correct XDG runtimepath
Andrey Butirsky [Sun, 15 Feb 2026 18:00:52 +0000 (18:00 +0000)] 
runtime(doc): correct XDG runtimepath

There is no `/after` directory.

closes: #19431

Signed-off-by: Andrey Butirsky <butirsky@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0010: Using Wayland compositor is still slow v9.2.0010
Christoffer Aasted [Sun, 15 Feb 2026 17:21:03 +0000 (17:21 +0000)] 
patch 9.2.0010: Using Wayland compositor is still slow

Problem:  Using the Wayland backend in GTK, rendering remains slow due
          to per-line redraws, unnecessary Cairo push/pop groups, and
          scroll operations that allocate new surfaces repeatedly.
Solution: Improve rendering performance (Christoffer Aasted).

This commit does the following:
- Add gui.is_wayland to detect Wayland backend
- Avoid blocking the input loop
- Skip early redraws; let the compositor handle full-screen redraws
- Use CAIRO_OPERATOR_SOURCE to overwrite instead of blend
- Reuse scroll source region for destination scroll region
- Optimize fast scroll-up
- Remove cairo_push_group/pop_group and cairo_clip in scroll path
  to reduce allocations (~50MB saved on 4K fractional scale)

Since Wayland redraws the entire screen between updates (unlike X11),
further performance gains are possible by batching drawing in other code
paths, e.g.:
- message.c: batch lines to avoid scroll
- term.c: batch terminal redraws

These could be refactored later to deferred redraw with Wayland.

closes: #19062

Signed-off-by: Christoffer Aasted <dezzadk@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0009: tests: test_cindent are not ordered v9.2.0009
Christian Brabandt [Sun, 15 Feb 2026 16:38:49 +0000 (16:38 +0000)] 
patch 9.2.0009: tests: test_cindent are not ordered

Problem:  tests: the tests test_cindent_* functions were numbered
          inconsistently, causing them to be executed in wrong order.
Solution: Rename the test_cindent functions with zero-padded numbers.

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(zip): use system() instead of :!
Mao-Yining [Sun, 15 Feb 2026 16:36:29 +0000 (16:36 +0000)] 
runtime(zip): use system() instead of :!

- ':!' is not stable, so use system() to get more consistent behaviour.
- Only warns when using 'pwsh'.
- Remove trailing spaces.

closes: #19370

Co-Authored-by: @lxhillwind
Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0008: MS-Windows: font size calculation may be wrong v9.2.0008
Char [Sun, 15 Feb 2026 16:27:52 +0000 (16:27 +0000)] 
patch 9.2.0008: MS-Windows: font size calculation may be wrong

Problem:  MS-Windows: font size calculation may be wrong when font does
          not specify a valid ascent value. (Char, after v9.1.2129)
Solution: Calculate ascent as a ratio of ascent to total font height
          with a fallback if metrics are zero.

Fallback to default value when font does not specify ascent value.

As proposed in https://github.com/vim/vim/pull/19318#issuecomment-3864669253

related: #19318
closes:  #19367

Signed-off-by: Char <peacech@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0007: cindent: recognizing labels within commented lines v9.2.0007
Anttoni Erkkilä [Sun, 15 Feb 2026 16:21:15 +0000 (16:21 +0000)] 
patch 9.2.0007: cindent: recognizing labels within commented lines

Problem:  Comment lines which start like a label are recognized as a
          label and indented based on that.
Solution: Check if the position is in a comment after recognizing a label
          in cin_islabel (Anttoni Erkkilä)

closes: #19397

Signed-off-by: Anttoni Erkkilä <anttoni.erkkila@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0006: powershell commands wrongly wrapped when executed v9.2.0006
Peter Lustig [Sun, 15 Feb 2026 16:14:11 +0000 (16:14 +0000)] 
patch 9.2.0006: powershell commands wrongly wrapped when executed

Problem:  powershell commands wrongly wrapped when executed
Solution: Use &{ ... } to wrap commands when powershell/pwsh is in use
          (Peter Lustig).

Allow compound commands with 'system()' when 'shell' is 'pwsh'

When the 'shell' option was set to 'powershell' or 'pwsh' and the
'system()' vimscript function was called with an argument containing two
or more shell commands (delimited by ';' or '&'), the function would
always fail with 'E282'.

The cause of the error was that VIM would wrap the shell command string
with parentheses (to allow the entire output to be redirected to a
temporary file for capturing) before actually passing it to the
PowerShell process for execution.

Unlike the typical shell that uses parentheses to group commands (and
possibly spawn a subshell), PowerShell uses them to resolve a single
command (pipeline) to an expression. To group multiple commands with
PowerShell, you must instead wrap them with either the subexpression
operator '$(...)' or an immediately evaluated script block '& { ... }'.
The latter option may be more efficient since it does not buffer its
output like for the former one does.

closes: #19401

Signed-off-by: Peter Lustig <tiamatX18@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0005: Coverity reports unreachable code v9.2.0005
Christian Brabandt [Sun, 15 Feb 2026 16:07:27 +0000 (16:07 +0000)] 
patch 9.2.0005: Coverity reports unreachable code

Problem:  Coverity reports unreachable code, CID: 1681310
Solution: Drop the ternary checking for non-NULL of from_encoding_raw.

closes: #19402

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(fstab): Add cgroup2 to valid device types
Radu Dineiu [Sun, 15 Feb 2026 16:05:41 +0000 (16:05 +0000)] 
runtime(fstab): Add cgroup2 to valid device types

closes: #19403

Signed-off-by: Radu Dineiu <radu.dineiu@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(hare): update syntax script for Hare 0.26.0
Amelia Clarke [Sun, 15 Feb 2026 16:03:52 +0000 (16:03 +0000)] 
runtime(hare): update syntax script for Hare 0.26.0

closes: #19398

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(vim): Error codes should not be highlighed with vim9CommentTitle
Peter Kenny [Sun, 15 Feb 2026 15:59:36 +0000 (15:59 +0000)] 
runtime(vim): Error codes should not be highlighed with vim9CommentTitle

closes: #19390

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(netrw): Use right file system commands initialization for Windows
Miguel Barro [Sun, 15 Feb 2026 15:50:24 +0000 (15:50 +0000)] 
runtime(netrw): Use right file system commands initialization for Windows

closes: #19287
fixes:  #12290

Signed-off-by: Miguel Barro <miguel.barro@live.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0004: Changing hidden prompt buffer cancels :startinsert/:stopinsert v9.2.0004
zeertzjq [Sun, 15 Feb 2026 15:38:19 +0000 (15:38 +0000)] 
patch 9.2.0004: Changing hidden prompt buffer cancels :startinsert/:stopinsert

Problem:  Changing hidden prompt buffer cancels :startinsert/:stopinsert
          (after 9.0.1439).
Solution: Don't change mode for a prompt buffer in an autocommand
          window (zeertzjq).

closes: #19410

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0003: tests: invalid indent in message.c v9.2.0003
Christian Brabandt [Sun, 15 Feb 2026 15:35:37 +0000 (15:35 +0000)] 
patch 9.2.0003: tests: invalid indent in message.c

Problem:  tests: invalid indent in message.c
          (after: v9.2.0002)
Solution: Use tabs for indent

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoMakefile: dosrt target fails because of duplicate lang directories
Christian Brabandt [Sun, 15 Feb 2026 15:31:26 +0000 (15:31 +0000)] 
Makefile: dosrt target fails because of duplicate lang directories

Problem:  Makefile: dosrt target fails because of duplicate lang directories
Solution: Rename the parent lang/ directory to readme/

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(sh): fix spurious nextgroup=shComment on shEscape
Bozhidar Batsov [Sun, 15 Feb 2026 14:53:55 +0000 (14:53 +0000)] 
runtime(sh): fix spurious nextgroup=shComment on shEscape

Remove `nextgroup=shComment` from the `shEscape` syntax pattern.
This was causing `#` characters after escape sequences inside
double-quoted strings to be misinterpreted as comments, breaking
highlighting for the rest of the file.

Add a test case for escaped characters followed by # in double quotes.

fixes:  #19053
closes: #19414

Signed-off-by: Bozhidar Batsov <bozhidar@batsov.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0002: str2specialbuf() can be improved v9.2.0002
Yasuhiro Matsumoto [Sun, 15 Feb 2026 14:48:54 +0000 (14:48 +0000)] 
patch 9.2.0002: str2specialbuf() can be improved

Problem:  str2specialbuf() can be improved
Solution: Optimize str2specialbuf function in message.c
          (Yasuhiro Matsumoto)

closes: #19415

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoREADME: Updated version from 91 to 92 in various READMEs
mikoto2000 [Sun, 15 Feb 2026 14:26:30 +0000 (14:26 +0000)] 
README: Updated version from 91 to 92 in various READMEs

closes: #19404

Signed-off-by: mikoto2000 <mikoto2000@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.1.0001: tests: Test_popup_setbuf() fails v9.2.0001
Christian Brabandt [Sun, 15 Feb 2026 14:22:29 +0000 (14:22 +0000)] 
patch 9.1.0001: tests: Test_popup_setbuf() fails

Problem:  tests: Test_popup_setbuf fails, because the dump file contains
          a reference to Vim version 9.1 (after v9.2.0000)
Solution: Replace Version number by 9.1 always.

closes: #19406

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.2.0: Need a new Vim release v9.2.0 v9.2.0000
Christian Brabandt [Sat, 14 Feb 2026 14:47:24 +0000 (14:47 +0000)] 
patch 9.2.0: Need a new Vim release

Problem:  Need a new Vim release
Solution: Release Vim 9.2 🎉

Signed-off-by: Christian Brabandt <cb@256bit.org>