Commit Graph

34895 Commits

Author SHA1 Message Date
Jan Edmund Lazo
08d7744e13 vim-patch:9.1.1967: if_python: 64bit numbers truncated (#37245)
Problem:  if_python: 64bit numbers truncated
Solution: cast python result to long long (lsq)

fixes:  vim/vim#18899
closes: vim/vim#18904

a52b11d057

Co-authored-by: lsq <lsqypj@gmail.com>
2026-01-05 13:38:57 +08:00
Jan Edmund Lazo
8bd942e820 build(vim-patch): getscript plugin is N/A (#37247)
- https://github.com/neovim/neovim/issues/2231#issuecomment-89873348
- https://github.com/neovim/neovim/pull/3826
2026-01-05 13:33:57 +08:00
zeertzjq
df62cb3e69 fix(window): crash closing split if autocmds close other splits (#37233)
Problem:  Crash when closing a split window if autocmds close other
          split windows but there are still floating windows.
Solution: Bail out and give the window back its buffer.
2026-01-05 11:17:00 +08:00
zeertzjq
033302d97d refactor(terminal): remove unnecessary buf_valid() (#37224)
In close_buffer(), free_buffer() is called to remove the buffer from
buffer_handles immediately after removing it from the buffer list, so as
long as a buffer is in buffer_handles it is always valid.
2026-01-05 08:20:24 +08:00
zeertzjq
b67ac8cc6b fix(terminal): crash with race between buffer close and OSC 2 (#37225)
Problem:  Crash when a terminal receives OSC 2 just after closing its
          buffer but before terminal job exits.
Solution: Remove FUNC_ATTR_NONNULL_ALL from buf_set_term_title() and
          check for NULL.
2026-01-05 08:00:50 +08:00
Robert Muir
efa6d91132 fix(diagnostic): display 1-based related information line/col numbers (#37093)
Problem
LSP Related Information line and column numbers are 0-based. Displaying
them this way can confuse the user, since vim line/col numbers are
typically displayed 1-based.

Solution
Display the line and column numbers as 1-based.
2026-01-04 15:07:00 -08:00
zeertzjq
f6ca9262b8 fix(terminal): handle closing terminal with pending TermRequest (#37227)
Problem:  Destroying a terminal with pending TermRequest leads to
          heap-use-after-free when processing TermRequest afterwards.
Solution: Store the buffer handle instead of the Terminal pointer in the
          pending TermRequest event, and don't emit TermRequest if the
          terminal is already closed.
2026-01-04 22:35:40 +08:00
Sean Dewar
c14de47f1a fix(window): crash closing only non-float if autocmds :tabonly (#37218)
Problem: null pointer member access when closing the only non-float in the
current tab page if autocommands after closing all floats also close all other
tab pages. (making it the last window)

Solution: check last_window again after closing the floats.

Also reduce the scope of "wp"; it would be bugprone to use it before it's later
reassigned to the rv of win_free_mem if freed by Buf/WinLeave.
2026-01-04 13:15:08 +00:00
zeertzjq
5af11b3bbf Merge pull request #35373 from zeertzjq/vim-9.1.1646
vim-patch:9.1.{1646,1648,2050}
2026-01-04 19:55:02 +08:00
zeertzjq
6c3502d85a vim-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: vim/vim#19078

6625ba359e

Co-authored-by: Muraoka Taro <koron.kaoriya@gmail.com>
2026-01-04 19:36:35 +08:00
zeertzjq
3e57c5216f vim-patch:9.1.1648: MS-Windows: some style issues with patch v9.1.1646
Problem:  MS-Windows: some style issues with patch v9.1.1646
Solution: Fix typose and code style issues (zeertzjq).

closes: vim/vim#18036

14afa278c1
2026-01-04 19:36:35 +08:00
zeertzjq
43bf045005 vim-patch:9.1.1646: MS-Windows: completion cannot handle implicit drive letters
Problem:  MS-Windows: completion cannot handle implicit drive letters
Solution: Consider paths like \folder and /folder as absolute
          (Miguel Barro).

closes: vim/vim#17829

a2f13bf782

Co-authored-by: Miguel Barro <miguel.barro@live.com>
2026-01-04 19:36:35 +08:00
Jan Edmund Lazo
d548b52b0f build(vim-patch): update Vim N/A file/regexp (#37049)
* fix(vim-patch): test_codestyle.vim is NA

Neovim has make lint, specifically clint.lua.
Unless vim9jit, https://github.com/tjdevries/vim9jit, or similar tool
compiles vim9 "test" code into lua, it's futile to port it.

* fix(vim-patch): NA files from dev_vimpatch.txt

- channel
- json
- job
- term
- terminal

Nvim has its own incompatible implementation or uses 3rd-party
libraries (ie. libuv, libtermkey).

* fix(vim-patch): term.c is applicable for replace_termcodes()

* fix(vim-patch/na): blowfish,dlldata,iid_ole,nbdebug,os_w32

blowfish is for encryption.
dlldata,iid_ole,os_w32 are for Windows (GUI, registry, entry point).
Nvim doesn't need them to be installed on Windows.

nbdebug.[ch] is for Netbeans Debugging Tools.
They're N/A.

* fix(vim-patch): runtime/

Nvim has its own documentation for development

- runtime/doc/debug.txt
- runtime/doc/develop.txt

N/A since the beginning:

- runtime/doc/os_haiku.txt
- runtime/doc/pi_logipat.txt
- runtime/doc/quotes.txt
- runtime/plugin/logiPat.vim
- runtime/plugin/manpager.vim
- runtime/tools/demoserver.py
- runtime/spell/.*\.latin1

Vim9 is N/A.

- runtime/doc/os_haiku.txt

* fix(vim-patch): src/

win32yank replaces "src/winclip.c".
Vim's desktop files are N/A.
Nvim removed 'termencoding'.
Nvim doesn't use Vim's lsan-suppress.txt to configures LSAN.
2026-01-04 14:15:23 +08:00
zeertzjq
715015d3b2 vim-patch:93eb081: runtime(doc): Clarify visual mark behavior in getpos(), setpos() (#37223)
Add documentation notes explaining that visual marks '< and '> have
different behaviors in getpos() and setpos().

Also fix a small typo.

closes: vim/vim#19070

93eb081eee

Co-authored-by: Larson, Eric <numeric.larson@gmail.com>
2026-01-03 23:46:15 +00:00
zeertzjq
db210dd2a4 vim-patch:57352b2: runtime: mention subscription only ml, fix typo in maintainer email (#37222)
57352b279d

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-03 23:27:49 +00:00
zeertzjq
3621af9b97 fix(terminal): inconsistent mode change when switching buffer (#37215)
Problem:  When switching to another terminal buffer in Terminal mode,
          usually Nvim stays in Terminal mode, but leaves Terminal mode
          if the old terminal buffer was deleted.
Solution: Don't always leave Terminal mode when active terminal buffer
          is deleted. Instead let terminal_check_focus() decide that.
2026-01-03 17:55:07 +08:00
zeertzjq
147190d8e7 vim-patch:partial:9.1.2044: Inefficient use of ga_concat() (#37209)
Problem:  Inefficient use of ga_concat()
Solution: Use ga_concat_len() when the length is already known to avoid
          use of strlen() (John Marriott).

Additionally the following changes are done:
os_unix.c:
- in function `socket_server_list_sockets()` use a `string_T` for the
  strings `buf` and `path` for use in `ga_concat_len()`
  and drop un-needed variable `dir`.

quickfix.c:
- in function `qf_jump_print_msg()` use a `string_T` for the string
  `IObuff` for use in `ga_concat_len()`.
- in function `qf_range_text()` use a `string_T` for the string `buf`
  for use in `ga_concat_len()`.

register.c:
- simplify function `execreg_line_continuation()`.

terminal.c:
- in function `read_dump_file()` use a `string_T` for the
  string `prev_char` for use in `ga_concat_len()`.

tuple.c:
- in function `tuple_join_inner()` use a `string_T` for the
  string `s` for use in `ga_concat_len()`. Also, change local struct
  `join_T` to use `string_T`.

vim9type.c:
- in functions `type_name_tuple()` and `type_name_func()`
  use a `string_T` for the string `arg_type` for use in
  `ga_concat_len()`.

closes: vim/vim#19038

a7e671fbb9

Skip tuple.

Co-authored-by: John Marriott <basilisk@internode.on.net>
2026-01-03 01:54:12 +00:00
zeertzjq
ca731d2e55 vim-patch:9.1.2042: filetype: systemd quadlet files are not recognized (#37208)
Problem:  filetype: systemd quadlet files are not recognized
Solution: Detect additional patterns as systemd filetype
          (Ac5000)

Reference:
- https://docs.podman.io/en/latest/markdown/podman.1.html
- https://docs.podman.io/en/latest/markdown/podman-systemd.unit.5.html
- https://docs.podman.io/en/latest/markdown/podman-quadlet.1.html

fixes:  vim/vim#15078
closes: vim/vim#19057

0f93c988e9

Co-authored-by: Ac5000 <15003210+Ac5000@users.noreply.github.com>
2026-01-03 01:44:56 +00:00
zeertzjq
6deb1c1bf3 vim-patch:9.1.2040: :tlunmenu incorrectly accepts a range (#37206)
Problem:  :tlnumenu incorrectly accepts a range.
Solution: Remove EX_RANGE and EX_ZEROR from the command definition and
          use ADDR_NONE (Doug Kearns).

closes: vim/vim#19055

19442ad118

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2026-01-03 09:41:38 +08:00
zeertzjq
cde32b3307 vim-patch:cc71684: runtime(logtalk): Update Logtalk runtime files for the latest language spec (#37205)
closes: vim/vim#19058

cc71684ab0

Co-authored-by: Paulo Moura <pmoura@logtalk.org>
2026-01-03 08:23:21 +08:00
zeertzjq
3e29197483 Merge pull request #37203 from zeertzjq/vim-9.1.2038
vim-patch:9.1.{2038,2041}
2026-01-03 08:22:56 +08:00
zeertzjq
b7efbbec51 vim-patch:9.1.2041: tests: test_menu.vim leaves swapfiles behind
Problem:  tests: test_menu.vim leaves swapfiles behind
Solution: Close open buffers using :bw! instead of :close!

7f5c60b31e

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-03 07:44:49 +08:00
zeertzjq
01177619bc vim-patch:9.1.2038: tests: test_marks.vim leaves swapfiles behind
Problem:  tests: test_marks.vim leaves swapfiles behind
Solution: Close open buffers using :bw! instead of :close!

4fe7301df9

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-03 07:44:47 +08:00
Christian Clason
067b5743f5 vim-patch:9.1.2043: filetype: kos files are not reconized
Problem:  filetype: kos files are not reconized
Solution: Detect *.kos files as kos filetype
          (Chris Dragan)

Reference:
- https://github.com/kos-lang/kos

closes: vim/vim#19056

96a1caac6b

Co-authored-by: Chris Dragan <chris@dragan.dev>
2026-01-02 16:31:32 +01:00
Francisco Giordano
612cd99a00 fix(api): buffer overflow in nvim_buf_get_extmarks overlap #37184
With `overlap=true`, more extmarks than the requested limit may be
collected in `extmark_get`. This then leads to an out of bounds write of
`rv` in `nvim_buf_get_extmarks`.
2026-01-02 02:17:57 -05:00
Olivia Kinnear
a03ab03a10 fix(lsp): :lsp restart restarts on client exit #37125
Problem:
`:lsp restart` detects when a client has exited by using the `LspDetach`
autocommand. This works correctly in common cases, but breaks when
restarting a client which is not attached to any buffer. It also breaks
if a client is detached in between `:lsp restart` and the actual
stopping of the client.

Solution:
Move restart logic into `vim/lsp/client.lua`, so it can hook in to
`_on_exit()`. The public `on_exit` callback cannot be used for this, as
`:lsp restart` needs to ensure the restart only happens once, even if
the command is run multiple times on the same client.
2026-01-02 01:58:10 -05:00
Kira Kawai
3ac76977bc fix(diagnostic): check for extmark in get_logical_pos #37127
Problem: The function get_logical_pos did not account for the possibility that a diagnostic might not have an associated extmark, leading to potential errors or incorrect behavior.

Solution: Add a check for diagnostic._extmark_id and return the logical positions directly if it does not exist.
2026-01-02 01:49:28 -05:00
Tristan Knight
ed562c296a fix(lsp): improve dynamic registration handling #37161
Work on #37166 

- Dynamic Registration Tracking via Provider
- Supports_Method
    - Multiple Registrations
    - RegistrationOptions may dictate support for a method
2026-01-02 01:46:13 -05:00
github-actions[bot]
a3c56d1002 docs: update version.c #37169
vim-patch:9.0.0993: display errors when adding or removing text property type
vim-patch:7a6d9454c README.md: remove the warp ad again
vim-patch:9.1.2032: Vim9: error when using class member in Lambda
vim-patch:9.1.2036: if_ruby: build error with ruby 4.0
2026-01-02 00:27:35 -05:00
zeertzjq
acc3554439 vim-patch:9.1.2037: undo: cursor position not correctly restored (#37195)
Problem:  undo: cursor position not correctly restored
Solution: Do not override the saved cursor position (altermo)

closes: vim/vim#19052

a722da29c1

Co-authored-by: altermo <107814000+altermo@users.noreply.github.com>
2026-01-02 08:21:55 +08:00
zeertzjq
94f7302e66 vim-patch:9.1.0893: No test that undofile format does not regress (#37193)
Problem:  No test that undofile format does not regress
Solution: include a sample undofile to make sure we are always able to
          read it

This is so, that we don't unintentionally change the undofile format and
make sure we can load an undo file that has been created by an older
Vim.

closes: vim/vim#16127

14382c8bc9

Convert the undo file in samples/ using method from #13973.

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-01 23:05:48 +00:00
zeertzjq
ab20681c52 vim-patch:62d8f3d: runtime: Revert several "mark invalid contact addresses" commits (#37192)
This reverts commits:
- 6b652a785033fd4164e049492a7327c1ed7c3e5f
- 2f689d5abde0ccddca9e20d8c93a0299bd054e32
- a025a46d4169587145fb54f04af349cd05cb6122

Several email addresses that are known to be valid caused bounces
due to an issue with my email setup. The previous commits incorrectly
marked these addresses as invalid. So revert the whole thing again.

62d8f3dab5

N/A patch:
vim-patch:2f689d5: runtime: mark more invalid email addresses

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-02 06:53:44 +08:00
zeertzjq
1c96140b1a Merge pull request #37164 from janlazo/vim-8.2.2198
vim-patch:8.2.{2198,3159}
2026-01-01 15:19:12 +08:00
Jan Edmund Lazo
b480b0cd5d vim-patch:8.2.3159: cursor displayed in wrong position after deleting line
Problem:    Cursor displayed in wrong position after deleting line.
Solution:   When deleting lines do not approximate botline. (fixes vim/vim#8559)

5bea41dea3

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-01-01 01:58:02 -05:00
Jan Edmund Lazo
ff8edbaa6c vim-patch:8.2.2198: ml_get error when resizing window and using text property
Problem:    ml_get error when resizing window and using text property.
Solution:   Validate botline of the right window. (closes vim/vim#7528)

23999d799c

Migrate to Vim's (in)validate_botline_win() API.
Nvim wants to pass "curwin" instead of hiding them
behind alias/macro/inline-function.

https://github.com/neovim/neovim/pull/37164#discussion_r2655006908

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2026-01-01 01:48:49 -05:00
zeertzjq
0f9aae20ec Merge pull request #37188 from zeertzjq/vim-6b652a7
vim-patch: runtime file updates
2026-01-01 08:42:32 +08:00
zeertzjq
cabefb52ff vim-patch:a025a46: runtime: mark more invalid email addresses
a025a46d41

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-01 08:23:03 +08:00
zeertzjq
65e7aa9255 vim-patch:partial:2f689d5: runtime: mark more invalid email addresses
2f689d5abd

Skip colors/ and syntax/help_ru.vim: missing previous changes.

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-01 08:17:57 +08:00
zeertzjq
5fb1ac8cb6 vim-patch:6b652a7: runtime: mark invalid contact addresses
6b652a7850

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-01-01 08:01:52 +08:00
altermo
170992c8d2 test(tohtml): test syntax, not just treesitter #37181 2025-12-31 18:00:05 -05:00
Christian Clason
f3ee2440c7 build(deps): bump tree-sitter-lua to v0.4.1 2025-12-31 16:49:24 +01:00
zeertzjq
bd10f781b8 vim-patch:9.1.2035: filetype: filetype: Fennel fnlm files are not recognized (#37178)
Problem:  filetype: Fennel fnlm files are not recognized
          (Alexei Mozaidze, after v9.1.2034)
Solution: Detect *.fnlm files as fennel filetype, revert detecting
          *.fnml files

related: vim/vim#19047

ea189a6f4d

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-12-31 20:25:19 +08:00
zeertzjq
dddb125b0b vim-patch:5c2b594: runtime(rust): Update indentation after nested array literal (#37177)
fixes:  vim/vim#18974
closes: vim/vim#19042

5c2b594d0e

Co-authored-by: Brian Carbone <brian@briancarbone.com>
2025-12-31 10:53:06 +00:00
zeertzjq
8e80e54478 vim-patch:9.1.2034: filetype: Fennel fnml files are not recognized (#37176)
Problem:  filetype: Fennel fnml files are not recognized
          (Alexei Mozaidze)
Solution: Detect *.fnml files as fennel filetype

Reference:
- https://fennel-lang.org/changelog#160--2025-10-13

fixes: vim/vim#19047

9c87af5c3c

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-12-31 10:39:50 +00:00
Christian Clason
f4f60f6a19 build(deps): bump utf8proc to v2.11.3 2025-12-30 18:28:31 +01:00
Peter Cardenas
f8ac713448 fix(treesitter): use metadata in :EditQuery captures #37116
Problem:
When the `#offset!` directive is used with `:EditQuery`, the query does not take the offset into consideration when creating the extmark to preview the capture.

Solution:
Use the capture metadata to modify the node range before creating the extmark.
2025-12-30 10:44:18 -05:00
Justin M. Keyes
b24522e77b Merge #37113 from echasnovski/pack-better-revert 2025-12-30 10:40:19 -05:00
glepnir
9833f0da5f fix(diagnostic): unstable sorting by severity #37154
Problem: random order for same-severity diagnostics, severity_sort reversed.

Solution: add stable comparison with _extmark_id tiebreaker.
2025-12-30 04:28:32 -05:00
Justin M. Keyes
ea3562d739 Merge #37142 from echasnovski/pack-safer-del 2025-12-30 04:20:33 -05:00
Phạm Bình An
f8d0190491 docs(prompt): Lua example, adjust for multiline input #37121 2025-12-30 03:57:35 -05:00