]> git.ipfire.org Git - thirdparty/vim.git/log
thirdparty/vim.git
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months 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>
2 months agoruntime(vim): Fix for :VimKeywordPrg when syntax does not match
Mark Woods [Tue, 3 Feb 2026 14:48:58 +0000 (14:48 +0000)] 
runtime(vim): Fix for :VimKeywordPrg when syntax does not match

When using vim9-syntax plugin, :VimKeywordPrg does not lookup functions
correctly, as it relies solely on syntax names to find the help topic.

The syntax keyword used for builtin function is vi9FuncNameBuiltin in
vim9-syntax plugin, not vimFuncName expected by :VimKeywordPrg, so the
fallback rules apply, and there is no fallback rule for function calls.

Fix by just checking if the first char after topic is '(', and if so
assume help topic is a function.

closes: #19320

Signed-off-by: Mark Woods <mwoods.online.ie@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agotranslation(sv): Update tutor1.sv to version 1.7
Daniel Nylander [Tue, 3 Feb 2026 14:44:04 +0000 (14:44 +0000)] 
translation(sv): Update tutor1.sv to version 1.7

Updated Swedish translation of the Vim tutor from version 1.5 to 1.7.

Added missing lessons:
- Lesson 1.1.5: TEXT EDITING - APPENDING
- Lesson 1.1.6: EDITING A FILE
- Lesson 1.1 SUMMARY
- Lesson 1.2.3: ON OPERATORS AND MOTIONS
- Lesson 1.2.4: USING A COUNT FOR A MOTION
- Lesson 1.2.5: USING A COUNT TO DELETE MORE
- Lesson 1.2 SUMMARY
- Lesson 1.3.2: THE REPLACE COMMAND
- Lesson 1.3 SUMMARY
- Lesson 1.5.3: SELECTING TEXT TO WRITE (visual mode)
- Lesson 1.6: OPEN, APPEND, REPLACE, COPY/PASTE, OPTIONS
- Lesson 1.7: ONLINE HELP
- Lesson 1.8: CREATE A STARTUP SCRIPT
- Lesson 1.9: CONCLUSION

Original Swedish translation by Johan Svedberg.
Updated by Daniel Nylander.

closes: #19321

Signed-off-by: Daniel Nylander <po@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agotranslation(sv): Add Swedish translation of tutor2
Daniel Nylander [Tue, 3 Feb 2026 14:40:16 +0000 (14:40 +0000)] 
translation(sv): Add Swedish translation of tutor2

Translated by Daniel Nylander.

Covers:
- Text objects (iw, aw, i[, a[, etc.)
- Named registers (a-z)
- Expression register (=)
- Numbered registers (0-9)
- Special registers (+, *, _, -)
- Marks and mark motions

related: #19321

Signed-off-by: Daniel Nylander <po@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agotranslation(sv): Fix typo and help.svx formatting
Daniel Nylander [Tue, 3 Feb 2026 14:38:31 +0000 (14:38 +0000)] 
translation(sv): Fix typo and help.svx formatting

- Fix typo: paranteser -> parenteser (line 240)
- Fix h j k l navigation block being too wide
- Shorten Swedish text to fit proper column width

Closes feedback from PR #18849

related: #19321

Signed-off-by: Daniel Nylander <po@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Clarify the behaviour of command completion functions
Christian Brabandt [Mon, 2 Feb 2026 16:55:41 +0000 (16:55 +0000)] 
runtime(doc): Clarify the behaviour of command completion functions

closes: #19294

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2127: MS-Windows: DirectX renders font too small v9.1.2127
Yasuhiro Matsumoto [Mon, 2 Feb 2026 10:23:27 +0000 (10:23 +0000)] 
patch 9.1.2127: MS-Windows: DirectX renders font too small

Problem:  MS-Windows: DirectX renders font too small in comparison to
          the GDI rendering (Linwei, after v9.1.2125)
Solution: Implement proper font clipping (Yasuhiro Matsumoto)

related: #19254
closes:  #19304

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(odin): update indent and syntax scripts
Maxim Kim [Mon, 2 Feb 2026 10:16:36 +0000 (10:16 +0000)] 
runtime(odin): update indent and syntax scripts

- fix indent of a closing } after another } on previous line
- fix indent of consequent #+feature lines
- highlight #+features

