]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
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>
7 weeks agoruntime(doc): Update todo.txt and remove solved issues
Christian Brabandt [Sat, 14 Feb 2026 10:19:14 +0000 (10:19 +0000)] 
runtime(doc): Update todo.txt and remove solved issues

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agoruntime(doc): Clarify :bd behaviour
Christian Brabandt [Fri, 13 Feb 2026 20:53:49 +0000 (20:53 +0000)] 
runtime(doc): Clarify :bd behaviour

closes: #19389

Signed-off-by: Christian Brabandt <cb@256bit.org>
7 weeks agopatch 9.1.2148: [security]: Buffer overflow in netbeans interface v9.1.2148
Christian Brabandt [Fri, 13 Feb 2026 09:27:12 +0000 (10:27 +0100)] 
patch 9.1.2148: [security]: Buffer overflow in netbeans interface

Problem:  [security]: Buffer overflow in netbeans special_keys() handling
Solution: Limit writing to max KEYBUFLEN bytes to prevent writing out of
          bounds.

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-9w5c-hwr9-hc68

Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(doc): Fix typos in version9.txt
Bozhidar Batsov [Fri, 13 Feb 2026 16:17:22 +0000 (16:17 +0000)] 
runtime(doc): Fix typos in version9.txt

closes: #19392

Signed-off-by: Bozhidar Batsov <bozhidar@batsov.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(systemverilog): use correct matchit pattern for the covergroup block
TG [Fri, 13 Feb 2026 16:14:27 +0000 (16:14 +0000)] 
runtime(systemverilog): use correct matchit pattern for the covergroup block

A covergroup start with the "covergroup" keyword and ends with the
"endgroup" keyword. "group" is not even a reserved keyword in systemverilog.

Reference:
https://www.chipverify.com/systemverilog/systemverilog-covergroup-coverpoint#covergroup
https://github.com/MikePopoloski/slang/blob/master/docs/grammar.md#covergroup_declaration

closes: #19393

Signed-off-by: TG <tarik.graba@telecom-paris.fr>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(doc): Fix typos in markdown READMEs
Bozhidar Batsov [Fri, 13 Feb 2026 16:08:24 +0000 (16:08 +0000)] 
runtime(doc): Fix typos in markdown READMEs

closes: #19394

Signed-off-by: Bozhidar Batsov <bozhidar@batsov.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(go,gleam): Remove 'formatprg' from ftplugins
Doug Kearns [Fri, 13 Feb 2026 16:05:17 +0000 (16:05 +0000)] 
runtime(go,gleam): Remove 'formatprg' from ftplugins

Effective use of 'formatprg' requires both an understanding of the
specific capabilities of the formatting tool and Vim's formatting
commands.  This is overly burdensome for some users.

Rather than address each complaint on a filetype by filetype basis,
remove 'formatprg' settings from all ftplugins.

It is expected that formatter plugins will be available in the near
future as a better solution. See #17145 (Add "formatter" feature using
"compiler" as a template).

Note: 'formatprg' will be removed from older ftplugins after the release
of Vim 9.2. The setting was added to the go and gleam ftplugins during
the current development cycle and have not been included in a Vim
release.

See: #18650 (rust.vim: stop setting formatprg to rustfmt)

closes: #19108

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(sudoers): highlight usernames with hyphens, digits, underscores
Bozhidar Batsov [Fri, 13 Feb 2026 15:49:02 +0000 (15:49 +0000)] 
runtime(sudoers): highlight usernames with hyphens, digits, underscores

The username/group/netgroup patterns used \l\+ which only matched
lowercase letters. Linux usernames commonly contain hyphens, digits,
and underscores (e.g. www-data, deploy01, test_user).

Update the pattern to \l[-a-z0-9_]* to allow matching the additional
characters "-_" and numbers.

fixes:  #18963
closes: #19396

Signed-off-by: Bozhidar Batsov <bozhidar@batsov.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(doc): Use ellipses for overlength example comments at :help vim9.txt
Doug Kearns [Fri, 13 Feb 2026 15:42:42 +0000 (15:42 +0000)] 
runtime(doc): Use ellipses for overlength example comments at :help vim9.txt

Use ellipses, matching the file's general style, rather than hard
truncation of overlength tail comments in examples.

closes: #19298

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(css): Add missing numeric units
DuckAfire [Fri, 13 Feb 2026 08:02:28 +0000 (09:02 +0100)] 
runtime(css): Add missing numeric units

