| Age | Commit message (Collapse) | Author | Files |
|
Problem:
Naming conventions are not automatically checked.
Solution:
Add a check to the doc generator. Eventually we should extract this
somehow, but that will require refactoring the doc generator...
Note: this also checks non-public functions, basically anything that
passes through `gen_eval_files.lua` and `gen_vimdoc.lua`. And that's
a good thing.
|
|
AI-assisted: Codex
|
|
|
|
Following is a list of commits (fixes/features only) in this release.
See `:help news` in Nvim for release notes.
BREAKING
--------------------------------------------------------------------------------
- 9acb52c8f386 diagnostic: remove deprecated diagnostic APIs (#33072)
- 79bfeecdb483 editor: insert-mode ctrl-r should work like paste #35477
- f72c13341afb lsp: pass entire entry to format function (#34166)
- fe23168e2bc1 lsp: reimplement `textDocument/codeLens` as decoration provider
- caa941935545 optwin.lua #36505
- c123b7245c43 path: support RFC3986 in path_with_url() #36564
- a57c7238f9c3 plugins: remove shellmenu #35815
- ade58885c478 provider: drop Python 3.7, 3.8 support #33088
- 59eadebe335f runtime: move "tohtml" to pack/dist/opt/ #34557
- 1d5b3b5b4c86 treesitter: apply `offset!` directive to all captures #34383
- fd1e019e90e7 treesitter: get_parser return nil on error #37276
- a728eb7af162 treesitter: remove "all" option of Query:iter_matches #33070
- 4369d7d9a780 ui: decouple ext_messages from message grid #27963
FEATURES
--------------------------------------------------------------------------------
- 78f4994627b7 ":restart +cmd [cmd]" #34788 #35045 #35223
- b40ca5a01c39 channel: support :detach, :restart on Windows #37977
- ce2742313207 ":wall ++p" creates parent dirs for each buf #36121
- f3c2eb49bab3 vim.Pos, vim.Range #36397
- 9044d64af94d has('terminfo')
- 70d797943956 render tuple types for API methods
- 5151f635ca29 serverlist({peer=true}) returns peer addresses #34806
- 7ba043f0f31c api: add "max_height" argument to nvim_win_text_height (#32835)
- e80d19142bdb api: add nvim_open_tabpage
- 6ebeb07c5614 api: experimental nvim__exec_lua_fast #35758
- 1e7406fa38ee api: nvim_cmd supports plus ("+cmd", "++opt") flags #30103
- 8b171852a925 api: nvim_echo can emit Progress messages/events #34846
- 612b2e785087 api: nvim_get_commands returns function fields #36415
- 4d04d0123d25 api: nvim_set_hl{update:boolean} #37546
- 4998b8d7b5f9 api: nvim_win_set_config accepts unchanged "noautocmd" #36463
- e2a0748cb28f api: nvim_win_set_config can move floatwin to another tabpage
- 094b297a3b33 api: nvim_win_set_config can move split to other tp as floatwin
- 88774965e5c0 api: relax contract, allow return-type void => non-void #34811
- 85d33514f999 api: set nvim_echo() kind for ext_messages (#33998)
- cf0f90fe14f5 async: add `vim._async`
- e1ffa8d33b5e build: HAVE_UNIBILIUM
- 1f004970f00b build: build.zig MVP: build and run functionaltests on linux
- dc6cf3add95a build: build.zig windows support
- e25b99c5b63c build: make build.zig run unittests
- c4501e98f2c3 build: make build.zig use luajit on main plattforms
- 8e0692cdc501 build: support full runtime distribution work
- 6d9031390cfc build.zig: add option to use system dependencies
- 5ec0c1ca07f9 build.zig: install parsers in install step
- 75fe54050081 checkhealth: emoji for OK/WARN/ERROR #33172
- 63323a9c81a8 checkhealth: trigger FileType event after showing report #33677
- 9722bd7b1b47 clipboard: g:clipboard="foo" forces the "foo" clipboard tool #33235
- 3a35fdc3471e clipboard: wayclip primary clipboard and correct mimetype (#33990)
- 6228acb74f94 cmdline: completion for :TOhtml #37045
- 3bdebfb87f11 defaults: don't enable treesitter query linter
- 41cac54325e9 defaults: exclude temp dirs from 'shada' oldfiles #37631
- 5d06eade2599 defaults: map "grt" to LSP type_definition #34642
- 06befe1e348b defaults: map "grx" to vim.lsp.codelens.run() #37689
- 249f305bbcdd defaults: per-platform 'guifont' default #37175
- d77d961b350d defaults: shelltemp=false #33012
- b10cb0296ae2 defaults: store spellfile in stdpath('data') #33048
- 4fae013a21a9 diagnostic: add `enabled` filter (#33981)
- 2f24ae8de471 diagnostic: add `format` option to `setloclist`/`setqflist` (#33977)
- c65817774d66 diagnostic: add `on_jump` callback option
- 7e09fedf43fa diagnostic: config.status #36693
- caf780859197 diagnostic: custom status format function #36696
- 01666aae64d1 diagnostic: fromqflist({merge_lines}) #37416
- 410744210386 diagnostic: highlights in diagnostic.status() #36685
- 68e316e3f910 diagnostic: jump to related info location from `open_float` #34837
- 2767eac320ef diagnostics: stack DiagnosticUnnecessary,DiagnosticDeprecated highlights #36590
- a5b8cf145d1f diff: merge adjacent blocks using inline:word (#37085)
- 45b4bbac281b difftool: replace old "nvim -d" automatically #38057
- d5cfca5b768c docs: numbered listitems
- 4dabeff30822 editor: 'autowriteall' on SIGHUP/SIGQUIT #32843
- 55a0843b7cf7 editor: :source can run Lua codeblock / ts injection #36799
- f5829957f25c env: remove VIM_VERSION_NODOT macro #34890
- 551bb63d449f events: MarkSet event, aucmd_defer() #35793
- 23bf4c0531ac exrc: search in parent directories (#33889)
- 8d397fa458a9 exrc: stop searching in parent directories by unsetting 'exrc'
- dc67ba948eec exrc: user must view and explicitly run ":trust" #35069
- bffca6e26bf3 extmark: support end_col=-1 if strict=false #28169
- 302e59f734ec extui: assign 'filetype' to extui windows (#33924)
- f2988e05db45 extui: don't enter pager for routed message #34679
- 8defe1afb2d1 extui: route to "more" window if it is open (#34190)
- 3c9484b550eb extui: show dismissed message in cmdline (#34745)
- 94677318655e extui: support paging in the dialog window (#35310)
- 7526fb449de3 extui: use winborder for msg window #34859
- 8a626e5c4a52 float: 'statusline' in floating windows #36521
- 216cc893bf1b float: 'winborder' "bold" style #33189
- dcbe5bdd9674 ftplugin: treesitter default highlighting for markdown
- c1fa3c7c377b gen_help_html: generate helptags.json, helptag.html #35442
- 322a6d305d08 glob: new Glob implementation based on Peglob #33605
- 8c63d84be157 health: check `vim.ui.open()` tool #37569
- 13ed22505410 health: create a bug report #31842
- 043f5a291a7c health: show available queries for `treesitter` (#37005)
- 5a94edad70f9 health: summary in section heading #33388
- 47b0a718c3d9 help: gx opens help tag in web browser #35778
- 16f7440cc7b5 help: super K (":help!") guesses tag at cursor #36205
- cb8c9186e6ff highlight: support more SGR attributes #37901
- 0aabe7ae7680 inspect: update to a8ca312
- 8a0cbf04d6a6 iter: peek(), skip(predicate) for non-list iterators #37604
- 448f15ca396a json: pretty-format (indent) with vim.json.encode() #35424
- a897cc17a5ee json: vim.json.encode() sort_keys #35574
- abfe6c9ef7f4 logging: rename ".nvimlog" => "nvim.log" #37935
- 4eed85f9bd0e logs: show full paths in lsp logs (#33886)
- 7486c2f6aa6d lsp: <Plug> mapping for signature help cycling #34039
- 903335a6d50b lsp: `Client:stop()` defaults to `exit_timeout` #36783
- 6577d72d819d lsp: `root_markers` can control priority #33485
- d6a6eed4f3bc lsp: attach to buftype=help buffers #38412
- 63abb1a88f2c lsp: builtin :lsp command
- 7c9b865bdd1a lsp: deprecate `vim.lsp.stop_client` (#36459)
- b877aa34cf36 lsp: detach LSP clients when 'filetype' changes #33707
- 371aa1c5663c lsp: diagnostic related documents support
- 15ff45444325 lsp: display codelens as virtual lines, not virtual text #36469
- 63594ffa04cc lsp: do completionItem/resolve if completeopt=popup #32820
- c5c6ddba91b4 lsp: document method types (#35934)
- d08b26511154 lsp: enable document_color by default #35086
- 66339e06412d lsp: generate method to client capability map
- acfb9bc614ed lsp: graduate ClientConfig `exit_timeout` #36750
- 957093da0da9 lsp: handle deprecated document symbols (#34751)
- 492ea28612b2 lsp: handle disabled code actions (#34453)
- 8876413e2dcc lsp: highlighting the symbol being renamed (#37390)
- d26db4bfbfd6 lsp: improve signature help display #35190
- f99e3a8a2a3f lsp: incremental selection via "textDocument/selectionRange" #34011
- e82aef2e22a5 lsp: incremental-selection operator-pending mode #36575
- a4b2192690d7 lsp: lsp.enable() auto-escalates forced shutdown #36458
- 4430c9a42477 lsp: migrate `document_color` to capability framework (#38344)
- e855a23c02a7 lsp: on_accept can return item to customize behavior #37092
- 729e0acd269f lsp: pass client ID in code action filter (#36046)
- 32f30c4874a0 lsp: pass resolved config to cmd() #34550
- 8ed68fda5014 lsp: semantic token range improvements #37451
- 23ddb2028bce lsp: semanticTokens/range #36705
- 3e8a4e10920d lsp: show color preview in completion items #32138
- 145548a24ae6 lsp: show snippet preview if completeopt=popup #32553
- 654303079baa lsp: skip invalid header lines #36402
- 4bc7bac88425 lsp: start/stop LSPs as necessary during vim.lsp.enable() #33702
- d75ffa59344b lsp: static registration support (#34371)
- cc518cf9bab0 lsp: support CompletionItem.labelDetails #38403
- 8f5bd569c541 lsp: support `documentColor` dynamic registration #33800
- 4745270bf124 lsp: support `textDocument/colorPresentation` (#34823)
- 9ff12396347b lsp: support `textDocument/documentColor`
- 05bd4398c507 lsp: support `textDocument/documentLink` (#37644)
- 0e70aa0e8687 lsp: support `textDocument/inlineCompletion`
- 77e3efecee4e lsp: support `textDocument/onTypeFormatting` (#34637)
- 03d6cf7aae4a lsp: support `version` in `textDocument/publishDiagnostics` #36754
- 965468fca1e7 lsp: support `workspace/codeLens/refresh`
- 835f11595fb0 lsp: support annotated text edits (#34508)
- 02cd56489650 lsp: support auto-force escalation in client stop (#36378)
- 02067a989207 lsp: support diagnostic refresh request
- 2031287e9329 lsp: support diagnostic related information (#34474)
- 0f3e3c87b738 lsp: support dynamic registration for diagnostics (#36841)
- c5167ffc185a lsp: support linked editing ranges #34388
- 76d213efbee8 lsp: support multiline semantic tokens #34458
- 9278f792c374 lsp: support range + full semantic token requests #37611
- 016335a7d09f lsp: support refreshing workspace diagnostics
- 7cc07e838332 lsp: support signature help noActiveParameterSupport #34838
- d7e0d46ffa8f lsp: use stricter types for methods
- c22b03c77166 lsp: user-specified sorting of lsp.completion multi-server results #36401
- e406c4efd620 lsp: vim.lsp.get_configs() #37237
- 6888f65be177 lsp: vim.lsp.inline_completion on_accept #35507
- 03d378fda68f lsp: vim.lsp.is_enabled() #33703
- 054eaf8493cb lsp: warn about unknown filetype #36910
- cb4559bc3204 lsp: workspace diagnostic support (#34262)
- 90d15227c55c lsp: workspace_required #31824
- a8edf6e4459d lsp.util: deprecate vim.lsp.util.stylize_markdown
- 98f8224c1948 lua: `vim.pos`/`vim.range`
- 0c46ea7d38dc lua: add `Iter:unique()` (#37592)
- cf9b36f3d97b lua: add vim.list.unique()
- 7499c9f9a754 lua: conversion between cursor positions
- 62b45b8fe4ce lua: conversion between extmark positions
- 9f5b309d824a lua: conversion between vim and lsp position/range
- 047a10bfde53 lua: function `behavior` for tbl_extend, tbl_deep_extend #33819
- 4d3a67cd6201 lua: replace `buffer` with `buf` in vim.keymap.set/del #38360
- 6e1745e96e3d lua: support vim.Range:has(vim.pos) #37879
- 7ed8cbd09580 lua: vim.list.bisect() #35108
- d8a88256794f lua: vim.wait() returns callback results #35588
- f68a5c40f01d messages: add "prev_cmd" argument to msg_history_show (#34779)
- fc2dee17368d messages: cleanup Lua error messages
- 0d13945bbb0e messages: drop hardcoded 'showmode' delay #38029
- 0741d2520dd7 messages: hl-StderrMsg, hl-StdoutMsg #33429
- 0ee5a4d48155 meta: vendor luv meta files
- 7cd5356a6f89 net: vim.net.request(), :edit [url] #34140
- f29b3b5d458b net: vim.net.request(outbuf) writes response to buffer #36164
- fb0dc825e9bb option: custom chars in 'winborder' #33772
- 28e31f5d3d16 options: default statusline expression #33036
- 5973328edaed options: per-buffer 'busy' status #34493
- 0412527a4078 outline: smaller indentation #34005
- 2728b4efe030 pack: add `[[` and `]]` mappings in confirmation buffer
- a9db6ec6fa12 pack: add `active` field to `PackChanged` event data
- d21b8c949ad7 pack: add built-in plugin manager `vim.pack`
- 4a637107d071 pack: add checkhealth
- 98e3a571ddf4 pack: add code actions in confirmation buffer
- d7db552394ea pack: add initial lockfile tracking
- 8c28507fcf6f pack: allow choosing update target in `update()`
- dd828690c747 pack: allow function `opts.load` in `add()`
- c9965491d01f pack: allow running `update()` without Internet connection
- acff86601efd pack: allow skip install confirmation in `add()`
- a41703d107da pack: confirm "Always" to install all plugins #35733
- c339b83a4ab9 pack: hint in confirmation buffer that plugin is not active
- dc8235c48c8b pack: prefer using revision from lockfile during install
- c522cb0e96da pack: support user-defined `data` in plugin spec #35360
- 2e533e364e2d pack: update `add()` to handle source change for installed plugin
- 069be911064d pack: use `nvim_echo{kind=progress}` to report progress #35625
- a20396153505 pack: use colored `nvim_echo` chunks to show progress report
- 7853cde29a08 pack: vim.pack.get() gets VCS info #35631
- fec02ae8e411 plugins: nvim.difftool can compare directories #35448
- 8a12a0146665 progress: better default format + history sync #35533
- 7b7e8cc72458 progress: disable cmdline progress msg via messagesopt' #36730
- 4b643d7068e8 progress: set Progress-event pattern to "source" #38495
- 24684f90eac2 progress: status api, 'statusline' integration #35428
- 286371b4d22a prompt: multiline prompt input #33371
- 8ab511bba524 prompt: plugins can update prompt during user input #37743
- a940b77cb25a prompt: prompt_appendbuf() appends to prompt buffer #37763
- 5ae41ddde350 prompt: prompt_getinput() gets current input #34491
- 5f8d4a248a97 provider: detect venv python via "pynvim-python" tool #35273
- f01419f3d563 runtime: accept predicates in take and skip (#34657)
- 8c81ed86786a runtime: revert cfilter, ccomplete to legacy Vim
- 9e1d3f487070 runtime: undotree #35627
- c9d846802030 search: increase `MAX_COUNT` to 999
- 6ba32713ada1 secure: allow 'path' parameter for trust action 'allow' (#38001)
- 71455173b482 shada: don't store jumplist if '0 in 'shada'
- 840cdb958969 shada: shada should not store nobuflisted buffers #21818
- 701258921ed1 snippet: highlight active tabstop (#35378)
- 4e1644d4d3cb spell: opt-out of confirm when downloading spellfiles #36836
- 1d40f677760d ssh: SSH configuration parser #35027
- cf874cee330d startup: provide v:argf for file arguments #35889
- 32aee065a898 startup: warn if NVIM_LOG_FILE is inaccessible #38070
- 4719b944437b statusline: option to specify stacking highlight groups #37153
- b79ff967ac91 statusline: vim.diagnostic.status() #33723
- 72a63346d866 stdlib: vim.fs.ext() returns file extension #36997
- 6b4ec2264e1d stdlib: vim.json.decode() can allow comments #37795
- eac2f0443e03 tag: respect jumpoptions=view when popping tagstack (#37021)
- a94568644489 term: increase max scrollback to 1000000
- 6bc0b8ae870c terminal: detect suspended PTY process (#37845)
- 03377b955233 terminal: include sequence terminator in TermRequest event (#37152)
- 71f3a9c5900f terminal: parse current buffer contents in nvim_open_term() (#33720)
- 2368a9edbd6c terminal: support SGR dim, overline attributes #37997
- c8693051a8b6 terminal: surface exit code via virttext + nvim_get_chan_info #37987
- b38173e49333 terminal: synchronized output (mode 2026) #38284
- 72d3a57f270f treesitter: incremental selection
- 586b1b2d9bcf tui: add nvim_ui_send (#35406)
- 981ea41abbec tui: ghostty builtin terminfo #36963
- 8eb096453788 tui: native progress bars for Progress events #35973
- de87ceb3beaa tui: support APC queries in TermResponse (#34426)
- 977e91b424f4 tui: use DA1 response to determine OSC 52 support
- abb40ecedd92 ui: "append" parameter for "msg_show" UI events
- fafc329bbd1e ui: 'pumborder' (popup menu border) #25541
- 649bb372f665 ui: :connect command #34586
- 7ba0f623d75a ui: avoid setting 'cmdheight' with vim.ui_attach()
- 2b4c1127ad1c ui: emit "msg_clear" event after clearing the screen (#34035)
- 2c1c0b7af50b ui: ext_cmdline/messages for the TUI #27855
- f29856d03444 ui: include compositor info with multigrid
- 9bbbeb60e355 ui: no delay for errors with ext_messages (#33693)
- 07d0da64ed51 ui: overlay scrollbar on 'pumborder' #36273
- a2b92a5efbb4 ui: show "empty" cursor behind unfocused floatwin #37624
- 97549ad7cf23 ui: specify whether msg_show event comes from typed command
- 8ae9a44d3841 ui: support grid=0 in nvim_input_mouse #32535
- 08c484f2ca4b ui: use builtin completion popupmenu with ext_cmdline (#31269)
- fbac2e5edc8b ui2: configure maximum window heights #38392
- 32e0d05d53f4 ui2: configure targets per message kind #38091
- 9fc985bc9868 ui2: more predictable routing #35028
- db2a54996ecf ui2: replace message by its ID #37672
- e268760e46ae ui2: show active paging keys in dialog float title #37919
- 875212c5b3b8 ui2: support routing "typed_cmd" trigger to target
- 81d2d88f70e0 undotree: set 'filetype' #36091
- 9595f074255c ux: sexy intro #38378
- 51961625402b version: support multiple Vim versions
- 361671870e14 vim-patch.sh: -M lists all ported patches
- 7fe02126f948 vim-patch.sh: add n flag to list possible N/A patches (#36431)
- 2f0fbdaa480c vim.fs: root() can specify "equal priority" #34276
- eae2d3b145c7 vim.hl: allow multiple timed highlights simultaneously #33283
- ea124068f246 vim.pack: lockfile support #35827
- 773075b2bce8 vim.version: add `vim.version.intersect()`
- aeb8bca12ddf vim.version: make `tostring()` return human-readable version range
- e42050f4aed5 vimscript: log function name in "fast" message #32616
- 6edae880528b vimscript: scripts can detect 'android', 'termux' #38218
FIXES
--------------------------------------------------------------------------------
- b233f71b1bd6 :ball w_locked check, reset b_nwindows in free_all_mem() #38484
- f2e60d000ed3 `fn.exists()` typos (#34390)
- 379c37fa0b1b bug in stylize_markdown
- 2c9d21f722f9 cursor shape don't resume after `:append`
- 7fdf9f739923 define `vim.mpack`
- bc4bddbb214f don't use logical diagnostic position in `get_prev` and `get_next` #35282
- 3567b7d75175 ignore Nvim local config #37805
- fd45bc8caba2 lsp.enable() don't work correctly inside FileType event #37538
- 0694ca8822b5 map wincmd instead of remap #34635
- eeba0dc2ed4e memory leak from double buffer initialization in read_stdin #35413
- dfa5d79d05d8 misc typos #37471
- cd4c98fded94 nvim_open_tabpage cleanup, fixes, more tests
- 874e2149931f remove exec permission from .gitattributes #33140
- bcc9242bc75e remove quotes around `nil` deprecation alternatives (#36047)
- 7b99e1f0c307 remove typo from buffer-local LSP docs (#35841)
- e991133058f2 remove unnecessary `nvim -l` from `gen` command #33676
- 92b2a2677239 resolve all remaining LuaLS warnings in `src/`
- 431004dda2bb screenchar()/screenstring() with hidden floating windows #35560
- 1999c4cdc11c screenchar()/screenstring() with multigrid #32494
- 9204b7541d27 silence LuaLS's `no-unknown` warnings in `src/`
- 020d5e0f7e7f stale lines("w$") after nvim_win_set_height when splitkeep=screen #36056
- 2e68e9c051dc temporarily disable 0.12 deprecation tests
- 3b6084ddf4f0 type fixes
- 38aac21083a5 type of nvim_echo
- d21e2463fd98 update deps hash for zig 0.14.0
- fa8e4e65caeb update lua types for commands
- 9170178ee5af use correct window dimension for range estimation
- 62ba6e8a76f3 use nvim namespace convention #34010
- 28157738e3de vim.lsp.omnifunc should not throw away other items #35346
- 71a22e20ad15 vim.ui_attach handles messages during `-l`/`--headless` #36884
- 9c5ade9212d8 wait() checks condition twice on each interval (#37837)
- 9287c73df9f5 :connect: don't use freed memory (#38512)
- 7cd22e916bbb :connect: formalize connect event #38543
- 49d7f694a850 :ls: check for finished terminal properly (#37303)
- 6af1b7e5e8da :print: don't use schar_from_ascii() for illegal byte (#34046)
- 5cfbc35aa838 api: add missing nargs field to user command Lua callbacks #34210
- eeacd7bd718a api: adjust fix for reconfiguring float "relative" (#34287)
- 3cb462a9608f api: autocmds mess up nvim_get_option_value's dummy buffer
- 612cd99a0017 api: buffer overflow in nvim_buf_get_extmarks overlap #37184
- 006361fc6b98 api: buffer updates in quickfix buffer #31105
- 76d0206342a2 api: count parameter in nvim_parse_cmd, nvim_cmd #34253
- c553008e74e5 api: crash when moving curwin to other tabpage #35679
- b7070778b98a api: cterm type in highlight keyset #37802
- 853eea859fd3 api: disallow moving window between tabpages in more cases
- 0bef1c88f362 api: do not allow opening float to closing buffer
- ef084b5c225c api: don't config split as floatwin relative to itself
- 4362132b101a api: don't re-apply minimal style if unchanged #38152
- 3165e94a64b0 api: ensure win_get_config() "border" is reciprocal (#34322)
- c7c3f9fc9c3a api: fix crash in command preview with % #35228
- 7b9512e613e1 api: fix not capturing output in cmdline mode (#35322)
- d788864cdea7 api: ignore split_disallowed when opening a float
- 3115e3d0d11e api: improve external window validation
- d707ccf98808 api: inconsistent scrolling when deleting before topline (#36301)
- 137d5ab01dfa api: merge split window config only on success
- 22df6492101f api: nvim_create_user_command addr option should allow ranges #35077
- 6f12663de56b api: nvim_get_option_value FileType autocmd handling #37414
- 7e2e11634369 api: nvim_get_option_value dummy buffer crashes
- 0c1ed63c05fe api: nvim_open_tabpage "after" like :[count]tab
- 97b064c9ac84 api: nvim_open_tabpage positional "enter"
- d7472c061759 api: nvim_open_win default to half-size for splits (#36088)
- 19f5f05ac2b9 api: nvim_open_win respects requested split window size (#35601)
- 652c3e76c712 api: nvim_parse_cmd "range" when ea.addr_count=0 #33536
- 72b0bfa1fb7e api: nvim_parse_cmd handle nextcmd for commands without EX_TRLBAR (#36055)
- f3ec657ebc02 api: nvim_parse_cmd on range-only, modifier-only commands #36665
- c7f38e3bc8fb api: nvim_parse_cmd parses :map incorrectly #34068
- 63cbc95d4517 api: nvim_set_current_win doesn't reset Visual mode (#37340)
- 9383a096eb7e api: nvim_set_hl boolean false corrupts underline styles (#38504)
- d19dc6339de7 api: nvim_set_hl crashes when url= key is passed
- ec18ebcb417b api: nvim_set_keymap() throws error even in pcall() #33228
- 7da4d6abe249 api: on_bytes gets stale data on :substitute #36487
- 2211953266f7 api: on_detach consistently before buf_freeall autocmds
- a2b97209395e api: open_win leak from naughty autocommands
- 5226801be264 api: parse_expression crash with ident and curly
- a5e5ec8910ea api: parse_expression crash with unopened ] and node
- d523750de0b3 api: populate lhsrawalt in nvim_get_keymap response
- 88dc44260f83 api: preserve WinConfig style when converting float to split #37264
- 963308439a5d api: reconfiguring float "relative" does not clear "win" (#34271)
- e13e85051751 api: redraw after setting minimal style
- 7be4ae796faa api: relax config validation for "win"
- 1901832f26fa api: return "style" in nvim_win_get_config() #38122
- 15d57ab0ba5e api: single-line visual block insert triggers extra on_lines #35098
- f5d03ec93089 api: style=minimal not applied immediately for unmoved split
- 0ee8323f2b5c api: unnecessary errors when not moving split
- af82f36108ce api: update topline when flushing with nvim__redraw() (#34346)
- 99529577cc9f api: use E226 instead of E227 for duplicate abbreviation (#33159)
- 0d73ec583465 api: use original LHS in keymap error message #33135
- 680d25e5b3c1 api: use standard error messages
- 1ec74fa7b1ba api: win_config `border` type #38030
- c924c2a7b316 api: win_config_float_tp grid removal, redraw
- da39966a3a0a api: win_set_config error message for splitting from a float #35650
- 65170e8dad90 api: wrong return value with reverse range + overlap #32956
- 285c04e2d0e3 api,lsp: call on_detach before wiping out the buffer #35355
- acecdbff1f57 api,lua: handle converting NULL funcref/partial (#37060)
- 4daa8eb5abca appimage: wrong $ARCH used by linuxdeploy #36712
- 5871d2677909 autocmd: 'cmdheight' OptionSet with valid window grids (#34619)
- 19379d125555 autocmd: deferred TermResponse lacks "data", may not fire (#37778)
- 05a83265f9a4 autocmd: fire TabClosed after freeing tab page
- f36dd7557a98 autocmd: heap UAF with :bwipe in Syntax autocmd
- 6d2330f50d07 autocmd: parsing of comma-separated buflocal patterns
- d945a93d69c9 autocmd: potential TabClosed UAF, always set abuf
- 1cde71233fcf autocmd: skip empty comma-separated patterns properly
- f9ef1a4cab74 buffer: defer w_buffer clearing to prevent dict watcher crash #36748
- 14d65dae91b1 buffer: don't allow changedtick watcher to delete buffer (#36764)
- 23aa4853b3fd buffer: don't reuse 1-line terminal buffer (#37261)
- 2700f6642aef buffer: switching buffer should respect jumpoptions+=view (#36969)
- fa24df32641c bufwrite.c: handle invalid byte sequences #37363
- c26f989b2fe1 build: also check os_win sources with uncrustify in CI
- 8069df266150 build: build.zig: use luajit for windows
- 576e8f62c262 build: disable problematic marktree assert in RelWithDebInfo builds
- 88b45614e945 build: gen_help_html fails #36359
- f0d981544b38 build: glibc 2.43 happened
- e69beb9b1aba build: invalid help tags cause reports to fail #36356
- 3268f51d202f build: musl libc build.zig
- f98b5ee61921 build: remove .tar.gz workaround for bug fixed in zig 0.15.2
- a2b0be19bf8f build: remove deprecated aliases in build.zig removed for zig 0.15
- b4db223d33e7 build: treesitter parsers are not ReleaseSafe
- 921f8b0df728 build: use correct cmake expression for $<CONFIG>
- ec8a0c73402b build: workaround errors in zig build due to stale cache
- 6741c134e17f build: zig build can has git version
- 41bc3020c46f build.zig: format build.zig to keep lines under 100 chars
- 565cfa04eb00 build.zig: replace slashes in filepaths #37111
- 64ce5382bd53 channel: crash on failed sockconnect() (#37811)
- 886efcb8535e channel: possible hang after connecting with TCP times out (#37813)
- 4399250e9063 channel: unreference list after callback finishes (#37358)
- 5f9f5bc04d0b checkhealth: check g:loaded_xx_provider for all providers #33168
- e87d2ae3836c checkhealth: check outdated pynvim version properly #33175
- 78d2e0b43e7a checkhealth: don't override user "q" keymap #33132
- 16fbde83c46f checkhealth: don't wrap command in cmd.exe (#38158)
- bd45e2be634b checkhealth: wrong ABI version for treesitter parsers #35327
- ad22d0ace996 cjson: fix `strbuf_set_length` incorrectness #35565
- f5cbf1164421 client: avoid :connect race with server detach
- 2483d5ad8af7 clint.py: replace deprecated codecs.open #36593
- 41199c45d6bb clipboard: avoid using stale register width (#36178)
- 95dfb063daa7 clipboard: correct blockwise register width computation (#35038)
- ac12dc49cc35 clipboard: enable cache for function providers #34470
- 310d01d8faa5 clipboard: tmux clipboard data may be stale #36787
- d00f680c0d2c clipboard: use tmux only in a tmux session #36407
- 8aacce90b4b6 cmake: linker flags, doc generation for cross-compilation #38215
- 9763834170dd cmake: use host nlua0 binary when cross-compiling #38089
- 69cae6259e91 cmd: :update does not write new, unmodified buffer #35929
- fcf752476a33 cmd: :update writes new file buffers only for real files #35939
- a5c55d200b18 cmd: bar "|" not allowed after :fclose #34613
- 5de2ec76a3b0 cmdline: :checkhealth completion with multiple args (#35060)
- f4ee0ab2f1a1 cmdline: avoid empty @: register after :<CR> (#33126)
- fde1c07891e0 cmdline: cmdline_block events for :lua debug.debug() #38171
- 0015a105ca7c cmdline: do not move UI cursor when entering cmdline #33729
- 236d831d77d6 cmdline: don't treat c_CTRL-D as wildmenu (#36067)
- 95ab723995f1 cmdline: empty ext_cmdline block events for :<CR> #33118
- 7f2298ad32a6 cmdline: fix inconsistent behavior with ext_popupmenu (#35688)
- 677446c70f8c cmdline: make sure pum is removed on leave (#36608)
- dc05598d0201 cmdline: set search cursor after ui_flush() (#34418)
- 5977bdba0566 cmdline: trigger CmdlineChanged after command preview (#35254)
- efd0fa55c8b1 cmdline: validate 'incsearch' cursor for "cmdline_show" redraw (#34630)
- 28ff4deda7a0 colorscheme: adjust `StatusLine[NC]` for diagnostics #36719
- 4a706a709282 column: don't count signs on lines beyond eob #33410
- b40e658717b3 column: missing redraw with virt_lines_leftcol (#34650)
- 8f78591f9ac0 column: wrong alignment and highlight with empty 'display' (#35495)
- 69419f8b3e76 completion: CompleteDone reason="discard" when candidate text remains #38169
- 51caf0a3af59 completion: avoid freeing uninitialized value (#33459)
- b25838217697 completion: complete drive-letter filepath on Windows #36353
- 634f6424aaac completion: set 'wrap' and scrolloff=0 in preview window (#37327)
- 3f10bb87efad completion: wrong CompleteDone reason for auto-inserted sole match #38280
- e1b3ca66291a compositor: clear old position with last known dimensions #38229
- 6f632a8615e0 compositor: don't blend uninitialized background cells #34364
- 150490d365a3 conceal: assert tripped during startup #36136
- ad8bce667496 conceal: check for concealed lines on invalid row (#36084)
- ab72799841c8 coverity/530026,530028: free resources on early exit in nlua_exec_file #33502
- 079159410143 coverity/530033: free lp->sl_info to fix resource leak #36198
- 0ed5e00077dc coverity/532324: free skip_until to prevent leak #36109
- 3e303231350e coverity/554963: preallocate msg.items to avoid FORWARD_NULL #34484
- 501a21f33390 coverity/637363: out-of-bounds write #37878
- c5b8ed870b8e coverity/644326: NULL ptr deref in socket_address_is_tcp #38010
- 20b2dd39ccfe decor: clamp last column by decor provider range
- ca16b54c866b decor: enable decoration provider in on_start #33337
- 6adf48b66d52 decor: extmark highlight not applied (#33858)
- 9492df027d07 defaults: 'guifont' "monospace" fallback, trim spaces #37930
- 57b4fb5c5318 defaults: enable :terminal [[,]] motion in operator-pending mode #33217
- 3ebde5ea147c defaults: keywordprg=:help on Windows #33336
- 9567fb050795 defaults: silent `gx` if no `textDocument/documentLink` support #37969
- dc6fc11b8753 defaults: start exrc search from parent directory
- cb247e06f0ba defaults: visual-mode [[,]] for :terminal shell prompts #33201
- 1c96b72dfa41 deps: make script/bump_deps.lua update build.zig.zon versions in sync
- 6e12ef4a7b4c desktop: cannot open filename with spaces using OS file manager #33161
- 2e0158650a3b diagnostic: accept multiple namespace in `open_float()` (#34073)
- c681336e3c35 diagnostic: accept multiple namespaces when setting loclist/qflist (#33982)
- d567f899efb7 diagnostic: allow virtual_{lines,text} cursor exclusivity #33517
- 3ac76977bca5 diagnostic: check for extmark in get_logical_pos #37127
- 68eece8b849d diagnostic: check if the buffer is loaded #35125
- dbe17da1206d diagnostic: deprecate `float` in `vim.diagnostic.Opts.Jump` (#34037)
- efa6d91132c7 diagnostic: display 1-based related information line/col numbers (#37093)
- 2b21c9c23f88 diagnostic: ensure autocmd always is always sent diagnostics
- e34e2289c228 diagnostic: fix flaky error
- 583308f5991c diagnostic: handle stale diagnostic extmark ids #38060
- 88a72efb465c diagnostic: open_float() handles config.float function #31577
- 09266830bdf4 diagnostic: show diagnostics on buffer load #35866
- 9833f0da5f35 diagnostic: unstable sorting by severity #37154
- f7b573f80a33 diagnostics: assert adjusted diagnostic position #37210
- 7a051a4c3894 diagnostics: avoid jumping to diagnostics in deleted ranges #35088
- 9641ad9369f6 diagnostics: diagnostic just after EOL is not highlighted #34085
- e4a100a1e1c0 diagnostics: extend conversion support from/to quickfix format (#34006)
- 19efabafc568 diagnostics: fixed virtual_text cursormoved autocmd error (#34017)
- 0a113013fb85 diagnostics: position diagnostics using extmarks #34014
- a1bc5d0ae6a9 diagnostics: showing stale diagnostics in handlers #35890
- 3594c213a7fe diagnostics: validate opts.signs #34565
- 60d0b7d0c3f7 diff: fix incorrect item size of dout_ga (#34338)
- 0b8a9bde0eee diff: set default diff flags properly (#35450)
- aaec3e5b0dab difftool: add check for window number when cleaning up layout #36161
- c1e60f36f3fb difftool: don't reset quickfix list when closing quickfix window #38088
- c9b74f8b7e38 difftool: ensure split layout, use systemlist #36145
- c6113da5a999 difftool: fully resolve symlinks when comparing paths #36147
- a88c7962a82f difftool: handle "no differences found" #36671
- d59064462096 difftool: silence :only command in setup_layout #36168
- 97a625944252 display: adjust setting winline info for concealed lines (#33717)
- cb2ca54331cd display: cursor moves when searching with "n", "*" #29446
- ce0c0c31a089 display: scroll logic does not take into account concealed topline (#33054)
- 5b1561bb717e display: scroll redrawing doesn't account for virt_lines above fold #33374
- 7e8b7bba21cf display: wrong cursor column with 'concealcursor' = "n" and virt_text (#33218)
- 5582005ac766 docs: add `--clean` arg to LSP bug report (#36530)
- e74753a221f8 docs: callback annotation for `vim.ui.input` #34507
- 4a910a2a4ed6 docs: dev.txt is "new layout"
- 9da316fcc45c docs: force blank line after numbered list items #35950
- 4397c4b117d1 docs: improve adjacent list items
- 8a76129d9f61 docs: include `?` in list items #35945
- b2722181b001 edit: clear showcmd after clearing last put char (#34517)
- 9a864d0a3c91 edit: handle cindent properly with completion (#36711)
- 3647b821ea69 editor: respect [+cmd] when executing :drop #33339
- 966b1da1831e editorconfig: a custom property is treated as a section (#34445)
- b618511ef906 editorconfig: use 4 spaces indentation for zig files
- fd973c0a4ec0 env.c: drop envmap, free os_getenv() result #32683
- df9e4a037ad6 eval: 0 should mean current tabpage in gettabvar() (#36891)
- 8156eece2413 eval: fix crash with :breakadd expr when calling user func
- 981d4ba45ed1 eval: winnr('$') counts non-current hidden/unfocusable windows #34207
- 1e1619de830e eval: winnrs of unfocusable/hidden windows #35474
- 57c6b61cf2d1 event-loop: don't call uv_stop() when loop isn't running (#37984)
- 1dbede5b932f events: avoid superfluous CursorMovedI on first autocmd (#33588)
- 0b61bc898230 events: crash on SIGTSTP (Ctrl-Z) #33258
- 0a0c349b6fee events: crash on WinScrolled #35995
- 29494f042c28 ex: error handling for `:lsp` #37061
- 2f352217742c excmd: :trust executed even when inside false condition (#36032)
- c1f142322b20 excmd: correct :connect abbreviation
- 781ea5b41b2d exit: stop listening before closing channels (#38480)
- ed9abb1851e3 exrc: ensure consistent 'exrc' loading sequence #35148
- f7c939fa7af9 exrc: exrc knows its own location (#34638)
- a39334767321 extmark: adjust invalidate range by one for deleted lines #37897
- 589232c0e065 extmark: wrong eol_right_align width calculation (#37034)
- 6dee1672ccc9 extui: "box" window width calculated on last line (#33881)
- ff95d7ff9a04 extui: adjust "more" window routing (#34251)
- cc78f882012b extui: adjust which messages are sent to "more" window
- 9784bc134624 extui: append consecutive :echon messages
- e512efe3696b extui: attempt to perform arithmetic on field 'last_emsg' (#35047)
- 70eb4164591e extui: better message highlighting after carriage return (#34034)
- 9e968635efc4 extui: check if buffers/windows exist before deleting (#34886)
- 3c7c824bdc08 extui: check option values after VimEnter (#33768)
- 5046ef4c8f8d extui: clear cmdline buffer for first message (#34490)
- db702782e016 extui: close cmdwin to enter "more" window (#33860)
- c916bdf32986 extui: close message window with `q`
- 39a5b7f239fb extui: cmdline visibility, cmdheight cursor position (#33774)
- 5e4700152b79 extui: copy window config to new tabpage (#34308)
- 8c6ea76ebcdf extui: disable cmdline highlighter when showing a message (#34887)
- 9efdd4fe98e7 extui: drop "more" window that is no longer floating #33861
- be5a4851eaa5 extui: ensure temporary cmdline config is not restored #35301
- 1256daeead27 extui: ensure windows are valid in scheduled on_key (#35106)
- cd7cf4bd16e7 extui: error on :call input('') (#35515)
- 4d56dc43c0ea extui: handle carriage return in messages
- f1295fe76f49 extui: hide inactive "more" window (#33831)
- 3828856233d9 extui: incorrect cmdline cursor position (#34201)
- a59b052857ca extui: map wincmd instead of remapped key (#34151)
- d4ecfc423495 extui: message may overwrite active cmdline #33846
- 76f76fb08391 extui: only append messages exceeding 'cmdheight' to "more"
- 33b0a004eb20 extui: properly setup "more" window for changed buffer
- 5e83d0f5ad4a extui: reposition "more" window after entering cmdwin
- 7077c5929529 extui: reset message state after "search_cmd" message (#34119)
- 7e787f6a4f16 extui: route interactive messages to more-window (#33885)
- b2a5105c66e1 extui: search highlighting in extui "more" pager #33792
- d0aedd36dfe0 extui: set 'modifiable', 'noswapfile' for buffers (#34582)
- 56709ca1689a extui: setup buffers after activating `eventignorewin` (#35915)
- 8e8f4523c687 extui: translate <Tab> in cmdline text (#34055)
- cb036cae5fb1 extui: use visible to determine active "more" (#34327)
- a96665cf4867 extui: using tracked message column in cleared buffer (#34154)
- c973c7ae6f56 extui: write each message chunk pattern separately (#34188)
- 8af28ab9cb9a filetype: error when `vim.filetype.match{buf=fn.bufadd('a.sh')}` #34155
- 7500f76e6131 filetype: fix typo (#37286)
- 095b9f98f3e3 filetype: handle invalid `bufnr` in _getlines(), _getline() #36272
- e2cb67570522 filetype: move fallback logic to vim.filetype.match() #30141
- d131d67e67a8 float: clamp floating window above cmdline #37899
- 3ccba4cdffb8 float: crash from nasty :fclose autocmds (#36134)
- d4f2b9050dc6 float: cursor visible in "hidden" floating window #30866
- 66e4784f5ace float: ensure relative window grid is allocated (#34459)
- eb3201c77210 float: null pointer dereference, redundant call #36727
- 3b6e8e484edf float: prevent truncation of title that fits exactly #36880
- 31c814a0ed0e float: respect statusline=3, don't inherit local 'statusline' #36716
- 5943a81fe79a float: style=minimal leaks into normal windows #25185
- cb171ee7cba0 float: tail truncate long title #28387
- 9269a1da355b floatwin: handle viewport width properly at end of window (#35490)
- 66dddd8b515a folds: adjust filler text drawing for transparent folds
- 1d9990daac37 folds: avoid unnecessary loop with horizontal scrolling (#33932)
- d73cfefed5e4 folds: error when deleting lines at end of buffer #35396
- 19715e6e8a71 fs: expand drive-relative paths on Windows #37084
- d22fcf291746 gO: use non-breaking space #34197
- ac6cf5b03ba0 gen: alias /doc/user/helptag.html to /doc/user/helptag/ #38156
- 805dd5d04780 gen: prevent "make doc" failure due to temporary files
- 67fede0fc94b gen_help_html: ASCII art rendering in docs #35262
- a49bf5e1d3c8 gen_help_html: parser override
- 4b02d1f6f6e2 gen_vimdoc: unnecessary assert for non-source files
- d2ca90d87e32 glob: handle numeric literals in pattern matching (#37257)
- 3991f146215b glob: handling commas in letter pattern #34170
- aeebc5185171 grid: assert crash during extreme resize layouts #36847
- 1ad9cdd4036b grid: check allocated grid size when suspicious scrolling
- 856391bc7fa9 health: "q" keymap not set when health.style=float #37007
- a33284c2c068 health: accept TERM=tmux-direct #35511
- c28113dd9d09 health: add back `vim.cmd.redraw()` call (#37576)
- 3fb53abe2a7f health: attempt to concatenate table value #36369
- 8a901a52e1f0 health: avoid silent failure
- 2422fbdd5f90 health: bad format() call #34904
- 672f6e60c165 health: bug-report formatting, version check #36809
- 61678811d8d3 health: check more "old" files #38028
- 31cb37687a03 health: check shell performance using vim.fn.system() #36980
- 16c8a908ef67 health: check stable release for non-nightly build #36715
- d927a87ed607 health: checkhealth float opens extra empty buffer #33648
- f19653e3706d health: emit Progress message #37123
- cfe10b4014ec health: errors in :checkhealth with pyenv-virtualenv #35865
- bd37348939a7 health: expecting nonexistent "inotifywait" function #33312
- 28b7c2df5217 health: floating window closes when opening TOC (gO) #34794
- e4ce0c7270e5 health: git check and autocmd clean #36713
- 6152bcf42ef0 health: hard fail on invalid "python-*" bin #35382
- 6942dec9b29d health: highlight group conflicts with help #34616
- bfc7bae421fe health: improve version check for nightly builds #38147
- 07f048a8d764 health: message should mention "vim.provider" #33095
- e9d03b92b67c health: redraw after emitting progress message #37567
- 06e4b159ed08 health: show full curl output
- f311c96973a5 health: update advice for Python #35564
- ae93639ec440 health: use FileType autocmd for bug report winbar #37486
- 1c52e90cd57c help: :help can focus unfocusable/hide window #34442
- 4a4de7304306 help: better align local-additions #38097
- 25322a3a3b22 help: only set url for help files in $VIMRUNTIME #36165
- e49a59259507 help: retry once if async parsing fails #36592
- 62d3a2110df4 help: wrong tag url in third-party help docs #36115
- 625c59fe5fc2 highlight: Normal-linked groups shouldn't override CursorLine #35026
- 64966ba52cea highlight: allow ephemeral extmarks past final newline #35888
- e23c083d133b highlight: avoid null deref, misc issues #38164
- 444c195edb33 highlight: blend underline check and use struct key for attr cache
- d5a8c9d76667 highlight: correct change detection in do_highlight for gui colors
- e3c36f31e3a0 highlight: ensure extmark range is within buffer bounds #35928
- a7177e34c318 highlight: link HLF_8 to something more prominent #34910
- 3af43cffa028 highlight: no match highlight during :substitute prompt #33262
- 336b46a87945 highlight: preserve background transparency in 'winblend' #34302
- 5803994a1c4a highlight: preserve bg transparency with winblend=100 #34825
- bd12aef78476 highlight: refresh highlight attrs before message output #25737
- 6af89580555f highlight: respect 'winhighlight' in CursorLine Normal check #36927
- f8d59cfab958 highlight: setting 'winhl' doesn't work with global ns (#37868)
- 64753b5c37cf highlight: spurious underline in 'winblend' floating window #34614
- a26cdcb20e68 inccommand: skip input() during preview #35272
- f348c0ebba2c incsearch: include compsing characters with Ctrl-L
- a04c73cc17f5 input: discard following keys when discarding <Cmd>/K_LUA (#36498)
- 592582ba4886 input: don't exit on EOF when peeking for input with -es (#36948)
- 29c8dabd414c insexpand: update showmode when updating the screen (#34466)
- e0308dc14730 install: only install "tee" on Windows #36629
- cd7122125098 intro: crash on small screen #38397
- 4fe51dfdae84 iter: ArrayIter:last returns nil when filtered to empty #34697
- eaa9aca1308b jobs: jobstart(term=true) accepts width/height #33904
- 11e82c108da6 l10n: update Ukrainian translations #37654
- 16c133439958 langmap: assert failure on mapping to char >= 256 (#37291)
- 14fe37056436 logging: don't overwrite NameBuff (#38004)
- ea5007b37fbe lps: separate namespaces for pull/push diagnostics #37938
- bf4710d8c398 lsp: "attempt to index nil config" #36189
- f068386c9f70 lsp: "bold" border for vim.lsp.buf.hover #33395
- a9b8a8dc6c1f lsp: _cancel_all_requests() tries to cancel completed requests #34105
- 97ab24b9c7d9 lsp: _get_workspace_folders does not handle root_dir() function #36071
- a03ab03a10ad lsp: `:lsp restart` restarts on client exit #37125
- 6005fcf6719b lsp: `opts.wrap` always `true`
- 4b0700c618bf lsp: `vim.Range` check in `document_color.color_presentation()` (#38374)
- d6fffe6b321e lsp: access correct client capability path in `supports_registration`
- 3eaa6c5a6659 lsp: add `RequestFailed` error code constant #34645
- c3589753a0e1 lsp: add `vim.deprecate` call to `vim.lsp.with` (#37960)
- bd41f6eb6c66 lsp: add deprecation comment to `gen_lsp` (#36185)
- 9f99bf48ea8d lsp: add missing argument validations (#34519)
- 378435968f64 lsp: adjust codelens position based on the server-provided range
- 35756022cbcd lsp: advertise supported fold kinds (#34461)
- 4db58f78b49f lsp: announce `normalizesLineEndings` capability (#34175)
- bac133e4b6ea lsp: announce diagnostic tag support (#34436)
- fed9069b8da1 lsp: avoid `foldclose()` after current window-buffer changed #33901
- 2debe2f30a45 lsp: avoid automatic request after leaving insert mode (#35767)
- fde0b487fb61 lsp: avoid re-enabling `document_color` on `registerCapability` (#35774)
- 6f733f4a9bf0 lsp: avoid scheduling client deletion before LspNotify #37685
- 2ee896201c46 lsp: better handling of "*" configs
- 0501c5fd0959 lsp: call `on_list` before reading `loclist` #37645
- 653871da1b55 lsp: check `nvim.lsp.enable` before `doautoall` #36518
- e94d8f03b959 lsp: check for lens range in `vim.lsp.codelens.run()` (#35294)
- 1bc85d29c135 lsp: check for non-nil buffer state on reset (#36519)
- bbfcde3ab20e lsp: check if buffer is valid in scheduled client:on_attach() #35672
- c789d799663d lsp: check if buffer is valid when resolving code lenses (#35092)
- 0862c1036a8e lsp: check if client is stopping before reuse #33796
- 42f244bf18a1 lsp: check whether buffer is valid when scheduled #35461
- 0dc900d74443 lsp: clear document_color autocmds #34573
- ace254c9fff1 lsp: close floating preview window correctly #34946
- a702534c501f lsp: close timer when client exits (#36795)
- b4ba27c238ec lsp: codelens extmark line out of range (#35070)
- f2d0b06ecbb5 lsp: completion word includes leading space from label #38435
- 3342aead1df9 lsp: consistent use of `vim.notify`/logging with unsupported methods
- 55e3a75217d9 lsp: convert the encoded position to line byte (#34824)
- 8165427b4d92 lsp: correct capability checks for dynamic registration (#36932)
- 82d0883c2d96 lsp: correct diagnostic data support and related info capabilities (#34454)
- 2822c38f2e73 lsp: correct iteration through attached buffers (#36517)
- 213360c389de lsp: custom 'winborder' in make_floating_popup_options() #34868
- 342974773c53 lsp: cycling signatures with the default `config.focusable`
- 40aef0d02e1a lsp: decode 'null' in server responses as vim.NIL #34849
- b67eff38fe19 lsp: deduplicate completion items #36166
- e62dd13f83a2 lsp: default ClientConfig.exit_timeout to false #36811
- 70ea589d79f6 lsp: deprecate `vim.lsp.get_buffers_by_client_id` (#36449)
- b938638d2d06 lsp: deprecate `vim.lsp.protocol.Methods` (#35998)
- f7802dd5d572 lsp: deprecate vim.lsp.set_log_level, vim.lsp.get_log_path #35274
- 83156974497d lsp: detect if Client:request resolved synchronously #33624
- 0cc4f53b4066 lsp: do not clear the codelens on the last line #38226
- 18e8839c804e lsp: don't create an `'LspAttach'` `document_color` autocommand
- 90abd2613d7f lsp: don't empty server start-boundary by next client response #37665
- 0472119fe61a lsp: don't immediately force shutdown when using a timeout (#36455)
- c2c5a0297e00 lsp: don't overlay insertion-style inline completions (#36477)
- afebbd0f34ca lsp: don't override `config.title` in `vim.lsp.buf.signature_help()` #35075
- 729111d3a3cd lsp: don't treat MarkedString[] with language id as empty #35518
- ff792f8e6908 lsp: enable insertReplaceSupport for use in adjust_start_col #36569
- 8495d9623809 lsp: ensure `bufstate` when calling `vim.lsp.document_color.is_enabled`
- f168d215cfa2 lsp: ensure augroup before querying autocmds #38254
- e239179871c4 lsp: ensure bufnr is passed for buffer-local requests (#36325)
- 40dc2d02a851 lsp: ensure the codelens on the first line is visible
- 9f77124b78ec lsp: error on omnifunc completion (#37790)
- 82b844fefef5 lsp: fallback to empty `capability_path` in `supports_registration`
- 927927e143bd lsp: fix error with InsertReplaceEdit events #33973
- 23f4fab0bdfe lsp: fix incorrect params because of typo (#36871)
- 34116bbd9b61 lsp: fix nil-index error for `:lsp enable` (#37411)
- 20a392fe3843 lsp: fix window to set cursor for inline completion (#36444)
- 4ee2e365a583 lsp: fix workspace diagnostic request to follow spec (#34674)
- 913b05bf630d lsp: format_item should return string (#36025)
- 7c3df3e2ea13 lsp: get_namespace signature (#38449)
- a8ffa6e323d8 lsp: guard dynamic capability attachment #38382
- abc96ba0ce30 lsp: handle `nil` buffer state in `documentColor` clear (#33746)
- 8e48c0206155 lsp: handle array with empty string when checking empty hover (#35423)
- 507cd63418ac lsp: handle completion/resolve response arriving after on_insert_leave
- 1de77c608fa9 lsp: handle nil request in semantic tokens #36780
- 26cc42e426d7 lsp: handle nil response in references request #35139
- 5653b25e9b8f lsp: handle non-string documentation in completion items #38291
- 95dce376f330 lsp: handle providers without subcapabilities
- eaacdc9bdffd lsp: ignore empty response on trigger completion #37663
- a0678a5849d3 lsp: ignore inline completions after leaving insert mode (#36476)
- 7ebfc5077512 lsp: ignore invalid fold ranges (#36708)
- 8bfb91accce7 lsp: ignore stale codelens resolve responses (#38153)
- 5d1fd4aca58c lsp: improper diagnostic end_col computation
- 1f558f8d0960 lsp: improve diagnostics handling and comments
- ed562c296abe lsp: improve dynamic registration handling #37161
- 5c15df449a87 lsp: improve error completion message #33812
- cd06e0c9d6be lsp: include client ID when receiving unknown fold kind (#34535)
- 6005bc68b29e lsp: include context for each client in multi-handler results (#34669)
- b459bf5961fd lsp: include missing LSP methods and update type annotations
- 18d6436ad2c6 lsp: inlineCompletion: ignore out-of-range items #35990
- 820fb89172b7 lsp: make thematic break parsing conform to GFM spec (#35162)
- 13cf80deefe7 lsp: map all LSP methods to server capabilities (#37910)
- 2f78ff816b03 lsp: misleading logs in non-applicable filetypes #35749
- d9768348649b lsp: nil error in ColorScheme autocmd
- 3c4acc0f1a2b lsp: noisy log message when enabling server without config #36264
- 91e116f3a671 lsp: only auto-detach lsp.config clients #33834
- e5c5b563ec1e lsp: only auto-detach lsp.config enabled clients #34325
- eb90f5d9e3a6 lsp: only resolve LSP configs once (#38007)
- 6926fc1615c9 lsp: opts.reuse_win does not jump if buf is already open #33476
- 4778a4c20179 lsp: prevent flicker in codelens virtual text #34888
- 9e93bfdb5fce lsp: prioritize showing active signature
- b98aefc5841a lsp: properly handle `documentColor` from multiple servers #33656
- c39d18ee939c lsp: raise error when lsp config is invalid type (#37508)
- addd408b3955 lsp: redraw codelens after request completed #38352
- 03032d1f73d8 lsp: remove `vim.lsp.diagnostic.reset()` (#35938)
- 285ea2525fdf lsp: remove extra notify on empty hover
- 34815777b280 lsp: remove side-effects if `vim.lsp.enable()` raises an error (#37571)
- 181df6053382 lsp: remove unused `ns` field
- 371ad48135ed lsp: replace `string` types with LSP method alias type annotations where appropriate. (#36180)
- 6a49a277f517 lsp: request diagnostics from all registrations
- 0da982767332 lsp: respect documentation markup kind in completion preview #38338
- 4ef562472988 lsp: restore Client:stop() force-stopping behavior (#35800)
- 0db8efcbe4fc lsp: restore virtual document color visibility (#38407)
- 4dd9137215f8 lsp: reuse_win prioritizes windows/tabs currently displayed #36486
- 70460d557c51 lsp: scope inline_completion autocmds to buffer (#35965)
- 323d5527eed6 lsp: set 'linebreak' in floating windows (#36275)
- 4b8980949cd4 lsp: set concealcursor='' in LSP floating windows #36596
- c3991b8ef4f0 lsp: show notification with empty hover response (#35014)
- 5b1b46ea5a4f lsp: show title when global winborder is set (#35181)
- 8a94daf80ead lsp: simplify semantic tokens range request logic #36950
- 4ed597389c33 lsp: snippet preview blocked completionItem/resolve request #38428
- 0197f13ed4fa lsp: sort items when completeopt include fuzzy #36974
- d53d542359de lsp: stop and close timer when `Capability` is destroyed
- a768d0a95b52 lsp: stop repeatedly resuming dead coroutine #35743
- 1d8e9b5d070c lsp: store result id for unchanged diagnostic reports
- 8b5d8dfc732e lsp: support `containerName` in symbol requests #35029
- 17c18efbe561 lsp: support v:count in selection_range() #34551
- a1895f024a4c lsp: support workspace/configuation with no section #27510
- bd225422a5b7 lsp: tests for :lsp, rename start/stop
- e69b81ad94da lsp: treat 2-triggers-at-once as "last char wins" #35435
- 1f63735f175d lsp: treat nil inlay hint result as empty array (#35458)
- f67306cc67e8 lsp: typos in method names #36077
- 29c6176f0842 lsp: unify LSP error logging prefixes #38354
- 9139c4f90ff8 lsp: update capability maps (#35227)
- db1b7f74129e lsp: update completion items on `TextChangedP`
- 7a8d31687940 lsp: update metamodel (#38174)
- 6c3e9b557341 lsp: update on `CursorHoldI` cause users unable to `select()`
- 848c7a789470 lsp: update window title when cycling through signatures #35407
- 006101360d6f lsp: use LSP method type in more places (#36069)
- 36db6ff2c128 lsp: use LSP textEdit range for completion start boundary (#37491)
- 34c769dd897d lsp: use `bufnr` when getting clients in `symbols_to_items` (#33760)
- 807bc00dd68d lsp: use `vim.notify` with action-less `showMessage` requests (#34720)
- 5fbc5ab81073 lsp: use correct `workspace.diagnostics` capability key (#35937)
- 00ad477419f2 lsp: use correct deprecation function (#34518)
- 6fe68abdf5a3 lsp: use entire line as completion word (#37949)
- 1d7823451e2a lsp: use vim.notify for all message types #34489
- f90cd620c56b lsp: vim.lsp.completion clean up triggers on client detach (#38009)
- 5c4b64aae59d lsp: wait for exit_timeout on quit #37597
- 6bb6b4793327 lsp: wait to display exit message #37925
- 5554fcc28683 lsp: warn on missing config in :checkhealth #33087
- 0cda01834514 lsp/diagnostic: key resultId by client and identifier
- 7a5e9ef0aab8 lsp/diagnostic: use diagnostic provider identifier for code actions #38401
- f0c0c24ed777 lsp/health: always use vim.inspect to show root_markers (#34667)
- 5ad01184f3c3 lsp/health: ensure valid table before concatenating (#34092)
- 1906da52dbc9 lua: close vim.defer_fn() timer if vim.schedule() failed (#37647)
- 103ddaf9ae80 lua: correct line number reporting for options set in coroutines (#37463)
- b986fd96bc8d lua: coverity "unreachable" warning #35874
- 40f5115ac430 lua: disable `strict_indexing` when converting LSP positions
- 1264d1156ce1 lua: don't leak timer when vim._watch.watch() fails (#35768)
- c08139d790b7 lua: don't remove first char of non-file stacktrace source (#37008)
- 9a5641b4b570 lua: drop support for boolean `buf` in `vim.keymap` #38432
- 66066d0f6a22 lua: extra CR (\r) in `nvim -l` output #38048
- b87bdef2a864 lua: relax `vim.wait()` timeout validation #36900
- 6a330f893bf1 lua: report error in Lua Funcref callback properly (#35555)
- 1aa26f5d5555 lua: separate vim.{g,b,w,t} types #37081
- 94144d46787f lua: vim._with() doesn't save boolean options properly (#37354)
- 89b946aa87d2 lua: vim.diff is nil in uv.new_work() thread #34909
- 40351bbbbe78 lua: vim.validate `message` param #33675
- bc0635a9fc9c lua: vim.wait(math.huge) fails #36885
- b3324be0d8a1 man.lua: :Man ignores section of gzipped manpage #38235
- 87bd16e470b2 man.lua: :Man slow/hangs if MANPAGER is set #36689
- 5333d6371bfa man.lua: E95 when piping to :Man #33068
- a8dd5c7e41dd man.lua: noisy "ENOENT" error on Windows #33409
- 46220afef806 man.lua: show_toc condition may cause infinite loop #36979
- b8763cb21525 man.lua: useless executability check #33438
- 84d3bbef23d0 map: use names like Map_key_value not Map_keyvalue
- 218ea9fff775 mappings: always include replace_keycodes in mapping dicts (#37272)
- 3341ab07764e marks: clamp conceal_lines corrected line number #33464
- 5773f0e99463 marks: make jumpoptions=view work with 'smoothscroll' (#38339)
- 064ff74cdbe6 marks: wrong display after inserting/deleting lines #33389
- 033f1123cd91 marks: wrong line('w$', win) with conceal_lines (#37047)
- 37c0efb21cfb marktree: fix edge case bug regarding changing intersections
- 2154d325d526 memfile: avoid potential crash on OOM (#37946)
- 5e470c7af556 menu: fix listing of submenus (#34315)
- 8f9278d7c258 menu: right-click menu fails with E335 when using V after i_ctrl-o #37349
- b47b0caba858 message: concatenate multi-chunk nvim_echo({err}) for exception message #38131
- 3d5ef97a9829 message: no wait return for delayed exception error #35881
- 2de284e50b6d message: set replace_last for completion "scanning" messages #37967
- 3b85046ed5f2 messages: "list_cmd" kind for :command, :version (#34529)
- ac670989980a messages: "list_cmd" kind for mark commands #33874
- dc3a30cfbb83 messages: 'exrc' / secure messages
- 96e1acfa427f messages: add "list_cmd" kind to :colorscheme #37561
- 29f2cb89f01b messages: add append parameter to history entries (#34467)
- 8bdfd286e584 messages: adjust msg_show "empty" kind logic (#37427)
- 83037cf21857 messages: allocate message history kind string #38292
- c85313bac7e6 messages: always assign msg_id to msg_show events #37671
- bf1d4e9793fc messages: capture execute("messages") with ext_messages (#34342)
- 276860b5380d messages: clear 'showmode' message after insert_expand #33607
- 1b2b715389c5 messages: disallow user-defined integer message-id #38359
- 81828e66b99a messages: emit empty msg_show event for :echo #38467
- 53aad276b62a messages: exclude "search hit BOTTOM" msg from history #36961
- 73157c994db4 messages: heap-buffer-overflow with shell command (#37855)
- 7a490d65c57e messages: increment message ID without ext_messages #37714
- 912388f51786 messages: list_cmd kind for buffer line messages (#33855)
- d86d4bacc14b messages: make swapfile attention message part of prompt (#34414)
- 49c19a1fe3cb messages: message not flushed at end of command #37904
- 7c43f8e4336c messages: messages added to history missing from ext_messages "g<" #33907
- a81b059a45ba messages: non-fast and append for "shell_*" kinds #38188
- 10a03e83e357 messages: only msg_clear for UPD_CLEAR #34688
- e876a739eeb1 messages: recognize cmdline one_key/number prompt State (#34206)
- 96957d80c6c3 messages: reinstate 'showmode' message delay #37992
- e63346dfe91b messages: reset redirection message column at message start #38068
- a5f236291c0c messages: single event for multi-expr :echo (#34393)
- f1dcde6cba3b messages: single msg_show event for :global command #37728
- 986b92eb0713 messages: single msg_show event for multiple :set options #33555
- 3898f34c5a21 messages: spurious newline with --headless + cmdheight=0 #38494
- 41336a35905b messages: swedish translation #37395
- 39c4e0f33667 messages: unwanted ext_messages newlines for confirm() #38045
- 4260f73e1396 messages: unwanted newlines with ext_messages #37733
- 98f5aa2564c3 messages: verbose message emitted without kind #33305
- 18fa61049a9e mouse: crash with click on win-separator in statusline (#33091)
- 7432781e7184 mouse: do not fetch clipboard twice when pasting with middle button #33494
- 2f8fb4f28ab9 mouse: mouseclick after conceal_lines is miscalculated #33451
- 32325a66ca0d move: adjust for concealed lines above topline after scrolling up (#33211)
- 6ce2877327b1 move: consume skipcol before revealing filler lines (#34143)
- 2069be281c72 mpack: boundary values for negative integer encoding #37255
- b8ee354f127c msgpack: flush incomplete big UI event before packing RPC event
- 7f2d5d6883b5 msgpack: use fixstr encoding for strings of length 20-31 #36737
- 41068c77aa1b normal: assertion failure with "gk" in narrow window (#37444)
- 911337eb3c4c normal: crash using :norm from vim.ui_attach shell message event #38283
- 4485e715fb6a options: deprecate 'gdefault', 'magic'
- c2136e359008 options: increase t_Co buffer size (#35859)
- 9910445125bb options: make 'cdhome' take effect on any platform
- f4f1149292aa options: vim.opt fails for 'fillchars' #37141
- 1f2883e87976 outline: use 2-space indent instead of 1-space
- 3d37aa3116ab pack: account for Git's "insteadOf" in `:checkhealth` #38393
- bac4cde9cd43 pack: actually checkout proper version of submodules
- b02d1303b80f pack: add trailing newline to lockfile #38469
- 46648c38677d pack: close confirmation buffer's tabpage by ID #34971
- 0f73873d4f42 pack: close confirmation buffer, not tabpage #37756
- ee3239fcb682 pack: consistently use "revision" instead of "state"
- f00abc6a5669 pack: ensure `data` spec is passed in events during lockfile sync #38139
- d3bea4ace94a pack: ensure consistent order of changelog during update
- ed73ed828374 pack: ensure explicit default `version` in events (where possible)
- 14003bd1c563 pack: ensure plugin directory is created during first usage attempt
- 539b8027a309 pack: explicitly close confirmation window #37861
- fa3920282da0 pack: handle Git environment variables #35626
- 3b860653ca0c pack: handle lockfile in case of install errors #36064
- 3f34f083db06 pack: ignore 'loadplugins' when sourcing 'after/plugin' scripts
- 28e2a5c1513d pack: improve `vim.pack.add()` input validation
- 89a72f11e5fe pack: make newer version suggestions more robust
- 2e62f3576f7f pack: open confirmation buffer in tabpage after the current one
- e4e660594366 pack: relax minimal Git version to be 2.0 #36573
- f492f62c3d5f pack: rename confirmation buffer to again use `nvim-pack://` scheme
- 0fa96585dc1d pack: set `source` in progress report #38511
- 474e9e9408e3 pack: show more informative error message if no `git` executable
- 5468e6a45272 pack: skip :redraw! if headless #37782
- 8f0b8a2c279f pack: skip `git stash` during install
- b337c6e0fc0a pack: update `add()` to have default `load=false` during startup
- 1ee18b406114 pack: use 'coxpcall.lua' on non-LuaJIT
- 8200223ee7a8 pack: use `vim.pack:` as message/progress prefix
- f3f509563084 pack: use full hashes in lockfile and revision description
- eff01b7620cf pack: use more correct URI for confirmation buffer name
- 267bbe64cb4f pack: validate installed plugins in `update()` and `del()`
- a5d69326860f paste: don't use :echo immediately before :redraw (#35773)
- 42aae632beb0 plines: count 'showbreak' in EOL inline virt_text in line size (#35921)
- 6291256868f0 process: avoid buffering unnecessary UI event with PTY CWD (#37582)
- 19a3b6778979 process: avoid unexpected behavior when PTY chdir failed (#37614)
- e05171890809 process: don't limit PTY master remaining data size
- 97509aa2be00 process: handle poll() interrupted by a signal (#38024)
- 8a4719e11744 process: use poll() to drain PTY master on Linux (#38005)
- 974bc1b0444b process: wrong exit code for SIGHUP on Windows (#38242)
- e5ba875a956c progress: memory leak on progress-message with history=false
- 2415d8f4247e progress: message-id not sent to ui with history set to false
- 7bf83cc2a651 progress: require "source" for progress-message #38514
- 0af01948f30a progress: show progress-status only in curwin #38458
- bc6737250d61 progress: simplify ui-event, introduce default presentation #35527
- 25000be8457f prompt: "%" prefix repeated on newlines with formatoptions+=r #34584
- ed4c549ea243 prompt: also store column info in ': mark #36194
- a5eb023a5393 prompt: clear undo when changing/appending prompt
- 807a65b2da53 prompt: cursor on prompt line, disallow ":edit" #34736
- 689a149b0890 prompt: don't implicitly set 'modified' #38118
- dbb3986f331f prompt: ensure prompt-mark col gets reseted properly #37669
- 1349233cd150 prompt: heap-buffer-overflow in prompt_setprompt
- 4afbc2543282 prompt: heap-buffer-overflows with invalid ': col
- bf9d3e4bf8d3 prompt: lnum update via nvim_buf_set_lines if buf != curbuf #34833
- b3096b5860ca prompt: ml_get error with invalid ': lnum
- ed7ff848a02d prompt: prompt mark not placed after text edits correctly #34671
- 602cbbe1d930 prompt: prompt_setprompt cursor col adjustment
- 3a10405214ac prompt: prompt_setprompt does not adjust extmarks, no on_bytes
- 2a5d687cc92b prompt: prompt_setprompt sets cursor col unnecessarily
- 16bf7652b7b2 prompt: prompt_setprompt with unloaded buffer, ': with lnum 0
- 51dc752e6cfa prompt: wrong changed lnum in init_prompt
- 7641177c5f98 prompt: wrong cursor col after prompt_setprompt, no on_lines
- 466b2ac1929a prompt: wrong cursor position with cursor keys (#36196)
- acb99b8a6572 prompt_buffer: plugins can't set `':` mark #35624
- b4906577c9f1 provider: misleading :checkhealth if user sets g:loaded_python3_provider=1 #32696
- 51aa64488ddd provider: support python3.14 #38419
- 7be4e4dd6596 pty: prevent orphan conhost.exe on Windows 10 #38244
- ef0386fe9ae2 pum: adjust info window column offset when scrollbar is present (#37069)
- 76fdd9b88248 pum: crash when resizing grid with pumborder set (#36404)
- 2681e1fce3c4 pum: fix heap-buffer-overflow with 'rightleft' (#33146)
- 7d569abb2067 pum: handle RightDrag on parent grid properly (#33626)
- 922816877feb pum: hide info floating window when insufficient space (#37107)
- d87972f92000 pum: keep info window aligned with pum when above #38251
- 445cb751e6cb pum: pumborder=shadow not blending properly (#37328)
- 0712a9c87bfe pum: separate scrollbar from shadow border (#37448)
- 686e7aca40b8 pum: simplify 'pummaxwidth' truncation and avoid crash
- 5a6532168443 pum: text overflows into border on truncation (#37438)
- 106cacc93be1 pumblend: do not apply special highlight attrs from bg layer #36186
- c80bb5b63e0a pumborder: wrong layout with pumborder=none #36208
- 6256adde2f8b quickfix: always split from current window #33807
- 69c379dc4411 quickfix: use correct lnume when appending (#34611)
- 7ed8e969941c redraw: update curswant for Visual selection (#34241)
- a141fd2c4d21 remote: remote-ui connect timeout on slow networks #36800
- 39d8aa0a1ac1 rpc: don't overwrite already received results on error (#37339)
- abd0c882b37a rpc: handle more cases when identifying loopback #36100
- e142e01d570c rpc: include write failure reason in log (#37959)
- db2b774a1641 runtime: 'includeexpr' with non-Nvim-style Lua modules #33867
- 9076fdc1238c runtime: add "Added", "Changed", "Removed" to "vim" colorscheme (#35704)
- f048298e9abc runtime: conceal paths in help, man ToC loclist #33764
- 09f9d72c2495 runtime: coverity STRING_NULL #569464 (#34795)
- 923efaea28ff runtime: cpoptions is reset in Lua file #33671
- 76f6868e0a40 runtime: no conceal in qf on :lopen #34854
- 59c45b22d961 runtime: remove erroneously added syntax tests
- 39bb5d7ca233 runtime: stop treesitter highlight in b:undo_ftplugin #38459
- c4c2112b5d6b runtimepath: crash in :packadd splice optimization #38129
- d995142dbdd5 scripts: collect_typos.lua: show commit message on failure
- 9f9099293442 scripts: gen_terminfo clears Windows terminfo definitions #36736
- 130ef73e39ee scripts: release.sh
- d04cbb65b948 scripts: use right syntax for choosing ref in "zig fetch"
- 7a7123539906 server: serverlist({peer=true}) does not find peer servers #35506
- fc21433167fe session: spacebar heater not warm enough #38434
- 2d3dc070ce6b session: window sizes not stored with float windows (#37344)
- 0dcdd65dcc08 shada: check return value is 0
- 36dbd2686f45 shada: don't add '0' mark if f0 in 'shada'
- 1f503ac7c0df shada: don't store empty replacement string
- a6591950f6bc shada: don't store search and sub patterns if /0 in 'shada'
- 198c9e9bca75 shada: preserve marks after delete across sessions (#35795)
- b98eefd8030c shada: prevent 'nobuflisted' buffers in v:oldfiles #34373
- 6bee2f686fcf shada: prevent use-after-free when mapping file marks (#34446)
- 5581a53437c7 shell: ceci n'est pas une pipe
- 6f904cfef15b snippet: adjacent tabstops without placeholders (#35167)
- ecded994c173 snippet: early return for final tabstop #35115
- 628d569a594c snippet: jumping backwards to choice node (#35062)
- dff78f580dfa snippet: setting end_right_gravity (#35061)
- 196802900323 snippet: sync tabstop text also if pmenu is visible (#35250)
- 019b2050e135 snippet: use <cmd>call cursor() for visual range
- d077a24f5c0b socket: avoid stack-use-after-return after timeout (#36405)
- bfe9fa0f8e93 socket: remove stale socket files (#37378)
- 44f1dbee0da3 spell: save spell files to stdpath('data')/site/spell #33528
- 9436e7c9785b spell: wrong VimEnter autocommands (#36339)
- 0f64f0f5b66b startup: crash in read_stdin #35699
- 30dae87de4c6 startup: file buf is lost if stdin is empty and "-" is last #35402
- c8c78b531bdb startup: make startup windows if there are only floating windows (#34349)
- 5c51b45a8223 startup: respect $NVIM_APPNAME in $XDG_CONFIG_DIRS paths
- c785d5cdf062 startup: source init.lua from XDG_CONFIG_DIRS
- 5cbb9d613bf6 startup: wait for bg detection before user config #37075
- 32d3dd06504e statusline: broken statusline on error #38000
- c3a4d125296c statusline: check buf valid before redraw #35123
- 8305af9bd2eb statusline: clear ruler when it is no longer drawn #33765
- ad330e99d1fe statusline: diagnostics spacing #36897
- 1af5ec5b51a1 statusline: don't require'vim.diagnostic' unless already used
- 0ca9849387cf statusline: missing info/hint diagnostics #38307
- af0f7b59b1fc statusline: redraw if Visual selection other end changes (#36281)
- e9b6474ae7ea statusline: scope truncation bookkeeping
- 63ece2b151e3 swapfile: don't use uninitialized memory (#35813)
- cbfa7f0d7b55 swapfile: handle newlines in swapfile list message #35802
- 8b9500c886bd system: don't treat NUL at start as no input (#34167)
- 6e2b514813f4 system: handle SIGINT in --headless mode #36557
- d6d1bfd20da0 term: terminal attr index may exceed TERM_ATTRS_MAX #34318
- 3e6db5b2ec6f termdebug: use mark `:` to get prompt line in prompt buffer #37336
- 295fb3fdb2a3 terminal: :edit should respect 'bufhidden' with exited job (#37301)
- 196df35cca7d terminal: <Ignore> should be no-op (#37494)
- ad1dfc92a0fc terminal: add various missing redraws
- 520568f40f22 terminal: adjust marks when deleting scrollback lines (#36294)
- 379e307148e0 terminal: also don't propagate $COLORTERM on Windows (#37699)
- 1519a34e43df terminal: autocmds leave terminal open to wiped buffer
- 61217e361821 terminal: avoid events messing up topline of focused terminal
- 366251a5d2eb terminal: avoid multiple terminals writing to same buffer (#37219)
- 5e521c3b5ac3 terminal: avoid tailed cursor in focused terminal in events
- 16da47f4749b terminal: changing height may lead to wrong scrollback (#37824)
- 747da13f44ef terminal: check `buf` before deleting extmark #38314
- d07cbb2f4225 terminal: check size when creating new tabpage
- e56292071a4b terminal: check size when switching buffers
- f3feae0bbfd4 terminal: crash after deleting buffer lines (#37921)
- 7297e9d339c6 terminal: crash when TermClose deletes other buffers
- ad85871ca133 terminal: crash when TermClose switches back to terminal buffer
- b67ac8cc6b5e terminal: crash with race between buffer close and OSC 2 (#37225)
- 459cffc55f76 terminal: deleting from wrong buffer (#36289)
- b4039ec0b026 terminal: don't allow b:term_title watcher to delete buffer
- 3cd07709ba57 terminal: don't always leave if enter autocmds delete buffer #38324
- 6a71239cd5ea terminal: don't disable scrolloff for non-terminal buffers (#34451)
- 7d6b6b2d14e5 terminal: don't poll for output during scrollback refresh (#38365)
- 875958c9a1d1 terminal: don't refresh for sync flush when exiting (#38363)
- 6a409e050717 terminal: don't trigger TextChangedT for unrelated redraws
- ee143aaf65a0 terminal: emit Termrequest for all OSC sequences #33181
- b5aef05b8f65 terminal: fix OSC 8 parsing (#34424)
- a2f01953b878 terminal: free the "[Process exited]" msg extmark #38246
- e254688016a4 terminal: handle ED 3 (clear scrollback) properly (#21412)
- 40bf38fefc72 terminal: handle OSC 8 split into multiple fragments
- f6ca9262b89c terminal: handle closing terminal with pending TermRequest (#37227)
- e6fae6445445 terminal: handle opening terminal on unloaded buffer (#37894)
- 814f2629cbcf terminal: handle split composing chars at right edge (#37694)
- 1c57e4cb4f17 terminal: heap UAF from autocmds when entering #38316
- b40880f88ffb terminal: heap UAF if buffer deleted during TermRequest (#37612)
- 3621af9b970c terminal: inconsistent mode change when switching buffer (#37215)
- 4ef7aa83c4c6 terminal: keep last cursor if it's on the last row
- df21ac729cf6 terminal: losing output if BufFile* poll for events (#37580)
- b6befc7b0333 terminal: losing scrollback when TermOpen polls for events (#37573)
- 9cbc430cfb92 terminal: missing refresh with partial mappings (#37839)
- c845f1923d0f terminal: patch various autocommand-related holes
- 9540e7470beb terminal: possible heap-use-after-free during Nvim exit
- 72ac9ac9a108 terminal: possible memory leak on exit (#37532)
- 238d4fa71ad9 terminal: possible missing refresh with buffer updates (#38388)
- e6ba78919c22 terminal: possibly wrong wrow/wcol in active terminal
- 99e754ae0289 terminal: remove condition that buf is curbuf (#33721)
- ba6440c106f9 terminal: reset `w_leftcol` after resizing terminal
- 25ce44845d2a terminal: restore options properly when switching buffer (#37485)
- 1a1a60bd0526 terminal: resuming doesn't work with command in fish (#37857)
- cc7022c5444c terminal: scrollback may still be wrong on height increase (#37835)
- 1b627f6c5999 terminal: set b_locked when setting &buftype (#37787)
- b28bbee53962 terminal: skip setting `string_initial` to false on no-op (#34176)
- 4f6b3e5c15ff terminal: spurious buffer update with empty buf (#37920)
- 756751afa370 terminal: stack overflow when too many csi args (#34012)
- 5c156fdc6421 terminal: update size after closing window
- b7124ae7684d terminal: update winopts and focus when switching terminals
- b88b7f95912b terminal: wrong colors with nvim_open_term() in non-curbuf (#37579)
- 67832710a5d3 terminal: wrong row in TermRequest with full scrollback (#36298)
- 97d9b85bf985 terminal: wrong scrollback with BufFile* autocommand (#37601)
- 54468c1c3c2e terminal: wrong scrollback with nvim_open_term() on buffer (#37791)
- 8707ec264462 termkey: out-of-bounds write in array #33868
- 272e04178060 tests: don't surpress stderr output
- e702f97518cd tests: ignore vector math types
- 2d4b028d02c1 tests: use correct include path for unittest
- d84e786112fd tests: use correct signature for unpacker_teardown()
- c81af9428c08 tests: use uv.spawn instead of io.popen for unittest helpers
- 61f166ec409b textformat: don't swallow "space" with auto-formatting enabled (#38181)
- e5c2ce590580 treesitter: ":EditQuery [lang]" with injected languages #34914
- 08f4811061c9 treesitter: :InspectTree wrong title for non-relative path #37965
- 16aab4cb48e1 treesitter: InspectTree only show the largest injection #37906
- 60af1a1db285 treesitter: clear parse options state #33437
- 5a2edc483dff treesitter: close `:InspectTree` with `q`
- b4016f4525dd treesitter: don't add final newline if not present #35970
- 28eaec5e1526 treesitter: don't memoize modified headings (#33186)
- 8d75910ef968 treesitter: eliminate flicker for single windows #33842
- 5fe582448c41 treesitter: enable a gc for wasmtime
- 168bf0024ece treesitter: ensure TSLuaTree is always immutable
- 99e629481943 treesitter: ensure TSNode's tree is immutable
- 58d85cd03dc8 treesitter: ensure window is valid in async parsing #34385
- d8e03d5d5ae1 treesitter: escape hyphen in lua pattern
- 284b0e4fa25c treesitter: fix `:InspectTree` incorrect injections
- 86c939ba91e9 treesitter: fix spell navigation on first line (#37361)
- d0822bbd1557 treesitter: highlight group for EditQuery captures #36265
- ea878f456a8b treesitter: ignore stale fold refresh callbacks
- 18e0301e1f6d treesitter: inconsistent highlight of multiline combined injection #32619
- 0977f70f4dd3 treesitter: injected lang ranges may cross capture boundaries #32549
- 2aa794826611 treesitter: invalidate conceal_lines cache earlier #33875
- 927453261558 treesitter: invalidate conceal_lines marks #33828
- 4e2ed1d03c08 treesitter: missing `nowait` for :InspectTree keymaps #36804
- 63737e6e73d4 treesitter: no injection highlighting on last line #36951
- 01817eb6f335 treesitter: normalize language aliases
- cf59631f6539 treesitter: not refreshing virtualtext contents #33361
- f82219c490a5 treesitter: parser metadata annotations
- de45b8e2754f treesitter: proper tree `contains()` logic with combined injections
- baabc3598745 treesitter: properly clip nested injections
- f2bfde9140ca treesitter: reset next_col when performing intermediate highlights
- 3ec63cdab848 treesitter: run FileType autocmds in the context of `<abuf>`
- faae1e72a27b treesitter: scope highlight state per window #34347
- 3eab5bd38a56 treesitter: set local values of window options
- 29c5559ce10c treesitter: show capture-level priorities in :Inspect #35443
- 8b41df185c30 treesitter: support multiple `@injection.content` captures
- f8ac713448c9 treesitter: use metadata in :EditQuery captures #37116
- 5119c03be7a9 treesitter: use subpriorities for tree ordering
- 756e1eb017aa treesitter.foldexpr: duplicate callbacks #37048
- b15b22fc73be trust: :trust command on Windows #36509
- 272dba7f07f8 trust: support for trusting directories #33617
- 03eb331abf90 tui: CSI is not ESC (sync mode)
- fb5a51e77570 tui: avoid memory leak and compiler warning on Windows (#34225)
- 1949452bd360 tui: avoid using uv_pipe_t as uv_tty_t (#37479)
- 5048d9aa2ab2 tui: call tcdrain() on stdout and stderr on exit (#38154)
- e65c0a0810cb tui: check for title support correctly (#34866)
- 17e13ce3b65a tui: clear primary device callback before invoking it (#34032)
- 218ff601c48b tui: do not emit resize screen sequence after host terminal is resized (#35335)
- b1679f0ab6a3 tui: do not remove SIGWINCH handler when resize events are enabled (#35221)
- 69bddc089fb8 tui: don't call tinput_init() twice (#36386)
- 331de6afa6ff tui: don't crash when nvim__screenshot() is called with bad path (#34594)
- c35dde03c800 tui: don't process UI events when suspending or stopping (#33710)
- df23952ce950 tui: don't treat remote TUI as GUI (#36319)
- adbd33027f5f tui: don't try to add unsupported modifiers (#33799)
- 4a69847df45d tui: don't wait for DA1 response when stdin is closed (#35745)
- d62bbe24cbe5 tui: enable vtpcon strikethrough feature #36762
- 82f08f33c101 tui: ensure all pending escape sequences are processed before exiting #32151
- 142f9140897e tui: feature detect vsplit scrolling in xterm-like terminals
- 4b5364b42318 tui: forward C0 control codes literally (#33759)
- f64475a22693 tui: handle sequence larger than entire buffer
- 50a38d9698e6 tui: heap-use-after-free when resuming (#36387)
- 1f0dbfea2f2e tui: log chdir failure properly #37591
- bb6f5c3b318b tui: reset cursor style on exit (#36261)
- 5b5b7eb8d4b9 tui: reset cursor to default style when guicursor is disabled #38219
- 16680e57baca tui: use 0x7f as Backspace on Windows with VT input (#37679)
- 460738e02de0 tui: use the correct offset for invisible cursor after sync
- 2dba5abcb2ee tui: wait for embedded server's exit code
- b80d390765b0 tui: wrong default input key encoding (#36440)
- bff7d3fd9f20 tutor: cannot find tutors in pack/*/start/* #34689
- 4143bcbd3757 tutor: escape tutor filename #36539
- e5665754d1b2 tutor: l:lang is undefined
- f2691199fadd tutor: use invalidate field in nvim_buf_set_extmark() #34989
- db1542af3d03 tutor: use legacy syntax for lesson 3.1 #34996
- 9988d7142d65 types: add missing @return annotations
- ef48104c3120 types: nvim_get_win_config return type #35639
- 1427b94200d6 typval: allocated dynamic size must be at least the static size
- 072f126453e8 ui: 'pumborder' parsing, shadow #36127
- 027b7d6bbb4f ui: :intro not displayed with ui2 #37472
- 531442ddd8df ui: apply 'pumborder' to mouse menu, fix overflow #36193
- 5f9f7064622c ui: check for cmdline mode properly (#35202)
- 8aec33e3221f ui: clear msg_ruler event with 'rulerformat' #37675
- a8a0bba2f8e0 ui: close outdated cmdline pum on redraw (#36815)
- a33e5fb1bbce ui: cmdline_block events for exmode #37751
- 8d6963a6a0f0 ui: cmdline_show is not fired after clearing the screen (#36451)
- f02484118c85 ui: correct condition for "wrap" flag in a floating grid
- 7ca3a56258b9 ui: don't crash if maximum UI count reached (#37636)
- ad438b6b14af ui: exclude hidden windows from tabline window count #36779
- d01b2611a6d5 ui: exclude unfocusable windows from 'complete' "w" completion
- c1648cf820ed ui: forward 'rulerformat' to msg_ruler event #35707
- d909de2dc271 ui: ignore textlock for vim.ui_attach() callbacks #36278
- 1a3d3b77bb8d ui: no empty message for substitution match with ext_messages #37600
- d30d91f3a49e ui: only internal messages are unsafe #37462
- 3277dc3b4ee7 ui: postpone UI callbacks during textlock #36803
- 7b8deacc3f1d ui: preview float doesn't respond to mouse scroll #38270
- 61b6553ee94b ui: proper event ordering for nested cmdline_block events (#35344)
- 506dd7252a8c ui: remember cursor shape when obscured #37704
- 6657cc36712d ui: repaint separator connectors after all window updates #37852
- 424d30fe97a8 ui: send multigrid message position and size when the UI is refreshed
- 1d57374c41e6 ui: textlock still causes issues for UI callbacks #37513
- 703f4037c475 ui: wincmd _ should not increase 'cmdheight' above 0 (#33056)
- c87d92c3b4a9 ui.open: use "start" instead of deprecated "rundll32" #36731
- ae2829ee35c1 ui2: ENTER may focus pager in insert/terminal mode #38497
- e19803714800 ui2: always route to dialog when cmdline is open #37730
- 8c7bbfba3d02 ui2: callbacks reference stale message-window handles #37673
- 9655bd560f6c ui2: don't adjust dialog pos for pum wildmenu (#37695)
- 29a46a11aa08 ui2: don't change configured message target implicitly #37924
- d8cea8d45d66 ui2: don't scroll beyond eob in dialog window #36116
- b9451dfd4c06 ui2: emit FileType event after setting default pager options #36315
- b6c020eb593a ui2: ensure expanded cmdline is closed after :<Esc> (#38187)
- ba6fc90b6fb7 ui2: hide search highlights in msg window #36626
- 6275f533d1a3 ui2: immediately open target windows on new tabpage (#38170)
- 179e7fccd74b ui2: incomplete :echon message in g< pager #37819
- 4ef217e272c4 ui2: leftover empty lines in msg window #38059
- dff3028fe7df ui2: move windows to current tabpage
- 844caca881f8 ui2: multiline/color replaced message, expanded cmdline, error messages #38044
- d80d7a3eb448 ui2: no paging in dialog below expanded cmdline #38489
- 72a557c61b42 ui2: only copy highlight marks when expanding cmdline #37709
- 301c7065cacf ui2: only highlight Ex command lines in the cmdline #38182
- c4ac36bfd9bc ui2: only redraw when necessary #36457
- 16495e686371 ui2: only set dialog on_key callback once #37905
- b2adfe775d5e ui2: show messages in dialog window when entering expanded cmdline #38465
- c94b7b93c0d9 ui2: start treesitter after deleting cmdline buffer (#36274)
- ea70d2ad8581 ui2: unset Search highlighting (#36633)
- 52dd62aa6ecc ui2: use pager to list consecutively typed commands #38272
- 3038f0191e9d ui2: wildmenu hidden behind dialog window #37684
- e58a84274977 ui2: wrong condition used to detect active pager
- ce9dbd398b4a undo: u_savecommon uses wrong buffer
- 382963891c9b undotree: check foldmethod before invoking fold (#36192)
- f40672be9935 undotree: clear autocmd correctly #36124
- 645206e87f64 undotree: error on `undotree.open()` with title as string #36085
- 26bd9bfab8ce undotree: highlight extmarks like normal text #36087
- 4598305e0b65 undotree: mark title field annotation as optional (#36102)
- 9c89212de1ea undotree: sync scroll pos with undo #36117
- af5ac7c7eaf2 unittests: use -1ULL to mean UNSIGNED MATH.MAX
- c82f83abb0e3 ux: drop "Sorry" from messages #38318
- d93e15088855 vim-patch: add N/A files and re-sort (#37544)
- d2517acdc5fb vim-patch.sh: 'vim-patch:<hash>' token for 'non-patch' commits #36534
- 8bce9342d101 vim-patch.sh: don't treat 1-file runtime-only patch as N/A (#36525)
- 533cc0ab354d vim.diagnostic: improve typing
- 1f9d9cb2e56c vim.fs: abspath(".") returns "/…/." #36583
- 825e182139ee vim.fs: avoid fn.fnamemodify in fs.root #37162
- dc5d313d66c6 vim.fs: joinpath() should ignore empty items #38077
- 14c708634efe vim.fs: make `rm()` work with symlink to a directory
- f11f8546e7fe vim.fs: root() should always return absolute path #36466
- 28e819018520 vim.hl: nvim_buf_del_extmark on invalid buffer #33331
- da650de277b0 vim.json: fix truncation of decoded numbers outside lua_Integer's range #35702
- 7a69fefdb95d vim.json: loss of precision on integers >14 digits #34876
- 78bbe53f7615 vim.loader: randomized AppImage path pollutes luac cache #35636
- 1363ef7d50bb vim.loader: randomized AppImage path pollutes luac cache #36944
- 1fb0126a086d vim.lsp.enable: don't eagerly enable LSP configs during startup #33762
- 49756ebc70dc vim.lsp.inlay_hint: requesting inlay_hints even when disabled #32999
- 10ca09a2cbe4 vim.net: always pass response body to on_response #38460
- 69b286c3bfb3 vim.net: filetype detection, mark unmodified #36297
- 12689c73d882 vim.pack: add() stops unexpectedly on package load error #34787
- 89d26d61d271 vim.pack: increase default timeout #36992
- 8e740db70c04 vim.pack: skip checkout on bad `version` #36038
- 731e616a79d0 vim.system: clear_env=true gives an invalid env to uv.spawn #33955
- 4eebc4693000 vim.system: env=nil passes env=nil to uv.spawn
- 532610388bb0 vim.system: improve error message when cwd does not exist
- 223ac7782e24 vim.system: unclear non-executable message #33455
- 649ff924d990 vim.version: improve construction of '<=a.b.c' and '>a.b.c' ranges
- 092962b07c57 vim.version: vim.VersionRange:has(<prerelease>) (#33324)
- e40c5cb06d1c vterm: handle split UTF-8 after ASCII properly (#37721)
- d9d8c660fd55 watch: invalid joined path #37973
- bc814cfb2cfa winblend: treat braille blank (\u2800) as whitespace #32741
- de950f827236 window: avoid referencing cmdline_win after it is closed #35617
- c14de47f1a12 window: crash closing only non-float if autocmds :tabonly (#37218)
- df62cb3e6944 window: crash closing split if autocmds close other splits (#37233)
- 0e7479bb7637 window: crash on negative window height with 'winbar' #33250
- 4fadc21e3854 window: disallow closing autocmd window in other tabpage
- bf5f7c1591d0 window: don't add a hsep when out of room if global stl is off
- 0d658660c29e window: don't enter unfocusable or hidden prevwin (#34486)
- b4e3461e3fdf window: don't leak fold memory with style=minimal #38287
- c7fd0c17b12f window: don't make hidden/unfocusable previous window current #36142
- 7f5b5d34cfeb window: don't store invalid height in window config (#34885)
- 3a36df9b13a5 window: handle closing the only non-float in other tabpage
- 9813c00dd376 window: restore b_nwindows if win_close_othertab keeps window
- 403fcacfc16f window: skip unfocusable and hidden floats with "{count}<C-W>w" #33810
- 84d84e9b5bef window: style=minimal window loses local options when switching buffers #38138
- da8de99d0bdc window: use real last buffer of closed window
- d1189ea508c8 window: win_move_after UAF from naughty autocmds (#37065)
- 52991d8728c8 windows: don't set window icon on SIGHUP #34260
- 2c04ae9fcc9c windows: wrong RT_MANIFEST ID in nvim.rc #36406
- 3325536150ed winfloat: last_status when changing split to floatwin
PERFORMANCE
--------------------------------------------------------------------------------
- 5edbabdbec0a add on_range in treesitter highlighting
- f9ce939bf53b scheduler priority clamping on macOS #35488
- 14e94f46177d api: reduce redundant `win_find_tabpage` calls (#35643)
- 4adfc4b7bcd1 events: skip Progress prep if there are no subscribers #35871
- bfe42c84de05 extui: delay creating windows, buffers and parser (#34665)
- babdab2f704e filetype: vim.filetype.get_option cache miss when option value is false #37593
- f9d2115a359c highlight: allow decoration providers to skip ranges without data
- 1629493f72e8 lsp: avoid textDocument/definition requests during tag completion (#37260)
- f486f1742e54 lsp: include `previousResultId` in `DocumentDiagnosticParams` #32887
- 42657e70b8a8 lsp: optimize content length extraction from rpc headers
- f517fcd14847 lsp: use string.buffer for rpc loop
- 92e7d5eaf2a9 pack: reduce number of 'opt/' directory computations
- 3aa04f7ee4b0 runtime: hardware accelerated "packadd opt_package"
- 5e64d9241173 runtime: vim.trim for long only whitespace strings
- d3e495ce03e3 snippet: use "[count]|" to move cursor #33571
- 098da1fc2c9b treesitter: parse multiple ranges in languagetree, eliminate flickering #36503
- e656d7be2ee1 tui: faster implementation of terminfo
BUILD
--------------------------------------------------------------------------------
- 4f97239661eb USE_BUNDLED_UNIBILIUM=0 fails #36623
- fb2d736481ee add script to collect typo PRs (#35824)
- 813457d5a6fe adjust parallel functionaltest target names (#38144)
- 8e922c657c2d allow comments in deps.txt #35765
- 3f416ef524a0 bump lua-bitop to 1.0.3 #35063
- 374e869504ed distclean: remove zig-related dirs #38013
- d589ce28b002 drop BUNDLED_CMAKE_FLAG, BUNDLED_LUA_CMAKE_FLAG
- 0ddba68607a9 ensure toolchain is passed to bundled deps #37587
- 10c11c4644e3 haiku os support #36639
- 8a7c9c971f93 ignore out-of-source build folder #33191
- 8c5bd841edff lint decorations_spec etc. with lintlua (#34182)
- 6b936002cc1a make build.zig generate helptags without running "nvim" binary
- 1d70c96e5b39 move shared.lua to _core/
- f51c54ace654 noisy readability-implicit-bool-conversion warning #38282
- a053186aa71d redundant variable in cmake/Deps.cmake #35924
- 6063ecb64921 remove reference to runtime/indent/Makefile (#35935)
- 20e77c5d886a ship "_core/*" as bytecode (built-into Nvim binary)
- 1bf9a07b3e77 slience new clang-tidy warnings #34539
- 845cb5a527d2 slience some unwanted clang-tidy warnings
- c56734017173 support Cygwin + bundled luajit #36417
- e91224bfaa04 support static build #34728
- 20225fc330a4 suppress -Wfree-nonheap-object false positives in lua_cjson #37250
- 092e49d020ae unset $TMUX when running tests (#34178)
- 3dbba90ba764 update-alternatives during deb install #37980
- 19ba5899460f contrib: add bash completion for nvim #35843
- 4b2cbc21544f desktop: declare "Development" category #37794
- d73f2d9657ff emmyrc.json: use StyLua formatter in .emmyrc.json #35196
- 0980617c0df7 msvc: suppress msvc build warning for different enum types (#34591)
- ceb7eb523049 windows: restore tee.exe on Windows #36363
- 5bb8734fb639 windows: vendor xxd.c #36746
VIM PATCHES
--------------------------------------------------------------------------------
- e27e4052c852 2566a9f: check.vim: Improve po message checks
- 5e6f0e58ed16 32a5faa: check.vim complains about overlong comment lines
- cae4fbf973de 3456303: check.vim: Use silent command modifier
- 5f86b4b70d98 4105ef1: Drop superfluous execute permissions for readable files
- 282a794febc4 41adebe: check.vim: detect trailing whitespace
- fc4188ded870 6f585da: Overlong translation files may cause repo to become "dirty"
- c2e0fd1c35c2 7.4.1886 (#36945)
- 8a4977e286fa 7a734b7: tests: fix typo in comment (after v9.1.1511)
- 5299967551f2 8.0.0287: debug mode: cannot access function arguments (#36772)
- c6f0a1920630 8.1.0425: ml_get error and crash with appendbufline()
- 5a14a2679d6a 8.1.0579: cannot attach properties to text
- 36fc266e8689 8.1.0636: line2byte() gives wrong values with text properties
- b5e20d7dff32 8.1.0654: when deleting a line text property flags are not adjusted
- 76729a204469 8.1.0655: when appending a line text property flags are not added
- ef522420f2f5 8.1.0753: printf format not checked for semsg() (#37248)
- 441d222c0df7 8.1.0857: indent functionality is not separated
- 1e81b5407542 8.1.0977: blob not tested with Ruby
- 0c0ef489f95f 8.1.1136: decoding of mouse click escape sequence is not tested (#35551)
- b3d29f396d7d 8.1.1259: crash when exiting early (#35552)
- 00c2e7d89c28 8.1.1526: no numerical value for the patchlevel
- 4765d4e05997 8.1.1584: the evalfunc.c file is getting too big
- 83f38800e7f9 8.1.1681: insert stray "{" when listener gets buffer line
- c9b35360ac42 8.1.1700: listener callback called for the wrong buffer
- 750c350be86b 8.1.1711: listener callback called at the wrong moment
- b79ed66e4a21 8.1.1736: viminfo support is spread out
- 89e2f346a8e1 8.1.1751: when redrawing popups plines_win() may be called often
- 582e0714b5fc 8.1.1752: resizing hashtable is inefficient (#35563)
- 85bd0b6a0374 8.1.1891: functions used in one file are global
- f7c86742e7bf 8.1.1920: cannot always close a popup when filter consumes all events
- b38ce04283e3 8.1.1939: code for handling v: variables in generic eval file (#36312)
- 681ec17b507a 8.1.1940: script tests fail
- 4aac5908edae 8.1.1957: more code can be moved to evalvars.c
- f89e1eb036f1 8.1.1964: crash when using nested map() and filter() (#35715)
- ed0f46af6280 8.1.1978: the eval.c file is too big
- 183f8cc59d85 8.1.1979: code for handling file names is spread out (#36176)
- 3051e8bbb11f 8.1.1981: the evalfunc.c file is too big
- d06fdecb974e 8.1.2008: error for invalid range when using listener and undo
- 860a7e4d210a 8.1.2021: some global functions can be local to the file
- 406f9e3c8c66 8.1.2077: the ops.c file is too big
- fadbc0e71734 8.1.2127: the indent.c file is a bit big
- 5f3d00a5a609 8.1.2371: FEAT_TEXT_PROP is a confusing name (#35466)
- c81f7aeee2d8 8.2.0098: exe stack length can be wrong without being detected (#37136)
- 7048c36ba8d1 8.2.0115: byte2line() does not work correctly with text properties
- 0c24ddb4d82f 8.2.0200: Vim9 script commands not sufficiently tested
- 3fc3f5f194da 8.2.0223: some instructions not yet tested
- d632ffa24366 8.2.0307: Python 3 vim.eval not well tested
- 992eaac08218 8.2.0370: the typebuf_was_filled flag is sometimes not reset (#37404)
- f3cfe9a94bd5 8.2.0371: crash with combination of terminal popup and autocmd (#37433)
- f2df98e849b7 8.2.0443: clipboard code is spread out #35949
- 758e6db06c0b 8.2.0512: Vim9: no optional arguments in func type
- ed012b817d70 8.2.0844: text properties crossing lines not handled correctly
- 088ba835ed5f 8.2.0845: text properties crossing lines not handled correctly (#35483)
- dc2d4b07a89f 8.2.0853: ml_delete() often called with FALSE argument
- 474c47713420 8.2.1123: Python 3 test is old style
- b95413f60198 8.2.1555: not all tests are executed on Github Actions
- d65f5a06fe2b 8.2.1618: Vim9: cannot pass "true" to setloclist()
- ffb45263767d 8.2.1667: local function name cannot shadow a global function name
- 865a28155e7b 8.2.1672: v_lock is used when it is not initialized (#35416)
- 8d3742ae8da4 8.2.1679: ":*" is not recognized as a range (#37052)
- b95848a8f11d 8.2.1756: Vim9: :let will soon be disallowed (#37063)
- 7ae8860674e2 8.2.1912: with Python 3.9 some tests fail
- d6607dae41ed 8.2.1939: invalid memory access in Ex mode with global command
- 1b1a8895bdd8 8.2.1941: Ex mode test fails on MS-Windows with GUI
- 3694fcec2867 8.2.1983: ml_get error when using <Cmd> to open a terminal (#34759)
- ff8edbaa6ce8 8.2.2198: ml_get error when resizing window and using text property
- b3490536b923 8.2.2403: Vim9: profiling if/elseif/endif not correct
- 1ae7c11392eb 8.2.2404: Vim9: profiling try/catch not correct
- ffdee3a2e1bd 8.2.2409: Vim9: profiling only works for one function
- 8b79c3273586 8.2.2411: profile test fails on MS-Windows
- b764a1ba932a 8.2.2423: missing error message
- 7995e7a89bfe 8.2.2456: Coverity warning for strcpy() into fixed size array
- dccc35e6e93d 8.2.2571: test may leave file behind
- d7cf1b31d5ca 8.2.2834: Vim9: :cexpr does not work with local variables
- 9a5b3a39f32b 8.2.2905: no error when defaults.vim cannot be loaded
- 525c348c29a6 8.2.2992: Vim9: completion for :disassemble is incomplete
- b480b0cd5d12 8.2.3159: cursor displayed in wrong position after deleting line
- e77d15cc5d63 8.2.3348: line2byte() returns wrong value after adding textprop
- cd25ca5e0caf 8.2.3377: Vim9: :disass completion does not understand "s:"
- 4f71d9ce355d 8.2.3383: Vim9: completion for :disassemble adds parenthesis
- e0dcdef1810b 8.2.3431: completion for :disas sorts local functions first
- cba2f65ee4da 8.2.3602: Python3 test fails with Python 3.10 on MS-Windows
- 398cf6d8d39e 8.2.3657: Vim9: debug text misses one line of return statement
- a331d187ba75 8.2.3662: illegal memory access if malloc() fails (#36939)
- 9f84e01dfb0d 8.2.3673: crash when allocating signal stack fails
- f15c28ed7a85 8.2.3766: converting a funcref to a string leaves out "g:"
- a274bdf2d16b 8.2.3767: crash when using NULL partial
- 15d3a83999db 8.2.3795: too many #ifdefs
- 992543c36163 8.2.3841: Vim9: outdated TODO items, disabled tests that work (#37900)
- f211af3ab747 8.2.3962: build fails for missing error message
- 24675ffa97d4 8.2.3968: build failure
- 09964b7ef0e3 8.2.4379: an empty change is reported to a listener
- 08eb133c3f7c 8.2.4474: memory allocation failures not tested in quickfix code
- ce0599082303 8.2.4528: crash when using null_function for a partial
- 7ce17cd2a265 8.2.4529: Vim9: comparing partial with function fails
- 2ba44af7e05d 8.2.4548: script-local function is deleted when used in a funcref
- 0c70fbf0d639 8.2.4633: Visual range does not work before command modifiers
- 78292dcc3d0e 8.2.4636: not using Visual range
- 0fa678c02f56 8.2.4637: warning for using uninitialized variable
- cc95a7d8b8a5 8.2.4738: Esc on commandline executes command instead of abandoning it
- cd543d618dcf 8.2.4763: using invalid pointer with "V:" in Ex mode
- ffdb316491a1 8.2.4772: old Coverity warning for not checking ftell() return value
- e96c61d92d4f 8.2.4773: build failure without the +eval feature
- a979a6237e63 8.2.4785: Visual mode not stopped if win_gotoid() goes to other buffer (#37073)
- 90b1202cfb66 8.2.4851: compiler warning for uninitialized variable
- b6d0c391fc12 8.2.4878: valgrind warning for using uninitialized variable
- eb67f3a6ba52 8.2.5017: gcc 12.1 warns for uninitialized variable
- edd99f09c7ac 8.2.5092: using "'<,'>" in Ex mode may compare unrelated pointers
- f4a33929d9cd 8.2.5161: might still access invalid memory
- 26641c0c5614 9.0.0010: returning 0 for has('patch-9.0.0') is inconsistent
- 2c560d85447f 9.0.0025: accessing beyond allocated memory with the cmdline window
- 0d3ee2686092 9.0.0057: has('patch-xxx') returns true
- 96a514ed464d 9.0.0106: illegal byte regexp test doesn't fail when fix is reversed
- d4a8d169a297 9.0.0113: has() is not strict about parsing the patch version
- 899ec829be85 9.0.0145: substitute that joins lines drops text properties (#37108)
- efacb1070926 9.0.0154: text properties wrong after splitting a line
- 27eb0aba3c1b 9.0.0433: Coverity warns for not checking allocation failure
- 9b15d4c756a6 9.0.0688: debugger does not display the whole command
- 58ee249c2cd9 9.0.0729: the rightleft and arabic features are disabled
- f60051e00d1a 9.0.0874: using freed memory when executing unmenu at more prompt
- e51f5e17e184 9.0.0909: error message for layout change does not match action (#37436)
- 72d3506ce945 9.0.1033: tiny build fails because of conflicting typedef
- 3ac981e83810 9.0.1066: test function name is wrong
- 69bed0431c4d 9.0.1427: warning for uninitialized variable
- 08e193633b76 9.0.1480: using popup menu may leave text in the command line
- 827cfe4a7644 9.0.1653: Amiga: default 'viewdir' may not work
- bd0555ecd497 9.0.1654: MS-Windows: test for default 'viewdir' fails
- b869cf8ddc9c 9.0.1689: python 3.12 produces warnings and fails test
- 53fd3657ccf5 9.0.1758: vim9 no class identifiers in stack dumps
- 1afdcb8f2b3b 9.0.1899: potential buffer overflow in PBYTE macro
- 7c38f428f445 9.0.2023: need more tests for :cq
- d6e5286d2c53 9.1.0059: No event triggered before creating a window
- 3e655d3e42ee 9.1.0063: GTK code can be improved
- 4544cec168e0 9.1.0117: Stop split-moving from firing WinNew and WinNewPre autocommands
- 60a0e3d0a0f7 9.1.0151: ml_get_buf_len() does not consider text properties (#37094)
- 2a28149efc70 9.1.0359: MS-Windows: relative import in a script sourced from a buffer doesn't work
- 453dfbf7d668 9.1.0535: newline escape wrong in ex mode
- 6ce964aed6aa 9.1.0539: Not enough tests for what v9.1.0535 fixed
- 17601e709f5d 9.1.0546: vim-tiny fails on CTRL-X/CTRL-A
- d5a6040967d8 9.1.0598: fuzzy completion does not work with default completion
- a9aedfbc5880 9.1.0605: internal error with fuzzy completion
- 9757b11aaf58 9.1.0631: wrong completion list displayed with non-existing dir + fuzzy completion
- d9f4c1db23bf 9.1.0634: Ctrl-P not working by default
- f4ddbaeb9e3d 9.1.0654: completion does not respect completeslash with fuzzy
- 786c5fbdec79 9.1.0671: Problem: crash with WinNewPre autocommand
- 69a9a25fccd3 9.1.0689: [security]: buffer-overflow in do_search() with 'rightleft'
- 71662bbb4903 9.1.0695: tests: test_crash leaves Untitled file around
- 50423942418b 9.1.0697: [security]: heap-buffer-overflow in ins_typebuf (#37372)
- 532cc88604c6 9.1.0698: tests: "Untitled" file not removed when running Test_crash1_3 alone
- 11b369925287 9.1.0700: crash with 2byte encoding and glob2regpat()
- 0de85e322a83 9.1.0701: crash with NFA regex engine when searching for composing chars
- 8c31b3eeac4e 9.1.0702: Patch 9.1.0700 broke CI
- 094d3dd3d413 9.1.0703: crash with 2byte encoding and glob2regpat()
- 767a52ba3086 9.1.0705: Sorting of fuzzy filename completion is not stable
- 0eb708aa8a1a 9.1.0721: tests: test_mksession does not consider XDG_CONFIG_HOME
- fbac2545110b 9.1.0733: keyword completion does not work with fuzzy
- 70bb7999f7ec 9.1.0748: :keep* commmands are sometimes misidentified as :k
- 62822d750d4e 9.1.0877: tests: missing test for termdebug + decimal signs
- 94f7302e6696 9.1.0893: No test that undofile format does not regress (#37193)
- c5dbee7910b1 9.1.0918: tiny Vim crashes with fuzzy buffer completion
- 9cc93b6def0c 9.1.0974: typo in change of commit v9.1.0873
- 44f70b4be146 9.1.1006: PmenuMatch completion highlight can be combined
- c17caca9b7a5 9.1.1008: tests: test for patch 9.1.1006 doesn't fail without the patch
- 20a7e7444419 9.1.1043: [security]: segfault in win_line()
- 30293575204b 9.1.1131: potential out-of-memory issue in search.c
- 0af6d6ff5e0a 9.1.1147: preview-window does not scroll correctly
- 90d59e6c8aa6 9.1.1178: not possible to generate completion candidates using fuzzy matching
- 17db70f3af38 9.1.1181: Unnecessary STRLEN() calls in insexpand.c
- 10fde593f177 9.1.1182: No cmdline completion for 'completefuzzycollect'
- cd95ea5d48da 9.1.1185: endless loop with completefuzzycollect and no match found
- 28f61994748e 9.1.1197: process_next_cpt_value() uses wrong condition
- e39cdafed968 9.1.1201: 'completefuzzycollect' does not handle dictionary correctly
- e3990f8643c9 9.1.1202: Missing TabClosedPre autocommand
- 0d3ed7904a17 9.1.1211: TabClosedPre is triggered just before the tab is being freed
- dc00b379658f 9.1.1212: filetype: logrotate'd pacmanlogs are not recognized (#33412)
- 162edf7b30dd 9.1.1214: matchfuzzy() can be improved for camel case matches
- f9280cde0ae1 9.1.1217: tests: typos in test_matchfuzzy.vim
- 797195e0ea55 9.1.1219: Strange error with wrong type for matchfuzzy() "camelcase"
- 750e1836afb4 9.1.1224: cannot :put while keeping indent (#33076)
- 0af780e8df84 9.1.1228: completion: current position column wrong after got a match
- 2331c52affe6 9.1.1243: diff mode is lacking for changes within lines
- b20fc95c1a20 9.1.1245: need some more tests for curly braces evaluation
- e2e0f92f17c8 9.1.1246: coverity complains about some changes in v9.1.1243
- ae98d0a560b0 9.1.1247: fragile setup to get (preferred) keys from key_name_entry (#33102)
- e4172bcbdf1c 9.1.1249: tests: no test that 'listchars' "eol" doesn't affect "gM"
- 62da4e2949cc 9.1.1250: cannot set the maximum popup menu width
- cb31663663b9 9.1.1252: typos in code and docs related to 'diffopt' "inline:" (#33143)
- 36d143e70722 9.1.1253: abort when closing window with attached quickfix data
- 675ee057e065 9.1.1255: missing test condition for 'pummaxwidth' setting
- 52b19e012474 9.1.1257: Mixing vim_strsize() with mb_ptr2cells() in pum_redraw()
- 89bc9455543a 9.1.1258: regexp: max \U and \%U value is limited by INT_MAX (#33156)
- 431c037709d1 9.1.1260: Hang when filtering buffer with NUL bytes (#33192)
- e4f37481ff37 9.1.1261: No test for 'pummaxwidth' non-truncated items (#33193)
- b64c2d763e8f 9.1.1262: heap-buffer-overflow with narrow 'pummaxwidth' value
- 76cbe9c8f874 9.1.1263: string length wrong in get_last_inserted_save() (#33194)
- 8a40213eb38d 9.1.1265: tests: no tests for typing normal char during completion (#33239)
- e5ddf7ae7dbd 9.1.1266: MS-Windows: type conversion warnings (#33264)
- 5cdfa3324f4c 9.1.1268: filetype: dax files are not recognized
- 8cf413e450bf 9.1.1269: completion: compl_shown_match is updated when starting keyword completion
- 4983fa45fcfb 9.1.1271: filetype: Power Query files are not recognized
- b01921cb55d7 9.1.1272: completion: in keyword completion Ctrl_P cannot go back after Ctrl_N
- e8785c2e9450 9.1.1276: inline word diff treats multibyte chars as word char (#33323)
- 00eff4b19652 9.1.1283: quickfix stack is limited to 10 items
- 1c723b2e6f51 9.1.1284: not possible to configure pum truncation char
- 8af9f8ab5ecd 9.1.1286: filetype: help files not detected when 'iskeyword' includes ":" (#33377)
- 454abde1aa99 9.1.1287: quickfix code can be further improved
- c73a82756408 9.1.1288: Using wrong window in ll_resize_stack() (#33397)
- 51a967d58acc 9.1.1289: tests: no test for matchparen plugin with WinScrolled event (#33411)
- 7c15987444ff 9.1.1290: tests: missing cleanup in test_filetype.vim (#33420)
- aba33c72f0d0 9.1.1291: too many strlen() calls in buffer.c
- f3b38b46ebbe 9.1.1292: statusline not correctly evaluated
- 6e5671b00df1 9.1.1296: completion: incorrect truncation logic
- aa47c8efa90f 9.1.1297: Ctrl-D scrolling can get stuck #33453
- fd76646a95e3 9.1.1298: define_function() is too long (#33457)
- 287955cfb401 9.1.1299: filetype: mbsyncrc files are not recognized
- 9272dc959729 9.1.1300: wrong detection of -inf (#33474)
- 7651c432525f 9.1.1301: completion: cannot configure completion functions with 'complete'
- c249389adb8a 9.1.1302: Coverity warns about using uninitialized value
- d2d1b5e944b5 9.1.1303: missing out-of-memory check in linematch.c (#33487)
- 7da1639a14f9 9.1.1304: filetype: some man files are not recognized
- b0f97177d470 9.1.1305: completion menu active after switching windows/tabs (#33488)
- 54d605509828 9.1.1306: completion menu rendering can be improved
- e3e8dfe99c89 9.1.1307: make syntax does not reliably detect different flavors (#33498)
- 1de276bbcd8f 9.1.1308: completion: cannot order matches by distance to cursor (#33491)
- afca5b564e76 9.1.1309: tests: no test for 'pummaxwidth' with non-truncated "kind"
- f9f6dc4262ea 9.1.1310: completion: redundant check for preinsert effect (#33505)
- b6acf6112bf6 9.1.1311: completion: not possible to limit number of matches
- 95a255a54840 9.1.1312: tests: Test_backupskip() fails when HOME is defined (#33504)
- 857ff5cae936 9.1.1313: compile warning about uninitialized value
- ccdb37b075c6 9.1.1314: max allowed string width too small
- b4c759716a9e 9.1.1315: completion: issue with fuzzy completion and 'completefuzzycollect' (#33520)
- e2e6c159d3dc 9.1.1317: noisy error when restoring folds from session fails
- 0251a25541a3 9.1.1318: tests: test_format fails
- c67398d31bd9 9.1.1319: Various typos in the code, issue with test_inst_complete.vim (#33527)
- 255bf6e5b11e 9.1.1320: filetype: alsoft config files are not recognized
- 1b0dedb81c12 9.1.1321: filetype: MS ixx and mpp files are not recognized
- dca8b3fede61 9.1.1322: small delete register cannot paste multi-line correctly (#33531)
- 328640aed0ff 9.1.1323: b:undo_ftplugin not executed when re-using buffer
- da20804a6abb 9.1.1325: tests: not checking error numbers properly
- d3cded796c3b 9.1.1326: invalid cursor position after 'tagfunc' (#33556)
- 9fafdcb99cc9 9.1.1327: filetype: nroff detection can be improved
- 98ec3fdf744f 9.1.1328: too many strlen() calls in indent.c (#33563)
- f3c4fec43ffe 9.1.1329: cannot get information about command line completion
- 07d60e8f195c 9.1.1331: Leaking memory with cmdcomplete()
- 63689deb4573 9.1.1337: Undo corrupted with 'completeopt' "preinsert" when switching buffer (#33600)
- 3d126ec89f23 9.1.1338: Calling expand() interferes with cmdcomplete_info()
- ac8ae1596cda 9.1.1340: cannot complete :filetype arguments (#33602)
- fcabbc2283c5 9.1.1341: cannot define completion triggers
- 41179a6bc125 9.1.1342: Shebang filetype detection can be improved
- 4ddd31de14dc 9.1.1343: filetype: IPython files are not recognized
- 31e31273bc03 9.1.1344: double free in f_complete_match() (after v9.1.1341)
- 766cd01ff2ff 9.1.1346: missing out-of-memory check in textformat.c (#33639)
- d75410b0918c 9.1.1349: CmdlineLeavePre may trigger twice
- c64cada12e8c 9.1.1350: tests: typo in Test_CmdlineLeavePre_cabbr()
- afcc4e95d5cb 9.1.1351: Return value of getcmdline() inconsistent in CmdlineLeavePre
- d107375f0cb2 9.1.1353: missing change from v9.1.1350
- 65a4c8f3caf8 9.1.1357: Vim incorrectly escapes tags with "[" in a help buffer
- 074a6abd55af 9.1.1359: filetype: GNU Radio config files are not recognized
- da3eeb4b32bd 9.1.1360: filetype: GNU Radio companion files are not recognized
- 627c648252e1 9.1.1361: [security]: possible use-after-free when closing a buffer (#33820)
- 73f2286f08ca 9.1.1370: CI Tests favor GTK2 over GTK3
- 6b955af8755b 9.1.1373: 'completeopt' checking logic can be simplified
- 15d31fe7a6c8 9.1.1374: completion: 'smartcase' not respected when filtering matches
- 05dab80d8d8f 9.1.1375: [security]: possible heap UAF with quickfix dummy buffer
- d95b0a5396ec 9.1.1376: quickfix dummy buffer may remain as dummy buffer
- 8605f5655bd8 9.1.1378: sign without text overwrites number option (#33942)
- ef5c5dc99b48 9.1.1380: 'eventignorewin' only checked for current buffer
- 4b3a9ac4133c 9.1.1381: completion: cannot return to original text (#33966)
- e4c4d672b581 9.1.1383: completion: 'isexpand' option does not handle space char correct (#33999)
- e01f196e445a 9.1.1384: still some problem with the new tutors filetype plugin
- d539a952da25 9.1.1385: inefficient loop for 'nosmoothscroll' scrolling (#33992)
- 6b9665a507b1 9.1.1387: memory leak when buflist_new() fails to reuse curbuf
- f87b6230f124 9.1.1388: Scrolling one line too far with 'nosmoothscroll' page scrolling (#34023)
- f2aec4bc0579 9.1.1389: completion: still some issue when 'isexpand' contains a space (#34026)
- 2fda267faf0b 9.1.1393: missing test for switching buffers and reusing curbuf
- ec5f054dc957 9.1.1395: search_stat not reset when pattern differs in case (#34058)
- 99384fcd9c29 9.1.1396: 'grepformat' is a global option (#34060)
- dc6885dc24c9 9.1.1398: completion: trunc does not follow Pmenu highlighting attributes (#34084)
- 153a91089768 9.1.1402: multi-byte mappings not properly stored in session file (#34131)
- f791ae82e5b1 9.1.1404: wrong link to Chapter 2 in new-tutor
- 071dcab68f81 9.1.1405: tests: no test for mapping with special keys in session file (#34146)
- bd01bd656479 9.1.1407: Can't use getpos('v') in OptionSet when using setbufvar() (#34177)
- f2373a89d783 9.1.1408: not easily possible to complete from register content (#34198)
- eeff6ca8ff90 9.1.1409: using f-flag in 'complete' conflicts with Neovim
- 2411f924a320 9.1.1410: out-of-bounds access with 'completefunc'
- c4e52d604c9a 9.1.1413: spurious CursorHold triggered in GUI on startup (#34195)
- bec1449cc510 9.1.1416: completion limits not respected for fuzzy completions
- 6c4ddf607f0b 9.1.1417: missing info about register completion in complete_info() (#34219)
- 2763d061008a 9.1.1419: It is difficult to ignore all but some events (#34245)
- 0471cc75954d 9.1.1420: tests: could need some more tests for shebang lines
- f1f106be3d24 9.1.1421: tests: need a test for the new-style tutor.tutor (#34267)
- 9bfd0162dc11 9.1.1422: scheduling of complete function can be improved
- 525c02a89f96 9.1.1424: PMenu selection broken with multi-line selection and limits
- eb108528044d 9.1.1426: completion: register contents not completed
- 97ca92f9ddd7 9.1.1428: completion: register completion needs cleanup
- f89381e05cb5 9.1.1431: Hit-Enter Prompt when loading session files
- 1c417b565ec8 9.1.1432: GTK GUI: Buffer menu does not handle unicode correctly (#34313)
- 6171ab7f4ec6 9.1.1433: Unnecessary :if when writing session
- 552983515f2a 9.1.1435: completion: various flaws in fuzzy completion (#34335)
- 2b79d9ba1a03 9.1.1437: MS-Windows: internal compile error in uc_list() (#34379)
- d2dad3089841 9.1.1439: Last diff folds not merged (#34380)
- bcfc22853af1 9.1.1441: completion: code can be improved
- 78e2f6251675 9.1.1442: tests: Test_diff_fold_redraw() is insufficient (#34407)
- 7a58cf4b962c 9.1.1443: potential buffer underflow in insertchar() (#34408)
- 72f4bb9ae861 9.1.1444: Unused assignment in set_fuzzy_score()
- bcba067dc212 9.1.1445: negative matchfuzzy scores although there is a match (#34409)
- 2c80b05cbd9a 9.1.1446: filetype: cuda-gdb config files are not recognized
- ac772706cccb 9.1.1447: completion: crash when backspacing with fuzzy completion
- 5075043823c0 9.1.1449: typo in pum_display()
- 612f8e7c9e81 9.1.1450: Session has wrong arglist with :tcd and :arglocal (#34430)
- 1abcd9fe28b1 9.1.1452: completion: redundant check for completion flags (#34434)
- 3a2ac2300b7b 9.1.1454: tests: no test for pum at line break position (#34462)
- 3e984cf02bdc 9.1.1463: Integer overflow in getmarklist() after linewise operation (#34532)
- ae0981070e25 9.1.1464: gv does not work in operator-pending mode (#34534)
- 5cf135f9a0ac 9.1.1466: filetype: not all lex files are recognized
- fb8dba413f2b 9.1.1467: too many strlen() calls (#34572)
- 487112d6749d 9.1.1468: filetype: bright(er)script files are not recognized
- 8ed6f00ab06d 9.1.1471: completion: inconsistent ordering with CTRL-P (#34571)
- ee2fc31b3664 9.1.1473: inconsistent range arg for :diffget/diffput (#34588)
- 534ec8d44725 9.1.1475: completion: regression when "nearest" in 'completeopt' (#34607)
- 7f3249fa0de0 9.1.1476: missing out-of-memory checks in cmdexpand.c (#34624)
- 7138cdaef84b 9.1.1477: no easy way to deduplicate text
- 11f8e8eb6316 9.1.1478: Unused assignment in ex_uniq()
- a0f3fdba582f 9.1.1479: regression when displaying localized percentage position
- 3bf27b2c74aa 9.1.1481: gcc complains about uninitialized variable
- 0b91e9f83b88 9.1.1482: scrolling with 'splitkeep' and line() (#34670)
- a565774bfc17 9.1.1483: not possible to translation position in buffer (#37099)
- 504327020d6c 9.1.1484: tests: Turkish locale tests fails on Mac
- dd707246fd83 9.1.1490: 'wildchar' does not work in search contexts
- ee717447dd7e 9.1.1491: missing out-of-memory checks in cmdexpand.c
- 9a44bbd57410 9.1.1493: manually comparing positions on buffer
- 66f02ee1fea2 9.1.1498: completion: 'complete' funcs behave different to 'omnifunc' (#34718)
- da42f99eb414 9.1.1501: filetype: flix files are not recognized
- 18cfbf8fb2c7 9.1.1502: filetype: quickbms files are not recognized
- 0a14ac326106 9.1.1503: filetype: haxe files are not recognized
- fc1be07d28ac 9.1.1504: filetype: numbat files are not recognized
- 6ebcb4a4d6ce 9.1.1505: not possible to return completion type for :ex command
- eef62e815df0 9.1.1506: tests: missing cleanup in Test_search_cmdline_incsearch_highlight() (#34748)
- bb75610d998c 9.1.1507: symlinks are resolved on :cd commands (#34758)
- c48dea20f5ad 9.1.1508: string manipulation can be improved in cmdexpand.c (#34755)
- 9c04eb02adde 9.1.1509: patch 9.1.1505 was not good
- 46727a7feb15 9.1.1510: Search completion may use invalid memory
- 11e967d5af19 9.1.1511: tests: two edit tests change v:testing from 1 to 0
- 85e6feedb0de 9.1.1512: completion: can only complete from keyword characters (#34798)
- cf5506f0fde1 9.1.1516: tests: no test that 'incsearch' is updated after search completion (#34808)
- 3177841bdf35 9.1.1517: filetype: autopkgtest files are not recognized
- 6fd2a3040f7d 9.1.1518: getcompletiontype() may crash (#34819)
- 842ca1fd5cfb 9.1.1519: tests: Test_termdebug_decimal_breakpoints() may fail
- 27daeb0d688e 9.1.1520: completion: search completion doesn't handle 'smartcase' well (#34840)
- c3c8d25293fd 9.1.1521: completion: pum does not reset scroll pos on reopen with 'noselect' (#34836)
- ef0ec7edac5b 9.1.1526: completion: search completion match may differ in case
- 5fe310c5e689 9.1.1528: completion: crash with getcompletion()
- db7c2acbc610 9.1.1532: termdebug: not enough ways to configure breakpoints (#34851)
- 00f8f94d5b06 9.1.1535: the maximum search count uses hard-coded value 99 (#34873)
- d4074b812d0b 9.1.1538: tests: string options in gen_opt_test.vim not fully sorted (#34891)
- f487ae90cfc4 9.1.1539: completion: messages don't respect 'shm' setting (#34923)
- 7631302ad620 9.1.1544: :retab cannot be limited to indentation only (#34939)
- 4195b82ec9ed 9.1.1548: filetype: OpenFGA files are not recognized
- 8bccd0797252 9.1.1549: filetype: pkl files are not recognized
- 8964ad45dab9 9.1.1550: defaults: 'showcmd' is not enabled in non-compatible mode on Unix
- 5cfdd4d8b901 9.1.1551: [security]: path traversal issue in zip.vim (#34951)
- 77c6cae25bc3 9.1.1552: [security]: path traversal issue in tar.vim
- 436ae1d23e30 9.1.1554: crash when omni-completion opens command-line window
- fcec1610e7ba 9.1.1555: completion: repeated insertion of leader (#34962)
- e6ce067f02ed 9.1.1556: string handling in cmdexpand.c can be improved (#34966)
- 4f0ab9877bef 9.1.1557: not possible to anchor specific lines in diff mode (#34967)
- be3586431896 9.1.1559: tests: Test_popup_complete_info_01() fails when run alone
- 9d1333a385fc 9.1.1563: completion: ruler may disappear (#34977)
- b91613f42c33 9.1.1567: crash when using inline diff mode (#35005)
- 0f9b5dd0b4b8 9.1.1570: Copilot suggested some improvements in cmdexpand.c (#35006)
- bbc368dfce25 9.1.1571: CmdlineChanged triggered to often
- b6b793634a63 9.1.1572: expanding $var does not escape whitespace for 'path' (#35010)
- 22d1fb8c014f 9.1.1573: Memory leak when pressing Ctrl-D in cmdline mode
- 9377db254509 9.1.1576: cannot easily trigger wildcard expansion (#35022)
- f7af0cff359f 9.1.1590: cannot perform autocompletion (#35141)
- e40199c6c6cd 9.1.1594: completion: search completion throws errors (#35198)
- 5aaee7d2afdd 9.1.1596: tests: Test_search_wildmenu_iminsert() depends on help file (#35210)
- 1f7ab25915f1 9.1.1598: filetype: waybar config file is not recognized
- 53ac2ad20ab2 9.1.1599: :bnext doesn't go to unlisted help buffers (#35216)
- 52c251909572 9.1.1600: using diff anchors with hidden buffers fails silently (#35218)
- 7230296bdb71 9.1.1601: Patch v8.1.0425 was wrong
- 62f2b10db3f3 9.1.1602: filetype: requirements-*.txt files are not recognized
- b1e35cbd7b32 9.1.1603: completion: cannot use autoloaded funcs in 'complete' F{func}
- 36361d6e4a18 9.1.1604: completion: incsearch highlight might be lost (#35236)
- 798cb0f19a3b 9.1.1605: cannot specify scope for chdir() (#35239)
- e3913c0fc22f 9.1.1606: filetype: a few more files are not recognized (#35268)
- e7dfbf13439f 9.1.1607: :apple command detected as :append (#35237)
- fe42c81f2e07 9.1.1608: No command-line completion for :unsilent {command}
- 5f23aaba00dc 9.1.1609: complete: Heap-buffer overflow with complete function
- 1969f685af98 9.1.1610: completion: hang or E684 when 'tagfunc' calls complete() (#35243)
- 77500c5ad5c6 9.1.1611: possible undefined behaviour in mb_decompose() (#35275)
- 1eca030fb2dd 9.1.1612: Ctrl-G/Ctrl-T do not ignore the end search delimiter
- 9e8d551b1eef 9.1.1613: tests: test_search leaves a few swapfiles behind
- f79430e2ce2e 9.1.1615: diff format erroneously detected (#35276)
- f0d834198438 9.1.1618: completion: incorrect selected index returned from complete_info() (#35284)
- dae79f2b67ba 9.1.1619: Incorrect E535 error message (#35285)
- 47e3aecb78c7 9.1.1620: filetype: composer.lock and symfony.lock files not recognized (#35291)
- dd306bd48abc 9.1.1621: flicker in popup menu during cmdline autocompletion
- 9d85f086d9a9 9.1.1622: Patch v9.1.1432 causes performance regressions (#35288)
- 013af17ed906 9.1.1623: Buffer menu does not handle unicode names correctly (#35353)
- 50ceac4054fd 9.1.1625: Autocompletion slow with include- and tag-completion (#35318)
- 35be59cc7b8d 9.1.1626: cindent: does not handle compound literals (#35319)
- 869000e7ce4e 9.1.1627: fuzzy matching can be improved
- 2619a749a532 9.1.1628: fuzzy.c has a few issues
- e38e65b86c47 9.1.1630: tests: fuzzy bufname completion test doesn't match successfully
- 7afcfb6c9ac5 9.1.1632: memory leak in fuzzy.c
- 8d154e5927d7 9.1.1633: Search pattern shown incorrectly with negative offset (#35337)
- 4019d3050d19 9.1.1638: completion: not possible to delay the autcompletion
- 577f9fa1becf 9.1.1640: Unicode has deprecated some code-points (#35358)
- 37119ad0d24f 9.1.1645: fuzzy.c can be further improved (#35371)
- 43bf045005b0 9.1.1646: MS-Windows: completion cannot handle implicit drive letters
- ba25f3e4d40f 9.1.1647: filetype: Cangjie files are not recognized
- 3e57c5216fad 9.1.1648: MS-Windows: some style issues with patch v9.1.1646
- 25bc41847e49 9.1.1649: attrs allocation and fuzzy growarray could leak (#35383)
- 6ef996a082e3 9.1.1657: Autocompletion adds delay
- b9699d5701bb 9.1.1665: Outdated comment in eval.c (#35436)
- 639f9f4cdaa3 9.1.1667: Another outdated comment in eval.c (#35438)
- 963ead29d9f0 9.1.1670: completion: autocomplete breaks second completion
- 810a234978d3 9.1.1672: completion: cannot add timeouts for 'cpt' sources (#35447)
- 3b5337ab6c0a 9.1.1676: completion: long line shown twice
- 29f30ad91c59 9.1.1679: unclear what key causes CmdlineLeave autocommand (#35677)
- 523371b0447e 9.1.1681: tests: no test for actually moving cursor with 'acl' (#35452)
- 821bfc02fbae 9.1.1685: Missing changes from PR 18068 (#35482)
- dab31a363793 9.1.1687: filetype: autoconf filetype not always correct
- 4263ec21c238 9.1.1688: potential buffer overrun in bufwrite.c (#35497)
- c74192788314 9.1.1689: CmdlineChanged not triggered by <Del> (#35496)
- b116ed7b126e 9.1.1690: Missing recursion guard in dos/unix_expandpath() (#35499)
- 8a1afac65361 9.1.1693: tests: test_filetype fails in shadow dir
- 117b129378be 9.1.1694: filetype: Buck eXtension Lang files are not recognized (#35504)
- 3586e047e64d 9.1.1695: Need more Vim script specific tests (#35500)
- 61712cbc3abc 9.1.1697: tests: no test for aclocal.m4
- 2ac00f13502f 9.1.1698: Some error numbers are not documented (#35522)
- 24020ef2dd3d 9.1.1700: Multiline ignorecase specific pattern does not match with 'ignorecase' (#35520)
- c96136140691 9.1.1701: tests: failure on CI with GUI and ASAN in test_edit.res
- a3b115994950 9.1.1702: tests: test_edit still fails on CI
- c333d64663d3 9.1.1709: filetype: kyaml files are not recognized
- 68a2e0ef7821 9.1.1713: filetype: fvwm2m4 files are no longer detected
- 1359578abbcf 9.1.1714: completion: wildmode=longest:full selects wrong item
- 8fc1db043a50 9.1.1717: filetype: AWS cli alias file is not recognized #35581
- 06df3376170f 9.1.1718: filetype: kubectl config file is not recognized #35583
- c4c69c5012e2 9.1.1724: Compiler warning about ununitialized variable in ex_docmd. (#35595)
- 17da1ad8f44f 9.1.1730: filetype: vivado journal/log files are not recognized (#35613)
- 0bf4b7898cd6 9.1.1731: Not using const qualifier for opchars (#35634)
- 0bafbe872b2f 9.1.1732: filetype: .inc file detection can be improved (#35635)
- 51af2797c2fe 9.1.1734: Memory leak when allocating match fails (#35646)
- f2bda1effc17 9.1.1737: Patch v9.1.1714 introduce a regression for wildmenu
- b51eba927324 9.1.1738: cmdline-autocompletion breaks history navigation
- d784ed7013b1 9.1.1739: Matches may be listed twice with wildmode=longest,list
- 18f24b85c34a 9.1.1740: Memory leak with wildmode=longest,full and wildoptions=pum
- eb19206e032a 9.1.1742: complete: preinsert does not work well with 'autocomplete' (#35692)
- 223f9622df50 9.1.1744: tests: Test_skip_wildtrigger_hist_navigation() may fail
- f6ed46c2a747 9.1.1747: completion: redo (.) broken with preinsert and autocompletion (#35698)
- 5a7586a10960 9.1.1750: completion: preinserted text highlighed using ComplMatchIns
- e084a99040db 9.1.1751: potential buffer-overflow in find_pattern_in_path() (#35705)
- aa33ea86e1ce 9.1.1752: tests: need another test for v9.1.1750 behaviour
- cf9b7a37cc3c 9.1.1753: defaults: 'diffopt' option value can be improved (#35727)
- ae588c183f03 9.1.1754: :helptags doesn't skip examples with syntax
- 7b8b9d270f6e 9.1.1758: Diff mode crashes when adding text property in autocommand (#35760)
- 61d7d983d6b7 9.1.1761: 'ruler' is set in defaults.vim
- 051b8b88c812 9.1.1762: completion: selected item not cleared on <BS> with 'ac'
- 114336ac1d26 9.1.1763: filetype: kitty config files are not recognized
- e7ff13270824 9.1.1764: filetype: CODEOWNERS file not recognized (#35789)
- 95267b664cc1 9.1.1769: completion: "preinsert" insert wrong word with 'smartcase' and 'autocomplete' (#35834)
- 0763a85f43fb 9.1.1771: complete: some redraw issues with 'autocomplete'
- e2166661d483 9.1.1772: completion: inconsistent selection of first item with 'autocomplete' (#35835)
- c9f62674028d 9.1.1773: Crash in BufLeave after BufUnload closes other windows (#35830)
- 39a21d749d9f 9.1.1774: cannot calculate sha256 of a Blob
- e3f15d5424ca 9.1.1775: filetype: Mamba configuration files are not recognized #35829
- f91d416403e9 9.1.1776: completion: "adding" expansion doesn't work with cfc=keyword (#35850)
- d3bd1fba6acb 9.1.1777: Mouse click to open fold doesn't work with utf-8 "foldclose" chars (#35851)
- a5955e5cc533 9.1.1778: sha256() treats empty blob and null blob differently
- a70997442e0c 9.1.1779: completion: 'autocomplete' cannot be enabled per buffer (#35853)
- e887602eb545 9.1.1780: mbyte contains overlapping list of utf_classes table (#35869)
- 0f01cc85bdee 9.1.1781: some functions could be defined static
- 7cdf3bb68a15 9.1.1783: ins_compl_leader() too far away from ins_compl_leader_len()
- 0c23b863f472 9.1.1787: filetype: not all Sway config files are recognized
- d9fa4956084e 9.1.1790: completion: Enter does not insert match with "noinsert" (#35917)
- 7b9c063d1160 9.1.1797: completion: autocompletion can be improved
- 2aab242a0110 9.1.1798: Wrong display with 'sms' and long wrapped virt text at EOL (#35930)
- 35fc4fda999f 9.1.1799: completion: crash with autcompletion (#35963)
- f30a33858f23 9.1.1800: completion: strange behaviour with 'ac' completeopt=longest,preinsert
- 0fa0717d4ed7 9.1.1802: 'nowrap' in a modeline may hide malicious code (#35946)
- ff564237d248 9.1.1807: :set doesn't clear local insecure flag like :setlocal does
- 42f1864b62be 9.1.1808: Option insecure flags not copied when splitting window
- 756e55dc490d 9.1.1810: completion: "longest" doesn't work for manual completion with 'ac'
- c881bc537eac 9.1.1817: popup: there are some position logic bugs (#36075)
- df0b9e7a5dc8 9.1.1818: possible crash when calculating topline in diff.c
- b6b80824cc71 9.1.1819: Cannot configure the inner foldlevel indicator (#36010)
- 8151fc59cf28 9.1.1820: completion: some issues with 'acl' (#36007)
- 2c76a50e20de 9.1.1821: filetype: Not all PKL files are recognized (#36008)
- 0fca343d641c 9.1.1823: diff: w_topline may be invalidated (#36018)
- 94bd212dbcdf 9.1.1824: tests: no test for displaying 'foldcolumn' with Unicode "foldinner" (#36019)
- f8b50bf3b0f6 9.1.1825: completion: flicker when LSP server is slow (#36020)
- fbaf48cb2322 9.1.1827: completion: v9.1.1797 broke Ctrl-Y behaviour (#36040)
- a4a88381780a 9.1.1829: filetype: KerML and SysML files are not recognized (#36042)
- 7923e847ca5d 9.1.1831: stray vseps in right-most 'winfixwidth' window
- d9153d620ade 9.1.1833: completion: fuzzy candidates are not sorted (#36062)
- e47529ab567b 9.1.1834: MS-Windows: not possible to highlight the title bar
- ba47cb7edab3 9.1.1836: 'culopt' "screenline" not redrawn with line("w0") and :retab
- 28355050a878 9.1.1839: Window may have wrong height if resized from another tabpage (#36093)
- b1c41a332d18 9.1.1843: tests: Test_search_stat_option() may fail on slow systems (#36110)
- 92b834fc7a66 9.1.1849: CTRL-F and CTRL-B don't work in more prompt
- 83c7193c119f 9.1.1850: completion: not triggered after i_Ctrl-W/i_Ctrl-U (#36156)
- 93d1473732e0 9.1.1853: Ctrl-F and Ctrl-B at more prompt not working with key protocol
- d78215f6a221 9.1.1854: unnecessary code in optionstr.c (#36170)
- aeeadddac43b 9.1.1858: v:register not reset after Visual mode command (#36215)
- a08aa77e4084 9.1.1859: completion: whitespace not cleared with 'ai' (#36218)
- 68a54bfda65f 9.1.1868: v:register is wrong in v_: command (#36238)
- 737dd83d1fca 9.1.1869: tests: test failures with Python 3.14 and test_python3 (#36310)
- fb6fd17f26a6 9.1.1870: :Tutor may not work as expected (#36343)
- 5db35449917d 9.1.1871: Wrong 'showcmd' in the cmdwin (#36320)
- 2407833ba163 9.1.1872: Cmdline history not updated when mapping <Up> and <CR> (#36334)
- 070f4d3da08c 9.1.1875: username parsing bug in netrw plugin (#36348)
- 155efabb1513 9.1.1876: pre-inserted text not exposed in complete_info() (#36342)
- f0cf4886981e 9.1.1877: cindent: wrong indentation after an array declaration (#36340)
- 35d04394aa0a 9.1.1878: filetype: Soy files are not recognized (#36346)
- 21ea0537e0d6 9.1.1880: Allocation error with complete_info() (#36360)
- c2781d3db3ef 9.1.1883: Wrong display with 'smoothscroll' with -diff (#36372)
- 3fb56ff8af5b 9.1.1885: Wrong restored cursor pos when re-entering buffer after changes
- 3c1464689619 9.1.1886: filetype: Android aconfig files are not recognized (#36374)
- c75f5478390e 9.1.1888: Wrong display with cpo+=$, matchparen and wrapped line (#36385)
- 1fddd74da742 9.1.1889: filetype: not all AppleScript files are recognized (#36411)
- d4106bade78b 9.1.1890: %P in 'statusline' doesn't behave as documented
- b92b95e2c26d 9.1.1891: g<End> does not move to last non-blank in visual mode (#36354)
- 003b429a8671 9.1.1892: Not possible to know once Vim is done with sourcing vimrc (#36429)
- d847548a1cf1 9.1.1893: ICCF charity will dissolve (#36427)
- 97cb0d55717f 9.1.1906: filetype: not all Ruby files are recognized (#36526)
- 02760a30ce34 9.1.1908: tests: test_crash.vim times out in CI ASAN builds
- 756043760b59 9.1.1909: filetype: .mom files recognized as nroff files (#36543)
- 16e9c21d8d81 9.1.1913: Error message with :unlet! and non-existing dictionary item (#36549)
- dc682bcbcf2a 9.1.1915: :breaklist accepts unprocessed arguments. (#36561)
- 8d72d1ceb4b2 9.1.1916: WinEnter autocommand confuses Vim when closing tabpage (#36567)
- ef0c522077ab 9.1.1918: completion: crash with fuzzy completion (#36578)
- a8b9660ca345 9.1.1920: tests: not enough testing for wildtrigger() pum redrawing (#36642)
- 1eec08d1a24e 9.1.1922: Wrong virtcol('$') with virtual text at EOL (#36643)
- 30a09bdd7e96 9.1.1923: wrong error when assigning to read-only register (#36644)
- 4dc337cda86f 9.1.1924: 'commentstring' requires +folding feature (#36645)
- a212fc7745ce 9.1.1929: completion: spell completion wrong with fuzzy (#36709)
- 812186e2dce3 9.1.1930: completion: 'completefuzzycollect' is too obscure
- 19d5b289774d 9.1.1931: completion: wrong item selected with fuzzy and noinsert (#36725)
- 2c6469aca451 9.1.1933: completion: complete_match() is not useful (#36726)
- da6edcb91b82 9.1.1934: filetype: not all starlark files are recognized (#36743)
- 8310f2052636 9.1.1935: filetype: not all Erlang files are recognized
- 3f8e51cee792 9.1.1936: filetype: Erlang lexical files are not recognized
- 3c605982397f 9.1.1937: tests: Test_matchfuzzy_initialized() fails
- c9f63d13b602 9.1.1938: tests: excessive wait in Test_matchfuzzy_initialized
- d13e8f1a34bf 9.1.1939: tests: test_matchfuzzy() leaves swapfiles behind
- 7452a8a56892 9.1.1941: tests: Test_execute_register() leaves swapfile behind
- b64e36cef099 9.1.1943: Memory leak with :breakadd expr
- e8fdc7ef9ac6 9.1.1944: getwininfo() does not return if statusline is visible (#36828)
- c3c8a18af789 9.1.1945: tests: Test_getbufwintabinfo() leaves swapfiles behind
- ac3e2ca67565 9.1.1947: [security]: Windows: Vim may execute commands from current directory
- bfe007a1872a 9.1.1948: Windows: Vim adds current directory to search path
- 69f4fd84aaa8 9.1.1949: :stag does not use 'swichtbuf' option
- 132567c71f41 9.1.1950: tests: Test_tagjump.vim leaves swapfiles behind
- c758423cf215 9.1.1951: tests: Test_windows_external_cmd_in_cwd() only run in huge builds
- ffdc632ea1d2 9.1.1952: tests: need better tests for tf files
- 4450a454662a 9.1.1954: Setting a byte in a blob, accepts values outside 0-255
- d6be2b33125d 9.1.1957: filetype: bpftrace files are not recognized (#36838)
- 647f11e6ae79 9.1.1958: Wrong display with sign_unplace() and setline() in CursorMoved (#36851)
- ff90032aa5e8 9.1.1961: :0tab behaves like :tab for :stag when 'swb' contains "newtab"
- 2f9f77cd722a 9.1.1962: filetype: Erlang application resource files are not recognized (#36868)
- 3bc9a5b5d273 9.1.1963: diff: missing diff size limit for xdiff (#36877)
- 5235f3663fb4 9.1.1964: Wrong display when using setline() at hit-enter prompt (#36878)
- 747cf30c373f 9.1.1965: q can accidentally start recording at more prompt (#36879)
- 08d7744e13bc 9.1.1967: if_python: 64bit numbers truncated (#37245)
- 18642a63be4f 9.1.1969: Wrong cursor position after formatting with long 'formatprg' (#36918)
- 2b02dfa0202c 9.1.1970: visual end column returns wrong value after block edit (#36923)
- e9da68effe35 9.1.1971: Crash when buffer gets deleted inside charconvert during save
- 384a039db789 9.1.1974: tests: missing cleanup in Test_bwipe_during_save()
- f494ce77f133 9.1.1978: tests: Test_smoothscroll_number() may fail (#36965)
- 3985257496f4 9.1.1979: :helpclose allows range and counts (#36966)
- f5e39560ff61 9.1.1980: filetype: N-Quads files are not recognized (#36967)
- 7a866e6b2008 9.1.1981: tests: test suite may stop on error in gen_opt_test.vim (#36988)
- 6061169183c0 9.1.1983: Vim9: class_name definition can be improved
- 4cce77e54775 9.1.1984: terminal OSC52 support can be improved (#37543)
- 544bde3accf3 9.1.1987: assert_equal() prepends unnecessary ':' when typed
- 3264dfee7574 9.1.1989: Vim intro screen shows register message
- c172fd9f464d 9.1.1991: :setlocal changes effective global 'omnifunc' (#37013)
- 2860d1e018c8 9.1.1998: tests: not enough tests for :setlocal omnifunc (#37023)
- f89558848b11 9.1.2001: cursor may end up in wrong window after :botright copen (#37056)
- 92910a8ab875 9.1.2007: filetype: bpftrace hashbang lines are not recognized
- 471be48d5612 9.1.2008: filetype: hylo files are not recognized
- 49b1a6540f50 9.1.2009: tests: "Xm4" test directory may not be deleted
- 2a2c366a3e48 9.1.2016: cindent wrong indentation after do-while loop (#37087)
- d7b882697b5d 9.1.2017: getregionpos() depends on 'linebreak' setting (#37088)
- e53accf8ec5a 9.1.2019: inconsistent cursor encoding past EOL with ve=all
- 7b5276b382ac 9.1.2020: tests: test_virtualedit.vim leaves swapfiles behind (#37115)
- c11153b3204a 9.1.2021: filetype: fluent files are not recognized (#37117)
- 6fa2ebec6b24 9.1.2023: [security]: Use-after-free in alist_add() with nasty autocmd
- 1e44a001ecdb 9.1.2024: 'fsync' option cannot be set per buffer (#37129)
- f4eabcca4f14 9.1.2026: tests: patch 9.1.2019 not tested properly
- 7f1d7271d5d3 9.1.2027: filetype: bicep filetype used for 2 bicep file types (#37130)
- 444e1ffe3e9c 9.1.2028: [security]: Buffer-overflow with incomplete multi-byte chars (#37133)
- e916f0327728 9.1.2030: inefficient use of ga_concat() (#37151)
- 8e80e544784e 9.1.2034: filetype: Fennel fnml files are not recognized (#37176)
- bd10f781b842 9.1.2035: filetype: filetype: Fennel fnlm files are not recognized (#37178)
- acc3554439e5 9.1.2037: undo: cursor position not correctly restored (#37195)
- 01177619bc9f 9.1.2038: tests: test_marks.vim leaves swapfiles behind
- 6deb1c1bf3e0 9.1.2040: :tlunmenu incorrectly accepts a range (#37206)
- b7efbbec5115 9.1.2041: tests: test_menu.vim leaves swapfiles behind
- ca731d2e55f8 9.1.2042: filetype: systemd quadlet files are not recognized (#37208)
- 067b5743f543 9.1.2043: filetype: kos files are not reconized
- 6c3502d85ab4 9.1.2050: tests: Test_cd_completion may fail
- 0dfac6892877 9.1.2051: tests: fix Test_cd_completion fails in Appveyor (#37266)
- 97bfc0c99b33 9.1.2055: Division by zero in :file after failing to wipe buffer (#37268)
- 661455cc4757 9.1.2056: tests: inconsistent indent and line breaking in Test_maparg() (#37269)
- 5f871007d7a8 9.1.2058: b_locked_split is not checked for :sbuffer
- b075656279db 9.1.2059: filetype: Nickel files are not recognized
- a6df0db11f55 9.1.2060: filetype: Rasi include files are not recognized
- 0bbbe236aa23 9.1.2061: filetype: Koka files are not recognized
- a84bf386d241 9.1.2062: filetype: djot files are not recognized
- 885426f1bfe7 9.1.2064: completion: segfault during file name completion (#37316)
- 681d00654998 9.1.2066: :wqall! doesn't close a terminal like :qall! does (#37314)
- e002e4d7fcee 9.1.2068: :bd/bw may try to switch to a closing buffer
- aa959f7b8584 9.1.2069: Search wrap indicator not shown w/out 'shm-S' (#37332)
- 930817f1009d 9.1.2070: completion: autocomplete breaks with large dict (#37331)
- 562bc0b37117 9.1.2071: tests: test_ins_complete.vim leaves swapfiles behind
- 2ae56fbb39e7 9.1.2075: tests: wrong change to test_ins_complete.vim
- e790c87cd8bf 9.1.2078: A few more typos in various files (#37368)
- aed1f8c37730 9.1.2079: use-after-free with 'qftf' wiping buffer (#37364)
- 40fb2818b636 9.1.2085: Use-after-free in winframe_remove()
- ba1d50fdc37f 9.1.2086: Memory leak when skipping invalid literal dict
- eb5a7cc0ddf0 9.1.2087: Crash when using :tabonly in BufUnload
- 03494ad04879 9.1.2088: Redundant NULL checks in find_pattern_in_path() (#37432)
- 960cba7b3bf9 9.1.2090: Last buffer not freed with EXITFREE
- 30bcb25341b7 9.1.2093: heap-use-after-free when wiping buffer in TabClosedPre
- c52f6eb49a95 9.1.2094: filetype: tiger files are not recognized
- b4e602dde544 9.1.2095: :wqall! doesn't quit when using :quit in BufWritePost
- 7470e6326068 9.1.2097: TabClosedPre may be triggered twice for the same tab page
- 64057d266c29 9.1.2098: Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A (#37466)
- 87276db7f9b2 9.1.2100: filetype: tiltfiles are not recognized (#37477)
- b3242af1872e 9.1.2102: foldtext not reversed and cut off in 'rightleft' mode
- cd624f24f69b 9.1.2103: tests: test_fold.vim leaves swapfiles behind
- e0b724de09c2 9.1.2105: tests: not enough tests for using plain_vgetc() (#37521)
- f10a1dcf4d73 9.1.2107: :normal may change cmdline history (#37523)
- 5a354db7fa2f 9.1.2108: tests: Test_foldtextresult_rightleft() does not restore 'columns'
- 798ee6428776 9.1.2109: filetype: NetLinx fires are not recognized
- d982c0084677 9.1.2110: filetype: skhd files are not recognized
- a8a097d17841 9.1.2112: long statusline may crash if using singlebyte encoding (#37605)
- ebfbe4db498c 9.1.2116: crash when using 'tagfunc' (#37627)
- 47ce93ad6d71 9.1.2118: 'cursorline' missing after :diffput to empty buf (#37628)
- 5e1a3df5ae0c 9.1.2119: tests: Test_language_cmd fails on OpenBSD (#37503)
- 270c7b46afab 9.1.2123: using NOT with a float returns a float in legacy script (#37639)
- fede56869291 9.1.2128: Heap use after free in buf_check_timestamp()
- bdd886622d4d 9.1.2130: Page scrolling in Insert mode beeps (#37710)
- db133879b2a1 9.1.2132: [security]: buffer-overflow in 'helpfile' option handling (#37735)
- 15061d322dcd 9.1.2133: Another case of buffer overflow with 'helpfile' (#37746)
- 6dd0a7d60a28 9.1.2135: tests: tar plugin does not consider 'nowrapscan' (#37752)
- e70452990935 9.1.2136: :tab sbuffer may close old tabpage (#37765)
- ed8fbd2e2992 9.1.2138: win_execute() and 'autochdir' can corrupt buffer name (#37767)
- 39d8a9c353d6 9.1.2146: filetype: cel files are not recognized (#37834)
- ff142a7a7403 9.1.2147: Compile warning in strings.c (#37842)
- 8605b0b7a9f2 9.1.{1755,1759} (#35787)
- 7d8653575f2a 9.2.0004: Changing hidden prompt buffer cancels :startinsert/:stopinsert (#37881)
- b59eba3ada13 9.2.0007: cindent: recognizing labels within commented lines
- 77d396caf409 9.2.0009: tests: test_cindent are not ordered
- ac84a3f3b6ee 9.2.0020: Wrong shortened buffer after :cd with duplicate slashes (#37955)
- 134782b99eff 9.2.0023: fix integer overflow in ml_append_int() for long lines
- fadf5fc8dbf9 9.2.0024: Reading files with very long lines crashes with a segfault
- e98a6979eee8 9.2.0025: filetype: cshtml incorrectly recognized (#37957)
- c78e276881eb 9.2.0027: filetype: yara files are not recognized
- 785ac9f2285a 9.2.0028: matchadd() conceal may use unrelated syntax cchar (#37974)
- 08b8fe5ab36e 9.2.0030: completion: non-prefix matches shown when leader is NULL
- b3a3028fd9bb 9.2.0031: Inefficient use of ga_concat()
- 6e8a1a898856 9.2.0032: completion: hang with line completion and fuzzy
- 93a8acb1b804 9.2.0033: filetype: sh filetype used for env files
- 30d9970cd74d 9.2.0036: completion: thesaurus completion incorrect with "longest/fuzzy" (#37996)
- 3f4ef487da80 9.2.0040: completion: preinsert wrong with register completion (#38003)
- b775c722dd4f 9.2.0041: Not always using GA_CONCAT_LITERAL
- 327dcb897024 9.2.0046: filetype: neon files are not recoginzed (#38049)
- a89b9750ee88 9.2.0050: WM_SETFOCUS not handled immediately
- 1fe1b2525f7e 9.2.0054: eval_addblob() is inefficient (#38067)
- 9288357d59d2 9.2.0055: memory leak in ExpandFromContext() (#38066)
- 7852993f4927 9.2.0061: Not possible to know when a session will be loaded (#38071)
- cd4c7850d05f 9.2.0070: tests: various tests leave swapfiles around
- 95ddabdb2b09 9.2.0074: [security]: Crash with overlong emacs tag file
- e85fc92a6ba4 9.2.0075: [security]: Buffer underflow with emacs tag file
- 7e8bdd348c3b 9.2.0077: [security]: Crash when recovering a corrupted swap file (#38104)
- a416494e648b 9.2.0078: [security]: stack-buffer-overflow in build_stl_str_hl() (#38102)
- 563f9ef7994a 9.2.0081: Failed "z=" does not reset 'nospell' setting (#38109)
- 3e8107229345 9.2.0088: cannot display tabs for indentation
- 518aa46158c5 9.2.0090: "leadtab" behavior inconsistent on line with only TABs
- 0cfeedb088ee 9.2.0091: missing out-of-memory checks in quickfix.c
- 0676503ab551 9.2.0097: Memory leak in qf_push_dir()
- 6ddcc84a6cd7 9.2.0102: 'listchars' "leadtab" not used in :list (#38142)
- a22c699ecb4e 9.2.0106: memory leak in expand_findfunc()
- 843bc1aa8d15 9.2.0108: byteidx_common() and f_utf16idx() call ptr2len() twice (#38159)
- f1e65bde0222 9.2.0120: tests: test_normal fails
- 9a9b9c581ccd 9.2.0121: patch memory leak in list_extend_func() in list.c (#38205)
- f21c56da845f 9.2.0125: tests: test_textformat.vim leaves swapfiles behind
- 9734a6ce473c 9.2.0130: missing range flags for the :tab command (#38216)
- c1dcb8dac2f9 9.2.0131: potential buffer overflow in regdump() (#38217)
- 3a7ade847f10 9.2.0132: tests: Test_recover_corrupted_swap_file1 fails on be systems (#38238)
- e5667b9c157a 9.2.0137: [security]: crash with composing char in collection range (#38261)
- f847aa620881 9.2.0140: file reading performance can be improved (#38266)
- 6dd634b02541 9.2.0143: termdebug: no support for thread and condition in :Break
- 878c9739e13d 9.2.0147: blob: concatenation can be improved (#38276)
- d3bca3b7fab4 9.2.0152: concatenating strings is slow (#38286)
- f58d24040a32 9.2.0155: filetype: ObjectScript are not recognized (#38288)
- 80684a418b50 9.2.0159: Crash when reading quickfix line
- 1aaa8e8e3ac9 9.2.0162: tests: unnecessary CheckRunVimInTerminal in test_quickfix
- 0082cd313485 9.2.0165: tests: perleval fails in the sandbox
- 9ab6c607ccc7 9.2.0180: possible crash with winminheight=0 (#38335)
- 33b357d01fd0 9.2.0182: autocmds may leave windows with w_locked set #38332
- e2c3106b85ed 9.2.0201: filetype: Wireguard config files not recognized
- f577e055221e 9.2.0202: [security]: command injection via newline in glob() (#38385)
- a18d51a9580e 9.2.0204: filetype: cps files are not recognized
- d36e7787c1e7 9.2.0209: freeze during wildmenu completion (#38386)
- 0655a359ae73 9.2.0217: filetype: cto files are not recognized (#38400)
- a969e922497d 9.2.0219: call stack can be corrupted (#38406)
- 11b9ec38d267 9.2.0222: "zb" scrolls incorrectly with cursor on fold (#38423)
- e51f217be700 9.2.0223: Option handling for key:value suboptions is limited (#38426)
- fae782557c8e 9.2.0226: No 'incsearch' highlighting support for :uniq (#38425)
- 416e5429927f 9.2.0233: Compiler warning in strings.c (#38450)
- 1de1c0821007 9.2.0235: filetype: wks files are not recognized (#38451)
- 6dfcb2b78463 9.2.0237: filetype: ObjectScript routines are not recognized (#38479)
- f806c773918d 9.2.0239: signcolumn may cause flicker (#38477)
- 5a7df03b428f 9.2.0265: unnecessary restrictions for defining dictionary function names (#38524)
- ba89354a4543 9.2.0270: test: trailing spaces used in tests
- 965f54cf5027 96dab9c: check.vim: Further improve po message checks
- 5a83f23430bf 98a0cbf: patch 9.1.1971: crash with invalid positional argument 0 in printf() (#36919)
- 95b6215f0a9d c858382: Problem: Commit 6f585d breaks CI
- 1244fe157f9f ecf90b9: CI: make dependabot monitor `.github/actions` directory (#38383)
- 96e9041a7886 partial:8.1.1939: code for handling v: variables in generic eval file (#35968)
- 2a267d1cbfc3 partial:8.2.1328: no space allowed before comma in list
- e31cfc5eac47 partial:8.2.2400: Vim9: compiled functions are not profiled
- df65f87fd771 partial:8.2.3149: some plugins have a problem with the error check
- 00bec1fd90a3 partial:8f7256a (#34368)
- 50efe61c3cf6 partial:9.0.0323: using common name in tests leads to flaky tests
- 5671b61327bf partial:9.0.0877: using freed memory with :comclear while listing commands
- 92596a37e721 partial:9.0.0907: restoring window after WinScrolled may fail
- 62de643b897c partial:9.0.1570: some tests are slow
- dff515205c34 partial:9.1.0613: tests: termdebug test may fail and leave file around
- 3f62fe4bd891 partial:9.1.0973: too many strlen() calls in fileio.c
- 42640c62d1a3 partial:9.1.1004: tests: a few termdebug tests are flaky
- dfd3ac6f4832 partial:9.1.1110: Vim tests are slow and flaky
- 5c4d9261a421 partial:9.1.1110: Vim tests are slow and flaky
- ab5c15610f50 partial:9.1.1371: style: indentation and brace issues in insexpand.c
- a16064ff298b partial:9.1.1639: completion: popup may be misplaced
- cbec4603a041 partial:9.1.1668: items() does not work for Blobs
- 4edeaaa6e2c1 partial:9.1.1708: tests: various tests can be improved (#35548)
- 7468db518730 partial:9.1.1847: No cmdline completion for :echoconsole and :echowindow (#36157)
- c70e8ef9b7fc partial:9.1.1887: string handling in strings.c can be improved
- 5370b7a2e0a0 partial:9.1.1955: sort() does not handle large numbers correctly (#36840)
- 147190d8e7dd partial:9.1.2044: Inefficient use of ga_concat() (#37209)
- 72eb9fe87ce9 partial:9.1.2137: test: Update tests for OpenBSD (#37766)
- 18c5f06c9f60 partial:9.2.0068: Inefficient use of list_append_string() (#38083)
- b23d00ce9909 partial:9.2.0096: has() function is slow due to linear feature scan (#38135)
- 29fa072b34ac partial:9.2.0126: String handling can be improved (#38214)
- 4c48f19e5163 partial:9.2.0193: using copy_option_part() can be improved (#38369)
|
|
|
|
Problem:
The "tohtml" plugin is loaded by default.
Solution:
- Move it to `pack/dist/opt/nvim.tohtml/`, it is an "opt-in" plugin now.
- Document guidelines.
- Also revert the `plugin/` locations of `spellfile.lua` and `net.lua`.
That idea was not worth the trouble, it will be too much re-education
for too little gain.
|
|
gen_vimdoc.lua: In prepare for the upcoming release, comment-out the
"Experimental" warning for prerelease features.
|
|
|
|
Problem:
- Editing a 'readonly' file forces a 3-second delay.
- nvim_get_mode waits 3 secs with 'showmode' enabled or when there are error messages.
Solution:
Remove the delay for "ui2", by using `msg_delay`.
|
|
Problem:
_extui module name is confusing and should eventually end up in _core/.
Solution:
Move it there and name it ui2.
|
|
|
|
Problem:
We want to encourage implementing core features in Lua instead of C, but
it's clumsy because:
- Core Lua code (built into `nvim` so it is available even if VIMRUNTIME
is missing/invalid) requires manually updating CMakeLists.txt, or
stuffing it into `_editor.lua`.
- Core Lua modules are not organized similar to C modules, `_editor.lua`
is getting too big.
Solution:
- Introduce `_core/` where core Lua code can live. All Lua modules added
there will automatically be included as bytecode in the `nvim` binary.
- Move these core modules into `_core/*`:
```
_defaults.lua
_editor.lua
_options.lua
_system.lua
shared.lua
```
TODO:
- Move `_extui/ => _core/ui2/`
|
|
|
|
Problem: confusing that there is the tag `undo-tree` (the Vim
implementation) and `undotree` (the Lua plugin for visualization).
Solution: rename tag to undotree-plugin. Mention the plugin in the docs of
|undotree|.
|
|
Problem:
- Exposing the raw config as table is a pattern not seen anywhere else
in the Nvim codebase.
- Old spellfile.vim docs still available, no new documentation
Solution:
- Exposing a `config()` function that both acts as "getter" and "setter"
is a much more common idiom (e.g. vim.lsp, vim.diagnostic).
- Add new documentation and link old docs to |spellfile.lua| instead of
|spellfile.vim|.
|
|
Problem:
Built-in diff mode (nvim -d) does not support directory diffing
as required by git difftool -d. This makes it difficult to compare
entire directories, detect renames, and navigate changes efficiently.
Solution:
Add a DiffTool plugin and command that enables side-by-side diffing of
files and directories in Neovim. The plugin supports rename detection,
highlights changes in the quickfix list, and provides a user command for
easy invocation. This allows proper integration with git difftool -d for
directory comparison.
Example git config:
```ini
[diff]
tool = nvim_difftool
[difftool "nvim_difftool"]
cmd = nvim -c "packadd nvim.difftool" -c "DiffTool $LOCAL $REMOTE"
```
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
Co-authored-by: Phạm Bình An <111893501+brianhuster@users.noreply.github.com>
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
|
|
Problem
No builtin way to visualize and navigate the undo-tree.
Solution
Include an "opt" plugin.
|
|
|
|
It helps to have plugins living in one common area, because it signals
to users the mechanisms for controlling them, which are typically driven
by keymaps and autocmds rather than builtin options.
We can always revisit if plugins.txt gets "too big" (for example, we may
want to introduce "project.txt" for the project concept, where
editorconfig and 'exrc' are relevant), but for now it's rather unusual
for editorconfig.txt to have its own dedicated helpfile.
|
|
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
|
|
|
|
Implements [on-type
formatting](https://microsoft.github.io/language-server-protocol/specifications/lsp/3.18/specification/#textDocument_onTypeFormatting)
using a `vim.on_key()` approach to listen to typed keys. It will listen
to keys on the *left hand side* of mappings. The `on_key` callback is
cleared when detaching the last on-type formatting client. This feature
is disabled by default.
Co-authored-by: Maria José Solano <majosolano99@gmail.com>
|
|
|
|
|
|
|
|
Problem:
Generated docs sections are ordered randomly. This matters when showing
an outline or table of contents (e.g. `gO`).
Solution:
Specify which sections have an intentional ordering; sort the rest by
name.
|
|
ref: https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#textDocument_linkedEditingRange
|
|
|
|
Problem:
Nvim depends on netrw to download/request URL contents.
Solution:
- Add `vim.net.request()` as a thin curl wrapper:
- Basic GET with --silent, --show-error, --fail, --location, --retry
- Optional `opts.outpath` to save to a file
- Operates asynchronously. Pass an `on_response` handler to get the result.
- Add integ tests (requires NVIM_TEST_INTEG to be set) to test success
and 404 failure.
- Health check for missing `curl`.
- Handle `:edit https://…` using `vim.net.request()`.
API Usage:
1. Asynchronous request:
vim.net.request('https://httpbingo.org/get', { retry = 2 }, function(err, response)
if err then
print('Fetch failed:', err)
else
print('Got body of length:', #response.body)
end
end)
2. Download to file:
vim.net.request('https://httpbingo.org/get', { outpath = 'out_async.txt' }, function(err)
if err then print('Error:', err) end
end)
3. Remote :edit integration (in runtime/plugin/net.lua) fetches into buffer:
:edit https://httpbingo.org/get
|
|
Problem:
`vim.diff()` was introduced before we had the `vim.text` module, where
it obviously belongs.
Solution:
Move it.
|
|
|
|
Problem: No built-in plugin manager
Solution: Add built-in plugin manager
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
|
|
- Render Lua types in api.txt.
- Added `DictAs(name)` API type which acts the same as `Dict` (no parens)
when generating the dispatchers, but acts the same as `Dict(name)`
when generating docs.
- Added `Tuple(...)` API type which is the treated the as `Array` for
generating the dispatchers, but is used to document richer types.
- Added `Enum(...)` API type to better document enums
- Improve typing of some API functions.
- Improve c_grammar to properly parse API types and replace string pattern
logic in the parsers.
- Removed all the hardcoded type overrides in gen_eval_files.lua
|
|
|
|
|
|
Problem: We have an unmaintained Vimscript parser and cmdline
highlighting mechanism, with which it is hard to leverage the
treesitter highlighter. Long messages result in a hit-enter-prompt.
Solution: Implement a vim.ui_attach() UI, that replaces the message
grid (orphaning some 3000+ LOC core C code). Introduce an experimental
vim._extui module, because removing the message grid at the same time is
too risky. The new UI leverages the bundled treesitter highlighter and
parser for Vimscript, as well as the matchparen plugin, to highlight the
cmdline. Messages are truncated in the cmdline area, or placed in a
floating message box in the bottom right corner. Special ("list_cmd")
messages and the message history are shown in a, "more prompt" (now a
fully interactive regular window). Various default UI elements ('showcmd',
'ruler') are also placed in the cmdline area, as virtual text.
`require('vim._extui').enable({})` enables the experimental UI.
`{ msg.pos = 'box' }` or `:set cmdheight=0` enables the message
box variant.
Followup:
- Come to a consensus for how best to represent messages (by default).
- Start removing message grid when this is deemed a successful replacement.
When that is finished, make this new UI the default and update a lot of tests.
|
|
test(lsp): add tests form `vim.lsp.document_color`
|
|
Problem: The presence of non-source files breaks `make doc`.
Solution: Replace assert with if statement to skip non-matching files.
|
|
This change modifies gen_lsp.lua so alias types are generated for
various types of lsp methods to distinguish between notifications
and requests:
- vim.lsp.protocol.Method.ServerToClient.Request
- vim.lsp.protocol.Method.ServerToClient.Notification
- vim.lsp.protocol.Method.ClientToServer.Request
- vim.lsp.protocol.Method.ClientToServer.Notification
These types are then used instead of `string` where appropriate.
|
|
Problem: Cannot disable individual captures and patterns in treesitter queries.
Solution:
* Expose the corresponding tree-sitter API functions for `TSQuery` object.
* Add documentation for `TSQuery`.
* Return the pattern ID from `get_captures_at_pos()` (and hence `:Inspect!`).
|
|
- Move all generator Lua scripts to the `src/gen/`
- Add a `.luarc.json` to `src/gen/`
- Add a `preload.lua` to `src/gen/`
- Add `src` to `package.path` so it aligns with `.luarc.json'
- Fix all `require` statements in `src/gen/` so they are consistent:
- `require('scripts.foo')` -> `require('gen.foo')`
- `require('src.nvim.options')` -> `require('nvim.options')`
- `require('api.dispatch_deprecated')` -> `require('nvim.api.dispatch_deprecated')`
|