closes: #19310

Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): update win_findbuf() return value
Mao-Yining [Mon, 2 Feb 2026 10:15:04 +0000 (10:15 +0000)] 
runtime(doc): update win_findbuf() return value

[] can also seen as `list<number>`

closes: #19311

Signed-off-by: Mao-Yining <101858210+mao-yining@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2126: vim --version used single column for feature list v9.1.2126
Hirohito Higashi [Mon, 2 Feb 2026 10:08:10 +0000 (10:08 +0000)] 
patch 9.1.2126: vim --version used single column for feature list

Problem:  vim --version used single column for feature list
          (Ben Knoble, after v9.1.1898)
Solution: Restore old behaviour and assume 80 columns, making sure
          the feature list is shown in several columns
          (Ben Knoble, Hirohito Higashi).

fixes:  #19309
closes: #19315

Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(vim): Update base syntax, match Vim9 :unlet command
Doug Kearns [Sun, 1 Feb 2026 15:03:46 +0000 (15:03 +0000)] 
runtime(vim): Update base syntax, match Vim9 :unlet command

closes: #19290

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Improve the description at :help :cwindow
Doug Kearns [Sun, 1 Feb 2026 14:57:50 +0000 (14:57 +0000)] 
runtime(doc): Improve the description at :help :cwindow

Describe the "height" argument when opening the quickfix window.

See: #19302 ("[cl]window" has different behaviour from "[cl]open" about
their argument [height])

related: #19302
closes:  #19305

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2125: MS-Windows: DirectX rendering can be improved v9.1.2125
Yasuhiro Matsumoto [Sat, 31 Jan 2026 16:23:28 +0000 (16:23 +0000)] 
patch 9.1.2125: MS-Windows: DirectX rendering can be improved

Problem:  MS-Windows: DirectX rendering can be improved
Solution: Use lpDx advance, fix vertical text shift and correct
          font-size calculations (Yasuhiro Matsumoto).

This changes DirectWrite rendering to:
- Respect lpDx-provided advance widths instead of always adjusting to
  cell width.
- Use a fixed baseline derived from cell geometry to prevent vertical
  shifts when font fallback occurs (e.g. with CJK characters).
- Correctly convert LOGFONT lfHeight to DirectWrite font size using font
  metrics for closer GDI compatibility.

closes: #19254

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(qf): Update quickfix syntax
GX [Sat, 31 Jan 2026 16:19:36 +0000 (16:19 +0000)] 
runtime(qf): Update quickfix syntax

closes: #19296

Signed-off-by: GX <59413576+gx089@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Fix some overlength lines
Doug Kearns [Sat, 31 Jan 2026 16:13:39 +0000 (16:13 +0000)] 
runtime(doc): Fix some overlength lines

closes: #19286

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(colors): improve catppuccin colorscheme
Maxim Kim [Sat, 31 Jan 2026 16:08:13 +0000 (16:08 +0000)] 
runtime(colors): improve catppuccin colorscheme

- fix readability issue with IncSearch/CurSearch
- add highlights to some of ftplugins distributed with vim

closes: #19295

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2124: blob2str() does not handle UTF-16 encoding v9.1.2124
Yasuhiro Matsumoto [Sat, 31 Jan 2026 15:53:26 +0000 (15:53 +0000)] 
patch 9.1.2124: blob2str() does not handle UTF-16 encoding

Problem:  blob2str() does not handle UTF-16 encoding
          (Hirohito Higashi)
