Commit Graph

20588 Commits

Author SHA1 Message Date
zeertzjq
5a8e4cc5fa vim-patch:9.2.0581: After maximizing and deleting the quickfix buffer, window height is wrong (#40092)
Problem:  After maximizing and deleting the quickfix buffer, window
          height is wrong (tertium)
Solution: Reset the winfixheight option when a quickfix buffer is
          deleted from a window (Yegappan Lakshmanan)

fixes:  vim/vim#3378
closes: vim/vim#20403

07f055f579

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2026-06-02 18:30:20 +00:00
Kevin
d0c7f870c2 refactor(docs): extract HTML-specific bits from gen_help_html #39946
Problem:
We'd like to export a PDF version of the user manual
(https://github.com/neovim/neovim.github.io/issues/477), but
`gen_help_html.lua` assumes an HTML output in several places.

Solution:
- Make gen() take an output param
- Rename gen_one() -> gen_one_html()
- Rename visit_node() -> ts_node_to_html()
- Add a mapping to gen() that calls the correct gen_one*() function.

This prepares the addition of new methods for Typst output.
2026-06-02 10:28:01 -04:00
Justin M. Keyes
70f8c7bbf3 Merge #40057 from luukvbaal/hidenodraw
perf(redraw): don't redraw hidden windows
2026-06-02 08:51:08 -04:00
bfredl
772cfcf267 Merge pull request #39074 from bfredl/retromania
build(zig): run oldtests in zig builds (RETROMANIA HYPERDRIVE)
2026-06-02 12:34:40 +02:00
bfredl
49dc3d9424 build(zig): run oldtests in zig builds with new lua runner
The new lua based runner replaces Makefile, runnvim.sh and runnvim.vim

As it happens, we run a `--headless` nvim inside a `:terminal` layer,
this is pointless.
Also there is still a lot remnants for oldesttests, but we don't
have any except for test1.in which just checks the environment
for following, nonexistant oldesttests. so just skip that.

For now, the actual vimscript code which runs in vim-under-test is
completely unchanged.

On macos, luajit is finally working with the latest ziglua master.
Also fix some minor bugs regarding locales, such as incorrect
HAVE_WORKING_LIBINTL checks
2026-06-02 11:12:11 +02:00
glepnir
a5d4b4e0fc vim-patch:9.2.0585: line number wrong after undoing a deletion in quickfix buffer (#40081)
Problem:  Deleting a quickfix line and undoing it leaves the entry
          pointing one line below where it should.
Solution: Don't shift already cleared entries in qf_mark_adjust.

closes: vim/vim#20379

64982d6010
2026-06-02 07:30:12 +02:00
glepnir
6b6efb37eb vim-patch:9.2.0583: completion: indent not ignored for fuzzy line completion (#40080)
Problem:  Indent is not stripped in whole-line completion (CTRL-X
          CTRL-L).
Solution: Skip the matched line's indent for whole-line matches in
          search_for_fuzzy_match (glepnir).

closes: vim/vim#20405

9fa5f64135
2026-06-02 07:28:23 +02:00
zeertzjq
edcaf1887a vim-patch:partial:9.2.0573: Vim9: missing EX_WHOLE on some block keywords (#40071)
Problem:  Several Vim9 keywords lack EX_WHOLE and can be shortened in
          Vim9 script, inconsistent with endif/enddef/endfor/endwhile/
          endtry which already have it.  The error from :endd in a
          nested function also hardcodes "enddef" instead of reporting
          what the user typed.  fullcommand("ho") returns "horizontal"
          even though :ho is below the documented 3-char minimum.
Solution: Add EX_WHOLE to :class, :def, :endclass, :endinterface,
          :endenum, :public and :static.  In get_function_body() pass
          the user-typed command to the error message.  Force :ho to
          CMD_SIZE in find_ex_command() so fullcommand() reflects the
          modifier minimum.  Extend tests and documentation accordingly
          (Peter Kenny).

fixes:  vim/vim#20032
closes: vim/vim#20191

38d9a16eba

Co-authored-by: Peter Kenny <github.com@k1w1.cyou>
2026-06-01 01:04:30 +00:00
Luuk van Baal
9cf684ed7d fix(float): validate conflicts for nvim_win_set_config()
Problem:  nvim_win_set_config() does not error on flags not allowed for
          non-floating windows.
          `hide` should not be allowed for non-floating windows.
Solution: Check that a window is a split when reconfiguring.
          Error when trying to hide a split window.
2026-06-01 01:02:01 +02:00
Luuk van Baal
253378f86a perf(redraw): don't redraw hidden windows
Problem:  Hidden windows are redrawn unnecessarily.
Solution: If a window is hidden, don't bother drawing it.
2026-05-31 23:15:39 +02:00
zeertzjq
54905409f1 vim-patch:9.2.0566: <C-w>f duplicates window if do_ecmd() is aborted (#40061)
Problem:  If got_int is true when win_close() is called, it unexpectedly
          fails in the branch that detects failure in apply_autocmds().
          This causes wingotofile in do_window() to duplicate current
          window when do_ecmd() is aborted with got_int.
Solution: Fix do_window() to save the got_int value before trying to
          close the split window (Yohei Kojima).

Steps to reproduce:
 1. run `touch a && touch .a.swp && echo a > b && vim b`
 2. Type `<C-w>f`
 3. In the warning dialogue, type `a` to abort
 4. Current window is duplicated

closes: vim/vim#20382

113e507cdd

Co-authored-by: Yohei Kojima <yk@y-koj.net>
2026-05-31 01:21:03 +00:00
glepnir
70cfeabe23 fix(float): title/footer shows printable control chars #40047
Problem:
Literal tab (or other control char) in a float title/footer is
not made printable, so it renders incorrectly instead of as "^I".

Solution:
Normalize title/footer text for display like 'statusline'
tab to "^I", parameterize parse_virt_text() with untab
and recompute the width.
2026-05-30 10:02:16 -04:00
Justin M. Keyes
f5fae7aa5c docs: misc, options, pos/range 2026-05-30 12:57:24 +02:00
luukvbaal
6b799ee40a fix(autocmd): never show autocommand windows #40032
Problem:  Redrawing in an autocommand that uses an autocommand window
          (more common since 5181984d) can result in flickering.
Solution: Hide autocommand windows.
2026-05-30 06:55:16 -04:00
github-actions[bot]
5160ed4532 docs: update version.c #39776
vim-patch:950f501a1 runtime(doc): Fix file mode for the Italian manpage
vim-patch:9.2.0482: runtime(osc52): triggered twice with TextPutPoste autocmd
vim-patch:7cb86f46c CI: Bump the github-actions group across 1 directory with 2 updates
vim-patch:8ae45e420 NSIS: Don't install 32-bit dll on ARM64
vim-patch:403ba303b ccfilter: uses unbounded strcat()/strcpy()
vim-patch:ab24858cf CI: Update clang to v22
vim-patch:9.2.0492: popup: decoration wrongly drawn with clipping on border
vim-patch:9.2.0498: potential heap buffer overflow in if_xcmdsrv.c
vim-patch:6daa721dc runtime(doc): INSTALL: "libwayland-dev" is required on Ubuntu for Wayland clipboard support
vim-patch:9b1d657bc CI: Stop using AppVeyor
vim-patch:7a57f5975 runtime(syntax-tests): Always delete our copy of "src/testdir/vimcmd"
vim-patch:9.2.0503: Makefile: Missing dependencies for new GTK4 source files
vim-patch:9.2.0504: configure: requires X11 libraries for GTK4 build
vim-patch:9.2.0505: GTK4: text looks blurry on HiDPI displays
vim-patch:aee12156e runtime(doc): fix GTK4 package name in src/INSTALL
vim-patch:1dfaeb4fa runtime(doc): re-generate vim.man
vim-patch:9.2.0511: configure: when GTK4 is used also links in X11 libs
vim-patch:9.2.0514: GTK4: build errors when socketserver is enabled
vim-patch:37223f47b CI: Bump github/codeql-action
vim-patch:9.2.0518: GTK4: input method cannot compose text
vim-patch:9.2.0519: GTK4: GUI tabline is not displayed correctly
vim-patch:9.2.0521: GTK4: cannot resize shell after the window is shown
vim-patch:5e3056ee8 translation(it): Update Italian manpage
vim-patch:9.2.0527: Possible double free in fill_partial_and_closure()
vim-patch:9.2.0528: possible overflow in XIM resource handling
vim-patch:9.2.0529: GTK4: clipboard returns empty after a foreign app takes the selection
vim-patch:3b8ac8f8a CI: Split platform specific CI configurations into separated files
vim-patch:9.2.0532: GTK: preedit font size is wrong for fractional point sizes
vim-patch:9.2.0537: GTK4: mouse popup menu does not show up at mouse pointer
vim-patch:9.2.0541: Vim9: endclass/endenum/endinterface can give errors
vim-patch:9.2.0542: tests: test_codestyle fails
vim-patch:915e68e21 translation(it): Update Italian manpage
vim-patch:9.2.0543: Vim9: wrong error when redeclaring a typed variable
vim-patch:9.2.0544: GTK4: window blank after a resize or drag
vim-patch:9.2.0546: configure: GTK4 build requires GTK >= 4.10
vim-patch:9.2.0548: GTK4: terminal and pty job output is not processed
vim-patch:9.2.0550: GTK4: 'mousehide' unhides cursor when switching tabs
vim-patch:9.2.0552: GTK4: F10 does nothing when the menubar is hidden

vim-patch:0fa3603: runtime(doc): update cmdline-history (after v9.1.0895)
vim-patch:9.2.0526: missing out-of-memory check in ex_substitute()
vim-patch:9.2.0554: GTK4: memory leak in free_menu()
2026-05-29 06:06:14 -04:00
zeertzjq
1a7ab1ab47 vim-patch:9.2.0555: too many strlen() in ex_substitute() (#40042)
Problem:  too many strlen() in ex_substitute()
Solution: Use string_T type instead of recomputing the length
          (John Marriott).

closes: vim/vim#20336

8e7e5d5488

Co-authored-by: John Marriott <basilisk@internode.on.net>
2026-05-29 10:37:17 +08:00
zeertzjq
94f661dc0e vim-patch:9.2.0549: Cursor wrong after autoindent strip is skipped (#40041)
Problem:  cursor lands on the wrong line when a <Cmd> mapping or autocmd
          modifies lines during insert and the strip is skipped
          (after v9.2.0510)
Solution: Restore cursor to tpos when skipwhite skips the strip, instead
          of leaving it at end_insert_pos (glepnir).

related: vim/vim#20290
closes:  vim/vim#20332

179f9efc7e

Co-authored-by: glepnir <glephunter@gmail.com>
2026-05-29 02:25:34 +00:00
zeertzjq
6d2eea9345 vim-patch:9.2.0547: "%v" in 'errorformat' is affected by 'tabstop' (#40040)
Problem:  The "%v" item in 'errorformat' interprets the reported
          screen column using the buffer's 'tabstop', so the cursor
          jumps to the wrong column when 'tabstop' is not 8
          (vimpostor).
Solution: When resolving a "%v" column, always count a <tab> as 8
          screen columns, independent of 'tabstop', matching the
          column numbers reported by compilers; keep the multi-byte
          handling.  Also use "%v" in the gcc compiler file and
          update the documentation (Hirohito Higashi).

fixes:  vim/vim#20321
closes: vim/vim#20359

44dcad20f2

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Co-authored-by: vimpostor <21310755+vimpostor@users.noreply.github.com>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-29 09:35:37 +08:00
bfredl
dd5b738ffc fix(build): ziglua API change (very very minorly) 2026-05-27 11:22:03 +02:00
zeertzjq
d214c24129 vim-patch:9.2.0538: Cannot keep leading whitespace in %{} statusline expr (#40007)
Problem:  A leading space in the result of a %{} item is sometimes
          stripped, and an all-digit result is converted to a number.
Solution: Add %0{} atom which inserts the expression result verbatim
          (glepnir)

fixes:  vim/vim#3898
closes: vim/vim#20315

e8d7a40b98

Co-authored-by: glepnir <glephunter@gmail.com>
2026-05-26 01:04:24 +00:00
zeertzjq
13def2fa3a vim-patch:9.2.0533: '[ mark moved to end of inserted text after CTRL-R CTRL-P paste
Problem:  After CTRL-R CTRL-P (or CTRL-R CTRL-O) pastes a register
          into Insert mode, a follow-up edit such as backspace makes
          stop_arrow() rewrite Insstart with the post-paste cursor
          position.  As a result the '[ mark points at the end of the
          inserted text instead of its start  (agguser, after 9.2.0384)
Solution: In stop_arrow(), only pull Insstart back when the cursor
          moved above the previous Insstart, so a line-start backspace
          can still save the joined range (vim/vim#20031) without disturbing
          the start position for inserts that advance the cursor
          (Hirohito Higashi).

related: vim/vim#20031
fixes:   vim/vim#20130
closes:  vim/vim#20322

bc7805323f

Co-authored-by: Hirohito Higashi <h.east.727@gmail.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 07:28:38 +08:00
bfredl
2d192f3e6d Merge pull request #39920 from bfredl/luastring
fix(lua): use even safer and even better error() message conversion
2026-05-25 16:35:40 +02:00
Michał Dominiak
70792aa6e4 fix(marks): read from the correct variable in conceal_lines mark collection (#39991)
Problem:  Not using current mark for namespace check during iteration for conceal_line marks.
Solution: Use the appropriate mark variable for namespace check.
2026-05-25 11:19:26 +02:00
bfredl
24e23de721 fix(lua): use even safer and even better error() message conversion
problem:
this crashes neovim:

ondska = setmetatable({}, {__tostring = error})
error(ondska)

solution:

make it not crash neovim
2026-05-25 11:06:02 +02:00
zeertzjq
01a21ec5b6 vim-patch:9.2.0525: spell: memory leak in spell_read_dic()
Problem:  spell: memory leak in spell_read_dic() (after 9.2.0524).
Solution: Free "pc" before breaking out of the loop (zeertzjq).

closes: vim/vim#20309

6c8e125395
2026-05-24 18:03:23 +08:00
zeertzjq
1bf38c302d vim-patch:9.2.0524: spell: buffer overflow with many affix or compound flags
Problem:  spell: a word in a .dic file with many postponed prefix or
          compound flags overflows the fixed-size store_afflist[MAXWLEN]
          buffer in get_pfxlist() and get_compflags().
Solution: Add bounds checks (Yasuhiro Matsumoto).

closes: vim/vim#20286

9a920e8254

Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
2026-05-24 18:02:03 +08:00
zeertzjq
1a064abb0a vim-patch:9.2.0517: quickfix: can set quickfixtextfunc in restricted/sandbox mode (#39970)
Problem:  quickfix: can set quickfixtextfunc in restricted/sandbox mode
          (tacdm)
Solution: Disallow setting the quickfixtextfunc option from a sandbox
          and restricted mode (Yegappan Lakshmanan).

closes: vim/vim#20305

cb8510d470


Co-Authored-by: tacdm

Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
2026-05-24 08:49:02 +08:00
zeertzjq
daf2506a6d vim-patch:ecba601: runtime(doc): fix a few small problems (#39969)
closes: vim/vim#20287

ecba601e3f
2026-05-24 00:10:36 +00:00
zeertzjq
b6b2b12494 vim-patch:9.2.0515: virtualedit=insert doesn't work during change operation (#39968)
Problem:  virtualedit=insert doesn't work during change operation
          (after 6.1.014).
Solution: Make virtual_op only affect virtualedit=block (zeertzjq).

related: neovim/neovim#35391
closes:  vim/vim#20298

3d0a6073e5
2026-05-23 23:59:08 +00:00
zeertzjq
c8dbb04da9 vim-patch:9.2.0510: setline() mapping may trigger autoindent (#39961)
Problem:  setline() insert mode mapping may trigger autoindent,
          corrupting the newly inserted line content (Evgeni Chasnovski)
Solution: Only strip autoindent whitespace when the rest of the line is
          all whitespace (glepnir).

fixes:  vim/vim#19363
closes: vim/vim#20290

e3dedac77b

Co-authored-by: glepnir <glephunter@gmail.com>
2026-05-23 08:57:36 +08:00
zeertzjq
7a1bad27ca vim-patch:9.2.0513: [security]: memory safety issues in spellfile.c (#39960)
Problem:  [security]: memory safety issues in spellfile.c
          (tacdm)
Solution: Add recursion limit to read_tree_node(), add length limit
          check in tree_count_words(), use alloc_clear() in
          spell_read_tree().

Github Security Advisory:
https://github.com/vim/vim/security/advisories/GHSA-3h95-3962-mmvf

25e4e46c58

Co-authored-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-23 00:51:47 +00:00
zeertzjq
f53d9ac90b vim-patch:c7645fc: runtime(doc): add a few references to mouse behaviour (#39959)
fixes: vim/vim#20281

c7645fcda5

Co-authored-by: Christian Brabandt <cb@256bit.org>
2026-05-23 07:47:49 +08:00
Luuk van Baal
b58ce1ab79 fix(statusline): no cmdline ruler for autocommand window
Problem:  Cmdline ruler may be drawn for autocommand window.
Solution: Check that the current window is not an autocommand window
          when deciding whether to draw the ruler.
2026-05-22 17:54:24 +02:00
zeertzjq
dee602e659 vim-patch:9.2.0508: completion: cannot complete user cmd :K with 'ignorecase' (#39944)
Problem:  completion: cannot complete user cmd :K with 'ignorecase'
          (rendcrx)
Solution: Skip the short-circuit when 'ignorecase' is set
          (Yasuhiro Matsumoto)

The set_cmd_index() short-circuit for the :k command treats ":k<X>" as
":k {X}" (mark argument), which makes ":kz<Tab>" never reach the
command-name expansion path. With 'ignorecase' the same prefix on other
letters (":gz<Tab>") completes a user command like :Gz, so the result is
inconsistent. Skip the short-circuit when 'ignorecase' is set; default
behaviour is preserved so the existing :k tests still pass.

fixes:  vim/vim#20241
closes: vim/vim#20275

b54e57ee54

Co-authored-by: Yasuhiro Matsumoto <mattn.jp@gmail.com>
2026-05-22 08:07:55 +08:00
glepnir
7662001c48 fix(float): simplify :bufdelete focus retry #39928
Problem:
Followup to #39858. close_windows returned a holder window just so
do_buffer_ext could retry there, but the non-float branch was dead code
and close_windows was called twice.

Solution:
Check one_window directly in do_buffer_ext, drop the holder, make
close_windows void again.

Co-authored-by: Sean Dewar <6256228+seandewar@users.noreply.github.com>
2026-05-21 10:38:04 -04:00
glepnir
26df751add fix(float): :bufdelete in floatwin may change focus #39858
Problem:
(Followup to 54f22a8f01c0feb27a531b52aedf5cdbd5e51b24.)
Deleting another buffer from a floatwin could move focus into the holder
window and fire BufEnter for the buffer being deleted.

Solution:
Use switch_win_noblock() instead of buf_jump_open_win() before
recursing into do_buffer_ext().
2026-05-21 05:06:50 -04:00
Kyle
7337e02563 refactor(docs): generate tui.txt $NVIM_TERMDEFS keys #39836
Problem:
Potential documentation drift in `tui.txt` if fields for
`$NVIM_TERMDEFS` change.

Solution:
Generate docs for `tui.txt`. Add `brief_xform` to `gen_vimdoc.lua` to
allow transforming briefs during generation.
2026-05-21 04:39:45 -04:00
zeertzjq
a952575c3b vim-patch:9.2.0506: home_replace() function can be improved (#39925)
Problem:  home_replace() function can be improved
Solution: Refactor home_replace() to return the length of the string
          (John Marriott).

In addition:
- in function set_b0_fname() move ulen into the block where it is used.
- In function findswapname() rework logic around displaying "swap file
  already exists" dialogue so that literal message text is set once.

closes: vim/vim#20249

a0931a90ee

Co-authored-by: John Marriott <basilisk@internode.on.net>
2026-05-21 09:35:27 +08:00
Justin M. Keyes
9f0ecad6d9 fix(api): fail fast if has_lua_imp retval looks wrong #39866 2026-05-20 11:52:22 -04:00
luukvbaal
53da0c5060 fix(messages): avoid recursive rtp build due to msg_show #39888
Problem:  If there are pending messages when starting to build the
          runtime search path, a msg_show callback may invoke
          runtime_search_path_validate() recursively.
Solution: Avoid msg_show callback by ensuring messages are flushed.
2026-05-20 08:13:41 -04:00
Matei Stroia
526ae1cc1b fix(fold): virtual lines duplicate foldopen (#39891)
Problem:
Virtual lines above a line where a fold starts show `foldopen` in
`foldcolumn`.

Solution:
Check if the line below the virtual one is inside a fold that starts
higher up or if it's the start of a fold. In the latter case, don't show
anything in `foldcolumn` for the virtual line.

refactor: lint
2026-05-20 19:56:39 +08:00
bfredl
2e82e0bcf6 Merge pull request #39887 from bfredl/o_dod_suss
fix(warnings): annotate or ignore all uses of printf formatting
2026-05-20 12:55:30 +02:00
Justin M. Keyes
f1fad32e2e docs: misc, custom text-object #39877
text-object-define is a pattern I found in tpope's plugins (e.g.
https://github.com/tpope/vim-jdaddy) which shows an elegant way to
define a text-object. (Any mistakes in the example are my fault.)
2026-05-20 05:21:27 -04:00
Barrett Ruth
5181984db9 fix(api): nvim_exec_autocmds({buf=x}) runs in buffer context #39061
Problem: `nvim_exec_autocmds({ buf = ... })` matches the target buffer, but callbacks and modelines run with the caller buffer current rather than the target buffer.

Solution: Execute the buffered path in prepared target-buffer context and restore the caller afterward.
2026-05-20 03:48:55 -04:00
bfredl
3d391cf84d fix(warnings): annotate or ignore all uses of printf formatting
This fixes all clang 22 warnings of the form: "warning: diagnostic behavior
may be improved by adding the 'format(printf, 3, 4)' attribute to the
declaration of 'some_function'"

dialog_msg() was essentially a NULL-handling wrapper. but some callsites
already use their own NULL handling or NULL:s are impossible as the
value has already been assumed non-NULL. Non-locally assuming
a buffer size is also a code smell, especially if we can
just use "sizeof buff" without a wrapper.

append_redir() is... whatever it is.
2026-05-19 19:42:58 +02:00
Nick Krichevsky
24f7182390 fix(mouse): mouse=n should not adjust visual selection
Problem:

When mouse=n is set
  - Dragging the mouse enters visual mode, and then stops listening for
    mouse events.
  - Double/Triple/Quad clicking performs selections.
  - Clicking in visual mode moves the cursor (though not through the TUI).

Solution:

Explicitly gate mouse actions that affect visual mode with a check for
MOUSE_VISUAL. This matches the behavior described in :help mouse.

> If enabled for "v" (Visual mode) then double-click selects word-wise,
> triple-click makes it line-wise, and quadruple-click makes it
> rectangular block-wise.
2026-05-19 11:45:56 +02:00
Justin M. Keyes
16d17c50bb refactor: simplify aucmd_restbuf usage #39879
Problem:
`aucmd_restbuf` must be guarded in case `aucmd_prepbuf` wasn't called.

Solution:
Update `aucmd_restbuf` to be a no-op if `aucmd_prepbuf` wasn't called.
This requires `aco` to be zero-initialized.
2026-05-19 05:09:23 -04:00
Barrett Ruth
353d2a4e4a feat(normal): lines textobject "il", "al" #39845
`al` to select the whole buffer linewise.
`il` to select the current line without surrounding whitespace.
2026-05-19 05:08:23 -04:00
glepnir
450ba41436 fix(api): adjust Visual position after nvim_buf_set_text #30690
Problem:
Visual selection could end up in the wrong place after
nvim_buf_set_text or nvim_buf_set_lines. In some delete cases,
Visual.lnum was already clamped before the line shift happened, so the
adjustment got skipped.

Solution:
Split fix_cursor_cols into reusable fix_pos_col logic and reuse it
for Visual updates. Also adjust Visual.lnum before changed_lines so
the shift uses the original position before final clamping.
2026-05-18 13:08:26 -04:00
Manoj Panda
4791444953 refactor: remove unused MAP_DECLS specializations #39865
Problem:
Various "unused function" warnings when building `map_defs.h`.
https://github.com/neovim/neovim/issues/26452

Solution:
Removed unused `MAP_DECLS(T, U)` specializations, their generated symbols, and
2 obsolete constants.
2026-05-18 11:25:03 -04:00