34879 Commits

Author SHA1 Message Date
zeertzjq
544bde3acc vim-patch:9.1.1987: assert_equal() prepends unnecessary ':' when typed
Problem:  assert_equal() prepends unnecessary ':' when typed
          (after 9.0.1758).
Solution: Don't change a NULL stacktrace to an empty string (zeertzjq).

closes: vim/vim#18936

c4b3aefd0d
2025-12-17 06:47:34 +08:00
zeertzjq
6061169183 vim-patch:9.1.1983: Vim9: class_name definition can be improved
Problem:  Vim9: class_name definition can be improved
Solution: Use string_T to store class_name, avoid using STRLEN() calls,
          simplify code, remove unused definition of struct
          oc_newmember_S (John Marriott)

Use struct string_T to store the field class_name in struct class_T,
which means we can just use the .length field in struct string_T
instead of measuring it.

In addition:
1. In eval.c use string_T to store class_name and s in function
   class_tv2string().
2. In vim9type.c change some calls from ga_concat() to ga_concat_len()
   where the length is known.
3. In vim9class.c remove unused struct definition oc_newmember_S.
   Change some calls from ga_concat() to ga_concat_len() where the
   length is known.
4. In scriptfile.c use string_T to store type_name, class_name and
   es_name in function estack_sfile().
5. In function estack_sfile() simplify construction of the grow array ga
   and change some calls from ga_concat() to ga_concat_len() when the
   length is known.

closes: vim/vim#18925

2019321e0b

Co-authored-by: John Marriott <basilisk@internode.on.net>
2025-12-17 06:47:34 +08:00
zeertzjq
53fd3657cc vim-patch:9.0.1758: vim9 no class identifiers in stack dumps
Problem:  vim9 no class identifiers in stack dumps
Solution: Prefix class members in stack traces with the class name
          followed by a dot.

closes: vim/vim#12866
closes: vim/vim#12078

0ffc17aa47