Solution: Refactor the code and fix remaining issues, see below
          (Yasuhiro Matsumoto).

blob2str() function did not properly handle UTF-16/UCS-2/UTF-32/UCS-4
encodings with endianness suffixes (e.g., utf-16le, utf-16be, ucs-2le).
The encoding name was canonicalized too aggressively, losing the
endianness information needed by iconv.

This change include few fixes:

- Preserve the raw encoding name with endianness suffix for iconv calls
- Normalize encoding names properly: "ucs2be" → "ucs-2be", "utf16le" →
  "utf-16le"
- For multi-byte encodings (UTF-16/32, UCS-2/4), convert the entire blob
  first, then split by newlines

convert_string() cannot handle UTF-16 because it uses string_convert()
which expects NUL-terminated strings. UTF-16 contains 0x00 bytes within
characters (e.g., "H" = 0x48 0x00), causing premature termination.
Therefore, for UTF-16/32 encodings, the fix uses string_convert_ext()
with an explicit input length to convert the entire blob at once.

The code appends two NUL bytes (ga_append(&blob_ga, NUL) twice) because
UTF-16 requires a 2-byte NUL terminator (0x00 0x00), not a single-byte
NUL.

- src/strings.c: Add from_encoding_raw to preserve endianness, special
  handling for UTF-16/32 and UCS-2/4
- src/mbyte.c: Fix convert_setup_ext() to use == ENC_UNICODE instead of
  & ENC_UNICODE. The bitwise AND was incorrectly treating UTF-16/UCS-2
  (which have ENC_UNICODE + ENC_2BYTE etc.) as UTF-8, causing iconv
  setup to be skipped.

fixes:  #19198
closes: #19246

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2123: using NOT with a float returns a float in legacy script v9.1.2123
Yegappan Lakshmanan [Sat, 31 Jan 2026 10:29:01 +0000 (10:29 +0000)] 
patch 9.1.2123: using NOT with a float returns a float in legacy script

Problem:  using NOT with a float returns a float in legacy vim script
          (kennypete)
Solution: Return a number instead of a float (Yegappan Lakshmanan)

fixes:  #19282
closes: #19289

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2122: Vim9: Negating a float doesn't result in a bool v9.1.2122
Yegappan Lakshmanan [Sat, 31 Jan 2026 10:25:50 +0000 (10:25 +0000)] 
patch 9.1.2122: Vim9: Negating a float doesn't result in a bool

Problem:  Vim9: Negating a float doesn't result in a boolean
          (kennypete)
Solution: Make it return a boolean (Yegappan Lakshmanan).

related: #19282
related: #19289

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2121: Vim9: type issue when modifying a variable using :legacy v9.1.2121
Yegappan Lakshmanan [Sat, 31 Jan 2026 10:07:02 +0000 (10:07 +0000)] 
patch 9.1.2121: Vim9: type issue when modifying a variable using :legacy

Problem:  Vim9: type issue when modifying a variable using :legacy
          (kennypete)
Solution: In a vim9 script, when modifying a variable using the legacy
          command, check the type (Yegappan Lakshmanan).

fixes:  #18531
closes: #19292

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2120: blob2str() does not restore trailing newline v9.1.2120
thinca [Sat, 31 Jan 2026 09:52:00 +0000 (09:52 +0000)] 
patch 9.1.2120: blob2str() does not restore trailing newline

Problem:  blob2str() does not restore trailing newline
Solution: Append empty string (thinca).

closes: #19288

Signed-off-by: thinca <thinca@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Reformat example at :h gui-w32-fullscreen
Doug Kearns [Sat, 31 Jan 2026 09:42:05 +0000 (09:42 +0000)] 
runtime(doc): Reformat example at :h gui-w32-fullscreen

Use standard indent and remove unnecessary bang.