- Add missing numeric units to css syntax script
  (baseline 2015, 2020, 2022, 2023, 2026):
    dvb, dvh, dvi, dvmax, dvmin, dvw ic,
    lvb, lvh, lvi, lvmax, lvmin, lvw, svb, svh,
    svi, svmax, svmin, svw, vb, vi, x, cap, lh,
    rlh, rcap, rch, rex, ric

closes: #19325

Signed-off-by: DuckAfire <155199080+duckafire@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoinstallman: Update the sed patterns in installman.sh
Julio B [Fri, 13 Feb 2026 07:50:52 +0000 (08:50 +0100)] 
installman: Update the sed patterns in installman.sh

Problem: Installing man pages does not change the placeholder file paths
Solution: Update the sed patterns in installman.sh

Additionally we remove the sed command to update the path to the ps Vim
files for those reasons:
- All the postscript files were moved to the print/ subdirectory in
  Commit e37d50a
- the sed command was wrongly quoting $vimloc so would wrongly try to
  search for the literal value $vimloc instead of using the expanded
  value.

related: ce6fe84db21f
closes:  #19382

Signed-off-by: Julio B <julio.bacel@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agopatch 9.1.2147: Compile warning in strings.c v9.1.2147
John Marriott [Fri, 13 Feb 2026 07:45:29 +0000 (08:45 +0100)] 
patch 9.1.2147: Compile warning in strings.c

Problem:  Compile warning in strings.c
Solution: Use const qualifier (John Marriott).

closes: #19387

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(doc): various netrw related corrections
Peter Kenny [Fri, 13 Feb 2026 07:29:30 +0000 (08:29 +0100)] 
runtime(doc): various netrw related corrections

closes: #19391

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agopatch 9.1.2146: filetype: cel files are not recognized v9.1.2146
Stefan VanBuren [Thu, 12 Feb 2026 17:22:42 +0000 (18:22 +0100)] 
patch 9.1.2146: filetype: cel files are not recognized

Problem:  filetype: cel files are not recognized
Solution: Detect *.cel files as cel filetype (Stefan VanBuren).

Reference:
https://cel.dev/
https://github.com/google/cel-java/blob/e36c49febc36bcb16ef4f07274fcc8873c1eee59/testing/src/test/resources/expressions/coverage_test_case/simple_expression.cel
https://github.com/elastic/mito/blob/d0d2dbabae5c563dd943c61fd52992acb655942d/example.cel

closes: #19381

Signed-off-by: Stefan VanBuren <svanburen@buf.build>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(sh): Fix some ksh-specific deficiencies in syntax script
Johnothan King [Thu, 12 Feb 2026 17:17:59 +0000 (18:17 +0100)] 
runtime(sh): Fix some ksh-specific deficiencies in syntax script

- Amend syntax highlighting to allow for ksh93 discipline function names
  (e.g. 'foo.get()') and mksh's odd function naming idiosyncrasies
  (shNamespaceOne was introduced to enforce stricter naming rules for
  ksh93 namespaces).
- Remove 'bind' from ksh93 syntax (such a builtin has never been
  implemented in ksh93).
- 'xgrep' is only available in ksh93v- as an alternative way to
  invoke the builtin 'grep -X', so reflect that in the syntax
  highlighting.
- Forbid bash-style 'function name() {' syntax when highlighting
  ksh88 and ksh93 scripts.
- Fix bug causing ' ()' to be incorrectly validated in mksh scripts.
- Add the many ksh93/ksh2020 .sh.* variables to the list of special
  variables.
