33074 Commits

Author SHA1 Message Date
Yee Cheng Chin
78e8ec8055 MacVim r182.1 (prerelease)
Updated to Vim 9.1.2068
prerelease-182.1
2026-01-11 16:58:15 -08:00
Yee Cheng Chin
2c26143a65 Merge pull request #1626 from ychin/ci-use-homebrew-libiconv
Build MacVim binary release with GNU iconv instead of Apple iconv
2026-01-11 16:41:52 -08:00
Yee Cheng Chin
cdeaa647ae Build MacVim binary release with GNU iconv instead of Apple iconv
The builtin iconv in macOS has been quite buggy since macOS 14, when
Apple replaced GNU iconv with a bespoke version. It introduced
backwards-incompatible changes, and behaves oddly in certain character
substitutions.

As such, build the official binary release using GNU iconv instead of
system iconv. This means we have to compile/cache it manually in our CI
just like gettext/libsodium in order to have a universal x86/arm64
binary with the correct deployment target set. We also need to modify
gettext to be built against GNU iconv as well to avoid link-time errors.

Note that this does not affect the Homebrew release of MacVim. The
standard Homebrew gettext is still linked against system iconv, and as
such we can't make an unilateral change without modifying Homebrew's
gettext as well.

This will result in the Vim binary being larger by 2 MB. It's not ideal
but tolerable. If Apple fixes their implementation of iconv we could
revert this in the future.

Related: macvim-dev/macvim#1624
2026-01-11 16:22:23 -08:00
Yee Cheng Chin
21a41476f9 Merge pull request #1625 from ychin/ci-revert-use-ruby34
ci: Revert hard-coded Ruby 3.4 to use Ruby 4.0
2026-01-08 17:58:00 -08:00
Yee Cheng Chin
4a129cd077 ci: Revert hard-coded Ruby 3.4 to use Ruby 4.0
Ruby 4.0 integration has been fixed upstream (871d2cc2ef). Remove the
hard-coded 3.4 pin in CI so we can use the latest Ruby version.

This reverts commit b8ebacc9c9.
2026-01-08 17:29:25 -08:00
Yee Cheng Chin
0dd9730538 Merge remote-tracking branch 'vim/master' 2026-01-08 16:55:16 -08:00
Christian Brabandt
cf8e378f4e runtime(doc): clarify the behaviour of 'fo-m'
fixes: #19095

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 21:39:15 +00:00
Christian Brabandt
a3d4b895ae translation(de): update German message translation
While at it, update vim.pot with the current year.

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 21:31:41 +00:00
Sean Dewar
63d53de72d patch 9.1.2068: :bd/bw may try to switch to a closing buffer
Problem:  :bdelete/bunload/bwipeout may attempt to switch to a closing
          buffer, which fails. (after 9.1.2058)
Solution: don't consider switching to closing buffers (Sean Dewar)

closes: #19107

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 21:27:55 +00:00
Dominique Pelle
335aecd98f runtime(cpp): Fix c++ float and integer literal syntax highlighting
closes: #8939

Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
Signed-off-by: Dominique Pelle <dominique.pelle@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 21:24:23 +00:00
Christian Brabandt
e80a4ed845 runtime(matchit): Update to Release 1.21
closes: #19109

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 20:53:40 +00:00
Christian Brabandt
8e079085d2 runtime(sh): Update indent script
closes: #19110

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 20:52:01 +00:00
John Marriott
4936e761a5 patch 9.1.2067: shadow variable warning in menu.c
Problem:  shadow variable warning in menu.c
Solution: Rename the variable (John Marriott).

closes: #19120

Signed-off-by: John Marriott <basilisk@internode.on.net>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 20:29:54 +00:00
D. Ben Knoble
a71e52a0b1 runtime(racket): update Racket syntax file
This brings us to upstream commit f251a43 (Merge syntax based folding
for block comments, 2025-09-10). Note that not all upstream files are
included.

closes: #19126

Signed-off-by: D. Ben Knoble <ben.knoble+github@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 20:26:23 +00:00
zeertzjq
d8558fdf4f patch 9.1.2066: :wqall! doesn't close a terminal like :qall! does
Problem:  :wqall! doesn't close a terminal buffer like :qall! does
          (after 8.0.1525).
Solution: Check eap->forceit (zeertzjq).

Ref: https://github.com/vim/vim/issues/2654#issuecomment-366803932