closes: #19285

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2119: tests: Test_language_cmd fails on OpenBSD v9.1.2119
Kevin Goodsell [Fri, 30 Jan 2026 10:00:27 +0000 (10:00 +0000)] 
patch 9.1.2119: tests: Test_language_cmd fails on OpenBSD

Problem:  tests: Test_language_cmd fails on OpenBSD because the test
          uses an invalid locale name and expects the command to produce
          an error. OpenBSD accepts (almost) any locale name as valid by
          design, so the :lang command succeeds and the test fails.
Solution: Slightly update the "bad" locale name to make it something
          that OpenBSD considers invalid by adding a dot (but not ending
          with ".UTF-8"). Maintain the original two underscores in the
          name because that ensures Windows will also see it as invalid
          (Kevin Goodsell).

closes: #19280

Signed-off-by: Kevin Goodsell <kevin-opensource@omegacrash.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2118: 'cursorline' missing after :diffput to empty buf v9.1.2118
zeertzjq [Fri, 30 Jan 2026 09:57:56 +0000 (09:57 +0000)] 
patch 9.1.2118: 'cursorline' missing after :diffput to empty buf

Problem:  'cursorline' and part of 'statusline' are missing after
          :diffput to an empty buffer.
Solution: Make sure the cursor doesn't go beyond the last line after
          :diffput (zeertzjq)

related: neovim/neovim#37621
closes:  #19281

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2117: unnecessary braces in terminal.c v9.1.2117
Christian Brabandt [Fri, 30 Jan 2026 09:50:46 +0000 (09:50 +0000)] 
patch 9.1.2117: unnecessary braces in terminal.c

Problem:  unnecessary braces in terminal.c
          (Christ van Willegen, after v9.1.2113)
Solution: Remove braces

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2116: crash when using 'tagfunc' v9.1.2116
Yasuhiro Matsumoto [Fri, 30 Jan 2026 09:45:55 +0000 (09:45 +0000)] 
patch 9.1.2116: crash when using 'tagfunc'

Problem:  crash when using 'tagfunc' (Rodrigo Queipo)
Solution: Do not add the user_data to the 'info' dictionary when called
          for insert mode completion (the TAG_INS_COMP flag is set).
          Completion should not depend on the state of a previous tag
          jump. (Yasuhiro Matsumoto)

fixes:  #19255
closes: #19284

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2115: CI: wrong preprocessor indentation v9.1.2115
Yasuhiro Matsumoto [Fri, 30 Jan 2026 09:35:05 +0000 (09:35 +0000)] 
patch 9.1.2115: CI: wrong preprocessor indentation

Problem:  CI: wrong preprocessor indentation
          (after v9.1.2114)
Solution: Update indentation (Yasuhiro Matsumoto)

closes: #19283

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2114: modeless selection not copied to * register v9.1.2114
Foxe Chen [Thu, 29 Jan 2026 19:10:51 +0000 (19:10 +0000)] 
patch 9.1.2114: modeless selection not copied to * register

Problem:  modeless selection not copied to * register when P in
          guioptions (Coacher)
Solution: Make the "P" flag override the "a" and "A" flag
          (Foxe Chen)

fixes:  #19187
closes: #19244

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(tera): update syntax files to support many more tera code
MuntasirSZN [Thu, 29 Jan 2026 19:03:42 +0000 (19:03 +0000)] 
runtime(tera): update syntax files to support many more tera code

This includes macros, keys etc. which were not highlighted before.

closes: #19276

Signed-off-by: Muntasir Mahmud <muntasir.joypurhat@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2113: potential NULL pointer dereference issues v9.1.2113
Yasuhiro Matsumoto [Thu, 29 Jan 2026 18:43:12 +0000 (18:43 +0000)] 
patch 9.1.2113: potential NULL pointer dereference issues

Problem:  potential NULL pointer dereference issues
          (EpheraXun)
Solution: Check returned pointer to be non NULL.
          (Yasuhiro Matsumoto)

fixes:  #19273
closes: #19274

