Commit Graph
34945 Commits
Author SHA1 Message Date
zeertzjq 445cb751e6 fix(pum): pumborder=shadow not blending properly (#37328)
Problem:  Setting pumborder=shadow doesn't blend proerly.
Solution: Check fconfig.shadow when setting pum_grid.blending, like what
          is done in check_blending().
2026-01-09 11:52:59 +00:00
Christian Clason 0aabe7ae76 feat(inspect): update to a8ca312
Sync with upstream commit https://github.com/kikito/inspect.lua/commit/a8ca3120dfec48801036eaeff9335ab7a096dd24
2026-01-09 10:07:15 +01:00
Yochem van Rosmalen b23e99e051 docs: remove ICCF Holland URL (#37230)
Problem:
ICCF Holland is dissolved by the end of 2025 ^1 and sponsorships are
transferred to Kuwasha (https://kuwasha.net). Their SSL certificate is
already expired, so the https URL mentioned in the intro text doesn't
work anymore. Reported by https://github.com/neovim/neovim/issues/36597#issue-3635391949.

Solution:
URL is removed from the text. We'll keep the vim.org URL for now as it
points to the same information.

[^1]: See June 2025 news on https://iccf-holland.org/index.html
2026-01-09 16:38:26 +08:00
zeertzjq 272ec9627c refactor(fileio.c): avoid downcasting in {read,write}_eintr() (#37323) 2026-01-09 11:54:22 +08:00
zeertzjq 425ead214a Merge pull request #37320 from zeertzjq/vim-9179ddc
vim-patch: runtime file updates
2026-01-09 10:27:49 +08:00
af7925ec58 vim-patch:335aecd: runtime(cpp): Fix c++ float and integer literal syntax highlighting
closes: vim/vim#8939

https://github.com/vim/vim/commit/335aecd98f75a081ad34b99e34922f3e7e0b25ea

Co-authored-by: Dominique Pelle <dominique.pelle@gmail.com>
Co-authored-by: Eisuke Kawashima <e-kwsm@users.noreply.github.com>
2026-01-09 09:39:35 +08:00
zeertzjqandChristian Brabandt 9ca69488cf vim-patch:e80a4ed: runtime(matchit): Update to Release 1.21
closes: vim/vim#19109

https://github.com/vim/vim/commit/e80a4ed845a76ab2d57cb154d9cd10df605c0971

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-09 09:39:19 +08:00
zeertzjqandChristian Brabandt 1b83b00fff vim-patch:8e07908: runtime(sh): Update indent script
closes: vim/vim#19110

https://github.com/vim/vim/commit/8e079085d23c9ca5eb352519a1142f91d247ab55

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-09 09:37:33 +08:00
zeertzjqandD. Ben Knoble d77a32d805 vim-patch:a71e52a: 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: vim/vim#19126

https://github.com/vim/vim/commit/a71e52a0b104c645144d3c7cde5534b9fa9aa9c6

Co-authored-by: D. Ben Knoble <ben.knoble+github@gmail.com>
2026-01-09 09:37:16 +08:00
zeertzjqandCezar Dimoiu 4faf23679e vim-patch:9179ddc: 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:  vim/vim#18943
closes: vim/vim#19133

https://github.com/vim/vim/commit/9179ddc0608813e9dd7cf9ba856d61669d6f0e3a

Co-authored-by: Cezar Dimoiu <cezar.dimoiu@keysight.com>
2026-01-09 09:37:08 +08:00
zeertzjqandChristian Brabandt 03e9797bb2 vim-patch:cf8e378: runtime(doc): clarify the behaviour of 'fo-m' (#37318)
fixes: vim/vim#19095

https://github.com/vim/vim/commit/cf8e378f4ef8e67f1ed7c3956ccfcd5bc9999e22

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-09 01:36:04 +00:00
zeertzjq 49d7f694a8 fix(:ls): check for finished terminal properly (#37303)
Use terminal_running() instead of channel_job_running().
2026-01-09 01:31:00 +00:00
zeertzjqandGirish Palya 885426f1bf vim-patch:9.1.2064: completion: segfault during file name completion (#37316)
Problem:  completion: segfault during file name completion
Solution: Initialize compl_num_bests (Girish Palya)

closes: vim/vim#19134

https://github.com/vim/vim/commit/4895ae8c0cd144c98cfb05e0162c2caac8f63c4c

Co-authored-by: Girish Palya <girishji@gmail.com>
2026-01-09 08:43:10 +08:00
zeertzjq 681d006549 vim-patch:9.1.2066: :wqall! doesn't close a terminal like :qall! does (#37314)
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: vim/vim#2654
related: neovim/neovim#14061
closes:  vim/vim#19129

https://github.com/vim/vim/commit/d8558fdf4f2758163218289637e82c3ae2d617ec
2026-01-08 23:36:47 +00:00
Sean Dewar e002e4d7fc vim-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: vim/vim#19107

https://github.com/vim/vim/commit/63d53de72d94b53172070acb2b1c50489d1133bd

Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
2026-01-08 22:43:25 +00:00
Sean Dewar 5f871007d7 vim-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: vim/vim#19096

https://github.com/vim/vim/commit/ac5c8ab6cc655f42f61f690058be8483fae71d4a

Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
2026-01-08 22:43:25 +00:00
Eamon Burns 565cfa04eb fix(build.zig): replace slashes in filepaths #37111
Problem:
`zig build` fails if `b.install_path` and `b.lib_dir` contain backslashes (on Windows).

Solution:
Replace backslashes (\) with forward slashes (/).
2026-01-08 00:31:24 -05:00
Evgeni Chasnovski 3e83f7bec7 docs: drop vim.pack WIP note, add example code #37229 2026-01-07 21:43:55 -05:00
zeertzjq 0bd4d3f779 test(terminal/buffer_spec): fix flaky test (#37299)
It turns out that uv_write() doesn't queue the write if there are no
pending writes, so vim.uv.run() isn't needed to reproduce the crash.
2026-01-08 02:40:04 +00:00
zeertzjq bfb70c03ff test(buffer_updates_spec): move on_detach tests to its block (#37297) 2026-01-08 09:59:27 +08:00
zeertzjqandChristian Brabandt 625a2bfde8 vim-patch:4ba3dad: runtime(sqloracle): Update syntax script
closes: vim/vim#19111

https://github.com/vim/vim/commit/4ba3dadd6872bd62a337b8ca302c217def2bb487

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-08 09:30:03 +08:00
zeertzjqandChristian Brabandt 8eba81182a vim-patch:5eb10c5: runtime(xml): update XML runtime files
closes: vim/vim#19112

https://github.com/vim/vim/commit/5eb10c5359e05338050819b8229bd4c8af36d365

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-08 09:30:03 +08:00
zeertzjqandChristian Brabandt 6e3883adb8 vim-patch:c45e16a: runtime(zsh): Update runtime files
closes: vim/vim#19113

https://github.com/vim/vim/commit/c45e16a939b5d924d13bf234a5905b5b599884fc

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-08 09:30:03 +08:00
zeertzjqandDoug Kearns eb875aca25 vim-patch:46cc91e: runtime(privoxy): Update syntax file
Update to version 4.1.0.

closes: vim/vim#19115

https://github.com/vim/vim/commit/46cc91ecbf0a81e8d54f983a2cb8ec1f6e30bb5b

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-01-08 09:30:03 +08:00
zeertzjqandDoug Kearns 492bbbf6ef vim-patch:e7bb907: runtime(wget): Update syntax files
Update to versions Wget 1.25.0 and Wget2 2.2.1.

closes: vim/vim#19122

https://github.com/vim/vim/commit/e7bb907c249a5fac089f8db530ece973a402ab9f

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-01-08 09:30:03 +08:00
benarcher2691 55a0843b7c feat(editor): :source can run Lua codeblock / ts injection #36799
Problem:
Can't use `:source` to run a Lua codeblock (treesitter injection) in
a help (vimdoc) file.

Solution:
Use treesitter to parse the range and treat it as Lua if detected as
such.
2026-01-07 20:20:53 -05:00
zeertzjq 16c1334399 fix(langmap): assert failure on mapping to char >= 256 (#37291)
Usually 'langmap' is used to map keyboard characters to ASCII motions or
mappings. It's not entirely clear what the purpose of mapping to Unicode
characters is, but since there is no error for mapping between two chars
both >= 256, only give a warning that this will not work properly when
mapping from a char < 256 to a char >= 256.
2026-01-08 00:39:58 +00:00
zeertzjq 89960e27d6 refactor: fix using %*s instead of %.*s (#37290)
`%*s` specifies the width limit, not the number of bytes.
In these places it doesn't matter as they are ASCII-only.
2026-01-08 07:49:42 +08:00
zeertzjq 7500f76e61 fix(filetype): fix typo (#37286)
Follow-up to #37278.

Not sure how I missed the typo. I even remember checking the PR twice...
2026-01-07 18:42:20 +08:00
dd6ed20272 docs: misc (#37280)
Close #36806
Close #36812
Close #37003
Close #37016
Close #37038
Close #37039
Close #37157
Close #37185
Close #37213

Co-authored-by: saroj_r <sarojregmi.official@gmail.com>
Co-authored-by: Olivia Kinnear <git@superatomic.dev>
Co-authored-by: Igor <igorlfs@ufmg.br>
Co-authored-by: Justin Roberts <JustinEdwardLeo@gmail.com>
Co-authored-by: "Mike J. McGuirk" <mike.j.mcguirk@gmail.com>
Co-authored-by: Aymen Hafeez <49293546+aymenhafeez@users.noreply.github.com>
Co-authored-by: Peter Cardenas <16930781+PeterCardenas@users.noreply.github.com>
Co-authored-by: DrNayak2306 <dhruvgnk.work@gmail.com>
2026-01-07 08:11:42 +08:00
zeertzjqandChristian Brabandt 9252d470cb vim-patch:6c30628: runtime(cpp): Announce syntax file adoption (#37279)
https://github.com/vim/vim/commit/6c306283920f8afb81926c498ce1aec78c623d83

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-06 23:00:12 +00:00
zeertzjq 77bee5906f Merge pull request #37278 from zeertzjq/vim-9.1.2059
vim-patch:9.1.{2059,2060,2061,2062}: filetype detection updates
2026-01-07 06:52:19 +08:00
zeertzjqandHoang Nguyen a84bf386d2 vim-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: vim/vim#19105

https://github.com/vim/vim/commit/8d0fcff002d1198f0a6cfe211f6bdcd91466e70f

Co-authored-by: Hoang Nguyen <folliekazetani@protonmail.com>
2026-01-07 06:20:16 +08:00
zeertzjqandHoang Nguyen 0bbbe236aa vim-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: vim/vim#19104

https://github.com/vim/vim/commit/969a4a0ba5dc53a8745e9ece10df13f98572603b

Co-authored-by: Hoang Nguyen <folliekazetani@protonmail.com>
2026-01-07 06:19:12 +08:00
zeertzjqandHoang Nguyen a6df0db11f vim-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: vim/vim#19103

https://github.com/vim/vim/commit/b084b8f1db40cba2971db3bdb4528770556e7ddc

Co-authored-by: Hoang Nguyen <folliekazetani@protonmail.com>
2026-01-07 06:18:28 +08:00
zeertzjqandHoang Nguyen b075656279 vim-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: vim/vim#19102

https://github.com/vim/vim/commit/88f3ac34ea465dc6e74835e0c367220815f76a32

Co-authored-by: Hoang Nguyen <folliekazetani@protonmail.com>
2026-01-07 06:17:49 +08:00
zeertzjq 218ea9fff7 fix(mappings): always include replace_keycodes in mapping dicts (#37272)
Omitting replace_keycodes when it is false causes some confusion as its
default value is unclear. In nvim_set_keymap() it defaults to false, but
in vim.keymap.set() it defaults to true when it matters.
2026-01-07 06:00:49 +08:00
zeertzjq 661455cc47 vim-patch:9.1.2056: tests: inconsistent indent and line breaking in Test_maparg() (#37269)
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: vim/vim#19099

https://github.com/vim/vim/commit/254f844dda1d4d6b4ac2be8a9a3e51d6c4569daf
2026-01-06 12:17:48 +00:00
zeertzjq 97bfc0c99b vim-patch:9.1.2055: Division by zero in :file after failing to wipe buffer (#37268)
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: vim/vim#19088

https://github.com/vim/vim/commit/1aa5ca4ecbef76a4df3a228e115eae7cc939cc86
2026-01-06 12:08:24 +00:00
zeertzjqandNeila 7eb14ba0ba vim-patch:77a59be: runtime(cangjie): Update syntax script (#37267)
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: vim/vim#19085

https://github.com/vim/vim/commit/77a59be594f372ceef87b8c423660d1f5dbb5854

Co-authored-by: Neila <wu.junkai@qq.com>
2026-01-06 11:21:03 +00:00
zeertzjqandMuraoka Taro 0dfac68928 vim-patch:9.1.2051: tests: fix Test_cd_completion fails in Appveyor (#37266)
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: vim/vim#19087

https://github.com/vim/vim/commit/679c2c01faab2b2106ecd7c1038efa031158b93b

Co-authored-by: Muraoka Taro <koron.kaoriya@gmail.com>
2026-01-06 10:43:02 +00:00
zeertzjq 23aa4853b3 fix(buffer): don't reuse 1-line terminal buffer (#37261)
Problem:  :edit and :enew may reuse a 1-line terminal buffer, causing
          the new buffer to still be a terminal buffer.
Solution: Don't reuse a terminal buffer, as it's not reused when it has
          more than 1 line.

After this change close_buffer() is the only place where buf_freeall()
can be called on a terminal buffer, so move the buf_close_terminal()
call into buf_freeall() to save some code. Furthermore, closing the
terminal in buf_freeall() is probably more correct anyway, as it is
"things allocated for a buffer that are related to the file".

Also, remove the useless check for on_detach callbacks deleting buffer.
Even if b_locked fails to prevent that, the crash will happen at the end
of buf_updates_unload() first. On the other hand, many other call sites
of buf_updates_unload() and other buffer_updates_* functions don't set
b_locked, which may be a problem as well...
2026-01-06 16:42:17 +08:00
Maria Solano 8b7accd07e docs: fix .mailmap entry (#37259) 2026-01-05 16:34:51 -08:00
zeertzjq e38c9f734a Merge pull request #37251 from zeertzjq/termclose
fix(terminal): crash when TermClose deletes other buffers
2026-01-06 07:17:37 +08:00
zeertzjqandSean Dewar ad85871ca1 fix(terminal): crash when TermClose switches back to terminal buffer
Problem:  Crash when deleting terminal buffer and TermClose switches
          back to the terminal buffer.
Solution: Set b_locked_split.

Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
2026-01-06 06:49:37 +08:00
zeertzjq 7297e9d339 fix(terminal): crash when TermClose deletes other buffers
Problem:  Crash when deleting terminal buffer and TermClose deletes
          other buffers.
Solution: Close the terminal after restoring b_nwindows.
2026-01-06 06:49:37 +08:00
zeertzjq d42fa1753a test(terminal): fix incorrect TermClose test
The test may wipe the wrong buffer if :bdelete switches to another one.

Also remove the builtin TermClose autocommand. It doesn't affect the
tests for now, but still it's better to avoid its interference.
2026-01-06 06:49:37 +08:00
Maria Solano 4d46d040c3 docs: add .mailmap entry (#37239) 2026-01-05 08:52:09 -06:00
zeertzjqandBram Moolenaar ef522420f2 vim-patch:8.1.0753: printf format not checked for semsg() (#37248)
Problem:    printf format not checked for semsg().
Solution:   Add GNUC attribute and fix reported problems. (Dominique Pelle,
            closes vim/vim#3805)

https://github.com/vim/vim/commit/b5443cc46dd1485d6c785dd8c65a2c07bd5a17f3

Cherry-pick a change from patch 8.2.3830.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-01-05 14:11:31 +08:00
zeertzjq 366251a5d2 fix(terminal): avoid multiple terminals writing to same buffer (#37219)
Problem:  Calling termopen() or nvim_open_term() on a buffer with an
          existing terminal leads to two terminals writing to the same
          buffer if the terminal job is still running, or memory leak
          if the terminal job has exited.
Solution: Close the terminal if the terminal job has exited, otherwise
          report an error. For nvim_open_term() also don't write a
          closed terminal's buffer content to the PTY.
2026-01-05 13:50:23 +08:00