related: #2654
related: neovim/neovim#14061
closes:  #19129

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 20:23:05 +00:00
Muraoka Taro
7d632a0a77 patch 9.1.2065: GvimExt cannot be linked statically using MinGW
Problem:  When building GvimExt with MinGW, some DLLs are still linked
          even if STATIC_STDCPLUS=yes is set.
Solution: Following the Vim core, make some libraries explicitly
          statically linked.  The order of libraries is important, and
          gcc_eh must be placed before winpthread (Muraoka Taro)

closes: #19131

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 20:12:58 +00:00
zeertzjq
aa58f1fe44 CI: build failure in if_perl.xs
Problem:  CI: build failure in if_perl.xs.
Solution: Add -Wno-strict-prototypes to PERL_CFLAGS_EXTRA
          (zeertzjq).

closes: #19132

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 20:10:09 +00:00
Cezar Dimoiu
9179ddc060 runtime(yaml): update YAML indentation for mapping keys inside list items
When a list item contains a mapping key (e.g., '- element1:'), the
content under that key was incorrectly indented. The indent function
was not accounting for the '- ' prefix when calculating indentation
for nested content.

Example that now works correctly:
  list:
    - element1:
        foo: bar  # Now correctly at indent 6, not 4

The fix adds special handling in two places:
1. When previous line ends with ':' and starts with '- '
2. When looking up previous mapping key that is a list item

Fixes indentation to account for the 2-character '- ' prefix.

fixes:  #18943
closes: #19133

Signed-off-by: Cezar Dimoiu <cezar.dimoiu@keysight.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 20:07:18 +00:00
Girish Palya
4895ae8c0c patch 9.1.2064: completion: segfault during file name completion
Problem:  completion: segfault during file name completion
Solution: Initialize compl_num_bests (Girish Palya)

closes: #19134

Signed-off-by: Girish Palya <girishji@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 19:56:40 +00:00
Christian Brabandt
0084e4bd16 gitattributes: mark test21.ok binary, drop test42.in
This change does 2 things:
1) Mark src/testdir/test21.ok as binary by git.

After 0ed8ba3079, test21.ok was treated by Git as a text file
using LF line endings. However, the test explicitly checks handling of
files with mixed line endings, so it must retain its literal LF and CR
endings and must not be modified by Git. Therefore, mark it explicitly
as binary.

2) Remove src/testdir/test42.in

This test was converted to the new-style test in v8.2.1316 and was
therefore deleted. There is no need to keep gitattributes rules for a
non-existing file.

related: #19086

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 19:51:53 +00:00
Phạm Bình An
536ee91189 runtime(doc): add termdebug tag, remove term "floating window"
Problem:
- When I type `:h termdebug`, I will expect to see the introduction of
  the termdebug plugin. But instead, it shows me document of
  `termdebug_wide`, and I have to scroll up quite much to find the
  introduction.
- `:h popup` says `floating-window`? Why? As I have tried both features
  (of Vim and Neovim), I think they are _very different_ things, even
  more different than job features in Vim and Neovim.

Solution:
- In `:h terminal.txt`, add tag `*termdebug*` to the introduction of
  termdebug plugin.
- In `:h popup.txt`, "floating window" -> "popup window".

closes: #19135

Signed-off-by: Phạm Bình An <phambinhanctb2004@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-08 19:35:38 +00:00
Christian Brabandt
4ba3dadd68 runtime(sqloracle): Update syntax script
closes: #19111

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 21:56:03 +00:00
Christian Brabandt
5eb10c5359 runtime(xml): update XML runtime files
closes: #19112

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 21:54:51 +00:00
Christian Brabandt
c45e16a939 runtime(zsh): Update runtime files
closes: #19113

Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 21:53:13 +00:00
Doug Kearns
46cc91ecbf runtime(privoxy): Update syntax file
Update to version 4.1.0.

closes: #19115

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 21:52:21 +00:00
zeertzjq
5e37e31496 runtime(tutor): fix wrong motion in instruction
related: neovim/neovim#37213
closes: #19117

Co-authored-by: DrNayak2306 <dhruvgnk.work@gmail.com>
Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 21:50:37 +00:00
zeertzjq
da1c431309 patch 9.1.2063: A few typos in the code and runtime files
Problem:  A few typos in the code and runtime files
Solution: Fix those (zeertzjq).

closes: #19119

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 21:33:28 +00:00
Doug Kearns
e7bb907c24 runtime(wget): Update syntax files
Update to versions Wget 1.25.0 and Wget2 2.2.1.

closes: #19122