Signed-off-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): Mark the use of "\n" in the tabpanel as experimental
Christian Brabandt [Wed, 28 Jan 2026 22:18:21 +0000 (22:18 +0000)] 
runtime(doc): Mark the use of "\n" in the tabpanel as experimental

related: #19123

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(rust): Fix Rust indentation when string contains "if"
taylor.fish [Wed, 28 Jan 2026 22:04:21 +0000 (22:04 +0000)] 
runtime(rust): Fix Rust indentation when string contains "if"

indent/rust.vim behaves incorrectly when a string literal contains the
substring "if".

For example, in this code:

    let x = "
                motif
    ";
    struct X {
                }

indent/rust.vim thinks that the closing "}" should line up with "motif".

This patch fixes the issue by checking whether the "if" is in a string
literal or comment before considering it to be a match for a subsequent
brace (and also by requiring it to start on a word boundary).

Add an indent test to ensure this does not regress.

closes: #19265

Signed-off-by: taylor.fish <contact@taylor.fish>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(doc): 'ignorecase' affects character classes in the old engine
Christian Brabandt [Wed, 28 Jan 2026 21:58:28 +0000 (21:58 +0000)] 
runtime(doc): 'ignorecase' affects character classes in the old engine

fixes: #19230

Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(helpcurwin): fix E121 error
Peter Kenny [Wed, 28 Jan 2026 21:45:50 +0000 (21:45 +0000)] 
runtime(helpcurwin): fix E121 error

closes: #19270

Signed-off-by: Peter Kenny <github.com@k1w1.cyou>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2112: long statusline may crash if using singlebyte encoding v9.1.2112
zeertzjq [Wed, 28 Jan 2026 21:36:51 +0000 (21:36 +0000)] 
patch 9.1.2112: long statusline may crash if using singlebyte encoding

Problem:  long statusline may crash if using singlebyte encoding
          (fizz-is-on-the-way)
Solution: Drop the non-mbyte codepath and always use the mbyte code
          (zeertzjq)

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agopatch 9.1.2111: Vim9: no error for elseif/else after else v9.1.2111
Hirohito Higashi [Wed, 28 Jan 2026 19:21:10 +0000 (19:21 +0000)] 
patch 9.1.2111: Vim9: no error for elseif/else after else

Problem:  Vim9: no error for elseif/else after else
Solution: Report an error (Hirohito Higashi)

closes: #19263

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>
2 months agoruntime(make): Declare syntax file orphaned
Roland Hieber [Wed, 28 Jan 2026 18:54:48 +0000 (18:54 +0000)] 
runtime(make): Declare syntax file orphaned

closes: #19267

Signed-off-by: Roland Hieber <rohieb@rohieb.name>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2 months agoruntime(8th): Update syntax script
Ron Aaron [Wed, 28 Jan 2026 18:50:55 +0000 (18:50 +0000)] 
runtime(8th): Update syntax script

closes: #19261

Signed-off-by: Ron Aaron <ron@aaron-tech.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): fix missing code block marker in ft-python-syntax
zeertzjq [Mon, 26 Jan 2026 19:56:27 +0000 (19:56 +0000)] 
runtime(doc): fix missing code block marker in ft-python-syntax

related: #18922
closes:  #19261

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(vim): set 'path' to common Vim directories
Mateo Gjika [Mon, 26 Jan 2026 19:45:21 +0000 (19:45 +0000)] 
runtime(vim): set 'path' to common Vim directories

closes: #19219

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agotranslation(sv): Add Swedish translation
Daniel Nylander [Mon, 26 Jan 2026 19:26:08 +0000 (19:26 +0000)] 
translation(sv): Add Swedish translation

closes: #18849

Signed-off-by: Daniel Nylander <po@danielnylander.se>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(python): Highlight built-in constants in Python
Rob B [Mon, 26 Jan 2026 18:52:04 +0000 (18:52 +0000)] 
runtime(python): Highlight built-in constants in Python