Co-authored-by: LemonBoy <thatlemon@gmail.com>
2025-12-17 06:47:33 +08:00
Justin M. Keyes
02def1a32e Merge #36925 :lsp command 2025-12-16 13:48:43 -05:00
Olivia Kinnear
bd225422a5 fix(lsp): tests for :lsp, rename start/stop
- Rename :lsp start/stop to enable/disable
- Move lua section of `:lsp` to `vim/_core`
- Add tests
2025-12-16 13:46:08 -05:00
brianhuster
63abb1a88f feat(lsp): builtin :lsp command
Problem:
- Despite [nvim-lspconfig](https://github.com/neovim/nvim-lspconfig)
  claims to be a "data-only" plugin, in fact it still provides some
  user-facing commands because they haven't been upstreamed to Nvim.

Solution:
- Upstream `:LspRestart`, `:LspStart` and `:LspStop` commands as `:lsp
  restart`, `:lsp start` and `:lsp stop` respectively.

Co-authored-by: glepnir <glephunter@gmail.com>
2025-12-16 13:46:04 -05:00
Ian Beckett
89d26d61d2 fix(vim.pack): increase default timeout #36992 2025-12-16 13:22:05 -05:00
glepnir
6af8958055 fix(highlight): respect 'winhighlight' in CursorLine Normal check #36927
Problem:
CursorLine background check used global `normal_bg`, ignoring 'winhighlight'.

Solution:
Use `bg_attr` to get window-local Normal background instead.
2025-12-16 00:51:54 -05:00
zeertzjq
1d22b05f8d docs: update support.txt (#36903) 2025-12-16 12:55:32 +08:00
Yochem van Rosmalen
0e04f88081 ci(lintdocurls): ignore websites that block GHA #36982
Problem:
These URLs seem to be unreachable from GHA CI but are available locally.

Solution:
Ignore them for now.
2025-12-15 23:46:15 -05:00
Justin M. Keyes
9b768d6b3d Merge #36860 from justinmk/doc2 2025-12-15 23:10:33 -05:00
zeertzjq
7a866e6b20 vim-patch:9.1.1981: tests: test suite may stop on error in gen_opt_test.vim (#36988)
Problem:  tests: test suite may stop on error in gen_opt_test.vim
Solution: Use a different output file for log files (Muraoka Taro)

When running newtests, it may unexpectedly stop just before
test_options_all.

Cause: When generating the opt_test.vim file for test_options_all, the
failure is detected by the existence of test.log. Therefore, if a test
performed before test_options_all fails and test.log is created, it is
mistakenly thought that the generation of opt_tet.vim has failed, and
the test suite stops there.

So let's change the filename created when utils/gen_opt_test.vim fails
from test.log to gen_opt_test.log, so that it can be detected
independently from other test failures.

closes: vim/vim#18928

35de719c0c

Co-authored-by: MURAOKA Taro <koron.kaoriya@gmail.com>
2025-12-16 07:50:02 +08:00
Ayaan
53aad276b6 fix(messages): exclude "search hit BOTTOM" msg from history #36961
Problem:
:messages history include the "search hit BOTTOM, continuing at TOP" message,
which is noise.

Solution:
Set msg_hist_off before giving the warning and reset it after warning.
2025-12-15 14:01:27 -05:00
Justin M. Keyes
d5cfca5b76 feat(docs): numbered listitems 2025-12-15 13:55:15 -05:00
Justin M. Keyes
dc1310d591 build(deps): bump tree-sitter-vimdoc to v4.1.0 2025-12-15 13:55:15 -05:00
Justin M. Keyes
a49bf5e1d3 fix(gen_help_html): parser override
Call `vim.treesitter.language.add()` before `get_helptags` (which
triggers filetype=help). And do this in the main routine, instead of
each gen/validate task.
2025-12-15 13:55:15 -05:00
Justin M. Keyes
31dfecb458 docs: misc, editorconfig
fix https://github.com/neovim/neovim/issues/36858
2025-12-15 13:55:15 -05:00
Tristan Knight
8165427b4d fix(lsp): correct capability checks for dynamic registration (#36932)
Refactor capability checks in Client:_supports_registration and
Client:supports_method to properly handle dynamicRegistration and unknown
methods. Now, dynamic capabilities are checked before assuming support for
unknown methods, ensuring more accurate LSP feature detection.
2025-12-15 13:23:57 -05:00
Alejandro Exojo
46220afef8 fix(man.lua): show_toc condition may cause infinite loop #36979
`lnum` gets set with `vim.fn.nextnonblank`, which returns 0 on failure,
and which is truthy on Lua.
2025-12-15 11:02:10 -05:00
glepnir
e265cc28f9 refactor(test): deprecates functions in some tests #36972
Problem: feed_command, nvim_buf_set_option, nvim_buf_get_number, and exc_exec
are marked as deprecated.

Solution: Remove them from the test units in api/buffer_spec, autocmd/focus_spec,
ui/input_spec, and editor/put_spec.

Some test units only used a few deprecated functions, so creating a separate PR
for each would be excessive. Therefore, several were combined into a single PR.
2025-12-15 10:58:24 -05:00
Yochem van Rosmalen
31cb37687a fix(health): check shell performance using vim.fn.system() #36980
Problem:
`vim.system()` doesn't invoke a shell, while the Vimscript function
`system()` does.

Solution:
Revert the change from 35af766de6 and use `vim.fn.system()` again to
actually invoke a shell.
2025-12-15 10:53:53 -05:00
dependabot[bot]
9c6ce77aa4 ci: bump korthout/backport-action from 3 to 4
Bumps [korthout/backport-action](https://github.com/korthout/backport-action) from 3 to 4.
- [Release notes](https://github.com/korthout/backport-action/releases)
- [Commits](https://github.com/korthout/backport-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: korthout/backport-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 14:03:09 +01:00
dependabot[bot]
58d78efa1a ci: bump actions/upload-artifact from 5 to 6
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 13:44:53 +01:00
dependabot[bot]
13c927bd07 ci: bump actions/download-artifact from 6 to 7
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 13:26:57 +01:00
glepnir
df849f6541 refactor(test): use command, pcall_err in num_options_spec #36933
Problem: feed_command is marked as deprecated, and validating error messages
is a bit verbose.

Solution: use command and pcall_err with matches
2025-12-15 02:13:58 -05:00
glepnir
86a4588d4a test: remove feed_command in undo_spec #36953
Problem: feed_command is marked as deprecated.

Solution: replace it with command and pcall_err.
2025-12-15 02:11:23 -05:00
Riley Bruins
976a47e81b Revert "refactor(treesitter): use scratch buffer for string parser" #36964
This reverts commit 2a7cb32959.
2025-12-15 02:09:36 -05:00
Justin M. Keyes
981ea41abb feat(tui): ghostty builtin terminfo #36963
Problem:
The builtin terminfo defs don't include xterm-ghostty, so features like
`kTerm_set_underline_style` are missing when building without unibilium.

Solution:
- Add ghostty to `gen_terminfo.lua`.
  - Note: The ncurses defs are somewhat different than what ghostty ships.
- Special-case ghostty in `terminfo_from_builtin`.
2025-12-15 02:07:51 -05:00
zeertzjq
2700f6642a fix(buffer): switching buffer should respect jumpoptions+=view (#36969)
Also add missing change to buflist_findfmark() from #19224.
2025-12-15 14:45:11 +08:00
zeertzjq
02e10d5101 vim-patch:64eeff5: runtime(fvwm): Update fvwm keywords (#36968)
fixes: vim/vim#18924

64eeff5784

Co-authored-by: Christian Brabandt <cb@256bit.org>
2025-12-15 01:09:14 +00:00
zeertzjq
f494ce77f1 vim-patch:9.1.1978: tests: Test_smoothscroll_number() may fail (#36965)
Problem:  tests: Test_smoothscroll_number() may fail because of
          'showcmd'
Solution: Send redraw command (Hirohito Higashi)

closes: vim/vim#18921

5193375b10

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
2025-12-15 01:06:13 +00:00
zeertzjq
f5e39560ff vim-patch:9.1.1980: filetype: N-Quads files are not recognized (#36967)
Problem:  filetype: N-Quads files are not recognized
Solution: Detect *.nq files as nq filetype

Reference:
- https://www.w3.org/TR/n-quads/

closes: vim/vim#18923

6c027b25f1

Co-authored-by: Gordian Dziwis <gordian@dziw.is>
2025-12-15 00:55:41 +00:00
zeertzjq
3985257496 vim-patch:9.1.1979: :helpclose allows range and counts (#36966)
Problem:  :helpclose incorrectly accepts a range and a count.
Solution: Remove EX_COUNT and EX_RANGE from the command definition.
          (Doug Kearns)

closes: vim/vim#18917

4c141bae3b

Co-authored-by: Doug Kearns <dougkearns@gmail.com>
2025-12-15 08:38:42 +08:00
Jaehwang Jung
63737e6e73 fix(treesitter): no injection highlighting on last line #36951
Problem:
If the last visible line in a window is not fully displayed, this line
may not get injection highlighting. This happens because line('w$')
actually means the last *completely displayed* line.

Solution:
Use line('w$') + 1 for the botline.

This reverts 4244a96774
"test: fix failing lsp/utils_spec #36609",
which changed the test based on the wrong behavior.
2025-12-14 19:01:49 -05:00
zeertzjq
592582ba48 fix(input): don't exit on EOF when peeking for input with -es (#36948)
Only exit on EOF when doing a blocking wait for input.
2025-12-15 08:00:40 +08:00
zeertzjq
115785732a Merge pull request #36958 from janlazo/vim-8.2.4528
vim-patch:8.2.{4528,4529,5161}
2025-12-15 07:10:37 +08:00
Shmerl
1363ef7d50 fix(vim.loader): randomized AppImage path pollutes luac cache #36944
different approach to 78bbe53f76
2025-12-14 13:46:53 -05:00
Jan Edmund Lazo
f4a33929d9 vim-patch:8.2.5161: might still access invalid memory
Problem:    Might still access invalid memory.
Solution:   Add extra check for negative value.

0fbc9260a7

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-14 10:59:02 -05:00
Jan Edmund Lazo
7ce17cd2a2 vim-patch:8.2.4529: Vim9: comparing partial with function fails
Problem:    Vim9: comparing partial with function fails.
Solution:   Support this comparison.  Avoid a crash. (closes vim/vim#9909)
            Add more test cases.

ed0c62e7b1

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-14 10:58:53 -05:00
Jan Edmund Lazo
ce05990823 vim-patch:8.2.4528: crash when using null_function for a partial
Problem:    Crash when using null_function for a partial.
Solution:   Don't call fname_trans_sid() with NULL. (closes vim/vim#9908)

673bcb10eb

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-14 10:58:53 -05:00
phanium
8c7023b7b3 docs(luv): hrtime() is integer (sync from upstream)
hrtime() is integer:
5e97827395/src/misc.c (L430)

Sync from https://github.com/luvit/luv/commit/5e978273
2025-12-14 10:15:03 +00:00
zeertzjq
c2e0fd1c35 vim-patch:7.4.1886 (#36945)
Problem:    When waiting for a character is interrupted by receiving channel
            data and the first character of a mapping was typed, the mapping
            times out. (Ramel Eshed)
Solution:   When dealing with channel data don't return from mch_inchar().

cda7764d8e

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-14 10:59:50 +08:00
zeertzjq
64a0441d20 Merge pull request #36934 from janlazo/vim-8.2.4633
vim-patch:8.2.{4633,4636,4637,4763,5092},9.0.0025
2025-12-14 10:36:23 +08:00
Jan Edmund Lazo
2c560d8544 vim-patch:9.0.0025: accessing beyond allocated memory with the cmdline window
Problem:    Accessing beyond allocated memory when using the cmdline window in
            Ex mode.
Solution:   Use "*" instead of "'<,'>" for Visual mode.

c6fdb15d42

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-13 21:08:10 -05:00
Jan Edmund Lazo
edd99f09c7 vim-patch:8.2.5092: using "'<,'>" in Ex mode may compare unrelated pointers
Problem:    Using "'<,'>" in Ex mode may compare unrelated pointers.
Solution:   Set eap->cmd to "+" only later.

48ce135e6d

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-13 21:08:10 -05:00
Jan Edmund Lazo
cd543d618d vim-patch:8.2.4763: using invalid pointer with "V:" in Ex mode
Problem:    Using invalid pointer with "V:" in Ex mode.
Solution:   Correctly handle the command being changed to "+".

f50808ed13

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-13 21:08:10 -05:00
Jan Edmund Lazo
0fa678c02f vim-patch:8.2.4637: warning for using uninitialized variable
Problem:    Warning for using uninitialized variable. (Tony Mechelynck)
Solution:   Initialize it.

565d1278cb

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-13 21:02:17 -05:00
Jan Edmund Lazo
78292dcc3d vim-patch:8.2.4636: not using Visual range
Problem:    Not using Visual range.
Solution:   Put the command pointer back to the range.

1501b63f8d

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-13 21:02:17 -05:00
Jan Edmund Lazo
0c70fbf0d6 vim-patch:8.2.4633: Visual range does not work before command modifiers
Problem:    Visual range does not work before command modifiers.
Solution:   Move Visual range to after command modifiers.

c75bca3ee9

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-13 21:02:17 -05:00
Jan Edmund Lazo
a331d187ba vim-patch:8.2.3662: illegal memory access if malloc() fails (#36939)
Problem:    Illegal memory access if malloc() fails.
Solution:   Check 'foldmethod' is not empty. (closes vim/vim#9207)

cf1e0239ce

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2025-12-14 09:28:13 +08:00