- Amend iskeyword to allow '.' so that '.sh.tilde.get' and such are
  valid function names/variable names. (For mksh functions starting
  with odd characters like '%' and '@' this would probably have too
  many bad side effects, so I've omitted such a change for that shell.)
- Add new syntax tests and regenerate syntax dump files

closes: #19383

Signed-off-by: Johnothan King <johnothanking@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(sshdconfig): Update syntax
Fionn Fitzmaurice [Thu, 12 Feb 2026 17:13:37 +0000 (18:13 +0100)] 
runtime(sshdconfig): Update syntax

We add new key exchange algorithms and new enums for PubkeyAuthOptions.

We also add new keywords from sshd_config.5 not present here and remove
keywords present here that are not present in the official
documentation, with the exception of those patched in by Debian and
Fedora, as well as ChallengeResponseAuthentication which is deprecated
but still functional.

closes: #19347

Signed-off-by: Fionn Fitzmaurice <git@fionn.computer>
Signed-off-by: Jakub Jelen <jakuje@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agopatch 9.1.2145: intstalltutor Makefile target does not create the tutor/sv dir v9.1.2145
Ross Burton [Thu, 12 Feb 2026 16:50:03 +0000 (17:50 +0100)] 
patch 9.1.2145: intstalltutor Makefile target does not create the tutor/sv dir

Problem:  intstalltutor Makefile target does not create the tutor/sv dir
Solution: Add the missing mkdir() calls to the Makefile (Ross Burton)

The installtutor target doesn't explicitly create the Swedish directory
that it is going to put files into:

  make[1]: Entering directory 'vim-9.1.2128/src'
  /bin/sh install-sh -c -d DESTDIR/usr/share/vim/vim91
  chmod 755 DESTDIR/usr/share/vim/vim91
  /bin/sh install-sh -c -d DESTDIR/usr/share/vim/vim91/tutor/en
  chmod 755 DESTDIR/usr/share/vim/vim91/tutor/en
  /bin/sh install-sh -c -d DESTDIR/usr/share/vim/vim91/tutor/sr
  chmod 755 DESTDIR/usr/share/vim/vim91/tutor/sr
  /bin/sh install-sh -c -d DESTDIR/usr/share/vim/vim91/tutor/it
  chmod 755 DESTDIR/usr/share/vim/vim91/tutor/it
  /bin/sh install-sh -c -d DESTDIR/usr/share/vim/vim91/tutor/ru
  chmod 755 DESTDIR/usr/share/vim/vim91/tutor/ru
  cp ../runtime/tutor/README* ../runtime/tutor/tutor* DESTDIR/usr/share/vim/vim91/tutor
  cp ../runtime/tutor/en/* DESTDIR/usr/share/vim/vim91/tutor/en/
  cp ../runtime/tutor/it/* DESTDIR/usr/share/vim/vim91/tutor/it/
  cp ../runtime/tutor/ru/* DESTDIR/usr/share/vim/vim91/tutor/ru/
  cp ../runtime/tutor/sr/* DESTDIR/usr/share/vim/vim91/tutor/sr/
  cp ../runtime/tutor/sv/* DESTDIR/usr/share/vim/vim91/tutor/sv/
  cp: target 'DESTDIR/usr/share/vim/vim91/tutor/sv/': No such file or directory

Add the missing dependency on $(DEST_TUTOR)/sv to ensure this directory
is created.

closes: #19385

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(django): add syntax support for partial
tecis [Thu, 12 Feb 2026 16:46:54 +0000 (17:46 +0100)] 
runtime(django): add syntax support for partial

Add djangoStatement integrated in version 6. 'partialdef',
'endpartialdef', 'partial'.

[Template Reference: partial](https://docs.djangoproject.com/en/6.0/ref/templates/builtins/#partial)((introduced in Django 6.0)
and 'filter'.

closes: #19386

Signed-off-by: tecis <67809811+tecis@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agotests(commondumps): Mark and fold lines in screendump views
Aliaksei Budavei [Tue, 10 Feb 2026 21:55:36 +0000 (22:55 +0100)] 
tests(commondumps): Mark and fold lines in screendump views

- Dynamically set mark "`" to pair disparate lines and
  initially set marks "`a", "`b", etc. for as many lines in
  the difference part.  Note that users are free to delete
  or change any set alphabetic marks without it affecting
  the dynamic updating of mark "`"; alphabetic marks only
  serve to help with arriving at "summary" lines, e.g.
  "`a````".
- Create a fold for the difference part (but defer to users
  the closing of it) so that disparate lines that fit real
  estate can be viewed at the same time, as an alternative
  to the builtin "s" keystroke that swaps top and bottom
  parts in place.
- Fold and mark lines with the "git difftool" extension too.

closes: #19380

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(vimgoto): Fix gf in Vim script
thinca [Tue, 10 Feb 2026 21:52:58 +0000 (22:52 +0100)] 
runtime(vimgoto): Fix gf in Vim script

Problem: `gf` in Vim script fails if multiple target files exist.
Solution: Use globpath() which returns an array.

In a Vim script, `gf` on `some#func()` will jump to `autoload/some.vim`.
In this case, if there are multiple `autoload/foo.vim`s in
'runtimepath', `globpath(&runtimepath, path)` will return multiple
paths, separated by newlines.
As a result, the second and subsequent paths will be executed as
commands in `autoload/vimgoto.vim:195`, causing an error.
This change fixes this issue by making the result of `globpath()` an
array.

closes: #19379

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(java): Allow for org.TopLevelType<T>.NestedType return types
Aliaksei Budavei [Tue, 10 Feb 2026 21:48:57 +0000 (22:48 +0100)] 
runtime(java): Allow for org.TopLevelType<T>.NestedType return types

closes: #19349

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(doc): Fix typo in runtime/doc/cmdline.txt
Hirohito Higashi [Tue, 10 Feb 2026 21:46:22 +0000 (22:46 +0100)] 
runtime(doc): Fix typo in runtime/doc/cmdline.txt

closes: #19378

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(ruby): Update for Vim 9.2 release
Doug Kearns [Tue, 10 Feb 2026 13:12:22 +0000 (14:12 +0100)] 
runtime(ruby): Update for Vim 9.2 release

closes: #19316

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(doc): clarify the use of 'iskeyword' option value
Christian Brabandt [Mon, 9 Feb 2026 20:51:58 +0000 (20:51 +0000)] 
runtime(doc): clarify the use of 'iskeyword' option value

In particular, also mention the difference between the regex atom \k and
what Vim considers for a word character.

closes: #18688

Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agopatch 9.1.2144: garbage collection may invalidate the recorded buffer changes v9.1.2144
Paul Ollis [Mon, 9 Feb 2026 19:30:14 +0000 (19:30 +0000)] 
patch 9.1.2144: garbage collection may invalidate the recorded buffer changes

Problem:  When garbage collection runs, the list of recorded buffer
  changes may be incorrectly freed (Sainnhe Park).
Solution: In garbage_collect(), iterate through all buffers and call
          set_ref_in_list() for b_recorded_changes to ensure the list
          and its contents are marked as reachable (Paul Ollis).

fixes:  #19300
closes: #19375

Signed-off-by: Paul Ollis <paul@cleversheep.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(doc): Mark 'scrollfocus' as non-functional
Christian Brabandt [Mon, 9 Feb 2026 19:21:02 +0000 (19:21 +0000)] 
runtime(doc): Mark 'scrollfocus' as non-functional

related: #19368

Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agopatch 9.1.2143: wrong rendering of popups when overlapping wide char v9.1.2143
Yasuhiro Matsumoto [Mon, 9 Feb 2026 19:08:24 +0000 (19:08 +0000)] 
patch 9.1.2143: wrong rendering of popups when overlapping wide char

Problem:  When a popup window partially overlaps a wide character
          it results in truncated or garbage display.
Solution: When a wide character is partially blocked by a popup, clear both
          cells in the screen buffer to prevent garbage (Yasuhiro Matsumoto).

closes: #19271

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agopatch 9.1.2142: MS-Windows: mouse scroll events not handled for popups v9.1.2142
Mao-Yining [Mon, 9 Feb 2026 18:49:48 +0000 (18:49 +0000)] 
patch 9.1.2142: MS-Windows: mouse scroll events not handled for popups

Problem:  MS-Windows: mouse scroll events not handled for popups
Solution: Do not return early (Mao-Yining)

Ensure mouse wheel events on popup windows are properly processed by
sending the corresponding key messages. Previously, early returns
prevented normal event flow, causing popup windows to ignore scroll
input.

fixes:  #19353
closes: #19369

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(doc): add Swedish entries to Make_all.mak, add conversion rule to Makefile
Daniel Nylander [Mon, 9 Feb 2026 18:35:43 +0000 (18:35 +0000)] 
runtime(doc): add Swedish entries to Make_all.mak, add conversion rule to Makefile

closes: #19373

Signed-off-by: Daniel Nylander <po@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(nginx): Update nginx syntax script
Chris Aumann [Sun, 8 Feb 2026 21:24:00 +0000 (21:24 +0000)] 
runtime(nginx): Update nginx syntax script

closes: #19374

Signed-off-by: Chris Aumann <me@chr4.org>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agoruntime(nginx): highlight Lua in set_by_lua_block in syntax script
Josef Schönberger [Sun, 8 Feb 2026 21:19:20 +0000 (21:19 +0000)] 
runtime(nginx): highlight Lua in set_by_lua_block in syntax script

The set_by_lua_block directive of the Lua module takes an additional
variable as an argument which currently breaks the detection of inline
Lua blocks. For example:

    set_by_lua_block $myvar {
        return tonumber(ngx.var.myothervar)-1
    }

closes: #19362

Signed-off-by: Josef Schönberger <josef.schoenberger@tum.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
8 weeks agopatch 9.1.2141: Truncation when serializing libsodium encryption parameters v9.1.2141
Yasuhiro Matsumoto [Sun, 8 Feb 2026 21:04:51 +0000 (21:04 +0000)] 
patch 9.1.2141: Truncation when serializing libsodium encryption parameters

Problem:  Truncation when serializing libsodium encryption parameters.
Solution: Correctly cast to long long type (Yasuhiro Matsumoto).

fixes:  #19248
closes: #19357

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(gdb): Update syntax and ftplugin
Doug Kearns [Sun, 8 Feb 2026 20:51:47 +0000 (20:51 +0000)] 
runtime(gdb): Update syntax and ftplugin

- Change syntax file maintainer.
- Add Guile and Python command highlighting.
- Update command list to version 12.
- Add foldable regions for the commands 'define', 'if' and 'while'
  multiline commands.
- Support documented partial command names.
- Add matchit, browsefilter, and comment formatting support.
- Support embedded C in compiler {code|print} commands.
- Add largely complete settings highlighting and folding.
- Add syntax tests (incomplete).

Thanks to Claudio Fleiner for many years of maintenance.

closes: #10649

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agotranslation(ru): Update Russian translation and fix typos in tutor
Anton Malinskiy [Sat, 7 Feb 2026 22:00:32 +0000 (22:00 +0000)] 
translation(ru): Update Russian translation and fix typos in tutor

closes: #19359

Signed-off-by: Anton Malinskiy <anton@malinskiy.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoRevert "CI: Manage multibyte characters in syntax tests"
Aliaksei Budavei [Sat, 7 Feb 2026 15:48:33 +0000 (15:48 +0000)] 
Revert "CI: Manage multibyte characters in syntax tests"

This reverts commit 0fde6aebddef5cb0428e85040994ba45e55cba99.

With "v9.1.2134" applied, arbitrary multibyte characters are
not replaced with spurious U+FFFD characters (typically when
the host system is under load); U+FFFD characters that are
intentionally written in an input file continue to remain
present for later output and comparison.  The workaround of
"v9.1.1592~3" is no longer necessary.

Also prefer "page_nr" to "nr" in syntax/testdir/runtest.vim

closes: #19348

Signed-off-by: Aliaksei Budavei <0x000c70@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2140: tests: Test_wayland_protocol_error_overflow() fails v9.1.2140
Christian Brabandt [Sat, 7 Feb 2026 15:41:43 +0000 (15:41 +0000)] 
patch 9.1.2140: tests: Test_wayland_protocol_error_overflow() fails

Problem:  tests: Test_wayland_protocol_error_overflow() fails
          (after v9.1.2139)
Solution: try/catch the expected error

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(python3complete): remove trailing white space
Mao-Yining [Sat, 7 Feb 2026 15:28:30 +0000 (15:28 +0000)] 
runtime(python3complete): remove trailing white space

related: #19354

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(compiler): fix space escape in pyright
Mao-Yining [Sat, 7 Feb 2026 15:28:02 +0000 (15:28 +0000)] 
runtime(compiler): fix space escape in pyright

closes: #19354

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2139: Buffer overflow in :wlrestore command v9.1.2139
Christian Brabandt [Sat, 7 Feb 2026 15:07:32 +0000 (15:07 +0000)] 
patch 9.1.2139: Buffer overflow in :wlrestore command

Problem:  Buffer overflow in :wlrestore command, caused by assuming
          wrong buffer length in vwl_log_handler() (Seungyeon Park)
Solution: Use correct buffer size (512 bytes) in vim_vsnprintf()
          to properly truncate long messages.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2138: win_execute() and 'autochdir' can corrupt buffer name v9.1.2138
Ingo Karkat [Sat, 7 Feb 2026 10:41:32 +0000 (10:41 +0000)] 
patch 9.1.2138: win_execute() and 'autochdir' can corrupt buffer name

Problem:  With 'autochdir' win_execute() can corrupt the buffer name,
          causing :write to use wrong path.
Solution: Save and restore b_fname when 'autochdir' is active
          (Ingo Karkat).

This is caused by a bad interaction of the 'autochdir' behavior,
overriding of the current directory via :lchdir, and the temporary
window switching done by win_execute(), manifesting when e.g. a custom
completion inspects other buffers:
1. In the initial state after the :lcd .. we have curbuf->b_fname =
   "Xsubdir/file".
2. do_autochdir() is invoked, temporarily undoing the :lcd .., changing
   back into the Xsubdir/ subdirectory.
3. win_execute() switches windows, triggering win_enter_ext() →
   win_fix_current_dir() → shorten_fnames(TRUE)
4. shorten_fnames() processes *all* buffers
5. shorten_buf_fname() makes the filename relative to the current
   (wrong) directory; b_fname becomes "file" instead of "Xsubdir/file"
6. Directory restoration correctly restores working directory via
   mch_chdir() (skipping a second do_autochdir() invocation because
   apply_acd is FALSE), but b_fname remains corrupted, with the
   "Xsubdir/" part missing.
7. expand("%:p") (and commands like :write) continue to use the
   corrupted filename, resolving to a wrong path that's missing the
   "Xsubdir/" part.

To fix the problem the short filename is saved if its in effect (i.e.
pointed to by curbuf->b_fname) and 'autochdir' happened. It's then
restored in case of a local cwd override. The conditions limit this
workaround to when 'autochdir' is active *and* overridden by a :lchdir.

closes: #19343

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Ingo Karkat <swdev@ingo-karkat.de>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2137: test: Update tests for OpenBSD v9.1.2137
Kevin Goodsell [Sat, 7 Feb 2026 10:30:33 +0000 (10:30 +0000)] 
patch 9.1.2137: test: Update tests for OpenBSD

Problem:  Some tests are not valid on OpenBSD.
Solution: Add CheckNotOpenBSD, use it to skip certain tests
          (Kevin Goodsell).

Test_readdirex_sort performs locale-dependent sorting. OpenBSD has
minimal locale support.

Test_stdin_no_newline hangs on OpenBSD and FreeBSD. I don't know exactly
why, but it may be due to bash not exiting at the end of the test. This
is skipped in the FreeBSD CI runs because bash is not installed.

Test_detect_fifo uses /dev/fd/ files (via process substitution) as
FIFOs. On OpenBSD the files in /dev/fd are not FIFOs.

closes: #19351

Signed-off-by: Kevin Goodsell <kevin-opensource@omegacrash.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2136: :tab sbuffer may close old tabpage v9.1.2136
zeertzjq [Sat, 7 Feb 2026 10:20:51 +0000 (10:20 +0000)] 
patch 9.1.2136: :tab sbuffer may close old tabpage

Problem:  :tab sbuffer may close old tabpage if BufLeave autocommand
          splits window (after 9.1.0143).
Solution: Only close other windows if the buffer will be unloaded
          (zeertzjq).

related: neovim/neovim#37749
closes: #19352

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(tar): Make the path traversal detection more robust
Christian Brabandt [Sat, 7 Feb 2026 10:12:34 +0000 (10:12 +0000)] 
runtime(tar): Make the path traversal detection more robust

closes: #19341

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): clarify term_cols allowed range in terminal.txt
Kalin KOZHUHAROV [Fri, 6 Feb 2026 14:55:12 +0000 (14:55 +0000)] 
runtime(doc): clarify term_cols allowed range in terminal.txt

Patch 9.0.1527 (related issue: vim/vim#12362) introduced range checking
for `term_cols` parameter of the various terminal related functions, but
did not update the documentation. This is the fix, hopefully I found
everything that mentions is. Also improve the style for `term_rows` to
match.

Code reference ( https://github.com/vim/vim/blob/master/src/job.c#L456 ):
if (opt->jo_term_cols < 0 || opt->jo_term_cols > 1000)

closes: #19346

Signed-off-by: Kalin Kozhuharov <kalin@thinrope.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Add Swedish to help-translated list
Daniel Nylander [Fri, 6 Feb 2026 14:44:18 +0000 (14:44 +0000)] 
runtime(doc): Add Swedish to help-translated list

Swedish Vim documentation is available at:
https://github.com/yeager/vimdoc-sv
https://www.vim.org/translations.php

Translated by Daniel Nylander.

closes: #19344

Signed-off-by: Daniel Nylander <daniel@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Remove Swedish translation help.svx
Christian Brabandt [Fri, 6 Feb 2026 10:21:10 +0000 (10:21 +0000)] 
runtime(doc): Remove Swedish translation help.svx

The translation file should not be included with Vims runtime files.
Translated help files should be made available via a separate project,
like what has been mentioned here:
https://www.vim.org/translations.php

related: #19321

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): fix pattern problem in cmdline.txt
Mao-Yining [Fri, 6 Feb 2026 10:19:55 +0000 (10:19 +0000)] 
runtime(doc): fix pattern problem in cmdline.txt

closes: #19322

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2135: tests: tar plugin does not consider 'nowrapscan' v9.1.2135
Kevin Goodsell [Fri, 6 Feb 2026 10:00:13 +0000 (10:00 +0000)] 
patch 9.1.2135: tests: tar plugin does not consider 'nowrapscan'

Problem:  search() is used to check for the message from tar that
          indicates leading slashes found in the tar archive, or to
          check for the leading slashes themselves. However, if
          'nowrapscan' is in effect these searches are limited to the
          last line and don't find any results. This causes the warning
          message from tar to be seen in the buffer, the "Path Traversal
          Attack Detected" message to be omitted, and editing actions
          can fail. This can be seen, for example, when editing
          src/testdir/samples/evil.tar.
Solution: Use the 'w' flag for search() (Kevin Goodsell)

closes: #19333

Signed-off-by: Kevin Goodsell <kevin-opensource@omegacrash.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(lf): update syntax to support lf version r41
CatsDeservePets [Fri, 6 Feb 2026 09:55:53 +0000 (09:55 +0000)] 
runtime(lf): update syntax to support lf version r41

Also, mark @CatsDeservePets as maintainer.

closes: #18640

Signed-off-by: CatsDeservePets <145048791+CatsDeservePets@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2134: Terminal doesn't handle split UTF-8 sequence after ASCII v9.1.2134
zeertzjq [Fri, 6 Feb 2026 09:48:20 +0000 (09:48 +0000)] 
patch 9.1.2134: Terminal doesn't handle split UTF-8 sequence after ASCII

Problem:  Terminal doesn't handle split UTF-8 sequence after ASCII.
Solution: Only use one UTF-8 encoding state per vterm state (zeertzjq).

fixes:  #16559
closes: #18640

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(hare): update to match upstream
Amelia Clarke [Fri, 6 Feb 2026 09:44:16 +0000 (09:44 +0000)] 
runtime(hare): update to match upstream

closes: #18640

Signed-off-by: Amelia Clarke <selene@perilune.dev>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2133: Another case of buffer overflow with 'helpfile' v9.1.2133
zeertzjq [Fri, 6 Feb 2026 09:37:58 +0000 (09:37 +0000)] 
patch 9.1.2133: Another case of buffer overflow with 'helpfile'

Problem:  Another case of buffer overflow with 'helpfile'.
Solution: Leave room for "tags" in the buffer (zeertzjq).

closes: #19340

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2132: [security]: buffer-overflow in 'helpfile' option handling v9.1.2132
Christian Brabandt [Thu, 5 Feb 2026 18:51:54 +0000 (18:51 +0000)] 
patch 9.1.2132: [security]: buffer-overflow in 'helpfile' option handling

Problem:  [security]: buffer-overflow in 'helpfile' option handling by
          using strcpy without bound checks (Rahul Hoysala)
Solution: Limit strncpy to the length of the buffer (MAXPATHL)

Github Advisory:
https://github.com/vim/vim/security/advisories/GHSA-5w93-4g67-mm43

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agotranslation(tr): Update Turkish translations
Emir SARI [Wed, 4 Feb 2026 17:24:53 +0000 (17:24 +0000)] 
translation(tr): Update Turkish translations

closes: #19334

Signed-off-by: Emir SARI <emir_sari@icloud.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoCI: update FreeBSD runner to 15.0
zeertzjq [Wed, 4 Feb 2026 17:19:28 +0000 (17:19 +0000)] 
CI: update FreeBSD runner to 15.0

closes: #19336

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2131: tests: Test_diff_screen() fails on BSD v9.1.2131
zeertzjq [Wed, 4 Feb 2026 17:14:49 +0000 (17:14 +0000)] 
patch 9.1.2131: tests: Test_diff_screen() fails on BSD

Problem:  tests: Test_diff_screen() fails on BSD
Solution: Use gdiff on BSD systems if available (zeertzjq).

related: #19336

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agotranslation(sv): Remove duplicates from [g]vim.desktop.in
Christian Brabandt [Wed, 4 Feb 2026 16:44:49 +0000 (16:44 +0000)] 
translation(sv): Remove duplicates from [g]vim.desktop.in

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(context): fix issue with SyncTeX and update command
Lifepillar [Wed, 4 Feb 2026 16:31:05 +0000 (16:31 +0000)] 
runtime(context): fix issue with SyncTeX and update command

Remove `--nonstopmode` because (a) ConTeXt always stops anyway, and (b)
`--nonstopmode` disables SyncTeX unconditionally. Add `--paranoid`,
which prevents the command to descend to `..` and `../..`.

Pass the typesetting command only the name of the input file rather than
its full path, as that is more compatible with ConTeXt's syncing
mechanism.

closes: #19323

Signed-off-by: Lifepillar <lifepillar@lifepillar.me>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): add note for -complete=shellcmdline
Mao-Yining [Wed, 4 Feb 2026 16:21:40 +0000 (16:21 +0000)] 
runtime(doc): add note for -complete=shellcmdline

closes: #19330

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2130: Page scrolling in Insert mode beeps v9.1.2130
zeertzjq [Wed, 4 Feb 2026 15:47:51 +0000 (15:47 +0000)] 
patch 9.1.2130: Page scrolling in Insert mode beeps

Problem:  Page scrolling in Insert mode beeps (after 9.1.0211).
Solution: Fix incorrect return value of pagescroll(). Also invert the
          return value of scroll_with_sms() to be less confusing and
          match comments (zeertzjq).

fixes:  #19326
closes: #19327

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(haskellcomplete): fix Undefined variable b:completingLangExtension.
Arkissa [Wed, 4 Feb 2026 15:45:05 +0000 (15:45 +0000)] 
runtime(haskellcomplete): fix Undefined variable b:completingLangExtension.

closes: #19259

Signed-off-by: Arkissa <mrarkssac@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2129: MS-Windows: font size calculation slightly wrong, causing line gaps v9.1.2129
Yasuhiro Matsumoto [Wed, 4 Feb 2026 15:26:22 +0000 (15:26 +0000)] 
patch 9.1.2129: MS-Windows: font size calculation slightly wrong, causing line gaps

Problem:  MS-Windows: font size calculation slightly wrong, causing
          vertical line gaps (Maxim Kim, after v9.1.2127)
Solution: Update font size calculation when using DirectX
          (Yasuhiro Matsumoto).

Use pre-calculated font ascent from font metrics instead of fixed
formula (h * 0.83) to calculate text baseline. This prevents vertical
text shift when font fallback occurs with CJK characters.

closes: #19318

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Update version9.txt with numbered patches
Christian Brabandt [Wed, 4 Feb 2026 15:07:40 +0000 (15:07 +0000)] 
runtime(doc): Update version9.txt with numbered patches

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntimei(vim9): Always launch programs in background (linux)
Mateo Gjika [Tue, 3 Feb 2026 15:24:26 +0000 (15:24 +0000)] 
runtimei(vim9): Always launch programs in background (linux)

closes: #19293

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agotranslation(ta): Include Tamil Translation
தமிழ் நேரம் [Tue, 3 Feb 2026 15:21:41 +0000 (15:21 +0000)] 
translation(ta): Include Tamil Translation

closes: #19312

Signed-off-by: தமிழ் நேரம் <67970539+TamilNeram@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2128: Heap use after free in buf_check_timestamp() v9.1.2128
Sean Dewar [Tue, 3 Feb 2026 15:00:12 +0000 (15:00 +0000)] 
patch 9.1.2128: Heap use after free in buf_check_timestamp()

Problem:  heap UAF if autocommands from reloading a file changed outside
          of Vim wipe its buffer.
Solution: Validate the bufref after buf_reload (Sean Dewar)

closes: #19317

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(c): only set keywordprg when there has 'man'
Mao-Yining [Tue, 3 Feb 2026 14:51:24 +0000 (14:51 +0000)] 
runtime(c): only set keywordprg when there has 'man'

closes: #19319

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>