Also add syntax tests for those newly constants.

closes: #17788
closes: #18922

Signed-off-by: Rob B <github@0x7e.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(c): set 'keywordprg' to :CKeywordPrg in a GUI
Mateo Gjika [Mon, 26 Jan 2026 18:45:18 +0000 (18:45 +0000)] 
runtime(c): set 'keywordprg' to :CKeywordPrg in a GUI

closes: #19222

Signed-off-by: Mateo Gjika <104777599+mateoxh@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): fix inconsistent indent in ft_rust.txt
zeertzjq [Sun, 25 Jan 2026 18:17:40 +0000 (18:17 +0000)] 
runtime(doc): fix inconsistent indent in ft_rust.txt

related: #19251
closes:  #19257

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(colors): include new catppuccin colorscheme
Maxim Kim [Sun, 25 Jan 2026 18:14:22 +0000 (18:14 +0000)] 
runtime(colors): include new catppuccin colorscheme

closes: #19258

Signed-off-by: Mao-Yining <mao.yining@outlook.com>
Signed-off-by: Maxim Kim <habamax@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): Fix overlength lines in :help {russian,vietnamese}.txt
Doug Kearns [Sun, 25 Jan 2026 18:05:43 +0000 (18:05 +0000)] 
runtime(doc): Fix overlength lines in :help {russian,vietnamese}.txt

closes: #19252

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoCI: check encoding of runtime files with utf-8 name
Christian Brabandt [Sun, 25 Jan 2026 18:03:30 +0000 (18:03 +0000)] 
CI: check encoding of runtime files with utf-8 name

related: #19240
closes:  #19253

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(toml): update syntax and ftplugin.
Aman Verma [Sun, 25 Jan 2026 18:01:31 +0000 (18:01 +0000)] 
runtime(toml): update syntax and ftplugin.

Add "-" to iskeyword. This required a change to the syntax files too
because they were using the word begin and end atoms.

closes: #17259

Co-authored-by: Teemu Ikonen <tpikonen@mailbox.org>
Co-authored-by: A4-Tacks <wdsjxhno1001@163.com>
Signed-off-by: Aman Verma <amanraoverma@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): clarify the help style a bit
Christian Brabandt [Sun, 25 Jan 2026 17:58:30 +0000 (17:58 +0000)] 
runtime(doc): clarify the help style a bit

related: #19250

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2110: filetype: skhd files are not recognized v9.1.2110
Kiyoon Kim [Sun, 25 Jan 2026 17:39:05 +0000 (17:39 +0000)] 
patch 9.1.2110: filetype: skhd files are not recognized

Problem:  filetype: skhd files are not recognized
Solution: Detect .skhdrc and skhdrc as skhd filetype,
          include a syntax and filetype plugin, add syntax tests
          (Kiyoon Kim)

Add syntax highlighting for skhd (simple hotkey daemon for macOS)
configuration files. Includes filetype detection for skhdrc and
.skhdrc files.

Reference:
- https://github.com/asmvik/skhd

closes: #19235

Signed-off-by: Kiyoon Kim <kiyoon@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime: convert *_utf-8.vim files to actual UTF-8 encoding
ThanhNguyxn [Sun, 25 Jan 2026 15:58:33 +0000 (15:58 +0000)] 
runtime: convert *_utf-8.vim files to actual UTF-8 encoding

Several runtime files with "_utf-8" in their filename are actually encoded
in latin1 or cp1255, not UTF-8. This causes errors when tools attempt to
read these files as UTF-8.

Files converted:
- esperanto_utf-8.vim: latin1 -> UTF-8, updated scriptencoding directive
- greek_utf-8.vim: latin1 -> UTF-8
- hebrewp_utf-8.vim: cp1255 (Windows Hebrew) -> UTF-8
- menu_ca.utf-8.vim: latin1 -> UTF-8
- menu_ca_es.utf-8.vim: latin1 -> UTF-8
- menu_pt_pt.utf-8.vim: latin1 -> UTF-8