Signed-off-by: Doug Kearns <dougkearns@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 20:34:19 +00:00
Yegappan Lakshmanan
08953f7113 runtime(doc): Minor updates to version9.txt
closes: #19124

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-07 20:32:22 +00:00
Christian Brabandt
6c30628392 runtime(cpp): Announce syntax file adoption
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 15:55:37 +00:00
Hoang Nguyen
8d0fcff002 patch 9.1.2062: filetype: djot files are not recognized
Problem:  filetype: djot files are not recognized
Solution: Detect *.dj and *.djot files as djot filetype
          (Hoang Nguyen).

Reference:
- https://djot.net/

closes: #19105

Signed-off-by: Hoang Nguyen <folliekazetani@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 15:00:15 +00:00
Hoang Nguyen
969a4a0ba5 patch 9.1.2061: filetype: Koka files are not recognized
Problem:  filetype: Koka files are not recognized
Solution: Detect *.kk files as koka filetype (Hoang Nguyen).

Reference:
- https://koka-lang.github.io/koka/doc/index.html

closes: #19104

Signed-off-by: Hoang Nguyen <folliekazetani@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 14:56:00 +00:00
Hoang Nguyen
b084b8f1db patch 9.1.2060: filetype: Rasi include files are not recognized
Problem:  filetype: Rasi include files are not recognized
Solution: Detect *.rasinc as rasi filetype (Hoang Nguyen)

Reference:
- https://github.com/davatorium/rofi/blob/next/doc/rofi-theme.5.markdown#file-extension

closes: #19103

Signed-off-by: Hoang Nguyen <folliekazetani@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 14:52:13 +00:00
Hoang Nguyen
88f3ac34ea patch 9.1.2059: filetype: Nickel files are not recognized
Problem:  filetype: Nickel files are not recognized
Solution: Detect *.ncl files as nickel filetype
          (Hoang Nguyen)

Reference:
- https://nickel-lang.org/getting-started/
- https://github.com/tweag/nickel/tree/master/examples

closes: #19102

Signed-off-by: Hoang Nguyen <folliekazetani@protonmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 14:49:51 +00:00
Sean Dewar
ac5c8ab6cc patch 9.1.2058: b_locked_split is not checked for :sbuffer
Problem:  b_locked_split is not checked for :sbuffer, which allows
          autocommands to leave windows open to freed buffers.
Solution: In do_buffer_ext, check just before possibly splitting, after
          handling 'switchbuf'. Leave win_split to handle the check for
          curbuf. (needed even if curbuf is not the target, as setting
          the buffer after splitting may fail) (Sean Dewar)

closes: #19096

Signed-off-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 11:58:44 +00:00
Foxe Chen
4157787be8 patch 9.1.2057: copying to clipboard register broken with 'go-P'
Problem:  Copying to clipboard register broken with 'go-P'
          (Coacher)
Solution: Verify that clip_plus is available (Foxe Chen).

fixes:  #19072
closes: #19097

Signed-off-by: Foxe Chen <chen.foxe@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 11:54:40 +00:00
zeertzjq
254f844dda patch 9.1.2056: tests: inconsistent indent and line breaking in Test_maparg()
Problem:  tests: inconsistent indent and line breaking in Test_maparg().
Solution: Consistently use spaces-only indent. Reorder fields to group
          similar ones together and break lines at consistent positions.
          Remove a mapping when it is no longer used (zeertzjq).

closes: #19099

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 11:22:42 +00:00
RestorerZ
d5560fd395 translation(ru): Updated message file
closes: #19093

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 11:19:44 +00:00
RestorerZ
416d1a5e28 translation(ru): added a disclaimer to the license translation
closes: #19092

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 11:17:35 +00:00
RestorerZ
a735e44b3c translation(ru): updated menu files according to the patch 9.1.1989
closes: #19091

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 11:16:11 +00:00
RestorerZ
3ac486b8a6 translation(ru): updated tutor files
closes: #19090

Signed-off-by: RestorerZ <restorer@mail2k.ru>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 11:14:57 +00:00
zeertzjq
1aa5ca4ecb patch 9.1.2055: Division by zero in :file after failing to wipe buffer
Problem:  Division by zero in :file after failing to wipe buffer
          (after 8.2.4631).
Solution: Still call buf_clear_file() when failing to wipe buffer
          (zeertzjq).

closes: #19088

Signed-off-by: zeertzjq <zeertzjq@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 11:11:16 +00:00
Muraoka Taro
0ed8ba3079 Always force LF line endings in old test .ok files
Problem: When running tests on a source tree checked out with git for
Windows, the old tests fail.