The actual functionality remains unchanged - only the encoding was modified.

closes: #16390

Signed-off-by: ThanhNguyxn <thanhnguyentuan2007@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): Fix erroneous *roff syntax examples
G. Branden Robinson [Sun, 25 Jan 2026 15:55:20 +0000 (15:55 +0000)] 
runtime(doc): Fix erroneous *roff syntax examples

Problem dates back at least to commit 071d4279d6, Vim 7.0001 (2004).

The examples shown were of special character interpolation syntax, not
("number") register interpolation syntax.

Sources:
* https://www.gnu.org/software/groff/manual/groff.html.node/Built_002din-Registers.html
* https://github.com/mamccollum/troff-resources/blob/main/cstr-54.pdf

closes: #19243

Signed-off-by: G. Branden Robinson <g.branden.robinson@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): Tweak tag lines in vim9.txt
Hirohito Higashi [Sun, 25 Jan 2026 15:52:46 +0000 (15:52 +0000)] 
runtime(doc): Tweak tag lines in vim9.txt

closes: #19250

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(rustfmt): Recover accidentally deleted code, don't hide rustfmt error
Arkissa [Sun, 25 Jan 2026 15:42:24 +0000 (15:42 +0000)] 
runtime(rustfmt): Recover accidentally deleted code, don't hide rustfmt error

closes: #19251

Signed-off-by: Arkissa <mrarkssac@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agoruntime(doc): mark a-a-p website as dead
Christian Brabandt [Sun, 25 Jan 2026 15:22:36 +0000 (15:22 +0000)] 
runtime(doc): mark a-a-p website as dead

fixes: #19247

Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2109: filetype: NetLinx fires are not recognized v9.1.2109
kb [Sun, 25 Jan 2026 14:59:49 +0000 (14:59 +0000)] 
patch 9.1.2109: filetype: NetLinx fires are not recognized

Problem:  filetype: NetLinx fires are not recognized
Solution: Detect *.axs and *.axi as netlinx filetype
          (kb).

Reference:
- https://www.amx.com/en/site_elements/amx-language-reference-guide-netlinx-programming-language
- https://kielthecoder.com/2021/06/11/netlinx-getting-started/

closes: #19249

Signed-off-by: kb <kim@simple.industries>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2108: tests: Test_foldtextresult_rightleft() does not restore 'columns' v9.1.2108
zeertzjq [Fri, 23 Jan 2026 19:24:11 +0000 (19:24 +0000)] 
patch 9.1.2108: tests: Test_foldtextresult_rightleft() does not restore 'columns'

Problem:  Test_foldtextresult_rightleft() does not restore 'columns'
          (after v9.1.2102)
Solution: Save and restore the value of 'columns' (zeertzjq).

related: #19220
closes:  #19234

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2107: :normal may change cmdline history v9.1.2107
zeertzjq [Fri, 23 Jan 2026 19:21:42 +0000 (19:21 +0000)] 
patch 9.1.2107: :normal may change cmdline history

Problem:  :normal may change cmdline history if the keys don't
          explicitly leave Cmdline mode (after 9.1.1872).
Solution: Check ex_normal_busy (zeertzjq)

closes: #19237

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
3 months agopatch 9.1.2106: Vim9: class, enum and type alias can be used as value v9.1.2106
Yegappan Lakshmanan [Fri, 23 Jan 2026 19:17:29 +0000 (19:17 +0000)] 
patch 9.1.2106: Vim9: class, enum and type alias can be used as value

Problem:  Vim9: class, enum and type alias can be used as value in an
          expression (kennypete)
Solution: Abort expression evaluation if class, enum or type alias is
          used in an expression (Yegappan Lakshmanan)

related: #19173
closes:  #19238

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>