The Git for Windows installer installs git with core.autocrlf=true by
default. If you check out, build, and run tests using such a git, the
old test .ok files will likely fail because they use CRLF line endings.
Tests on Windows assume that .ok files use LF line endings, and
appropriately convert the line endings of related files.  This
assumption breaks down when .ok files use CRLF.

Solution: Force LF line endings for old test .ok files in the
.gitattributes file.  Related to that, we've stopped explicitly
specifying line endings when checking out in CI, since this is no longer
necessary.

While at it, also fix a typo in the comment of the gitattributes file.

closes: #19086

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 10:36:03 +00:00
Neila
77a59be594 runtime(cangjie): Update syntax script
This commit updates `syntax/cangjie.vim` to match the latest `std.core`
library:

New Features:
* Documentation: Added highlighting for documentation keywords (e.g., `@param`, `@return`).
* Standard Library: Added highlighting for `std.core` functions, interfaces, and classes.
* Exceptions: Added highlighting for standard exception types.
* FFI Support: Added highlighting for C interoperability types (e.g., `CPointer`).

Improvements:
* Configuration: Added a unified switch (`s:enabled('builtin')`) for standard library highlighting.
* Type System: Updated `Int` and `UInt` aliases.
* Interpolation: Enabled standard library highlighting inside string interpolation.
* Cleanup: Removed non-core types like `ArrayList` and `HashMap`.

closes: #19085

Signed-off-by: Neila <wu.junkai@qq.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 10:18:09 +00:00
Yegappan Lakshmanan
eb577f9206 patch 9.1.2054: Can't unpack tuple from imported function
Problem:  Can't unpack tuple from imported function
          (Mao-Yining)
Solution: Support multi-variable assignment from a tuple returned by an
          imported function (Yegappan Lakshmanan)

fixes:  #19080
closes: #19083

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 10:13:02 +00:00
Muraoka Taro
2a3b608355 patch 9.1.2053: MS-Windows: May use wrong find command
Problem:  If another find.exe derived from findutils is installed on
          Windows, unintended behavior will occur. If MSYS2 is installed and
          prioritized over the system path, then find.exe derived from
          findutils will be launched during build, resulting in an
          unintended warning message.
Solution: Specify the absolute path including SYSTEMROOT to launch
          find.exe (Muraoka Taro)

closes: #19081

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 10:04:59 +00:00
Matthias Rader
a5b19603e4 patch 9.1.2052: Compile error when disabling linebreak feature
Problem:  Compile error when disabling linebreak feature
Solution: Adjust ifdefs (Matthias Rader)

When compiling with all features except for linebreak, there were some
compiler errors. By slightly modifying some preprocessor conditions,
compiling without the linebreak feature should work as expected.

closes: #19068

Signed-off-by: Matthias Rader <matthias.rader@outlook.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-06 09:58:04 +00:00
Muraoka Taro
679c2c01fa patch 9.1.2051: tests: fix Test_cd_completion fails in Appveyor
Problem:  Test_cd_completion test fails in Appveyor. In Appveyor, a path
          containing spaces was selected as the test target. But the
          comparison failed because spaces were not taken into account
          (after v9.1.2050)
Solution: Escape spaces in paths for comparison (Muraoka Taro)

closes: #19087

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-05 08:13:18 +00:00
Muraoka Taro
6625ba359e patch 9.1.2050: tests: Test_cd_completion may fail
Problem:  tests: Test_cd_completion() may fail depending on the contents
          of the root directory of the current drive on Windows.
          readdir() may return a directory that cannot "cd" to, causing
          this test to fail. An example of such a directory is
          "System Volume Information" which only admin can "cd" to.
Solution: When determining the directory to use for testing, use the
          directory that we actually "cd" to successfully.
          In addition, directories with '$' in their names are also
          excluded, as they are considered environment variables during
          completion and do not work as expected.
          Example: "$RECYCLE.BIN" (Muraoka Taro).

closes: #19078

Signed-off-by: Muraoka Taro <koron.kaoriya@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-03 23:47:27 +00:00
Hirohito Higashi
4a9967bddf patch 9.1.2049: Vim9: unexpected E1209 error
Problem:  Vim9: unexpected E1209 error
Solution: Fix error message (Hirohito Higashi)

closes: #19067

Signed-off-by: Hirohito Higashi <h.east.727@gmail.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
2026-01-03 17:16:23 +00:00