All notable changes to this project will be documented in this file.
- remove deprecated functions
- remove neovim qt
- remove vimballs (#22402)
- rename "playground" => "dev" #23919
- rewrite TOhtml in lua
- api: change return type of nvim_win_text_height to Dict (#24365)
- api: nvim_open_win: noautocmd blocks all autocmds #28192
- events: trigger CursorMoved later on switching window (#23711)
- ex_cmds: remove :behave
- lsp: add vim.lsp.status, client.progress and promote LspProgressUpdate (#23958)
- lsp: deprecate trim_empty_lines
- lsp: move changetracking to separate file (#26577)
- lsp: promote LspRequest to a full autocmd and enrich with additional data (#23694)
- lsp: rename vim.lsp.get_active_clients to get_clients (#24113)
- lsp: replace snippet parser by lpeg grammar
- lsp: vim.lsp.inlay_hint.get(), enable(), is_enabled() #25512
- lua: add stricter vim.tbl_islist() and rename old one to vim.tbl_isarray() (#16440)
- mappings: remove #n as a notation for a function key (#17318)
- options: graduate shortmess+=f flag
- options: graduate some more shortmess flags
- options: make OptionSet
v:
values use typval - options: remove compatible behaviours for vim 5.0 and earlier
- options: unify
set_option
andset_string_option
- startup: "nvim -l" message does not end with newline #24215
- treesitter: incremental injection parsing
- treesitter: new standard capture names
- treesitter: remove deprecated legacy injection format
- treesitter: remove duplicated diagnostic code (#24976)
- vim.iter: remove vim.iter.map/filter/totable #26138
- vim.iter: rename xxback() => rxx() #28503
- vim.json: remove global options, "null", "array_mt" #24070
- vim.ui: change open() to return pcall-like values #28502
- NVIM_APPNAME supports relative paths #25233
- add .luarc.json (#24592)
- add __call typing for vim.inspect()
- add link in issue template to minimal config template
- add vim.text module (#26069)
- allow opting in to builtin clipboard providers (#28083)
- generate types and docs for v variables
- ignore swapfile for running Nvim processes #25336
- improve return type annotations for vim.api.*
- report "build" in vim.version() #23925
- tostring(vim.version())
- update unicode tables (#27317)
- vim.version() returns a Version object
- :source: source current ft=lua buffer as Lua code (#23802)
- api: add forward and back mouse buttons
- api: add nvim_tabpage_set_win (#27222)
- api: add nvim_win_text_height (#24236)
- api: allow floats to be opened in non-current tabpage (#28480)
- api: allow open_win/win_set_buf in the cmdwin in some cases
- api: allow win_close in cmdwin to close wins except previous
- api: allow win_hide to close cmdwin or non-previous windows
- api: make nvim_open_win support non-floating windows (#25550)
- api: pass 0 to nvim_get_chan_info for current channel (#27321)
- api: support abbreviations in nvim_set_keymap
- api: support getting abbreviations (#26868)
- builtin: improve types
- clipboard: add OSC 52 clipboard support
- clipboard: enable OSC 52 clipboard provider by default (#26064)
- colorscheme: add semantic tokens modifiers to builtin color scheme
- colorscheme: update treesitter groups
- comment: add built-in commenting
- complete: support f flag for complete buffer part
- completion: support completing more string options
- decoration: allow conceal_char to be a composing char
- decoration_provider: log errors as error messages
- defaults: add :Inspect to right-click menu (#28181)
- defaults: enable 'termguicolors' by default when supported by terminal
- defaults: improve :grep defaults #28545
- defaults: map Q and @x to repeat in Visual mode (#26495)
- defaults: set g:netrw_use_errorwindow = 0 #24179
- defaults: treat "•" as a list item prefix #24623
- defaults: use ripgrep (rg) for 'grepprg' if available
- defaults: visual CTRL-R for LSP mappings #28537
- diagnostic: add
vim.diagnostic.count()
(#26807) - diagnostic: add default mappings for diagnostics (#16230)
- diagnostic: add support for many namespaces filtering in GetOpts (#28045)
- diagnostic: enable(…, opts)
- diagnostic: filter diagnostics by specific severities (#24736)
- diagnostic: goto functions jump to highest severity (#28490)
- diagnostic: is_enabled, enable(…, enable:boolean)
- diagnostic: provide more control over virtual text display (#24724)
- diagnostic: revert default behaviour of goto_next/prev()
- diagnostic: specify diagnostic virtual text prefix as a function
- diagnostics: support numhl and linehl for diagnostic signs
- diff: grouping optimization for linematch algorithm
- docs: generate builtin.txt (#24493)
- docs: replace lua2dox.lua
- eval: exists() function supports checking v:lua functions (#26485)
- ex_cmds: no error on :lua with {range} and {code} (#27290)
- ex_cmds: ranged :lua #27167
- extmark: support proper multiline ranges
- extmark: window scoped extmark
- extmarks: add "undo_restore" flag to opt out of undo-restoring
- extmarks: add 'invalidate' property to extmarks
- extmarks: add sign name to extmark "details" array
- extmarks: add virt_text_repeat_linebreak flag (#26625)
- extmarks: subpriorities (relative to declaration order) (#27131)
- extmarks: support hl_mode "combine" for inline virt_text (#24099)
- float: add fclose command
- float: implement footer
- float: support toggle show float window
- fold: transparent foldtext
- folds: support virtual text format for 'foldtext' (#25209)
- fs: add vim.fs.root (#28477)
- fs: expose join_paths as
vim.fs.joinpath
(#23685) - gen_help_html: add anchors to help tags #25112
- gen_help_html: ignore pi_netrw.txt errors
- gen_help_html: non-default vimdoc.so parser
- gen_lsp.lua: protocol.Methods #24504
- gen_lsp.lua: sort by name, handle failure #24504
- gen_lsp.lua: validate CLI args #26514
- health: checkhealth buffer can show in a split window (#26714)
- health: fold successful healthchecks #22866
- health: list attached buffers in LSP report #23561
- health: make :checkhealth support more split modifiers (#26731)
- help: hide filename of "gO" outline using conceal #27547
- highlight: Allow hyphens (-) in highlight group names (#24714)
- highlight: add
FloatFooter
highlight group - highlight: tweak default color scheme
- highlight: update default color scheme
- issue_template: instruct not to include a package manager
- iter: add
Iter.take
(#26525) - l10n: update Turkish translations #24246
- l10n: update Ukrainian translations (#24882)
- lsp: add actionable advice to lsp client quit error msg (#24510)
- lsp: add fswatch watchfunc backend
- lsp: add handlers for inlay hints (#23736)
- lsp: add method filter to get_active_clients (#24319)
- lsp: add more LSP defaults (#28500)
- lsp: add opts paramater to vim.lsp.codelens.refresh
- lsp: add original LSP Location as item's user_data in locations_to_items (#23743)
- lsp: add snippet API (#25301)
- lsp: add type annotations for lsp.util.locations_to_items (#26694)
- lsp: add vim.lsp.buf.subtypes(), vim.lsp.buf.supertypes() (#28388)
- lsp: deprecate severity_limit
- lsp: enable workspace/didChangeWatchedFiles by default (#23190)
- lsp: fallback to code-action command on resolve failure (#25464)
- lsp: handle multiple clients in omnifunc (#24381)
- lsp: implement textDocument/diagnostic (#24128)
- lsp: improve control over placement of floating windows (#24494)
- lsp: include positionEncodings in default client capabilities
- lsp: initial support for dynamic capabilities (#23681)
- lsp: inlay hints #23984
- lsp: map K to hover by default #24331
- lsp: more annotations
- lsp: move inlay_hint() to vim.lsp (#24130)
- lsp: opt-in to dynamicRegistration for inlay hints (#24102)
- lsp: remove notify from vim.lsp.buf_detach_client (#25140)
- lsp: report fswatch errors
- lsp: set client offset_encoding if server supports positionEncoding
- lsp: set kind in select call for codelens #23889
- lsp: set workDoneToken in initialize request (#28182)
- lsp: snippet parsing using lpeg
- lsp: soft deprecate vim.lsp.for_each_buffer_client (#24104)
- lsp: support completion itemDefaults
- lsp: support connect via named pipes/unix domain sockets (#26032)
- lsp: support for choice snippet nodes
- lsp: use treesitter for stylize markdown
- lua: add
vim.system()
- lua: add hl priority opts on yank (#23509)
- lua: add meta file for vim submodules (#24525)
- lua: add noref to deepcopy
- lua: add ringbuffer (#22894)
- lua: add vim.func._memoize
- lua: add vim.iter (#23029)
- lua: allow vim.F.if_nil to take multiple arguments (#22903)
- lua: allow vim.wo to be double indexed (#20288)
- lua: deprecate vim.tbl_add_reverse_lookup
- lua: enable(enable:boolean, filter:table) #28374
- lua: implement Iter:join() (#26416)
- lua: more specific error messages for vim.api type checking
- lua: pass keys before mapping to vim.on_key() callback (#28098)
- lua: rename vim.loop -> vim.uv (#22846)
- lua: specific error messages for type checking
opts
params - lua: typing for vim.fn.* (#24473)
- lua: use callable table as iterator in vim.iter (#23957)
- lua: use keyset type information
- lua: vim.fs.normalize() resolves ".", ".." #28203
- lua: vim.keycode (#22960)
- lua: vim.region accepts getpos() arg (#22635)
- lua: vim.tbl_contains supports general tables and predicates (#23040)
- lua-types: types for vim.api.* (#24523)
- man: allow opening pages in current window (#27861)
- man: respect 'wrapmargin' when wrapping man pages (#24091)
- meta: add types for vim.lpeg
- msgpack-rpc: show actual request id in error message
- msgpack_rpc: support out-of-order responses on
msgpack-rpc
- nvim_open_term: convert LF => CRLF (#26384)
- quickfix: support -q - to read 'errorfile' from stdin (#27303)
- remote: avoid --remote-ui infinite loop (#24465)
- rpc: allow empty string key in msgpack => Vim conversion
- runtime: highlight hl groups in syntax.txt (#25050)
- scripts: add lsp_types.lua (#23750)
- server: allow embed with listen (#25709)
- shortmess: "q" flag fully hides recording message (#27415)
- statuscolumn: re-evaluate for every screen line (#25885)
- stdlib: add vim.base64 module (#25843)
- tabline: middle mouse button now closes tab (#27522)
- term: enable reflow by default (#21124)
- termdebug: improve
:Evaluate
floating window (#26621) - terminal: allow :terminal to take modifiers (#15427)
- terminal: close shell terminals automatically
- terminal: respond to OSC background and foreground request (#17197)
- terminal: trigger TermRequest autocommand events (#22159)
- treesitter: add 'injection.self' and 'injection.parent'
- treesitter: add
@injection.filename
- treesitter: add a query editor (#24703)
- treesitter: add bash parser and queries
- treesitter: add folding for
InspectTree
(#27518) - treesitter: add foldtext with treesitter highlighting (#25391)
- treesitter: add injection language fallback (#24659)
- treesitter: add lang parameter to the query editor (#25181)
- treesitter: add python parser and queries
- treesitter: add query_linter from nvim-treesitter/playground (#22784)
- treesitter: add support for setting query depths
- treesitter: bundle markdown parser and queries (#22481)
- treesitter: handle quantified fold captures
- treesitter: highlight Lua files by default (#26824)
- treesitter: highlight help files by default (#26347)
- treesitter: improve query error message
- treesitter: improved logging (#23638)
- treesitter: show root nodes in :InspectTree (#26944)
- treesitter: support URLs (#27132)
- treesitter: update Bash parser and queries to v0.21.0
- treesitter: update C parser and queries to v0.21.0
- treesitter: update C queries from upstream
- treesitter: update Lua parser and queries to v0.1.0
- treesitter: update Markdown parsers and queries to v0.2.1
- treesitter: update Python parser and queries to v0.21.0
- treesitter: update Vim parser and queries to v0.4.0
- treesitter: update Vimdoc parser and queries to v2.4.0
- treesitter: update query parser to v0.2.0
- treesitter: upstream query omnifunc from playground (#23394)
- treesitter: use 0-based indexing to show ranges in
:InspectTree
- tui: add 'termsync' option (#25871)
- tui: query extended underline support using DECRQSS (#28052)
- tui: support DCS responses in TermResponse event (#26061)
- tui: support Super and Meta modifiers (#24357)
- tui: support undercurl in WezTerm (#28037)
- tui: use TermResponse event for OSC responses (#25868)
- tutor: add Japanese tutor #27268
- types: add
test/.luarc.json
- ui: add chdir UI event (#27093)
- ui: add support for OSC 8 hyperlinks (#27109)
- ui: allow non-zero 'cmdheight' with ext_messages
- ui: allow to get the highlight namespace
- ui: completeopt support popup like vim
- ui: indicate margins for the area used by win_viewport
- ui: inline virtual text
- ui-ext: make 'mousehide' into proper ui_option (#25532)
- version: unverbose ":version", ":verbose version" #24195
- vim.deprecate: only issue warning if neovim version is high enough
- vim.iter: add Iter:flatten (#26786)
- vim.ui: vim.ui.open, "gx" without netrw
- vim.version: add
vim.version.le
andvim.version.ge
- vimdoc: support Markdown code blocks (#25127)
- Remove nested for_each_tree in TSTreeView (#26328)
- adjust error message for error in UI event callback (#28200)
- allow multiline message for echoerr (#25380)
- avoid ui_grid_cursor_goto when drawing window separators
- buffer overrun in lmpack_session_receive
- checkhealth warning even if init.lua exists #25306
- correct versions in deprecation warnings
- deduplicate gen_cflags
- disallow removing extmarks in on_lines callbacks (#23219)
- doc errors
- explain that user should run nvim with -V1 to see more information
- fix ASAN errors on clang 17 (#25469)
- fix compiler warning from clang
- fix iter_matches call in query linter (#27496)
- flush UI state before blocking in vim.wait (#25938)
- function was renamed (#23772)
- gf fails on "foo/bar.txt:1:2" on Windows
- handle argv not present in nvim_get_chan_info
- heap-buffer-overflow in file_name_in_line
- ignore non-existent properties during header generation
- invoke changed_bytes when rewriting char #25125
- lua annotations
- luacheck
- missing case in setxattr error handling (#26176)
- move fswatch linux check inside of vim.schedule (#27824)
- only attempt to close timer if not already closing (#26047)
- prevent child processes from inheriting ui channel file descriptors
- quick update, squash later
- raise TS min version
- splitting of big UI messages
- support UNC paths in vim.fs.normalize
- tostring(vim.version()) fails if build is NIL #24097
- type warnings in shared.lua
- unreliable "checkhealth completions" test
- use BEL to terminate OSC 11 request (#26335)
- use no_ff instead of ffdos as condition
- use snprintf instead of sprintf
- version-range < and <= #23539
- vim.loop in luv threads (#23924)
- vim.validate() order is not deterministic #28377
- windows timeouts have exit code 1
- :let: fix error when applying operator to boolean option (#24030)
- NVIM_APPNAME: show error message if $NVIM_APPNAME is invalid
- PVS/V009: add top-level message
- PVS/V1001: variable is assigned but is not used
- PVS/V547: expression is always true/false
- PVS/V564: the '|' operator is applied to bool type value
- PVS/V592: expression is enclosed by parentheses twice
- api: allow negative column arguments for nvim_buf_set_text (#23501)
- api: avoid assertion when autocmd group id is 0 (#23210)
- api: avoid immediate TextChanged with nvim_create_buf (#25492)
- api: avoid integer truncation
- api: avoid open_win UAF if target buf deleted by autocmds
- api: better topline adjustments in nvim_buf_set_lines
- api: crash after nvim_win_set_config title/footer validation error (#26606)
- api: disallow some more functions during textlock
- api: disallow win_set_buf from changing cmdwin's old curbuf (#24745)
- api: do not re-apply win_config.style when missing
- api: do not update grid position in nvim_win_set_cursor (#28235)
- api: don't change title when setting buffer in a window (#23492)
- api: don't leak memory with nvim_win_get_ns (#27570)
- api: don't set coladd of mark (#26648)
- api: don't use stl 'fillchar' for "use_statuscol_lnum" (#27501)
- api: dont change curwin for nvim_win_set_height
- api: dont change curwin for nvim_win_set_width
- api: extmark highlight groups not always included in details (#23179)
- api: fix inconsistent behavior of topline touched in recent refactor
- api: fix set_lines viewport adjustment, but this time good
- api: get virtual text with multiple hl properly (#25307)
- api: handle NUL in nvim_err_write() and nvim_out_write() (#25354)
- api: handle clearing out last line of non-current buffer
- api: handle win_split_ins failure properly
- api: ignore 'autochdir' when renaming other buf (#28376)
- api: ignore 'autochdir' when setting buf in other win (#28371)
- api: limit depth of nvim_cmd (#27225)
- api: load buffer first on nvim_buf_set_lines (#25823)
- api: make nvim_get_hl not return non-existing groups
- api: make open_win block only enter/leave events if !enter && !noautocmd
- api: make open_win/win_set_config check if splitting allowed
- api: make width/height for split by nvim_open_win work (#28341)
- api: make win_set_config with "win" for splits need "split/vertical"
- api: mark nvim__complete_set as experimental #28579
- api: more intuitive cursor updates in nvim_buf_set_text
- api: nvim_buf_get_offset in a new buffer with zero or one lines
- api: nvim_cmd{cmd="win_getid"} parsed as :winsize #24181
- api: nvim_create_buf assert fails if autocmds set &swapfile
- api: nvim_create_buf leaks memory if buffer is loaded early
- api: nvim_get_hl should return default flag
- api: nvim_parse_cmd error message in pcall() #23297
- api: open_win fire Buf* events when !enter && !noautocmd if entered early
- api: open_win fire BufWinEnter for other buffer when !enter && !noautocmd
- api: patch some cmdwin/textlock holes
- api: redundant error when using
nvim_cmd
(#24010) - api: revert unintended change of optional bool params
- api: set script context when using nvim_set_hl (#28123)
- api: update "w_scwidth" in nvim_eval_statusline()
- api: update grid cursor in nvim_win_set_cursor()
- api: use a conditional stack for nvim_cmd (#26341)
- api: use text_locked() to check textlock
- api: win_set_config autocmds crash when moving win to other tabpage
- api: win_set_config fires unnecessary autocmds
- api: win_set_config set tp_curwin of win moved from other tabpage
- api: win_set_config update statuslines after removing splits
- api: wrong nvim_buf_set_extmark error for invalid hl_mode
- api, lua: handle setting v: variables properly (#25325)
- api, lua: make blank lines in a message work properly (#24244)
- api/buffer: fix handling of viewport of non-current buffer
- api/options: validate buf and win
- autocmd: API functions accept garbage after event name #25523
- backup: E1509 when writing extended attr to symlink (#28014)
- base64: only check padding if leftover index is set (#25854)
- base64: properly handle embedded NULLs when decoding (#28349)
- buffer: do not filter help buffer
- buffer_updates: correct buffer updates when splitting empty line
- build: better deps for doc
- build: distinguish vim.mpack from global require'mpack'
- build: include FindPackageHandleStandardArgs
- build: teach cmake about vvars
- builtin: fix incorrect optional fields for fn.sign_define
- builtin: parameter mismatch between winsaveview and winrestview
- change: update fold after on_bytes (#26364)
- channel: use os_write() instead of fwrite() for stderr (#26689)
- charset: fix wrong display of 0xffff (#24158)
- checkhealth: error in node.js check #28348
- checkhealth: fix crash due to incorrect argument type
- checkhealth: shell_error and cpanm module
- clang: null pointer dereference in parse_msgpack #25389
- clangd: check size of array before applying qsort on it
- clangd: set block pointer to null in case map is empty
- clipboard: don't pass --foreground to wl-copy (#25481)
- clipboard: ignore exit caused by signal #23378
- clipboard: increase OSC 52 wait timeout (#25936)
- clipboard: make getreg() accurate for clipboard registers (#26740)
- clipboard: make osc52 work with PUC Lua (#26014)
- cmake: restore previously undocumented workround, now documented
- cmdline: don't redraw 'tabline' in Ex mode (#24123)
- cmdline: wrong 'incsearch' highlighting after :redraw (#27947)
- codelens: add buffer and line checks before displaying codelens (#23887)
- colorscheme: default statusline groups usability #26921
- colorscheme: link LSP semantic tokens to treesitter groups
- colorscheme: try .lua files in 'rtp' before .vim files in 'pp' (#23727)
- colorscheme: typo
- colorscheme: use explicit normal foreground in syntax groups
- column: 'statuscolumn' not drawn after virt_lines with "n" in 'cpo' (#22967)
- column: add truncated width during estimation for 'statuscolumn'
- column: always set b_signcols.max
- column: apply numhl signs when 'signcolumn' is "no" (#26167)
- column: avoid exceeding configured 'signcolumn' width
- column: clear "b_signcols" before moving saved marks
- column: clear "b_signcols" when marktree is cleared
- column: correct width after truncated 'statuscolumn' error (#26737)
- column: don't overflow sign column with extmark signs (#23854)
- column: don't reset 'statuscolumn' width after it has been drawn
- column: fill 'statuscolumn' clickdefs with evaluated width (#26891)
- column: fix wrong cursor with 'statuscolumn' and cpo+=n (#24268)
- column: full redraw with 'stc, 'rnu' and inserted lines (#27712)
- column: handle unprintable chars in 'statuscolumn' (#24198)
- column: handle w_redr_statuscol at end filler lines (#27365)
- column: ignore empty signcols range (#28177)
- column: keep track of number of lines with number of signs
- column: pass kFalse when initializing "b_signcols.count"
- column: rebuild status column when sign column is invalid
- column: redraw 'statuscolumn' on wrapped lines with 'relativenumber'
- column: redraw and update signcols for paired extmark
- column: remove sign from line it was previously on with undo
- column: reset decor state before starting from top
- column: use a single path for sign sorting (#27431)
- column: use maxwidth to allocate/fill 'statuscolumn' click defs #24190
- completion: check that healthcheck name is string (#28458)
- completion: don't add backslashes to runtime pattern (#24296)
- completion: filter results with complete+=f (#26029)
- completion: improve popup window position (#26739)
- completion: make sure the buffer name is valid (#25975)
- context: don't crash on invalid arg to nvim_get_context (#25977)
- context: don't leak memory on multiple invalid objects (#25979)
- coverity: dead code #25562
- coverity: unhandled retval for marktree_itr_get_overlap() #26518
- coverity/348240: memory leak in put_view()
- coverity/471380: null dereference in get_local_additions()
- coverity/477623,477624: guard null pointer dereference in kv_concat_len (#27022)
- decor: allow adding providers during redraw
- decor: check decor kind before accessing union field (#27205)
- decoration_provider: don't leak memory on error (#24410)
- decorations: better approximation of botline #24794
- decorations: crash with revised mark with changed decoration flags
- decorations: do not apply sign highlight id as range attr id
- decorations: fix imbalanced sign count
- decorations: incompletely displayed line should also get decorations
- decorations: validate botline for on_win
- defaults: auto-close terminal for &shell with args (#28276)
- defaults: background detection in tmux (#26557)
- defaults: don't use nvim_feedkeys in default mappings (#24520)
- defaults: make terminal autoclose not block other events (#27581)
- defaults: only repeat macro for each selected line if linewise (#28289)
- defaults: remove tmux background detection passthrough (#27571)
- defaults: set 'fsync' #26034
- defaults: use augroup for default autocommands (#26933)
- defaults: validate 'channel' before responding to OSC request (#27594)
- defaults: visual hash (#) on text with "?"
- defaults: visual mode star (*,#) is fragile
- defaults: visual star (*) on text with "?"
- defaults: wait until VimEnter to set background (#26284)
- deps: bump luv to 1.48.0-2
- deps: make sure --force-config takes effect
- deps: remove stray conflict marker
- deps: restore functionality of USE_EXISTING_SRC_DIR
- deps: restore functionality of USE_EXISTING_SRC_DIR
- diagnostic: always return copies of diagnostic items (#25010)
- diagnostic: check for sign namespace instead of sign group
- diagnostic: check if delete failed in
qf_fill_buffer()
(#25932) - diagnostic: fix typing on field |diagnostic-severity|
- diagnostic: get border from config (#28531)
- diagnostic: invalid col number compare in next_diagnostic (#28397)
- diagnostic: open_float on multi-line diagnostics #28301
- diagnostic: rename buffer → bufnr in type annotation (#23042)
- diagnostic: typing
- diagnostic: vim.diagnostic.get(…,{lnum=…}) on multi-line diagnostic #28273
- diagnostic: virtual_text prefix function should have index and total (#25801)
- diagnostics: if buffer not loaded, skip handlers that set extmark (#25628)
- diff: filler lines for hunks bigger than linematch limit (#24676)
- doc: improve doc generation of types using lpeg
- doc: prevent doxygen confusion
- docs: clean up non-docstring comments for vimdoc gen
- docs: fix TSNode incorrect signatures
- docs: ignore_invalid #24174
- docs: make lines not overflow in vim docs
- docs: match DocSearch style with site theme
- docs: the runtimepath is not the runtime path
- docs: too much whitespace around
blocks #24151
- docs: vimdoc syntax errors
- docs: vimdoc syntax errors
- docs: vimdoc syntax errors
- drawline: check filler_todo in place of removed draw_state (#27889)
- drawline: combine extmark highligh with area hl correctly
- drawline: consider position in linebuf for foldcolumn (#26803)
- drawline: don't invoke on_line for filler line (#28219)
- drawline: don't use temporary "v" variable when not needed (#26777)
- drawline: fix missing Visual hl on double-width fold char (#24308)
- drawline: initialize linebuf_attr to 0 instead of -1 (#27840)
- drawline: initialize variable
- drawline: initialize variable
- drawline: inline virt_text hl_mode inside syntax/extmark hl (#24273)
- drawline: make cursorlineopt=screenline work with resized grid
- drawline: missing NUL termination when drawing TAB (#27307)
- drawline: update prev_ptr after getting syntax attrs (#27072)
- edit: backspace adds extra spaces for inline virtual text (#28005)
- edit: don't go to Terminal mode when stopping Insert mode (#27033)
- edit: fix K_EVENT interfering with 'digraph' (#24258)
- editorconfig: add missing root validation (#23462)
- editorconfig: check that buffer is valid (#23922)
- editorconfig: do not set 'endofline'
- editorconfig: highlight properties with dashes (#24407)
- editorconfig: only warn once on errors
- editorconfig: syntax error regression
- eval: correct failure return value for readfile/blob (#27722)
- eval: make has('pythonx') work properly (#27739)
- eval: prevent double-free in garbage collection (#22990)
- eval: properly support checking v:lua function in exists() (#27124)
- eval: skip over v:lua properly (#27517)
- event-loop: flush UI when no input is available (#25728)
- event-loop: process input before events (#27358)
- events: avoid unnecessary CursorMoved (#24675)
- events: check for WinResized/WinScrolled in terminal mode (#27226)
- events: don't expand non-file as file name
- events: null dereference in autocmd functions
- events: trigger VimResume on next UI request (#24426)
- ex_getln: initialize pointer with NULL
- exception: remember whether message is multiline (#25351)
- excmd: append original command to error message
- excmd: make :def unknown rather than unimplemented (#23150)
- exitfree: don't use ex commands to close windows in free_all_mem()
- extmark: fix crash when stepping out from internal node
- extmark: fix cursor position with both left and right gravity inline text
- extmark: only invalidate unpaired marks on deleted rows
- extmark: restore extmarks when completing original text
- extmarks:
U
changed_bytes after extmark_splice (#26501) - extmarks: account for rightleft when drawing virt text (#25262)
- extmarks: blending space shouldn't overwrite wide char (#26960)
- extmarks: crash with sign after many marks
- extmarks: do not remove decor from invalid old marks
- extmarks: do not remove invalid marks from decor upon deletion
- extmarks: don't position overlay virt_text halfway a char (#24027)
- extmarks: don't show virt lines for end mark (#23792)
- extmarks: draw TAB in virt_text properly with 'rl' (#25381)
- extmarks: draw virt_text below diff filler lines properly (#25170)
- extmarks: empty inline virt_text interfering with DiffText (#24101)
- extmarks: empty inline virt_text interfering with Visual highlight
- extmarks: fix heap buffer overflow caused by inline virtual text (#23851)
- extmarks: fix virt_text_hide off-by-one hiding (#23795)
- extmarks: fix virt_text_hide with 'nowrap' and multibyte (#23757)
- extmarks: fix win_col virt_text drawn on wrong screen line (#25264)
- extmarks: fix wrong highlight after "combine" virt_text (#24281)
- extmarks: fix wrong virt_text position after wrapped TAB (#25168)
- extmarks: handle inline virt_text with empty chunk (#24005)
- extmarks: handle overwriting right half of wide char (#26951)
- extmarks: hide inline virt_text properly with 'smoothscroll' (#24106)
- extmarks: inline virt_text support multiple hl groups (#25303)
- extmarks: make empty "conceal" respect &conceallevel = 1 (#24785)
- extmarks: make right_align and win_col work on wrapped line (#23759)
- extmarks: missing "spell" and "conceal" in details (#27116)
- extmarks: overlay virt_text position after 'showbreak' (#25175)
- extmarks: priority order of inline and non-inline virt_text (#27532)
- extmarks: properly handle virt_text on next screen line (#25166)
- extmarks: redraw line on adding/removing conceal (#27463)
- extmarks: redraw pre-undo position (#27437)
- extmarks: redraw properly with scoped inline virt_text (#27569)
- extmarks: restore old position before revalidating
- extmarks: skip virt_text if it is out of window (#25658)
- extmarks: splice earlier when opening new line (#28108)
- extmarks: wrong display when changing text with virt_lines (#24879)
- f_wait: flush UI before blocking (#25962)
- file_search: path with spaces in finddir() and findfile() (#25493)
- fileio: fix off-by-one in rename_with_tmp (#27780)
- filetype: add typing and dry (#24573)
- filetype: call on_detect before setting buffer filetype
- filetype: correctly detect bash-fc-{id} files as "sh"
- filetype: don't use fnamemodify() with :e for extension (#27976)
- filetype: make sure buffer is valid before call nvim_buf_call (#24922)
- filetype: return on_detect function when matching by file contents
- filetype: use unexpanded file name (#27931)
- flake: clang-tools moved to nativeBuildInputs (#26955)
- float: add fixd option
- float: allow floating window in cmdline area
- float: apply 'winblend' to title/footer highlight (#25999)
- float: don't relative flaot win itself
- float: fix some other crashes with :unhide or :all (#25328)
- float: improve error message when reconfig failed (#25076)
- float: make "fixed" work with relative=win (#25243)
- float: make bufpos work properly with resized parent grid
- float: trigger winnew event when float window create
- float: update position of anchored windows first (#25133)
- float: win_get_bordertext_col returning negative column number (#25752)
- float: wrong position when bufpos is set
- folds: allow overlay virtual text on folded line (#23892)
- folds: combined Folded and Visual highlights (#23752)
- folds: don't show search or match highlighting on fold (#24084)
- folds: fix missing virt_lines above when fold is hidden (#24274)
- folds: show Folded highlight in Visual selection (#23741)
- folds: update folds in Insert mode with fdm=indent (#24402)
- fs: allow backslash characters in unix paths
- fs: make
normalize()
work with '/' path (#24047) - fs: use generics for better typing
- fs.lua: normalize slash truncation (#23753)
- fswatch: --latency is locale dependent
- ftplugin: respect runtimepath ordering
- ftplugin: source Lua files after Vimscript files per directory (#23801)
- gen_help_html: type warnings, spell_ignore_files #27254
- gen_lsp.lua: improve type name, and fix wrong type inheritance
- gen_lsp.lua: no notifications in lsp.Methods #24530
- gen_vimdoc: INCLUDE_DEPRECATED not generating docs for deprecateds
- gen_vimfn_types: don't include tag before signature's line (#24492)
- gen_vimvim: correctly add aliases to vimAutoEvent (#23429)
- genvimvim: add special abbreviations of :delete (#23172)
- genvimvim: generate prefixed boolean options properly (#27487)
- grid: add start column when getting char on line (#25627)
- grid: don't draw beyond max column (#26172)
- grid: handle clearing half a double-width char (#27023)
- gx: move to to _init_default_mappings #24420
- gx: visual selection, expand env vars
- health: "attempt to concatenate nil"
- health: check for _host_prog variables properly (#23014)
- health: check more "old" files
- health: check unmatching python_glob as empty table (#28215)
- health: combine python and virtualenv healthchecks (#23004)
- health: correctly expand and resolve PYENV_ROOT (#26953)
- health: fix tmux RGB capability detection (#26886)
- health: fix typo in function name
- health: improve python executable check error handling (#26954)
- health: malformed call to warn() #26217
- health: properly use the value of $PYENV_VERSION (#23109)
- health: replace healthFoo with DiagnosticFoo (#23475)
- health: stop job properly on timeout (#23877)
- healthcheck: expand vimrc variable (#28379)
- helptags: make multibyte help tags work properly (#23975)
- heredoc: allow missing end marker for scripts
- highlight: add
FloatFooter
to 'highlight_defs.h' (#25577) - highlight: add
Nvim{Light,Dark}Gray{1,2,3,4}
colors - highlight: add create param in nvim_get_hl
- highlight: add force in nvim_set_hl
- highlight: add missing g: prefix for colors_name (#22952)
- highlight: apply 'winblend' to NormalNC (#23555)
- highlight: apply 'winblend' to float border (#25981)
- highlight: attr set all when normal attr changed
- highlight: combine ColorColumn with low-priority CursorLine (#23017)
- highlight: consistently spell "Goldenrod"
- highlight: correct hi command output
- highlight: don't show CursorColumn on current line (#27848)
- highlight: make CurSearch work properly with 'winhl' (#24448)
- highlight: remove unnecessary assignment to char_attr for 'spell' (#23713)
- highlight: update
IncSearch
to link toCurSearch
- highlight: winhl receive wrong argument
- inccommand: block errors when parsing command line again (#24374)
- inccommand: don't crash with "split" and 'n' flag
- inccommand: don't preview in Ex mode (#26587)
- inccommand: don't save information of a buffer twice (#24501)
- inccommand: don't set an invalid 'undolevels' value (#24575)
- inccommand: improve preview buffer number handling (#27087)
- inccommand: restrict cmdpreview undo calls (#24289)
- inccommand: save and restore '[ and '] marks (#26442)
- inccommand: update topline after moving cursor (#27341)
- input: set termkey buffer size to read stream capacity
- intro: clear intro if new buffer is shown in focused float
- intro: link showing intro to state at start
- intro: make intro explicitly stateful
- intro: redrawing intro exposing pseudo-randomness
- intro: still show intro message with floating window
- iter: add tag to packed table
- iter: make pipeline termination conditions consistent (#24614)
- iter: remove special case totable for map-like tables
- job-control: fix use after free (#25223)
- job-control: make jobwait() flush UI after hiding cursor (#25927)
- json: allow objects with empty keys #25564
- jumplist: Ctrl+o, Ctrl+i weird behavior when deleting buffers #25461
- keycodes: recognize <t_xx> as a key (#24700)
- keycodes: simplify S- properly when D- is present (#27316)
- l10n: update Japanese translations (#27856)
- l10n: update Ukrainian translations (#26819)
- languagetree: apply
resolve_lang
tometadata['injection.language']
- languagetree: don't treat unparsed nodes as occupying full range
- languagetree: remove double recursion in LanguageTree:parse
- linematch: initialize array
- lint: lint warnings #24226
- lint: use tbl_contains
- loader: cache path ambiguity #24491
- loader: remove cyclic dependency on vim.fs (when --luamod-dev)
- loader: reset hashes when running the loader
- log: increase size of buffer for nvim instance name
- lsp: E403 if doc contains multiple codeblocks #24458
- lsp: SignatureHelp docstring is not escaped #16702
- lsp: abort callHierarchy on no result (#28102)
- lsp: account for border height in max floating popup height (#25539)
- lsp: actually send diagnostic-tags back to the server
- lsp: add "silent" option to vim.lsp.start (#28478)
- lsp: add assertion for explicit bufnr in apply_text_edits (#27614)
- lsp: add missing LSP semantic token highlight links
- lsp: add param assert in client_is_stopped (#23857)
- lsp: add parentheses to generated union array types (#27560)
- lsp: add snippet regression test (#27618)
- lsp: add spacing for inlay hints separately #24079
- lsp: advertise workspace.didChangeConfiguration capability (#26028)
- lsp: allow Lua pattern chars in code action filter (#24041)
- lsp: always return boolean in lsp.buf_client_attach (#24077)
- lsp: announce publishDiagnostics.dataSupport (#24442)
- lsp: avoid assertion when
client_hints
do not exist (#28461) - lsp: buffer messages until connected to server (#28507)
- lsp: call
on_list()
even for single location (#25830) - lsp: cancel session when leaving snippet region (#25762)
- lsp: cancel watchers when closing a client
- lsp: change
silent
in lsp.start.Opts to optional (#28524) - lsp: check if inlay hints are enabled for a buffer before disabling (#24074)
- lsp: clean up duplicate and unused meta type annotations
- lsp: clear codelens on LspDetach (#24903)
- lsp: correct deprecation message #28403
- lsp: correct the error message's cmd on spawning (#27632)
- lsp: create codelens request parameters for each buffer (#27699)
- lsp: create per client params in lsp.buf.code_action
- lsp: defer writing error msgs (#27688)
- lsp: define LspInlayHint highlight group #24073
- lsp: directly rename the existing buffers when renaming (#27690)
- lsp: display initialization errors (#25409)
- lsp: do not add extra indentation
- lsp: do not assume client capability exists in watchfiles check (#24550)
- lsp: do not cancel snippet when selecting placeholder (#25835)
- lsp: don't register didChangeWatchedFiles when capability not set (#23689)
- lsp: don't use hl_mode = combine for inlay hints #24276
- lsp: duplicate on_detach, on_reload callbacks #24067
- lsp: empty commands should not be considered executable (#28216)
- lsp: ensure buffer is not attached more than once
- lsp: error in reset_timer on second detach #24117
- lsp: extra "." when completing with tsserver #24646
- lsp: filetype matching to documentSelector in dynamic capabilities (#25425)
- lsp: fix attempt to call non existent function (#24212)
- lsp: fix dynamic registration of code actions (#23826)
- lsp: fix incorrect typing and doc for
vim.lsp.rpc
- lsp: fix infinite loop on vim.lsp.tagfunc
- lsp: fix multi client handling workspace_folder methods (#18839)
- lsp: fix off-by-one error for omnifunc word boundary
- lsp: fix omnicomplete in middle of the line (#25787)
- lsp: fix relative patterns for
workspace/didChangeWatchedFiles
(#23548) - lsp: handle NUL bytes in popup text (#25612)
- lsp: handle absence of a trailing newline #25194
- lsp: handle adjacent snippet tabstops
- lsp: handle reverse lookup in capabilities
- lsp: handle stale bufnr on LspRequest autocmd trigger (#24013)
- lsp: handle stale bufnr on LspRequest autocmd trigger (#27981)
- lsp: highlight active parameter in signature help #25663
- lsp: inlay hints: "Failed to delete autocmd" when closing buffer #24469
- lsp: inlay_hint nil reference error #24202
- lsp: lint warnings, default offset_encoding #24046
- lsp: log unknown diagnostic tags instead of showing a warning (#25705)
- lsp: markdown code fence should allow space before info string #24364
- lsp: noisy warning about offset_encodings #24441
- lsp: only disable inlay hints / diagnostics if no other clients are connected (#24535)
- lsp: prevent code-lens refresh from becoming a permanent no-op (#28228)
- lsp: re-add client.commands and mark private
- lsp: reapplying already-applied hints #24114
- lsp: reduce diagnostics and add more types (#23948)
- lsp: redundant vim.snippet.jumpable #28560
- lsp: refactor escaping snippet text (#25611)
- lsp: remove unknown LSP protocol property (#24345)
- lsp: remove unnecessary file load/write when renaming (#27621)
- lsp: rename fails on missing parent directory #27291
- lsp: rename undofile when renaming (#27684)
- lsp: rename: load and list new buffer if attached to window (#27408)
- lsp: replace @private with @nodoc for public client functions (#24415)
- lsp: restore marks after apply_text_edits() #14630
- lsp: revert change to buf.clear_references() #24238
- lsp: semantic token defer loading
- lsp: send back diagnostic tags to the server
- lsp: send empty "added" list when removing workspace folder #24440
- lsp: set extra info only when it has a value (#23868)
- lsp: set fallback client name properly
- lsp: track snippet deletion
- lsp: use only utf-16 in default client positionEncodings (#23903)
- lsp: use percentage format on lsp.status (#23971)
- lsp: use plain loop for non-list-like table of protocol values
- lsp: when renaming directory, check path prefix of buffer names (#27603)
- lsp: wrong iterator in registerCapability handler (#24971)
- lua: allow nil values in serialized Lua arrays (#26329)
- lua: annotate that TSNode functions can return nil (#24621)
- lua: avoid internal error when :luado deletes lines (#27262)
- lua: correct return value for on_key with no arguments (#25911)
- lua: disallow vim.wait() in fast contexts
- lua: do not schedule events if Nvim is exiting
- lua: handle array with holes in luaeval() (#26630)
- lua: improve annotations for stricter luals diagnostics (#24609)
- lua: inspect_pos respect bufnr when get syntax info (#23098)
- lua: make highlight.on_yank use win-local highlight (#27349)
- lua: memory leak when using invalid syntax with exists() (#26530)
- lua: not using global value in vim.opt_global (#25196)
- lua: only disable vim.schedule() when closing main loop (#26090)
- lua: only free luarefs when returning from API (#28373)
- lua: remove uri fragment from file paths (#27647)
- lua: return after assert returns assert message (#27064)
- lua: show error message when failing to set variable (#25321)
- lua: vim.fn.has('nvim-0.10') in fast context, used by vim.deprecate
- lua: vim.fs typing (#24608)
- lua: vim.region on linewise selection #25467
- lua: vim.split may trim inner empty items
- lua2dox: filter out the entire
---@alias
block - luarc.json: ignore test directory to save memory
- man: make :Man with a range work (#25922)
- man: pass modifiers also to :tag (#27878)
- man: set the nested flag for the BufReadCmd autocommand (#26285)
- man.lua: don't continue on command error (#23009)
- man.lua: hardwrapped manpage is not resized #25646
- man.lua: return support of all sections
- man.vim: q quits after jump to different tag in MANPAGER modified (#28495)
- mappings: fix mapset() not replacing map with backslash (#26719)
- mark: properly init mark views (#22996)
- marks: handle switching buffer properly (#25763)
- marktree: correct qsort usage
- marktree: off-by-one error in
marktree_move
- marktree: preserve ordering in
marktree_move
- marktree: some marks counted twice when checking for overlap
- mbyte: fix bugs in utf_cp_*_off() functions
- memline: more curbuf stuff
- messages: :map output with ext_messages (#26126)
- messages: allow more prompt in headless mode with UI (#27905)
- messages: avoid crash with :intro and ch=0 (#28343)
- messages: clear new lines when increasing 'cmdheight' (#27421)
- messages: ensure msg_grid is at top at more prompt (#23584)
- messages: use "Vimscript" instead of "VimL" #24111
- messages: validate msg_grid before using msg_grid_pos (#26189)
- meta: add nil return types to lpeg functions
- meta: cleanup lpeg operators
- meta: include vim.json
- mkspell: prevent Unicode character overflow (#23760)
- mouse: avoid dragging after click label popupmenu callback (#26187)
- mouse: avoid dragging when clicking next to popupmenu (#26201)
- mouse: click after eol with conceal and virtual text (#27897)
- mouse: click on 'statuscolumn' with 'rightleft' (#25090)
- mouse: click on empty line with 'foldcolumn'
- mouse: cmdline click registered as statuscolumn (#23163)
- mouse: copy the line before syntax matching (#24320)
- mouse: drag vsep of window with 'statuscolumn' (#24462)
- mouse: fix popup menu position check with winbar (#23456)
- mouse: fix popup_setpos position check with ext_multigrid (#23436)
- mouse: handle folded lines with virt_lines attached to line above (#23912)
- move: check for filler lines properly (#28307)
- move: check the correct buffer (#25698)
- move: fix using the wrong window (#28312)
- msgpack: store grid line event as a value
- normal: don't check conceal when pressing 'r' (#27892)
- normal: make "g$" work properly with resized grid
- oldtest: always use a 64-bit int for swapfile block number
- ops.c: remove duplicate u_save_cursor()
- options:
'modified'
showing incorrect value for scratch buffers - options: correct condition for calling did_set_option() (#25026)
- options: do not change inccommand during preview (#25462)
- options: don't update curswant for 'winhl' or 'winbl' (#27515)
- options: setting 'scroll' with resized grid (#26628)
- options: use a union for def_val (#27169)
- optionstr.c: incorrect use of curbuf/curwin
- osc52: do not use 'vim.iter' (#27218)
- osc52: enable OSC 52 by default in tmux sessions (#26072)
- osc52: use
p
for primary selection instead ofs
(#26076) - osc52: use nvim_chan_send() to stderr for copying (#26690)
- pager: handle consecutive newlines properly (#27913)
- path: accept special characters on Windows (#25424)
- path: check return value of append_path() (#28309)
- path: restore space separation in 'path' (#25571)
- plines: count 'showbreak' for virtual text at eol
- plines: cursor position with 'showbreak' and resized grid (#28067)
- plines: don't return very large height on very long line (#24260)
- plines: folded lines with virt_lines attached to line above
- plines: handle inline virtual text after last char (#24241)
- plines.c: initialize cts_max_head_vcol (#24855)
- printf: make positional %zd and %zu work (#24722)
- process: avoid potential data race on exit (#27769)
- process: close handles and timer in pty_process_close() (#27760)
- process: start pty process eof timer on main thread (#27625)
- prompt: emit change event for prompt newline (#28260)
- provider: cannot detect python3.12 #25316
- provider/pythonx: import the correct module (#25342)
- pum: don't position too far with resized parent grid (#23442)
- pum: fix missing rightmost column with 'rightleft' (#23445)
- pum: fix missing scrollbar with 'rightleft' (#23448)
- pum: handle right-click menu repositioning with multigrid (#26975)
- pum: make :popup position correctly with float border
- pum: position properly with ext_multigrid (#23336)
- pum: show right-click menu above cmdline area (#23298)
- query_error: multiline bug
- redo: make redo of Lua mappings in op-pending mode work (#23566)
- redraw: multibyte characters are wrapped at the end of a line (#23696)
- redraw: overwrite double-width char with virt_text properly (#23708)
- redraw: update Visual selection properly with splits (#27343)
- remote: make --remote-expr print to stdout (#23980)
- remote: restore previous --remote-expr output formatting (#23988)
- rpc: "grid_line" event parsing crashes (#25581)
- rpc: assertion failure due to invalid msgpack input
- rpc: do not crash when no input is consumed
- rpc: fix hang with channel closed while waiting for response
- rplugin: dont create data dir if it's a broken symlink #25726
- ruler: show ruler of curwin with no statusline in cmdline
- runtime: add commentstring for C# ftplugin (#23039)
- runtime: add commentstring for D ftplugin (#25362)
- runtime: add more Nvim-only highlight groups to Vim syntax
- runtime: do not allow breakcheck inside runtime path calculation
- runtime: don't set gx mapping if already mapped (#24262)
- runtime: respect 'fileignorecase' when sourcing (#24344)
- runtime: respect 'rtp' order for all runtime files (#24335)
- runtime: source c ftplugins in correct order (#27377)
- runtime: source old color scheme in bundled color schemes (#26641)
- runtime: update 'vim' color scheme to use new tree-sitter groups
- runtime/tutor: don't try to close fold when there is none (#24953)
- shada: update deleted marks (#24936)
- shada: update marks when using delmarks! (#24978)
- showcmd: clear the rest properly (#28420)
- sign: avoid deleting from sign map while looping over it (#27158)
- sign: do not error when defining sign without attributes (#26106)
- snippet: correct indent with newline
- snippet: do not add extra indent on newlines (#28538)
- snippet: remove misleading comment about TM_FILENAME_BASE (#26465)
- spell: always accept ':' as filename char in 'spellfile' (#27172)
- spell: extmark with spell=false should disable spell (#23400)
- spell: splice extmarks on :spellrepall (#23929)
- startup: "nvim -l foo.lua" may not set arg0 #24161
- startup: don't truncate when printing with -l (#24216)
- startup: make recovery mode work without --headless (#24477)
- startup: multiprocess startuptime #26790
- startup: only send one default_colors_set event during startup
- startup: run embedded Nvim with real path (#24282)
- startup: set full_screen when in ex_mode
- startup: stop TUI properly when quitting at swap dialog (#25337)
- startup: trigger UIEnter for the correct channel (#25860)
- statuscolumn: don't update clicks if current width is 0 (#24459)
- statuscolumn: force full redraw when signcolumn is invalid (#24859)
- statuscolumn: update number hl for each screen line (#25277)
- statusline: also allow right click when 'mousemodel' is "popup*" (#23258)
- statusline: bail out properly on negative row (#23535)
- statusline: corrupted screen with minwid sign item in 'statuscolumn' (#23823)
- statusline: fill for double-width char after moving items (#24207)
- statusline: fix uninitialized variable and possible overflow
- statusline: missing offset when showing 'keymap' (#27270)
- statusline: redraw when VIsual_mode changes (#23933)
- stdpath: remove duplicate directories (#26653)
- stream: do not close handle if it is already closing (#26537)
- substitute: properly check if preview is needed (#23809)
- syntax: use correct diagnostic group for checkhealth (#23538)
- termcap: escape escapes in passthrough sequence (#26301)
- termcap: only call callback for requested capabilities (#26546)
- termcap: set 'nested' on TermResponse autocommand
- termcap: use tmux passthrough sequence when running in tmux (#26281)
- termdebug: handle partial lines passed to callback (#22950)
- termdebug: prompt mode breaks with &splitbelow set
- termdebug: send SIGINT when interrupting prompt mode
- termdebug: trim suffixed "\r" in CommOutput
- terminal: assign channel to terminal earlier (#25771)
- terminal: avoid Insert mode in Terminal buffer (#25820)
- terminal: block input when there is pending TermRequest (#27589)
- terminal: call validate_cursor() before screen update (#24425)
- terminal: check if mouse on statusline/tabline/winbar/vsep (#26892)
- terminal: check terminal size at end of screen update (#25480)
- terminal: disable reflow again
- terminal: don't lose focus on (#25845)
- terminal: don't pass incomplete UTF-8 sequence to libvterm (#27922)
- terminal: don't send unknown special keys to terminal (#24378)
- terminal: fix duplicate recording with mouse click (#28103)
- terminal: forward horizontal mouse scrolling (#24552)
- terminal: handle horizontal scrolling in another window (#24828)
- terminal: ignore $VIM and $VIMRUNTIME in pty jobs
- terminal: include modifiers when forwarding mouse (#24549)
- terminal: keep focus when scrolling number column of another window (#25848)
- terminal: make backslashes in 'shell' work on Windows
- terminal: never propagate $COLORTERM from outer env (#26440)
- terminal: send Shift-Home Shift-End Ctrl-Home Ctrl-End (#24418)
- terminal: set $COLORTERM unconditionally in :terminal (#24763)
- terminal: use terminal buffer for TermRequest autocommand (#26974)
- termkey: accept BEL (0x07) as OSC terminator
- termkey: do not sign extend mode value
- termkey: include IO header on Windows
- test: call separate_arguments() correctly to honor $BUSTED_ARGS (#26905)
- test: clean up inline virtual text tests a little
- test: fix "indeterminism" warnings in UI tests
- test: fix strings_spec.lua for AArch64
- test: more tests for marktree
- test: remove test/compat.lua
- test: typing
- test/tui_spec: pass the expected NULL-sentinel to execl()
- tests: set SHELL=sh #24941
- tests: use more global highlight definitions
- textformat: remove unnecessary changed_bytes() (#26027)
- timer: allow timer_info() to get info about current timer
- tohtml: replace hex escape with digit escape (#27728)
- tohtml: set filetype of generated HTML to
html
- treesitter: Use the correct replacement args for #gsub! directive (#23015)
- treesitter: _trees may not be list-like
- treesitter:
language.add
- only register parser if it exists - treesitter: adjust indentation in inspector highlights (#26302)
- treesitter: allow foldexpr without highlights (#23672)
- treesitter: allow passing lang to vim.treesitter.get_node() now correctly takes opts.lang (#26360)
- treesitter: avoid # of nil in _query_linter
- treesitter: check that buf is loaded in autocommands (#25679)
- treesitter: correctly calculate bytes for text sources (#23655)
- treesitter: correctly handle query quantifiers (#24738)
- treesitter: do not calc folds on unloaded buffers
- treesitter: document more standard highlight groups
- treesitter: don't forcefully open folds
- treesitter: don't invalidate parser when discovering injections
- treesitter: don't update fold if tree is unchanged
- treesitter: enforce lowercase language names (#28546)
- treesitter: escape quotes in :InspectTree view #24582
- treesitter: fix TSNode:tree() double free (#24796)
- treesitter: fix another TSNode:tree() double free
- treesitter: fix indexing in foldexpr
- treesitter: fix parens stacking in inspector display (#26304)
- treesitter: fix trim predicate
- treesitter: fixup for InspectTree
- treesitter: foldexpr tweaks
- treesitter: handle empty region when logging (#24173)
- treesitter: highlight injections properly
- treesitter: improve vim.treesitter.foldexpr
- treesitter: inspect-tree remember opts on buf change
- treesitter: logger memory leak
- treesitter: make InspectTree correctly handle nested injections (#26085)
- treesitter: make Visual hl work consistently with foldtext (#25484)
- treesitter: make foldexpr work without highlighting (#24167)
- treesitter: make sure injections don't return empty ranges (#24595)
- treesitter: make tests for memoize more robust
- treesitter: outdated highlight due to tree with outdated region
- treesitter: prefix treesitter types with vim
- treesitter: prepare highlight states for [s, ]s
- treesitter: properly combine injection.combined regions
- treesitter: redraw added/removed injections properly (#23287)
- treesitter: remove more double recursion
- treesitter: reset cursor max_start_depth
- treesitter: return correct match table in iter_captures()
- treesitter: revert to using iter_captures in highlighter
- treesitter: set cursor position when opening inspector
- treesitter: stop() should treat 0 as current buffer #24450
- treesitter: support subfiletypes in get_lang (#23605)
- treesitter: treecursor regression
- treesitter: update @markup default links
- treesitter: update c queries
- treesitter: update folds in all relevant windows (#24230)
- treesitter: update folds only once on InsertLeave
- treesitter: update highlights for query (#23699)
- treesitter: update lua parser and queries (#24148)
- treesitter: update markdown parser and queries (#24429)
- treesitter: update parsers and queries
- treesitter: update vimdoc and vimscript queries
- treesitter: use 0 as initial value for computing maximum (#27837)
- treesitter: use proper query syntax for inspector (#26274)
- treesitter: use tree range instead of tree root node range
- treesitter: use vim.highlight.priorities instead of hardcoded 100 (#24052)
- treesitter: validate language alias for injections
- treesitter: validate window before updating preview highlights
- treesitter playground: fix the wrong range of a node displayed i… (#23209)
- treesitter.c: improve comments on fenv usage
- treesitter.foldexpr: check for all insert submodes
- tui:
space_buf
overflow when clearing screen (#27352) - tui: disable DECRQM and DECRQSS queries for Terminal.app (#28453)
- tui: do not toggle cursor visibility when flushing the buffer (#26055)
- tui: don't forget to update cursor visibility (#26523)
- tui: don't overwrite an assertion faliure message on exit
- tui: don't set cursor color when there is none (#28236)
- tui: don't set tty background if &bg was set before VimEnter (#23701)
- tui: don't use DECRQSS in screen or tmux (#28086)
- tui: don't use tui->params[] for 'termsync' (#26565)
- tui: grid_clear properly clears the screen
- tui: grow termkey's internal buffer for large escape sequences (#26309)
- tui: handle cursor visibility properly (#26091)
- tui: make :cquit work properly with remote TUI (#25313)
- tui: make disabling title restore old title from stack (#23585)
- tui: make setcellwidths() work for non-ambiwidth chars (#28322)
- tui: position cursor at bottom-left before stopping (#23369)
- tui: redraw on SIGWINCH even if size didn't change
- tui: restore title before exiting alternate screen (#23776)
- tui: start flush earlier (#26463)
- tui: use buflen to calculate remaining buffer size (#26942)
- tui: use uv_timer_t instead of TimeWatcher for input (#26435)
- tui: v:argv does not report the original argv[0] #24015
- tutor: Tutor steps don't work on Windows #25251
- tutor: don't use concealed text in expected lines #24316
- tutor: set a value for ":syntax iskeyword" (#27833)
- type: remove incorrect arguments from vim.rpc*
- types: add more annotations to eval.lua
- types: add some return/parameter type annotations (#24867)
- types: make filetype.add parameters optional
- types: move type annotation for
IterMod
- types: rename win_get_config return type to win_config
- typing: vim.fn.execute
- typval: don't treat v:null as truthy (#23281)
- ui: "resize -1" with cmdheight=0 #24758
- ui: activating all ext capabilities without remote UI #28555
- ui: adjust 'smoothscroll' for inner dimensions
- ui: adjust the cursor when inserting virtual text
- ui: always use stl/stlnc fillchars when drawing statusline (#25267)
- ui: avoid ambiguity about chunk that clears part of line (#24982)
- ui: cursor pos with left gravity inline virt_text at eol (#24329)
- ui: delay win_viewport until screen update #24182
- ui: doesn't trigger au event when enter is false
- ui: don't force 'cmdheight' to zero with ext_messages
- ui: don't send empty grid_line with redrawdebug=compositor (#23899)
- ui: empty line before the next message after :silent command
- ui: ext_cmdline should not move cursor to curwin
- ui: fix cursor position with multiple inline virtual text
- ui: fix edge case around flushing
- ui: fix incorrect highlighting when virtual text next to match
- ui: fix incorrect highlighting when virtual text wraps with number
- ui: fix multi-byte characters highlight in virtual text
- ui: fix overflowing nowrap virtual text not displaying if tab follows
- ui: fix tabs not being spaced properly after virtual text with no wrap
- ui: fix virtual text not displaying when two overlapping inlines (nowrap)
- ui: fix visual and search highlighting interfering with virtual text
- ui: fixes incorrect rendering when virtual text is not visable and nowrap
- ui: handle virtual text with multiple hl in more cases (#25304)
- ui: propagate line wrapping state on grid_line events
- ui: set 'cmdheight' to zero for all open tabpages
- ui: startup intro message should be visible with ext_multigrid
- ui: trigger TabNewEntered after split new tab
- ui: update ext_ui widgets when attaching non-remote UI
- ui: wrong cursor position with left gravity inline virt text at eol
- ui: wrong display with 0-width inline virt_text at eol (#24854)
- ui-ext: "scroll_delta" handle topfill and skipcol (#24249)
- ui-ext: send title to newly-attached UI
- ui.open: some URLs fail on Windows
- ui_client: check return code of dup()
- ui_client: check return value of channel_job_start (#27729)
- ui_compositor: only reset skipstart at first column (#24776)
- undo: fix crash caused by checking undolevels in wrong buffer
- unhide: close floating windows first (#25318)
- unittests: ignore __s128 and __u128 types in ffi
- usercmd: Fix buffer overflow in uc_list() (#23225)
- userfunc: fix possible out of bound access
- vim.deprecate: show deprecation warning in devel versions as well
- vim.iter: use correct cmp function when truncating tail in
take
(#27998) - vim.region: handle multibyte inclusive selection properly (#26129)
- vim.system: close check handle (#24270)
- vim.system: don't process non-fast events during wait() (#27300)
- vim.system: let on_exit handle cleanup after kill
- vim.system: make timeout work properly
- vim.ui: open() may wait indefinitely #28325
- vim.ui.open: return (don't show) error message
- vim.ui.open: try wslview before explorer.exe #28424
- vim.ui.open: use explorer.exe instead of wslview #26947
- watchfiles: skip Created events when poll starts (#23139)
- window: :close crash if WinClosed from float closes window (#27794)
- window: :close crash with autocmd, floats and tabpage (#27793)
- window: :close may cause Nvim to quit with autocmd and float
- window: don't go to unfocusable float when closing (#28455)
- window: prevent win_size_restore from changing cmdheight
- windows: set stdout to binary mode for --api-info
- cache breakindent/showbreak width in win_lbr_chartabsize
- don't decode utf8 character multiple times in getvcol()
- improve utf_char2cells() performance (#27353)
- remove loop for computing last position in getvcol()
- remove redundant strlen in skipwhite (#26177)
- reuse fast character size calculation algorithm from getvcol()
- column: avoid counting when max signs are removed from a range
- column: keep track of number of lines that hold up the 'signcolumn'
- column: only invalidate lines affected by added sign
- diagnostic: avoid table copies to filter by severity (#28491)
- events: store autocommands in flat vectors (#23256)
- extmarks: add metadata for efficient filtering of special decorations
- extmarks: avoid unnecessary invalidations for virt_text (#27435)
- extmarks: avoid unnecessary marktree traversal with folds (#24306)
- extmarks: don't handle inline virt_text if there is none (#24322)
- iter: make ListIter.totable more efficient (#23714)
- iter: reduce number of table allocations
- lsp: load buffer contents once when processing semantic tokens responses (#23484)
- lsp: process semantic tokens response in a coroutine that yields every 5ms (#23375)
- lsp: reduce polling handles for workspace/didChangeWatchedFiles (#23500)
- lsp: remove grouping logic from lsp.status (#24096)
- lsp: replace file polling on linux with per dir watcher (#26108)
- lsp: use async fs_stat for file watching on linux (#26123)
- lua: faster vim.deprecate() #28470
- os/env: os_getenv() allocation when there is no env var set
- redraw: only redraw Visual area when cursor has moved (#27340)
- redraw: reduce redraw with undo and extmarks or 'spell' (#27442)
- rtp: reduce rtp scans (#24191)
- substitute: don't reallocate new_start every time (#24997)
- treesitter: cache fold query (#24222)
- treesitter: do not scan past given line for predicate match
- treesitter: filter out trees outside the visible range early
- treesitter: incremental foldupdate
- treesitter: insert/remove items efficiently (#23443)
- ui-ext: approximate scroll_delta when scrolling too much (#24234)
- ui_client: skip some initialization not necessary for ui client
- actually export symbols on mac
- add "ci" configure preset to reduce verbosity
- add CMAKE_C_FLAGS to --version output
- add CMakePresets for deps build to reduce verbosity
- add check to clint to prevent non-defs header includes
- add function add_target
- add luajit runtime files when installing (#23514)
- add sub-targets to the doc target
- add system lua include dir for lpeg
- add ubsan default options
- adjust clang-tidy warning exclusion logic
- adjust how find order is prioritized
- align .clang-format rules with uncrustify config
- allow using system rocks
- bump lpeg to 1.1.0 (#25016)
- bump minimum cmake version to 3.13
- bump required minimum libvterm version to 0.3.3
- bump uncrustify to version 0.77
- bump uncrustify to version 0.78.1
- bump uncrustify version
- bundle uncrustify
- change dependency URLs to cache variables
- cmake cleanup
- cmake fixes
- create BINARY_LIB_DIR directory before adding parser
- create a text file for specifying dependency information
- create helper function for simplifying luarocks installation
- create separate targets for nvim with and without runtime files
- disable UnusedIncludes from clangd
- disable all compiler warnings from dependencies
- disable conversion warnings for GCC
- disable conversion warnings for older GCC versions
- do not use GIT_REPOSITORY for local dependencies
- don't allow Xcode as generator
- don't define FUNC_ATTR_* as empty in headers (#26317)
- don't format deleted files
- don't print installed files locally
- download busted from own neovim/deps repository
- download dependencies with unreliable mirrors from deps repo
- download libiconv and gettext from
deps
repository - drop diff.exe from windows builds
- eliminate semicolons from --version string
- enable ASAN for MSVC
- enable IWYU on mac
- enable formatting during rebase
- enable lintlua for scripts/ dir #26391
- enable lintlua for src/ dir #26395
- enable lintlua for test/ dir
- enable lintlua for test/unit/ dir #26396
- enforce PREFER_LUA
- ensure
make clean
doesn't remove source files - find system luv on ubuntu
- fix "make iwyu" not working (#24873)
- fix --luamod-dev not working properly (#24519)
- fix link error for
_BitScanForward64
(#28173) - fix parser installation location
- fix uncrustify
- fix universal mac builds
- include all dependency directories when generating headers
- introduce variable DEPS_IGNORE_SHA for skipping dependency hash check
- make dependency URL variables non-cached (#23577)
- make genappimage.sh work with existing CMAKE_INSTALL_PREFIX
- make lpeg an imported library
- make the vimdoc generation depend on the nvim target (#25876)
- move luarocks and rocks installation to main build
- remove BUSTED_PRG dead code (#23340)
- remove LOG_DEBUG option
- remove LOG_LIST_ACTIONS option and related code
- remove PVS
- remove USE_BUNDLED_BUSTED option
- remove clint checks and style text covered by uncrustify
- remove config-specific find_package search for libuv
- remove duplicate include directories in --version output
- remove functionaltest-lua target
- remove git requirement
- remove luarocks
- remove uninstall target
- reorder compiler option setting
- reorganize cmake files
- revert accidental permission changes (#23319)
- rework --version generation
- rework IWYU mapping files
- rework formatting to use add_glob_target
- set char to always be signed
- set deps default build type to Release (#27495)
- silence new clang-tidy warnings
- stop installing parser.h from treesitter
- suppress bugprone-reserved-identifier warnings
- sync IWYU and clint to ignore the same headers (#26228)
- update builtin terminfo (#27272)
- update libtermkey commit
- update uncrustify to 0.76
- use -O3 optimization for release builds
- use
GIT_REPOSITORY
for local URLs - use built nvim artifact to generate eval files (#25875)
- use neovim/libtermkey instead of neovim/deps for libtermkey
- use neovim/libvterm instead of neovim/deps for libvterm
- use stylua with add_glob_target
- various build improvements
- various cmake fixes
- various cmake fixes
- various cmake fixes
- various fixes
- various fixes
- various improvements
- vendor libtermkey
- IWYU: export generated headers
- IWYU: fix headers for arabic.h
- IWYU: fix includes for func_attr.h
- IWYU: fix includes for undo_defs.h
- IWYU: map everything in the C99 specification
- IWYU: remove arabic_defs.h (#26235)
- IWYU: replace most private mappings with pragmas (#26247)
- IWYU: replace public-to-public mappings with pragmas (#26237)
- Makefile: add nvim to oldtest phony target
- PVS: exclude build directory
- ci: ensure correct headers are used on macOS
- clint: don't allow INIT() in non-header files (#27407)
- clint: fix deprecation and linter warnings
- clint: more precise check for "defs" headers (#26236)
- deps: bump LibUV to HEAD (#22833)
- deps: bump LuaJIT to HEAD - 1c2791270 (#23140)
- deps: bump LuaJIT to HEAD - 224129a8e (#23405)
- deps: bump libiconv to 1.17
- deps: bump libmpack-lua to 1.0.11
- deps: bump libuv to HEAD - 30fc896cc (#23636)
- deps: bump libuv to v1.45.0 (#23684)
- deps: bump libuv to v1.46.0 (#24218)
- deps: bump libuv to v1.47.0
- deps: bump libuv to v1.48.0
- deps: bump libvterm to 0.3.3 (#24547)
- deps: bump lua-compat-5.3 to v0.13
- deps: bump luajit to HEAD - 03c31124c
- deps: bump luajit to HEAD - 07b3cd3cf
- deps: bump luajit to HEAD - 0afa1676b
- deps: bump luajit to HEAD - 0d313b243
- deps: bump luajit to HEAD - 113a168b7
- deps: bump luajit to HEAD - 343ce0eda
- deps: bump luajit to HEAD - 3ca0a8071
- deps: bump luajit to HEAD - 41fb94def
- deps: bump luajit to HEAD - 43d0a1915
- deps: bump luajit to HEAD - 51fb2f2c3 (#23886)
- deps: bump luajit to HEAD - 5a18d4582
- deps: bump luajit to HEAD - 656ecbcf8
- deps: bump luajit to HEAD - 69bbbf773
- deps: bump luajit to HEAD - 72efc42ef
- deps: bump luajit to HEAD - 75e927779
- deps: bump luajit to HEAD - 7a77a3cd8
- deps: bump luajit to HEAD - 83954100d
- deps: bump luajit to HEAD - 8635cbabf (#24301)
- deps: bump luajit to HEAD - 8af63f992
- deps: bump luajit to HEAD - 97c75843c
- deps: bump luajit to HEAD - 9cc2e42b1
- deps: bump luajit to HEAD - b94fbfbee
- deps: bump luajit to HEAD - becf5cc65
- deps: bump luajit to HEAD - c525bcb90
- deps: bump luajit to HEAD - d06beb048
- deps: bump luajit to HEAD - d1a2fef8a
- deps: bump luajit to HEAD - e826d0c10
- deps: bump luajit to HEAD - e897c5743
- deps: bump luajit to HEAD - f2336c48f
- deps: bump luajit to HEAD - ff204d035
- deps: bump luv to 1.45.0-0 (#24228)
- deps: bump luv to 1.47.0-0
- deps: bump luv to 1.48.0-1
- deps: bump luv to HEAD - c1497c0ff
- deps: bump luv to HEAD dcd1a1c
- deps: bump luv to v1.48.0-0
- deps: bump msgpack-c to v6.0.1
- deps: bump tree-sitter to HEAD
- deps: bump tree-sitter to HEAD - 0a1c4d846 (#24607)
- deps: bump tree-sitter to HEAD - 321a65262 (#23261)
- deps: bump tree-sitter to HEAD - 3f44b8968 (#24447)
- deps: bump tree-sitter to HEAD - 46af27796
- deps: bump tree-sitter to HEAD - 660481dbf
- deps: bump tree-sitter to HEAD - 91e4d9401 (#23616)
- deps: bump tree-sitter to HEAD - ab09ae20d
- deps: bump tree-sitter to HEAD - af92bfc02 (#23151)
- deps: bump tree-sitter to v0.20.9
- deps: bump tree-sitter to v0.21.0
- deps: bump tree-sitter to v0.22.2
- deps: bump tree-sitter to v0.22.4
- deps: bump tree-sitter to v0.22.5
- deps: bump tree-sitter-bash to v0.20.4
- deps: bump tree-sitter-bash to v0.20.5
- deps: bump tree-sitter-c to v0.2.7
- deps: bump tree-sitter-c to v0.20.4 (#24495)
- deps: bump tree-sitter-c to v0.20.5
- deps: bump tree-sitter-c to v0.20.6
- deps: bump tree-sitter-c to v0.20.8
- deps: bump tree-sitter-lua to v0.0.19
- deps: bump tree-sitter-markdown to v0.1.7
- deps: bump tree-sitter-python to v0.20.3 (#24446)
- deps: bump tree-sitter-python to v0.20.4
- deps: bump tree-sitter-vimdoc to v2.1.0
- deps: bump treesitter-vimdoc to v2.2.0
- deps: bump vimdoc parser to v2.5.1
- deps: include Find module
- deps: point dependencies to specific commit
- deps: tree-sitter-vimdoc v2.0.1
- deps: update lua parser and queries
- docs: separate lint job to validate vimdoc #27227
- iwyu: add a few more _defs.h mappings (#25435)
- lint: remove unnecessary clint.py rules
- lint: use stylua without add_glob_target
- lua: vendor coxpcall
- luarc.json: disable luadoc-miss-see-name #24108
- makefile: remove a phony target uninstall (#24349)
- nix: fix markdown parser #24225
- nix: update flake to prevent build errors #28394
- nix: update flake.lock
- nix: update flake.lock
- nix: update flake.lock (#26702)
- nix: upgrade nixpkgs to resolve link error (#23101)
- nix: use the correct versions of the bundled treesitter parsers
- release.sh: regenerate docs after changing NVIM_API_PRERELEASE (#28229)
- scripts: allow a git ref for lsp_types #24377
- snap: remove obsolete snapcraft.yaml
- terminfo: include user capabilities in comments (#28066)
- uninstall: don't build if installation manifest not found
- vim-patch.sh: dereference annotated tags when listing (#25042)
- vim-patch.sh: don't add vim/vim to issue of another repo (#27493)
- vim-patch.sh: don't use control chars in command (#25044)
- vim-patch.sh: group co-authors together (#24686)
- vim-patch.sh: ignore test_behave.vim (#23062)
- vim-patch.sh: rename locale.c to os/lang.c (#24687)
- vim-patch.sh: use bundled uncrustify (#23770)
- vim-patch.sh: use older associative array syntax
- vim-patch.sh: use sed -E for portable regexp (#24734)
- windows: set longPathAware in manifest #28389
- 0049a495c8d4 (#27817)
- 00ae5c5cba7b
- 00b470052b71
- 02774f99cebc
- 02902b547bdb (#25406)
- 0378f07fbaee
- 0382f05dbd65
- 0401933a5be3
- 046a0f75d025
- 04e1aaa94e3b (#28570)
- 04e5363b8238 (#28268)
- 0549c503ba20
- 0630080bbd3e (#26704)
- 066103307534
- 077ade4f6703 (#24629)
- 08d2401fbc6d
- 0b8b145bf8bf
- 0cc6108fea21
- 0e958410046a
- 0f61943eb776
- 100a665634a0
- 103f1dfb7df3
- 10b4f75d4c03 (#26846)
- 10e8ff9b2607 (#23977)
- 10f23e10a9f0
- 118f8e9da39e
- 122d06858568
- 159dc0fcf950
- 1610528cc305
- 1624970d321c (#27582)
- 1633de8c35fd
- 1688938dd5ac
- 17dca3cb97cd (#26584)
- 1858e2b22ad1
- 18ab6c3392ef
- 18d730d7b572
- 19968fc4ec2c
- 1b08d2cd0789 (#25993)
- 1b884a005398
- 1bdc9435c1a1
- 1c97b5c0c0b4
- 1da0e8581671
- 1e33cd72b60a
- 20a94f44b3cd (#25946)
- 20b33b56ad5d
- 20d61e1b94e5
- 20f48d5b2ddb
- 2103a56eab5a (#26411)
- 21064ebcd609
- 211211052d04 (#27048)
- 21aaff3faa82
- 21ce159e0561
- 2357765304e4
- 244f01658f9c
- 26b0176a98f8
- 2708c0b5854f
- 27a4632af675
- 27e12c7669e3
- 27f17a6d3493
- 282a94be990f
- 2a281ccca017
- 2ac708b54866
- 2ae7ffe0bc3c
- 2b89afd5eb63
- 2bbd0d30eebd (#25637)
- 2c133f6c1a16
- 2c51e15b66a4 (#27637)
- 2dd613f57bf1 (#26009)
- 2dfc22908e43 (#25485)
- 2e9b9e9a9ebf
- 2eb413f89b97 (#24627)
- 2f25e40b1f54
- 2f339aad6c80
- 2f54c13292af
- 309ded19543c
- 30c762d99ac8
- 315cd1fbcbba
- 3170342af304
- 323dda1484d9 (#26583)
- 346ac1429c5a (#25239)
- 347459423903
- 34d15155fc45
- 35e6f4ca27c8 (#27973)
- 36e2c0f29332
- 36e667ab837c (#28407)
- 37468879977a
- 374e26aba2e5 (#27617)
- 379df7c1dbb2
- 3a5b3df7764d (#26956)
- 3ac2d3da5fdf
- 3afc9f2556fa
- 3b2c27415d7d
- 3cb2b3776700 (#28283)
- 3d37231437fc
- 3d3a9152fa6d
- 3d46de703cf6
- 3e72bf10a0a2
- 3f32a5f1601a
- 3fc7a7e44abd
- 4052474a1bd2 (#28358)
- 408281e16a36
- 442d1746f4c6
- 44ff25d5243b (#24625)
- 45da32964d6e
- 46d67d22b9ba
- 478668013f06
- 4868f637b84a
- 48ddc6a6f86f
- 4b715bdaf4ca
- 4ba70cab37d2 (#28338)
- 4dbb2669e9ed
- 4e043b1fc7ee
- 4e554d282c50
- 4f174f0de90b
- 50dbe16cd818
- 5277cfaf8afe (#25397)
- 535b9e12d02f
- 5392970921ab
- 54e1f56cf2a5
- 54f70cf0780a
- 556c62165963
- 564166f68184
- 56b7da3c051f
- 56bafd7a6a79
- 589edb340454
- 596a9f29c83a (#26146)
- 596ad66d1ddb (#25102)
- 5994329667a6
- 5a33ce2a661f
- 5a68cdf14915
- 5c3855bcab42
- 5ccdcc482e29
- 5cd86c6cff94 (#27822)
- 5d67aef3060d
- 5e6e4042b1c9
- 5eb9cb53d619
- 5f4cc8ea65e8
- 61887b3d6fd8
- 61e984e212ed (#26484)
- 62145db91b10
- 62b26040eb4b
- 636d32b32730
- 63833bb0217f
- 63c39e4ef749
- 63d68c2c218e
- 650dcfc8d12e
- 65672ae1189e (#26767)
- 6633611f4280
- 675cbfb47f03 (#27806)
- 677cd956810e
- 67abf1592c83
- 67c951df4c95
- 6863084d3bd0
- 690963924956
- 691aee8b0705
- 69866449ddb2
- 6a500661a9cb
- 6ce07edd600e (#28275)
- 6d626c41842e
- 6d91227267a5
- 6e5a6c9965f6
- 6e93689bde73
- 6ebe4f970b8b
- 6f438199c92b
- 7159ac7fec28 (#24624)
- 715a8058895f
- 71b6d3397649
- 71badf9547e8 (#23285)
- 71cbe8e17a8c
- 71d0ba07a33a
- 72904d5fda0a
- 733bbcde776e
- 757714c0cba7
- 760f664213de
- 7687238e1b0d
- 76d62985c1ff (#27985)
- 772f8f542513
- 78c189837ae6 (#27920)
- 790f9a890cee
- 79230f027a25
- 79952b9c6774
- 7b7cda67a124
- 7c5aeaffa2be (#27327)
- 7e2741100737
- 7fbbd7fdc6df (#25944)
- 8.0.0571: negative line number when using :z^ in an empty buffer (#24836)
- 8.1.0815: dialog for file changed outside of Vim not tested (#28184)
- 8.1.0822: peeking and flushing output slows down execution (#25629)
- 8.1.0870: Vim doesn't use the new ConPTY support in Windows 10
- 8.1.0970: text properties test fails when 'encoding' is not utf-8 (#26023)
- 8.1.1160: termcodes test would fail in a very big terminal
- 8.1.1165: no test for mouse clicks in the terminal tabpage line
- 8.1.1167: no test for closing tab by click in tabline
- 8.1.1175: no test for dragging a tab and double click for new tab
- 8.1.1176: test for dragging a tab is flaky
- 8.1.1178: when mouse click tests fails value of 'ttytype' is unknown
- 8.1.1179: no test for mouse clicks in the fold column
- 8.1.1181: tests for mouse clicks are a bit flaky
- 8.1.1216: mouse middle click is not tested
- 8.1.1223: middle mouse click test fails without a clipboard
- 8.1.1244: no tests for CTRL-mouse-click
- 8.1.1247: urxvt mouse codes are not tested
- 8.1.1248: no test for dec mouse
- 8.1.1521: when a popup window is closed the buffer remains (#26024)
- 8.1.1581: shared functions for testing are disorganised
- 8.1.1583: set_ref_in_list() only sets ref in items (#26418)
- 8.1.1968: crash when using nested map() (#27029)
- 8.1.2044: no easy way to process postponed work
- 8.1.2046: SafeState may be triggered at the wrong moment
- 8.1.2047: cannot check the current state
- 8.1.2048: not clear why SafeState and SafeStateAgain are not triggered
- 8.1.2053: SafeStateAgain not triggered if callback uses feedkeys()
- 8.1.2062: the mouse code is spread out (#24817)
- 8.1.2066: no tests for state()
- 8.1.2067: no tests for SafeState and SafeStateAgain
- 8.1.2068: test for SafeState and SafeStateAgain may fail
- 8.1.2069: test for SafeStateAgain may still fail
- 8.1.2094: the fileio.c file is too big
- 8.1.2099: state() test fails on some Mac systems
- 8.1.2106: no tests for dragging the mouse beyond the window
- 8.1.2148: no test for right click extending Visual area
- 8.1.2276: MS-Windows: session test leaves files behind
- 8.1.2306: double and triple clicks are not tested
- 8.1.2373: cannot build with +popupwin but without +quickfix
- 8.1.2403: autocmd test fails under valgrind
- 8.2.0066: some corners of vim_snprintf() are not tested (#24718)
- 8.2.0085: dead code in builtin functions (#27281)
- 8.2.0101: crash when passing null object to ":echomsg"
- 8.2.0102: messages test fails in small version
- 8.2.0103: using null object with execute() has strange effects
- 8.2.0104: using channel or job with ":execute" has strange effects
- 8.2.0117: crash when using gettabwinvar() with invalid arguments (#27280)
- 8.2.0186: a couple of tests may fail when features are missing
- 8.2.0195: some tests fail when run in the GUI
- 8.2.0310: autocmd test fails on a slow system
- 8.2.0454: some tests fail when the system is slow
- 8.2.0533: tests using term_wait() can still be flaky
- 8.2.0551: not all code for options is tested
- 8.2.0578: heredoc for interfaces does not support "trim"
- 8.2.0633: crash when using null partial in filter()
- 8.2.0634: crash with null partial and blob
- 8.2.0672: heredoc in scripts does not accept lower case marker
- 8.2.0981: Vim9: cannot compile "[var, var] = list" (#28247)
- 8.2.0987: Vim9: cannot assign to [var; var]
- 8.2.1014: using "name" for a string result is confusing
- 8.2.1047: Vim9: script cannot use line continuation like :def function
- 8.2.1049: Vim9: leaking memory when using continuation line
- 8.2.1062: Vim9: no line break allowed inside "cond ? val1 : val2"
- 8.2.1063: Vim9: no line break allowed before || or &&
- 8.2.1064: Vim9: no line break allowed before comperators
- 8.2.1065: Vim9: no line break allowed inside a list
- 8.2.1068: Vim9: no line break allowed inside a dict
- 8.2.1069: Vim9: fail to check for white space in list
- 8.2.1071: Vim9: no line break allowed inside a lambda
- 8.2.1073: Vim9: no line break allowed in () expression
- 8.2.1074: Vim9: no line break allowed after some operators
- 8.2.1075: Vim9: no line break allowed in :echo expression
- 8.2.1076: Vim9: no line break allowed in :if expression
- 8.2.1079: Vim9: no line break allowed in a while loop
- 8.2.1080: Vim9: no line break allowed in a for loop
- 8.2.1098: Vim9: cannot use line break in :throw argument
- 8.2.1099: Vim9: cannot use line break in :cexpr argument
- 8.2.1100: Vim9: cannot use line break in :execute argument
- 8.2.1103: Coverity reports an unnecessary NULL check
- 8.2.1108: mouse left-right scroll is not supported in terminal window
- 8.2.1110: Vim9: line continuation does not work in function arguments
- 8.2.1111: inconsistent naming of get_list_tv() and eval_dict() (#23086)
- 8.2.1125: Vim9: double quote can be a string or a comment
- 8.2.1161: Vim9: using freed memory
- 8.2.1162: crash when using a lambda
- 8.2.1189: Vim9: line continuation in lambda doesn't always work
- 8.2.1203: unused assignments in expression evaluation
- 8.2.1378: cannot put space between function name and paren
- 8.2.1461: Vim9: string indexes are counted in bytes
- 8.2.1462: Vim9: string slice not supported yet
- 8.2.1463: Vim9: list slice not supported yet
- 8.2.1466: Vim9: cannot index or slice a variable with type "any"
- 8.2.1466: Vim9: cannot index or slice a variable with type "any"
- 8.2.1512: failure after trinary expression fails
- 8.2.1524: no longer get an error for string concatenation with float
- 8.2.1697: inconsistent capitalization of error messages (#23476)
- 8.2.1746: Vim9: cannot use "fina" for "finally" (#23497)
- 8.2.1794: no falsy Coalescing operator
- 8.2.1798: Vim9: trinary operator condition is too permissive
- 8.2.1945: crash when passing NULL function to reduce()
- 8.2.1953: Vim9: extra "unknown" error after other error
- 8.2.1969: Vim9: map() may change the list or dict item type
- 8.2.1971: memory leak when map() fails
- 8.2.1978: making a mapping work in all modes is complicated
- 8.2.2062: does not handle CTRL-V
- 8.2.2075: error for const argument to mapnew()
- 8.2.2094: when an expression fails getting next command may be wrong
- 8.2.2112: running tests may leave some files behind
- 8.2.2138: Vim9: "exit_cb" causes Vim to exit (#23087)
- 8.2.2141: a user command with try/catch may not catch an expression error
- 8.2.2172: Vim9: number of arguments is not always checked (#23142)
- 8.2.2249: termcodes test is flaky when used over ssh
- 8.2.2318: Vim9: string and list index work differently
- 8.2.2332: Vim9: missing :endif not reported when using :windo (#28482)
- 8.2.2344: using inclusive index for slice is not always desired
- 8.2.2356: Vim9: ":put =expr" does not handle a list properly
- 8.2.2459: Coverity reports dead code (#23531)
- 8.2.2533: Vim9: cannot use a range with :unlet
- 8.2.2605: Vim9: string index and slice does not include composing chars
- 8.2.2607: strcharpart() cannot include composing characters
- 8.2.2610: mouse click test fails when using remote connection
- 8.2.2756: Vim9: blob index and slice not implemented yet
- 8.2.2784: Vim9: cannot use =expr in :substitute
- 8.2.2848: crash whn calling partial
- 8.2.2857: Vim9: exception in ISN_INSTR caught at wrong level (#23131)
- 8.2.2858: test fails because of changed error message (#23647)
- 8.2.2908: crash when using a terminal popup window from cmdline window
- 8.2.2910: test for cmdline window and terminal fails on MS-Windows
- 8.2.2948: substitute() accepts a number but not a float expression
- 8.2.2949: tests failing because no error for float to string conversion
- 8.2.2977: crash when using a null function reference
- 8.2.2978: warning for uninitialized variable
- 8.2.2985: Vim9: a compiled function cannot be debugged
- 8.2.2996: Vim9: when debugging cannot inspect local variables
- 8.2.3003: Vim9: closure compiled with wrong compile type
- 8.2.3011: Vim9: cannot get argument values during debugging
- 8.2.3013: Vim: when debugging only first line of command is displayed
- 8.2.3017: Vim9: debugger shows too many lines
- 8.2.3026: Vim9: cannot set breakpoint in compiled function
- 8.2.3027: Vim9: breakpoint in compiled function not always checked
- 8.2.3039: Vim9: breakpoint at a comment line does not work
- 8.2.3064: Vim9: in script cannot set item in uninitialized list (#25605)
- 8.2.3066: Vim9: debugging lambda does not work
- 8.2.3086: Vim9: breakpoint on "for" does not work
- 8.2.3096: temp files remain after running tests
- 8.2.3116: Vim9: crash when debugging a function with line continuation
- 8.2.3135: Vim9: builtin function arguments not checked at compile time
- 8.2.3138: debugger test fails
- 8.2.3139: functions for string manipulation are spread out (#23316)
- 8.2.3191: Vim9: not enough code is tested
- 8.2.3202: Vim9: tests are only executed for legacy script
- 8.2.3216: Vim9: crash when using variable in a loop at script level
- 8.2.3221: Vim9: argument types are not checked at compile time (#23480)
- 8.2.3314: behavior of exists() in a :def function is unpredictable (#23317)
- 8.2.3329: v_lock not set when getting value of environment variable
- 8.2.3332: Vim9: cannot assign to range in list
- 8.2.3333: Vim9: not enough tests run with Vim9
- 8.2.3334: Vim9: not enough tests run with Vim9
- 8.2.3336: behavior of negative index in list change changed
- 8.2.3338: Vim9: no type check when assigning a list range
- 8.2.3395: Vim9: expression breakpoint not checked in :def function
- 8.2.3415: Vim9: not all function argument types are properly checked (#28362)
- 8.2.3439: deleted lines go to wrong yank register
- 8.2.3467: CursorHoldI event interferes with "CTRL-G U" (#25383)
- 8.2.3509: undo file is not synced (#23371)
- 8.2.3517: TextChanged does not trigger after TextChangedI (#25384)
- 8.2.3518: Test_xrestore sometimes fails
- 8.2.3689: ex_let_one() is too long (#23830)
- 8.2.3695: confusing error for missing key (#26420)
- 8.2.3768: timer_info() has the wrong repeat value in a timer callback
- 8.2.3772: timer info test fails on slow machine
- 8.2.3782: Vim9: no error if a function shadows a script variable (#27881)
- 8.2.3783: confusing error for using a variable as a function
- 8.2.3786: test fails because of using Vim9 syntax in legacy function
- 8.2.3818: cannot filter or map characters in a string
- 8.2.3822: leaking memory in map() and filter(), no string in Vim9
- 8.2.3833: error from term_start() not caught by try/catch
- 8.2.3848: cannot use reduce() for a string
- 8.2.3852: Vim9: not enough tests
- 8.2.3853: Vim9: not enough tests
- 8.2.3856: Vim9: not enough tests
- 8.2.3862: crash on exit with EXITFREE and using win_execute()
- 8.2.3867: implementation of some list functions too complicated (#24757)
- 8.2.3887: E1135 is used for two different errors
- 8.2.3908: cannot use a script-local function for 'foldtext'
- 8.2.3915: illegal memory access when completing with invalid bytes (#27491)
- 8.2.3982: some lines of code not covered by tests
- 8.2.3984: debugger test fails
- 8.2.4020: debugger test fails
- 8.2.4055: Vim9: line break in expression causes v:errmsg to be fillec (#23090)
- 8.2.4073: Coverity warns for using NULL pointer
- 8.2.4075: test failures
- 8.2.4078: terminal test for current directory not used on FreeBSD (#25961)
- 8.2.4098: typing "interrupt" at debug prompt may keep exception around (#28161)
- 8.2.4140: maparg() does not indicate the type of script
- 8.2.4173: cannot use an import in 'foldexpr' (#25215)
- 8.2.4179: 'foldtext' is evaluated in the current script context
- 8.2.4180: 'balloonexpr' is evaluated in the current script context
- 8.2.4181: Vim9: cannot use an import in 'diffexpr'
- 8.2.4182: memory leak when evaluating 'diffexpr'
- 8.2.4183: cannot use an import in 'formatexpr'
- 8.2.4184: cannot use an import in 'includeexpr'
- 8.2.4185: cannot use an import in 'indentexpr'
- 8.2.4186: cannot use an import in 'patchexpr'
- 8.2.4193: cannot use an import in 'charconvert'
- 8.2.4197: cannot use an import in the "expr" part of 'spellsuggest'
- 8.2.4208: using setbufvar() may change the window title
- 8.2.4210: window title test fails in some configurations
- 8.2.4211: window title test still fails in some configurations
- 8.2.4212: window title test still fails in some configurations
- 8.2.4299: SafeState autocommand interferes with debugging
- 8.2.4339: CTRL-A does not work properly with the cmdline popup menu
- 8.2.4361: Vim9: some tests fail
- 8.2.4373: expression test fails
- 8.2.4395: some code lines not covered by tests (#28248)
- 8.2.4397: crash when using many composing characters in error message (#23481)
- 8.2.4450: list sort test fails
- 8.2.4451: sort() fails when ignoring case
- 8.2.4455: accepting one and zero for second sort() argument is strange
- 8.2.4476: operator name spelled wrong
- 8.2.4497: wrong color for half of wide character next to pum scrollbar (#25693)
- 8.2.4541: Crash in debugger when a variable is not available
- 8.2.4598: profile completion test sometimes fails (#23208)
- 8.2.4600: Vim9: not enough test coverage for executing :def function (#24001)
- 8.2.4609: :unhide does not check for failing to close a window (#25317)
- 8.2.4611: typos in tests; one lua line not covered by test (#24835)
- 8.2.4685: when a swap file is found for a popup there is no dialog (#26207)
- 8.2.4716: memory allocation failure not tested when defining a function (#23117)
- 8.2.4770: cannot easily mix expression and heredoc
- 8.2.4783: Coverity warns for leaking memory
- 8.2.4809: various things no6 properly tested (#26017)
- 8.2.4820: not simple programmatic way to find a specific mapping
- 8.2.4825: can only get a list of mappings
- 8.2.4840: heredoc expression evaluated even when skipping
- 8.2.4850: mksession mixes up "tabpages" and "curdir" arguments
- 8.2.4861: it is not easy to restore saved mappings
- 8.2.4883: string interpolation only works in heredoc
- 8.2.4890: inconsistent capitalization in error messages
- 8.2.4892: test failures because of changed error messages
- 8.2.4930: interpolated string expression requires escaping
- 8.2.4932: not easy to filter the output of maplist()
- 8.2.4934: string interpolation fails when not evaluating
- 8.2.4944: text properties are wrong after "cc" (#27821)
- 8.2.4950: text properties position wrong after shifting text (#27849)
- 8.2.5019: cannot get the first screen column of a character (#23312)
- 8.2.5077: various warnings from clang on MS-Windows (#27773)
- 8.2.{0695,0725,0734,0753,0818,0819,0822} (#23075)
- 807fff135d52
- 80beeef0c6a4
- 813a538bb3ce
- 817db406bb12
- 81b8bf5b4a33
- 82f19734bfcb
- 83424105cb42 (#28298)
- 83f627ff42a3
- 86cfb39030eb
- 87410ab3f556 (#27696)
- 8750e3cf81f1 (#26163)
- 8967f6c4b9e2 (#24626)
- 89cc03af71d9 (#28168)
- 8a31de6dd275 (#28361)
- 8b2457a38198
- 8e59a7ba8877
- 8ebdbc9e6d80 (#25816)
- 8f566fdb1e34 (#24636)
- 8fad5d58874e
- 9.0.0048: cursor in wrong column with mouse click after concealed text
- 9.0.0064: confusing error when using "q:" in command line window
- 9.0.0077: wrong restored cursor position when switching window in autocmd
- 9.0.0104: going beyond allocated memory when evaluating string constant
- 9.0.0130: cursor position wrong when inserting around virtual text
- 9.0.0137: debugger test may fail when $CWD is very long
- 9.0.0138: not enough characters accepted for 'spellfile'
- 9.0.0143: cursor positioned after virtual text in empty line
- 9.0.0175: spell checking for capital not working with trailing space
- 9.0.0178: cursor position wrong with virtual text before Tab
- 9.0.0179: cursor pos wrong with wrapping virtual text in empty line
- 9.0.0183: extra space after virtual text when 'linebreak' is set
- 9.0.0205: cursor in wrong position when inserting after virtual text
- 9.0.0210: 'list' mode does not work properly with virtual text
- 9.0.0213: using freed memory with error in assert argument
- 9.0.0218: reading before the start of the line
- 9.0.0240: crash when using ":mkspell" with an empty .dic file
- 9.0.0245: mechanism to prevent recursive screen updating is incomplete (#27448)
- 9.0.0249: no test for what 9.0.0234 fixes
- 9.0.0250: slightly inconsistent error messages
- 9.0.0269: getscriptinfo() does not include the version
- 9.0.0303: it is not easy to get information about a script
- 9.0.0313: using common name in tests leads to flaky tests
- 9.0.0335: checks for Dictionary argument often give a vague error (#23309)
- 9.0.0336: tests are flaky because of using a common file name
- 9.0.0359: error message for wrong argument type is not specific
- 9.0.0369: a failing flaky test doesn't mention the time
- 9.0.0370: cleaning up afterwards can make a function messy
- 9.0.0372: MS-Windows: "%T" time format does not appear to work
- 9.0.0379: cleaning up after writefile() is a hassle
- 9.0.0380: deleting files in tests is a hassle
- 9.0.0390: cannot use a partial with :defer
- 9.0.0391: using separate delete() call instead of writefile() 'D' flag
- 9.0.0397: :defer not tested with exceptions and ":qa!"
- 9.0.0398: members of funccall_T are inconsistently named (#23123)
- 9.0.0404: crash when passing invalid arguments to assert_fails()
- 9.0.0406: deferred functions not invoked when partial func exits
- 9.0.0411: only created files can be cleaned up with one call
- 9.0.0415: on MS-Windows some tests are flaky
- 9.0.0419: the :defer command does not check the function arguments
- 9.0.0423: "for" and "while" not recognized after :vim9cmd and :legacy (#24825)
- 9.0.0425: autocmd test is a bit flaky on MS-Windows
- 9.0.0426: failed flaky tests reports only start time
- 9.0.0428: autocmd test uses common file name
- 9.0.0490: using freed memory with cmdwin and BufEnter autocmd
- 9.0.0492: cmdwin test fails on MS-Windows
- 9.0.0514: terminal test sometimes hangs
- 9.0.0525: manually deleting temp test files
- 9.0.0543: insufficient testing for assert and test functions
- 9.0.0545: when a test is slow and CI times out there is no time info
- 9.0.0548: reduce() with a compiled lambda could be faster
- 9.0.0560: elapsed time since testing started is not visible
- 9.0.0561: when a test gets stuck it just hangs forever
- 9.0.0579: using freed memory when 'tagfunc' wipes out buffer (#24838)
- 9.0.0581: adding a character for incsearch fails at end of line
- 9.0.0590: after exiting Insert mode spelling not checked in next line
- 9.0.0598: using negative array index with negative width window
- 9.0.0601: too much indent (#23472)
- 9.0.0607: verbose echo message test fails on Mac OS
- 9.0.0608: with spelling, deleting a full stop does not update next line
- 9.0.0609: blockedit test fails because of wrong indent
- 9.0.0612: blockedit test passes with wrong result
- 9.0.0621: filetype test leaves file behind (#23125)
- 9.0.0640: cannot scroll by screen line if a line wraps
- 9.0.0642: breakindent test fails
- 9.0.0643: smoothscroll test fails
- 9.0.0644: 'smoothscroll' is not copied to a new window on :split
- 9.0.0645: CTRL-Y does not stop at line 1
- 9.0.0646: with 'smoothscroll' CTRL-E is wrong when 'foldmethod' set
- 9.0.0649: no indication the first line is broken for 'smoothscroll'
- 9.0.0650: some tests are failing
- 9.0.0652: 'smoothscroll' not tested with 'number' and "n" in 'cpo'
- 9.0.0654: breakindent test fails
- 9.0.0662: concealed characters do not work correctly (#23454)
- 9.0.0664: bad redrawing with spell checking, using "C" and "$" in 'cpo'
- 9.0.0671: negative topline using CTRL-Y with 'smoothscroll' and 'diff'
- 9.0.0672: line partly shows with 'smoothscroll' and 'scrolloff' zero
- 9.0.0673: first line wong with 'smoothscroll' and 'scrolloff' zero
- 9.0.0677: breakindent test accepts wrong result
- 9.0.0679: tests failing with 'smoothscroll', 'number' and "n" in 'cpo'
- 9.0.0680: tests failing with 'breakindent', 'number' and "n" in 'cpo'
- 9.0.0681: "<<<" shows for 'smoothscroll' even when 'showbreak is set
- 9.0.0701: with 'smoothscroll' cursor position not adjusted in long line
- 9.0.0707: with 'smoothscroll' cursor position not adjusted in long line
- 9.0.0716: with 'nowrap' virtual text "after" does not scroll left
- 9.0.0734: cursor position invalid when scrolling with 'smoothscroll'
- 9.0.0735: breakindent and scrolloff tests fail
- 9.0.0745: wrong cursor position when using "gj" and "gk" in a long line
- 9.0.0746: breakindent test cases are commented out
- 9.0.0751: 'scrolloff' does not work well with 'smoothscroll'
- 9.0.0757: line number not visisble with 'smoothscroll', 'nu' and 'rnu'
- 9.0.0758: "precedes" from 'listchars' overwritten by <<<
- 9.0.0760: display test for 'listchars' "precedes" fails
- 9.0.0783: ":!" doesn't do anything but does update the previous command
- 9.0.0785: memory leak with empty shell command
- 9.0.0807: with 'smoothscroll' typing "0" may not go to the first column
- 9.0.0815
- 9.0.0817
- 9.0.0820: memory leak with empty shell command
- 9.0.0825: cannot drag an entry in the tabpage line
- 9.0.0837: append() reports failure when not appending anything
- 9.0.0846: using assert_fails() may cause hit-enter prompt
- 9.0.0854: no proper test for what 9.0.0846 fixes
- 9.0.0864: crash when using "!!" without a previous shell command
- 9.0.0875: using freed memory when executing delfunc at more prompt (#23314)
- 9.0.0886: horizontal mouse scroll only works in the GUI
- 9.0.0892: may redraw when not needed
- 9.0.0893: 'smoothscroll' cursor calculations wrong when 'number' is set
- 9.0.0898: with 'smoothscroll' cursor is one screen line too far down
- 9.0.0900: cursor moves too far with 'smoothscroll'
- 9.0.0901: setting w_leftcol and handling side effects is confusing
- 9.0.0902: some mouse scroll code is not in a good place
- 9.0.0904: various comment and indent flaws (#23498)
- 9.0.0906: mouse scroll code is not optimal
- 9.0.0908: with 'smoothscroll' cursor may end up in wrong position
- 9.0.0911: with 'smoothscroll' set mouse click position may be wrong
- 9.0.0944: 'cursorline' causes virtual text highlight to continue
- 9.0.0947: invalid memory access in substitute with function (#23126)
- 9.0.0998: "gk" may reset skipcol when not needed
- 9.0.1000: with 'smoothscroll' skipcol may be reset unnecessarily
- 9.0.1007: there is no way to get a list of swap file names
- 9.0.1008: test for swapfilelist() fails on MS-Windows
- 9.0.1009: test for catch after interrupt is flaky on MS-Windows
- 9.0.1010: stray warnings for existing swap files
- 9.0.1012: tests may get stuck in buffer with swap file
- 9.0.1020: tests call GetSwapFileList() before it is defined
- 9.0.1021: test trips over g:name
- 9.0.1028: mouse shape test is flaky, especially on Mac OS (#23455)
- 9.0.1034: reporting swap file when windows are split
- 9.0.1064: code for making 'shortmess' temporarily empty is repeated
- 9.0.1067: in diff mode virtual text is highlighted incorrectly
- 9.0.1084: code handling low level MS-Windows events cannot be tested
- 9.0.1105: code is indented too much (#27314)
- 9.0.1121: cursor positioning and display problems with 'smoothscroll'
- 9.0.1141: 'cursorcolumn' and 'colorcolumn' wrong after concealing
- 9.0.1143: invalid memory access with bad 'statusline' value (#23133)
- 9.0.1145: invalid memory access with recursive substitute expression (#23132)
- 9.0.1247: divide by zero with 'smoothscroll' set and a narrow window
- 9.0.1293: the set_num_option() is too long
- 9.0.1294: the set_bool_option() function is too long
- 9.0.1308: the code for setting options is too complicated
- 9.0.1311: Coverity warns for using a NULL pointer
- 9.0.1330: handling new value of an option has a long "else if" chain
- 9.0.1335: no test for bad use of spaces in help files (#24483)
- 9.0.1336: functions without arguments are not always declared properly
- 9.0.1345: too many "else if" statements for handling options
- 9.0.1353: too many "else if" statements to handle option values
- 9.0.1359: too many "else if" statements in handling options
- 9.0.1366: functions for setting options are in random order (#25440)
- 9.0.1367: divide by zero in zero-width window
- 9.0.1369: still some "else if" constructs for setting options
- 9.0.1372: test for 'toolbariconsize' may fail
- 9.0.1374: function for setting options not used consistently
- 9.0.1400: find_file_in_path() is not reentrant (#23146)
- 9.0.1416: crash when collection is modified when using filter()
- 9.0.1431: getscriptinfo() loops even when specific SID is given
- 9.0.1435: scrolling too many lines when 'wrap' and 'diff' are set
- 9.0.1437: test fails with different error number (#27074)
- 9.0.1442: mapset() does not restore non-script context (#22942)
- 9.0.1443: ending Insert mode when accessing a hidden prompt buffer (#22984)
- 9.0.1444: crash when passing NULL to setcmdline() (#23048)
- 9.0.1446: unnecessary checks for the "skip" flag when skipping
- 9.0.1447: condition is always true
- 9.0.1449: test for prompt buffer is flaky (#23076)
- 9.0.1451: unnecessary redrawing when 'showcmdloc' is not "last"
- 9.0.1452: code using EVAL_CONSTANT is dead, it is never set
- 9.0.1455: C++ 20 modules are not recognized (#23124)
- 9.0.1456: shortmess test depends on order of test execution
- 9.0.1460: insufficient testing for getcmdcompltype() (#23159)
- 9.0.1461: ruler not drawn correctly when using 'rulerformat'
- 9.0.1462: recursively calling :defer function if it does :qa
- 9.0.1464: strace filetype detection is expensive (#23175)
- 9.0.1467: Jenkinsfiles are not recognized as groovy (#23195)
- 9.0.1468: recursively calling :defer function if it does :qa
- 9.0.1469: deferred functions not called from autocommands
- 9.0.1470: deferred functions invoked in unexpected order (#23199)
- 9.0.1472: ":drop fname" may change the last used tab page (#23230)
- 9.0.1475: busted configuration files are not recognized (#23266)
- 9.0.1476: lines put in non-current window are not displayed (#23265)
- 9.0.1477: crash when recovering from corrupted swap file (#23273)
- 9.0.1478: filetypes for *.v files not detected properly (#23282)
- 9.0.1479: small source file problems; outdated list of distrib. files (#23272)
- 9.0.1485: no functions for converting from/to UTF-16 index (#23318)
- 9.0.1490: the ModeChanged event may be triggered too often
- 9.0.1491: wrong scrolling with ls=0 and :botright split (#23333)
- 9.0.1492: using uninitialized memory when argument is missing (#23351)
- 9.0.1493: popup menu position wrong in window with toolbar
- 9.0.1494: crash when recovering from corrupted swap file (#23358)
- 9.0.1497: the ruler percentage can't be localized (#23389)
- 9.0.1499: using uninitialized memory with fuzzy matching (#23399)
- 9.0.1500: The falsy operator is not tested properly (#23407)
- 9.0.1502: no test for deleting the end of a long wrapped line
- 9.0.1503: Luau files are not recognized (#23412)
- 9.0.1505: error when heredoc content looks like heredoc (#23446)
- 9.0.1506: line number not displayed when using 'smoothscroll' (#23453)
- 9.0.1507: assert message is confusing with boolean result
- 9.0.1508: catch does not work when lines are joined with a newline
- 9.0.1511: crash when using wrong arg types to assert_match() (#23507)
- 9.0.1512: inserting lines when scrolling with 'smoothscroll' set
- 9.0.1513: text scrolls unnecessarily when splitting
- 9.0.1514: test waits unnecessarily long before checking screendump (#23516)
- 9.0.1515: reverse() does not work for a String
- 9.0.1516: cannot use special keys in mapping
- 9.0.1518: search stats not always visible when searching backwards (#23517)
- 9.0.1520: completion for option name includes all bool options (#23518)
- 9.0.1521: failing redo of command with control characters
- 9.0.1522: some functions give two error messages
- 9.0.1523: some error messages are not marked for translation (#23529)
- 9.0.1524: passing -1 for bool is not always rejected
- 9.0.1525: 'smoothscroll' does not always work properly (#23544)
- 9.0.1526: condition is always true (#23541)
- 9.0.1530: cursor moves to wrong line when 'foldmethod' is "diff"
- 9.0.1532: crash when expanding "~" in substitute causes very long text
- 9.0.1533: test for 'smoothscroll' is ineffective
- 9.0.1534: test for expanding "~" in substitute takes too long
- 9.0.1535: test commented out in a wrong way
- 9.0.1538: :wqall does not trigger ExitPre (#23574)
- 9.0.1539: typst filetype is not recognized (#23578)
- 9.0.1540: reverse() on string doesn't work in compiled function
- 9.0.1542: line not fully displayed if it doesn't fit in the screen
- 9.0.1543: display errors when making topline shorter
- 9.0.1545: text not scrolled when cursor moved with "g0" and "h" (#23599)
- 9.0.1546: some commands for opening a file don't use 'switchbuf' (#23600)
- 9.0.1549: USD filetype is not recognized (#23608)
- 9.0.1551: position of marker for 'smoothscroll' not computed correctly (#23617)
- 9.0.1554: code for handling 'switchbuf' is repeated (#23632)
- 9.0.1555: setcharsearch() does not clear last searched char properly (#23631)
- 9.0.1561: display wrong when moving cursor to above the top line (#23644)
- 9.0.1564: display moves up and down with 'incsearch' and 'smoothscroll'
- 9.0.1565: json lines files are not recognized (#23677)
- 9.0.1568: with 'smoothscroll' cursor may move below botline
- 9.0.1575: "file N of M" message is not translated (#23737)
- 9.0.1578: SpellCap highlight not always updated when needed (#23755)
- 9.0.1580: CI: indent test hangs on FreeBSD (#23768)
- 9.0.1582: :stopinsert may not work in a popup close handler (#23785)
- 9.0.1583: get E304 when using 'cryptmethod' "xchacha20v2" (#23790)
- 9.0.1584: not all meson files are recognized (#23797)
- 9.0.1585: weird use of static variables for spell checking
- 9.0.1586: error for using two messages with ngettext() differing in "%" (#23816)
- 9.0.1587: Corn config files are not recognized (#23807)
- 9.0.1588: Incsearch not triggered when pasting clipboard register (#23817)
- 9.0.1591: some "gomod" files are not recognized (#23820)
- 9.0.1595: line pointer becomes invalid when using spell checking
- 9.0.1596: :registers command does not work in sandbox (#23866)
- 9.0.1597: cursor ends up below the window after a put (#23873)
- 9.0.1598: screenchar() and others are wrong with DBCS 'encoding' (#23872)
- 9.0.1599: Cursor not adjusted when 'splitkeep' is not "cursor" (#23884)
- 9.0.1600: screenpos() does not take w_skipcol into account
- 9.0.1601: filetype detection fails for *.conf file without comments (#23896)
- 9.0.1602: stray character visible if marker on top of double-wide char (#23897)
- 9.0.1603: display wrong if scrolling multiple lines with 'smoothscroll'
- 9.0.1606: using freed memory when 'foldcolumn' is set (#23906)
- 9.0.1607: screenpos() returns wrong row with diff filler lines
- 9.0.1608: update_topline() is called twice (#23920)
- 9.0.1610: display is wrong when 'smoothscroll' is set
- 9.0.1612: "skipcol" not reset when using multi-byte characters (#23928)
- 9.0.1613: some make output gets picked up by 'errorformat' (#23926)
- 9.0.1614: strlen() called too often for :spellrepall (#23940)
- 9.0.1615: URL shortcut files are not recognized (#23950)
- 9.0.1616: quickfix text field is truncated (#23951)
- 9.0.1617: charidx() result is not consistent with byteidx() (#23963)
- 9.0.1618: Trace32 files are not recognized (#23960)
- 9.0.1620: Nix files are not recognized from the hashbang line (#23961)
- 9.0.1621: FILETYPE_FILE is defined to the same value multiple times (#23965)
- 9.0.1622: filetype name t32 is a bit obscure (#23967)
- 9.0.1626: Visual area not shown when using 'showbreak' (#23978)
- 9.0.1629: having utf16idx() rounding up is inconvenient (#24019)
- 9.0.1631: passing wrong variable type to option gives multiple errors (#24026)
- 9.0.1632: not all cabal config files are recognized (#24025)
- 9.0.1633: duplicate code for converting float to string
- 9.0.1634: message is cleared when removing mode message
- 9.0.1635: error message is cleared when removing mode message
- 9.0.1636: expanding a pattern interferes with cmdline completion (#24034)
- 9.0.1637: compiler warning for uninitialized variable (#24042)
- 9.0.1638: crypt tests hang and cause memory errors (#24053)
- 9.0.1643: filetype detection fails if file name ends in many '~' (#28141)
- 9.0.1644: not all filetype file name matches are tested
- 9.0.1645: zserio files are not recognized (#24120)
- 9.0.1659: Termdebug: default highlight cleared if changing colorscheme (#24139)
- 9.0.1661: BUCK files are not recognized (#24142)
- 9.0.1663: Termdebug on MS-Windows: some file names are not recognized (#24145)
- 9.0.1664: divide by zero when scrolling with 'smoothscroll' set
- 9.0.1665: empty CmdlineEnter autocommand causes errors in Ex mode
- 9.0.1667: regression test doesn't fail when fix is reverted
- 9.0.1668: PEM files are not recognized (#24169)
- 9.0.1670: resetting local option to global value is inconsistent (#24185)
- 9.0.1671: Termdebug: error with more than 99 breakpoints (#24194)
- 9.0.1672: tabline highlight wrong after truncated double width label (#24223)
- 9.0.1673: cannot produce a status 418 or 503 message (#24287)
- 9.0.1678: blade files are not recognized (#24601)
- 9.0.1679: Cleanup Tests from leftover files (#24617)
- 9.0.1683: Updated runtime files (#24638)
- 9.0.1686: undotree() only works for the current buffer (#24665)
- 9.0.1687: mapset() not properly handling script ID (#24666)
- 9.0.1688: cannot store custom data in quickfix list (#24673)
- 9.0.1691: wrong viewport restored for incsearch and smoothscroll (#24667)
- 9.0.1693: Ctrl-Q not handled like Ctrl-V in replace mode (#24669)
- 9.0.1694: wrong mapping applied when replaying a char search (#24670)
- 9.0.1697: incsearch test not sufficient (#24683)
- 9.0.1698: Test_map_restore_sid fails in GUI (#24682)
- 9.0.1704: Cannot use positional arguments for printf() (#24719)
- 9.0.1705: cursor position wrong when clicking on an unprintable char
- 9.0.1708: getcompletion() failes for user-defined commands (#24707)
- 9.0.1710: scrolloff options work slightly different
- 9.0.1711: dead code in charset.c (#24706)
- 9.0.1714: getcompletion() "cmdline" fails after :autocmd (#24727)
- 9.0.1715: duplicate test in message_test.c (#24728)
- 9.0.1717: virtcol2col returns last byte of a multi-byte char (#24729)
- 9.0.1718: dict-completion does not respect region (#24733)
- 9.0.1722: wrong error messages when passing wrong types to count()
- 9.0.1723: Fix regression in {func} argument of reduce()
- 9.0.1725: cursor pos wrong after concealed text with 'virtualedit'
- 9.0.1726: incorrect heights in win_size_restore() (#24765)
- 9.0.1728: missing winid argument for virtcol() (#24770)
- 9.0.1729: screenpos() wrong when w_skipcol and cpoptions+=n (#24773)
- 9.0.1730: passing multiple patterns to runtime not working (#24771)
- 9.0.1731: blockwise Visual highlight not working with virtual text (#24779)
- 9.0.1734: :runtime completion fails for multiple args (#24767)
- 9.0.1735: Rename completion specific findex var (#24769)
- 9.0.1742: wrong curswant when clicking on second cell of double-width char (#24789)
- 9.0.1745: Missing test coverage for blockwise Visual highlight (#24790)
- 9.0.1747: screenpos() may cause unnecessary redraw (#24792)
- 9.0.1753: can't move to last non-blank char
- 9.0.1759: Visual highlight not working with cursor at end of screen line (#24806)
- 9.0.1761: g behaves different from g
- 9.0.1763: crash when passing invalid buffer to undotree() (#24807)
- 9.0.1766: Runtime: Missing QML support
- 9.0.1767: '.-' no allowed in highlight group names (#24814)
- 9.0.1768: Runtime: no support for bicep files
- 9.0.1772: Cursor may be adjusted in 'splitkeep'ed windows (#24811)
- 9.0.1773: cannot distinguish Forth and Fortran *.f files (#24841)
- 9.0.1774: no support for custom cmdline completion (#24808)
- 9.0.1779: Need more state() tests (#24840)
- 9.0.1781: Problems when setting bin/paste option
- 9.0.1783: Display issues with virt text smoothscroll and showbreak
- 9.0.1785: wrong cursor position with 'showbreak' and lcs-eol (#24852)
- 9.0.1791: No tests for the termdebug plugin
- 9.0.1792: problem with gj/gk/gM and virtual text (#24898)
- 9.0.1797: Vimball/Visual Basic filetype detection conflict (#24947)
- 9.0.1798: The 'syntax' option has no completion. (#24908)
- 9.0.1800: Cursor position still wrong with 'showbreak' and virtual text
- 9.0.1802: Multiline regex with Visual selection fails with virtual text
- 9.0.1803: runtime(filetype): Add norg language detection (#24948)
- 9.0.1807: runtime: crystal scripts not recognised (#24949)
- 9.0.1808: termdebug: Typo in termdebug test
- 9.0.1809: termdebug test flayk
- 9.0.1810: camel-case spelling has issues with digits (#24909)
- 9.0.1811: still some issues with term_debug test
- 9.0.1813: linebreak incorrect drawn with breakindent (#24917)
- 9.0.1820: Rexx files may not be recognised (#24956)
- 9.0.1825: wrong cursor position with virt text and 'linebreak' (#24957)
- 9.0.1828: cursor wrong with virt text before double-width char (#24967)
- 9.0.1833: [security] runtime file fixes (#24969)
- 9.0.1840: [security] use-after-free in do_ecmd (#24993)
- 9.0.1846: [security] crash in fullcommand
- 9.0.1847: [security] potential oob write in do_addsub()
- 9.0.1848: [security] buffer-overflow in vim_regsub_both() (#25001)
- 9.0.1852: i_CTRL-O does not reset Select Mode (#24990)
- 9.0.1854: test_crash1() fails on CI
- 9.0.1856: issues with formatting positional arguments (#25013)
- 9.0.1857: [security] heap-use-after-free in is_qf_win()
- 9.0.1858: [security] heap use after free in ins_compl_get_exp()
- 9.0.1860: CI: test_crash1() is flaky
- 9.0.1863: wrong format specifiers in e_aptypes_is_null_str_nr (#25015)
- 9.0.1864: still crash with bt_quickfix1_poc
- 9.0.1866: undo is synced after character find (#25021)
- 9.0.1868: test_crash still fails for circle ci
- 9.0.1872: CI: test_crash() fails on CI
- 9.0.1873: [security] heap-buffer-overflow in vim_regsub_both
- 9.0.1874: CI may fail in test_recover_empty_swap
- 9.0.1877: missing test for patch 9.0.1873
- 9.0.1878: tests running sh have problems
- 9.0.1881: Test_crash fails on Mac
- 9.0.1882: Trailing white space in tests
- 9.0.1884: Wrong order of arguments for error messages (#25055)
- 9.0.1891: No runtime support for Mojo
- 9.0.1892: CI: no FreeBSD 14 support (#26604)
- 9.0.1893: CI: strptime test fails on BSD14
- 9.0.1894: CI: trailing whitespace in tests
- 9.0.1907: No support for liquidsoap filetypes
- 9.0.1908: undefined behaviour upper/lower function ptrs (#25238)
- 9.0.1915: r_CTRL-C works differently in visual mode (#25248)
- 9.0.1918
- 9.0.1919: Wrong curswant when clicking on empty line or with vsplits
- 9.0.1921: not possible to use the jumplist like a stack (#25278)
- 9.0.1923: curswant wrong on click with 've' and 'nowrap' set (#25293)
- 9.0.1931: make test_compilers fails on ubuntu
- 9.0.1934: :bwipe fails after switching window from aucmd_win.
- 9.0.1937: missing test for mouse click + 'virtedit' (#25347)
- 9.0.1938: multispace wrong when scrolling horizontally (#25348)
- 9.0.1946: filename expansion using ** in bash may fail
- 9.0.1947: Bash Expansion test fails on Windows/MacOS
- 9.0.1950: Vim9: error codes spread out (#25405)
- 9.0.1956: Custom completion skips orig cmdline if it invokes glob() (#25427)
- 9.0.1958: cannot complete option values
- 9.0.1960: Make CI checks more strict
- 9.0.1961: 'listchars' completion misses "multispace" and "leadmultispace"
- 9.0.1962: No support for writing extended attributes
- 9.0.1963: Configure script may not detect xattr
- 9.0.1964: xattr support fails to build on MacOS X (#25448)
- 9.0.1967: xattr errors not translated (#25454)
- 9.0.1968: cmdline completion should consider key option
- 9.0.1969: [security] buffer-overflow in trunc_string()
- 9.0.1972: win32: missing '**' expansion test (#25476)
- 9.0.1973: Clean up cmdline option completion code (#25477)
- 9.0.1975: xattr: permission-denied errors on write (#25478)
- 9.0.1978: No filetype detection for just files
- 9.0.1981: not being able to scroll up in diff mode (#25506)
- 9.0.1983: scrolling inactive window not possible with cursorbind (#25507)
- 9.0.1990: strange error number
- 9.0.1992: [security] segfault in exmode
- 9.0.1995: Invalid memory access with empty 'foldexpr' (#25530)
- 9.0.1997: Some unused code in move.c and string.c
- 9.0.2008: test: undofile left behind (#25567)
- 9.0.2009: cmdline-completion for comma-separated options wrong (#25569)
- 9.0.2010: [security] use-after-free from buf_contents_changed()
- 9.0.2011: INI files not detected
- 9.0.2017: linebreak applies for leading whitespace
- 9.0.2017: linebreak applies for leading whitespace (#25604)
- 9.0.2018: complete_info() returns wrong index (#25607)
- 9.0.2021: Coverity complains about change in charset (#25634)
- 9.0.2022: getmousepos() returns wrong index for TAB char (#25636)
- 9.0.2024: no filetype detection for Debian sources
- 9.0.2025: no cmdline completion for ++opt args (#25657)
- 9.0.2030: no max callback recursion limit (#25655)
- 9.0.2031: TextChangedI may be triggered by non-insert mode change (#25656)
- 9.0.2032: cannot get mouse click pos for tab or virt text (#25653)
- 9.0.2033: gcc overflow-warning for f_resolve (#25666)
- 9.0.2035: [security] use-after-free with wildmenu (#25687)
- 9.0.2037: A few remaining cmdline completion issues with C-E/Y (#25686)
- 9.0.2039: completion shows current word after completion restart (#25682)
- 9.0.2041: trim(): hard to use default mask (#25692)
- 9.0.2044: Vim9: exceptions confuse defered functions
- 9.0.2045: tests: checking for swap files takes time
- 9.0.2050: Vim9: crash with deferred function call and exception (#25715)
- 9.0.2053: zig filetype detection test wrong
- 9.0.2056: no digraph for quadruple prime
- 9.0.2058: tests: avoid error when no swap files exist (#25735)
- 9.0.2059: outstanding exceptions may be skipped (#25736)
- 9.0.2060: *.{gn,gni} files are not recognized
- 9.0.2061: not able to detect xkb filetypes
- 9.0.2062: Janet files are not recognised
- 9.0.2063: pacman hooks are detected as conf filetype
- 9.0.2064: cannot use buffer-number for errorformat (#25782)
- 9.0.2065: EXPAND flag set for filetype option (#25779)
- 9.0.2068: [security] overflow in :history (#25794)
- 9.0.2070: [security] disallow setting env in restricted mode (#25807)
- 9.0.2071: objdump files not recognized
- 9.0.2074: Completion menu may be wrong
- 9.0.2075: TextChangedI may not always trigger (#25808)
- 9.0.2077: CI fails because of trailing whitespace in test
- 9.0.2079: Not all Dart files detected
- 9.0.2081: smoothscroll may result in wrong cursor position (#25815)
- 9.0.2090: complete_info() skips entries with 'noselect' (#25890)
- 9.0.2092: tests: failure in test_arabic
- 9.0.2095: statusline may look different than expected (#25941)
- 9.0.2097: No support for cypher files
- 9.0.2098: No filetype support for xcompose files (#25983)
- 9.0.2100: CI: test_termdebug fails (#25997)
- 9.0.2101: CI: test_termdebug may still fail (#26003)
- 9.0.2102: matchparen highlight not cleared in completion mode (#26019)
- 9.0.2103: recursive callback may cause issues on some archs (#26013)
- 9.0.2104: wast filetype should be replaced by wat filetype
- 9.0.2105: skipcol not reset when topline changed (#26042)
- 9.0.2106: [security]: Use-after-free in win_close()
- 9.0.2107: [security]: FPE in adjust_plines_for_skipcol (#26082)
- 9.0.2108: [security]: overflow with count for :s command
- 9.0.2109: [security]: overflow in nv_z_get_count
- 9.0.2110: [security]: overflow in ex address parsing
- 9.0.2111: [security]: overflow in get_number
- 9.0.2114: overflow detection not accurate when adding digits (#28271)
- 9.0.2116: No test for defining sign without attribute (#26115)
- 9.0.2117: [security] use-after-free in qf_free_items (#26148)
- 9.0.2121: [security]: use-after-free in ex_substitute
- 9.0.2125: File info disappears when 'cmdheight' has decreased (#26180)
- 9.0.2126: unused assignments when checking 'listchars' (#26182)
- 9.0.2128: runtime(swig): add syntax and filetype plugins
- 9.0.2131: not all nushell files detected (#26260)
- 9.0.2133: Cannot detect overstrike mode in Cmdline mode (#26263)
- 9.0.2134: ml_get error when scrolling (#26264)
- 9.0.2135: No test for mode() when executing Ex commands (#26282)
- 9.0.2136: MSVC errorformat can be improved (#26283)
- 9.0.2137: Can't detect angular & mustache filetypes
- 9.0.2139: html.angular ft is problematic (#26357)
- 9.0.2140: [security]: use-after-free in win-enter
- 9.0.2141: [security]: buffer-overflow in suggest_trie_walk
- 9.0.2142: [security]: stack-buffer-overflow in option callback functions
- 9.0.2143: [security]: buffer-overflow in ex_substitute
- 9.0.2145: wrong scrolling in insert mode with smoothscroll (#26375)
- 9.0.2148: Vim does not detect pacman.log file
- 9.0.2151: 'breakindent' is not drawn after diff filler lines (#26412)
- 9.0.2154: The option[] array is not sorted (#26475)
- 9.0.2159: screenpos() may crash with neg. column (#26542)
- 9.0.2168: Moving tabpages on :drop may cause an endless loop (#26605)
- 9.0.2177: Wrong cursor position when dragging out of window (#26661)
- 9.0.2178: reg_executing() wrong for :normal with range (#26660)
- 9.0.2179: no filetype detection for execline scripts
- 9.0.2180: POSIX function name in exarg causes issues (#28308)
- 9.0.2183: Maximum callback depth is not configurable (#26703)
- 9.0.2187: Visual not drawn with 'breakindent' when line doesn't fit (#26765)
- 9.0.2188: cursor wrong after { in single line buffer (#26766)
- 9.0.2189: Wrong display with 'briopt=sbr' and 'nobreakindent' (#26785)
- 9.1.0001: when closing window, wincmd p may fail
- 9.1.0002: a closing fold expr, may start a new fold (#26876)
- 9.1.0004: reloading colorscheme when not changing 'background' (#26877)
- 9.1.0007: can select empty inner text blocks
- 9.1.0009: Cannot easily get the list of matches (#27028)
- 9.1.0010: Keymap completion is not available (#26888)
- 9.1.0011: regexp cannot match combining chars in collection (#26992)
- 9.1.0012: regression with empty inner blocks introduced
- 9.1.0013: Modula2 filetype support lacking (#27020)
- 9.1.0014: incorrect use of W_WINROW in edit.c (#26910)
- 9.1.0015: i_CTRL-R- no longer works in replace mode
- 9.1.0016: default diff highlighting is too noisy
- 9.1.0021: i_CTRL-R- doesn't work for multibyte chars in Replace mode
- 9.1.0022: Coverity complains about improper use of negative value (#27001)
- 9.1.0025: A few typos in tests and justify.vim
- 9.1.0033: Insert mode not stopped if closing prompt buffer modifies hidden buffer (#27051)
- 9.1.0035: i_CTRL-] triggers InsertCharPre (#27049)
- 9.1.0039: too vague errors for 'listchars'/'fillchars' (#27070)
- 9.1.0040: issue with prompt buffer and hidden buffer (#27071)
- 9.1.0042: Missing test for Chuck Filetype
- 9.1.0043: ml_get: invalid lnum when :s replaces visual selection (#27140)
- 9.1.0046: :drop does not re-use empty buffer (#27165)
- 9.1.0047: issues with temp curwin/buf while cmdwin is open
- 9.1.0048: Abort opening cmdwin if autocmds screw things up
- 9.1.0049: Make "[Command Line]" a special buffer name
- 9.1.0054: 'linebreak' may still apply to leading whitespace
- 9.1.0055: formatting long lines is slow (#27199)
- 9.1.0056: wrong number of trailing spaces inserted after blockwise put
- 9.1.0058: Cannot map Super Keys in GTK UI (#27204)
- 9.1.0060: Recorded register cannot be translated using keytrans() (#27247)
- 9.1.0061: UX of visual highlighting can be improved (#27256)
- 9.1.0065: Segfault with CompleteChanged autocommand (#27261)
- 9.1.0068: Visual highlighting can still be improved
- 9.1.0073: Looping over modifier_keys_table unnecessarily
- 9.1.0074: did_set_breakat() should be in optionstr.c
- 9.1.0075: insert completion not correct when adding new leader (#27332)
- 9.1.0076: luau config file not detected
- 9.1.0077: Unnecessary call to redraw_for_cursorline() in nv_mousescroll() (#27359)
- 9.1.0079: LineNrAbove/Below highlighting wrong on wrapped lines (#27363)
- 9.1.0082: Redrawing can be improved when deleting lines with 'cursorline'
- 9.1.0083: Redrawing can be improved when deleting lines with 'number'
- 9.1.0084: Visual hl wrong when it ends before multibyte 'showbreak' (#27404)
- 9.1.0087: Restoring lastused_tabpage too early in do_arg_all() (#27411)
- 9.1.0088: TextChanged not triggered for :norm! commands (#27405)
- 9.1.0089: qsort() comparison functions should be transitive
- 9.1.0093: Still a qsort() comparison function that returns result of subtraction
- 9.1.0097: 'breakindent' behaves inconsistently with 'list' and splits (#27432)
- 9.1.0098: CompleteChanged not triggered when new leader added without matches (#27436)
- 9.1.0101: upper-case of German sharp s should be U+1E9E (#27449)
- 9.1.0102: settabvar() may change the last accessed tabpage (#27450)
- 9.1.0103: 'breakindentopt' "min" not correct with 'signcolumn' (#27451)
- 9.1.0105: Style: typos found (#27462)
- 9.1.0106: Visual highlight hard to read with 'termguicolors'
- 9.1.0108: filetype: no support for dtso files
- 9.1.0109: filetype: no support for its files
- 9.1.0110: filetype: add 'Config.in' filetype detection
- 9.1.0111: filetype: no support for bats files
- 9.1.0112: Remove undo information, when cleaning quickfix buffer
- 9.1.0113: duplicate code when cleaning undo stack
- 9.1.0114: Setting some options may change curswant (#27514)
- 9.1.0115: Using freed memory with full tag stack and user data (#27525)
- 9.1.0116: win_split_ins may not check available room
- 9.1.0118: Use different restoration strategy in win_splitmove
- 9.1.0119: can move away from cmdwin using win_splitmove()
- 9.1.0120: hard to get visual region using Vim script
- 9.1.0121: Infinite loop or signed overflow with 'smoothscroll'
- 9.1.0126: Internal error when using upper-case mark in getregion()
- 9.1.0127: Naming a non-pointer variable "oap" is strange
- 9.1.0128: win_gotoid() may abort even when not switching a window
- 9.1.0129: Fix truncation of text_wrap 'wrap' virt text after EOL list char (#27600)
- 9.1.0130: [security]: UAF if win_split_ins autocommands delete "wp"
- 9.1.0131: buffer-completion may not always find all matches (#27610)
- 9.1.0132: "C" doesn't include composing chars with 'virtualedit' (#27605)
- 9.1.0135: Insufficient testing for 'delcombine' (#27616)
- 9.1.0137:
in cmdline mode doesn't delete composing chars (#27636) - 9.1.0138: too many STRLEN calls when getting a memline (#27799)
- 9.1.0140: cursor on wrong row after 1 char 'below' virtual text when EOL is shown (#27651)
- 9.1.0141: Put in Visual mode wrong if it replaces fold marker (#27661)
- 9.1.0142: getregion() can be improved (#27662)
- 9.1.0143: [security]: autocmd causes use-after-free in set_curbuf() (#27664)
- 9.1.0144: getregion() needs more tests (#27681)
- 9.1.0145: v:echospace not correct when 'showcmdloc' != last (#27682)
- 9.1.0146: v:echospace wrong with invalid value of 'showcmdloc' (#27697)
- 9.1.0147: Cannot keep a buffer focused in a window
- 9.1.0149: null pointer member access when accessing 'winfixbuf' property
- 9.1.0150: Several minor 'winfixbuf' issues
- 9.1.0152: Coverity complains about ignoring return value
- 9.1.0154: shm=F not respected when reloading buffer with 'autoread'
- 9.1.0155: can only get getregion() from current buffer (#27757)
- 9.1.0156: Make 'wfb' failing to split still report E1513
- 9.1.0157: Duplicate assignment in f_getregion() (#27766)
- 9.1.0158: 'shortmess' "F" flag doesn't work properly with 'autoread'
- 9.1.0159: Crash in WinClosed after BufUnload closes other windows (#27792)
- 9.1.0161: expand() removes slash after env variable that ends with colon (#27791)
- 9.1.0162: problem with writing extended attributes on failure (#27800)
- 9.1.0164: Internal error when passing invalid position to getregion() (#27805)
- 9.1.0166: Internal error with blockwise getregion() in another buffer (#27819)
- 9.1.0167: Changing buffer in another window causes it to show matchparen (#27820)
- 9.1.0168: too many STRLEN() calls (#27823)
- 9.1.0169: current window number returned by tabpagewinnr may be outdated
- 9.1.0170: Re-allow curwin == prevwin, but document it instead
- 9.1.0171: Small split-move related improvements
- 9.1.0172: More code can use ml_get_buf_len() instead of STRLEN()
- 9.1.0174: 'cursorline' and 'wincolor' hl missing with conceal and wrap
- 9.1.0175: wrong window positions with 'winfix{width,height}' (#27845)
- 9.1.0176: Cursor column wrong with 'virtualedit' and conceal
- 9.1.0177: Coverity reports dead code
- 9.1.0178: E1513 might be confusing (#27846)
- 9.1.0180: Cursor pos wrong when double-width chars are concealed (#27862)
- 9.1.0181: no overflow check for string formatting (#27863)
- 9.1.0182: Can define function with invalid name inside 'formatexpr' (#27883)
- 9.1.0183: Wrong display or screenpos() result when toggling diff mode (#27882)
- 9.1.0184: Cursor pos wrong when clicking with conceal and wrap (#27890)
- 9.1.0186: cursor pos wrong on mouse click after eol with 'rl', 've' and conceal (#27903)
- 9.1.0187: filetype: no support for Dafny files (#27918)
- 9.1.0188: filetype: no support for Vento files (#27935)
- 9.1.0190: complete_info() returns wrong order of items (#27955)
- 9.1.0192: drop: don't rewind when editing the same file
- 9.1.0194: gcc complains about uninitialized var (#27970)
- 9.1.0195: memleak with ex_drop, NULL dereference
- 9.1.0196: filetype: support for gnuplot files is lacking (#27972)
- 9.1.0199: Not enough tests for the slice() function (#27991)
- 9.1.0204: Backspace inserts spaces with virtual text and 'smarttab' (#28032)
- 9.1.0205: Cannot use modifiers before :-Ntabmove (#28031)
- 9.1.0207: No autocommand when writing session file (#28048)
- 9.1.0208: winfixbuf does not allow to re-edit current buffer (#28054)
- 9.1.0211: page-wise scrolling does not support smooth-scrolling
- 9.1.0212: CI: MS-Windows fails in test_winfixbuf (#28056)
- 9.1.0213: CI: MS-Windows fails in test_winfixbuf (#28071)
- 9.1.0214: Duplicate condition in win_lbr_chartabsize() (#28072)
- 9.1.0215: Half-page scrolling does not support smooth-scrolling
- 9.1.0216: Error on exit with EXITFREE and 'winfixbuf' (#28070)
- 9.1.0217: regexp: verymagic cannot match before/after a mark (#28074)
- 9.1.0218: Unnecessary multiplications in backspace code (#28075)
- 9.1.0220: Few typos in source and test files (#28076)
- 9.1.0227: Recording may still be wrong in Select mode (#28092)
- 9.1.0228: Two unrelated things are tested by a single test (#28093)
- 9.1.0230: TextChanged autocommand not triggered under some circumstances (#28135)
- 9.1.0231: Filetype may be undetected when SwapExists sets ft in other buf (#28136)
- 9.1.0232: Conceal test fails when rightleft feature is disabled (#28134)
- 9.1.0234: filetype: support for Intel HEX files is lacking
- 9.1.0235: filetype: supertux files are not recognized
- 9.1.0236: filetype: texlua files are not recognized
- 9.1.0237: filetype: mplstyle files are not recognized
- 9.1.0238: filetype: jupyterlab and sublime config are not recognized
- 9.1.0239: filetype: gnuplot history files are not recognised
- 9.1.0240: filetype: some python tools config files are not recognized
- 9.1.0241: filetype: mysql history files are not recognized
- 9.1.0242: filetype: octave history files are not recognized
- 9.1.0243: filetype: netrw history file is not recognized
- 9.1.0244: filetype: bash history files are not recognized
- 9.1.0245: filetype: zsh theme, history and zunit files are not recognized
- 9.1.0246: filetype: fontconfig files are not recognized
- 9.1.0247: filetype: bundle config files are not recognized
- 9.1.0248: filetype: yarn lock files are not recognized
- 9.1.0249: filetype: rock_manifest and config.ld files are not recognized
- 9.1.0250: filetype: ldscripts cannot be recognized
- 9.1.0251: Filetype test fails (#28142)
- 9.1.0253: filetype: typespec files are not recognized
- 9.1.0254: [security]: Heap buffer overflow when calling complete_add() in 'cfu'
- 9.1.0258: half-page scrolling broke backward compatibility
- 9.1.0259: Normal mode TextChanged isn't tested properly (#28167)
- 9.1.0260: Problems with "zb" and scrolling to new topline with 'smoothscroll'
- 9.1.0262: Test for TextChanged is flaky with ASAN (#28180)
- 9.1.0265: console dialog cannot save unnamed buffers (#28185)
- 9.1.0266: filetype: earthfile files are not recognized (#28207)
- 9.1.0267: File name entered in GUI dialog is ignored
- 9.1.0268: Two tests in test_filechanged.vim are slow
- 9.1.0269: Test for TextChanged is still flaky with ASAN
- 9.1.0272: autocmd may change cwd after :tcd and :lcd (#28223)
- 9.1.0273: filetype: keymap files are not recognized
- 9.1.0275: filetype: R history files are not recognized
- 9.1.0276: No pandoc syntax support
- 9.1.0277: Cannot highlight the Command-line (#28244)
- 9.1.0278: filetype: zathurarc files not recognized
- 9.1.0279: filetype: roc files are not recognized
- 9.1.0280: several issues with 'smoothscroll' support
- 9.1.0281: CI: fails Test_compiler_completion
- 9.1.0283: Several small issues in doc and tests (#28249)
- 9.1.0285: Still problems with cursor position for CTRL-D/U
- 9.1.0287: Vim9: comment may be treated as heredoc start (#28257)
- 9.1.0289: filetype: some TeX files are not recognized (#28291)
- 9.1.0290: filetype: xilinx files are not recognized (#28295)
- 9.1.0291: filetype: libreoffice config files are not recognized
- 9.1.0292: filetype: XDG mimeapps.list file is not recognized
- 9.1.0293: filetype: lxqt config files are not recognized
- 9.1.0294: Text height function does not respect it's argument
- 9.1.0295: filetype: pip config files are not recognized
- 9.1.0296: regexp: engines do not handle case-folding well (#28259)
- 9.1.0297: Patch 9.1.0296 causes too many issues (#28263)
- 9.1.0300: Missing test for what patch v9.1.0285 fixes
- 9.1.0301: Vim9: heredoc start may be recognized in string (#28266)
- 9.1.0302: filetype: blueprint files are not recognized (#28292)
- 9.1.0303: filetype: some protocol buffer files not recognized (#28293)
- 9.1.0304: filetype: cgdb config file is not recognized (#28294)
- 9.1.0305: filetype: some history files are not recognized (#28300)
- 9.1.0306: filetype: x11vnc config file is not recognized
- 9.1.0307: filetype: texdoc config files is not recognized
- 9.1.0311: filetype: Some config files are not recognized (#28311)
- 9.1.0312: heredocs are not supported for :commands
- 9.1.0313: Crash when using heredoc with comment in command block
- 9.1.0315: filetype: a few more dosini files are not recognized
- 9.1.0316: filetype: some sh and confini files not recognized
- 9.1.0317: filetype: matplotlibrc files are not recognized
- 9.1.0318: filetype: translate shell config files are not recognized
- 9.1.0319: Using heredoc in string not tested with :execute (#28333)
- 9.1.0320: Wrong cursor position after using setcellwidths() (#28334)
- 9.1.0321: Garbled output on serial terminals with XON/XOFF flow control
- 9.1.0322: filetype: some mail tools not recognized
- 9.1.0323: filetype: cabal config files may not be recognized
- 9.1.0324: filetype: some json files are not recognized
- 9.1.0325: CMakeCache.txt files not recognized (#28359)
- 9.1.0326: filetype: some requirements files are not recognized (#28360)
- 9.1.0328: CI fails with t_?? test
- 9.1.0329: String interpolation fails for Dict type (#28335)
- 9.1.0332: tests: some assert_equal() calls have wrong order of args (#28363)
- 9.1.0334: No test for highlight behavior with 'ambiwidth' (#28354)
- 9.1.0335: String interpolation fails for List type (#28364)
- 9.1.0340: Problem: Error with matchaddpos() and empty list (#28381)
- 9.1.0341: Problem: a few memory leaks are found (#28382)
- 9.1.0343: 'showcmd' wrong for partial mapping with multibyte (#28392)
- 9.1.0344: Cursor wrong after using setcellwidth() in terminal (#28391)
- 9.1.0351: No test that completing a partial mapping clears 'showcmd' (#28406)
- 9.1.0354: runtime(uci): No support for uci file types (#28409)
- 9.1.0355: filetype: flake.lock files are not recognized
- 9.1.0357: Page scrolling should place cursor at window boundaries (#28429)
- 9.1.0363: tests: test_winfixbuf is a bit slow (#28446)
- 9.1.0364: tests: test_vim9_builtin is a bit slow (#28466)
- 9.1.0365: Crash when typing many keys with D- modifier (#28464)
- 9.1.0366: filetype: ondir files are not recognized
- 9.1.0374: wrong botline in BufEnter (#28530)
- 9.1.0375: tests: 1-second delay after Test_BufEnter_botline() (#28534)
- 9.1.0380: Calculating line height for unnecessary amount of lines (#28553)
- 9.1.0381: cbuffer and similar commands don't accept a range (#28571)
- 9.1.0382: filetype: Kbuild files are not recognized
- 9.1.0383: filetype: .out files recognized as tex files
- 9042bd8b09ba
- 9204f39580bd
- 92917069b1a8
- 92f076e53e22 (#24634)
- 93197fde0f1d
- 9358b8d99349 (#25998)
- 9525f6213604
- 9530fe4f3a69 (#27919)
- 955652f6df9c (#26667)
- 960822a11f70
- 96d6c4aabed1
- 982e191b38b4 (#28073)
- 989faa4fce65 (#27880)
- 98b12ede3175
- 9a660d2883f9
- 9a775b4a2ae6 (#26588)
- 9ad1bf7afd5c
- 9b03d3e75b42 (#27059)
- 9b53c052d58f
- 9c5b90db035b
- 9cd9e759ab1e (#28224)
- 9d8ef7cc4340
- 9ecf02cd5f5f
- 9f2962141514
- 9fa35b1c38b8
- a03647acc313
- a0fddaa2f4b7
- a13eb2b14791 (#24622)
- a2385c233499
- a262d3f41bc5
- a2c65809dafe
- a35235e824bb (#27598)
- a390e984db20
- a39af0290496
- a4c085a3e607
- a5988f582e48
- a5eb6785efcc
- a76f3221cdcf
- a7aba6ca5033 (#25285)
- a9058440b7b9
- a907c9199216
- ab01adf7c65b
- acb91d3905cf
- add31baedaf0
- b0d584d97ab6
- b1392bee701d
- b1427b46f5fe (#27652)
- b16fc9805535
- b2a4c110a5d1
- b2e1fee72c45
- b3030b653bbd
- b42703a662e8
- b4b3d7de2413
- b4eb3f1e4489
- b52e7ac7c61c
- b59ae59a5870
- b614b284ee06 (#27433)
- b69b9d5e1753 (#24628)
- b7398fe41c9e (#23627)
- b73faa1c02d0 (#28193)
- b8170143c8f8 (#27387)
- ba77bbb5c775
- bd76c89e31ac (#24630)
- bdb9d9afba97
- c1f8bb37c6a8
- c2bd205254c8
- c46c21b4ca47
- c4aef9a97b36
- c4d0c8c81245
- c6d533b0ad56
- c79646dfb101
- c7ddc9b73543
- c9c2e2d2ff44
- c9ec20d94ea5 (#28267)
- ca0e9823a1df
- ca48202b6f46
- caee7956a21a
- cb0c113ddc01 (#26147)
- cbb92b5ceb6a
- cc7597c1edf4
- cc944b145254
- cd39b69b0200
- cd4e4e169ab3 (#24685)
- cd8a3eaf5348
- cdd934439d08
- ce06493aeb3d (#28321)
- ce3b0136c6d9
- cec44eae82c1 (#28199)
- cee034112d41
- ceed36873e92
- cf40409e7d17
- cf8695d48cdd
- d08059ab48b8
- d1cea036467c
- d3c0ff5d5a90
- d3e277f279ed (#25734)
- d3ff129ce8c6
- d4634a26cdcd
- d56f15caf602
- d5dc58aeed1b (#25720)
- d8b86c937a41
- d8f981138aa0
- d94ca966ca6d
- d96f25bd69c1
- d9ebd46bd090
- da16a1b471aa
- da4e433dc3be (#25912)
- dbca7d80457d
- dbf749bd5aae (#25665)
- dc5c90554145
- dd0ad2598898
- dd83b63eb5b7 (#28351)
- e059fae10044
- e06f2b498ccc
- e08bfef88bd0
- e13b665a6e2a (#27163)
- e1ddc2d5875d
- e30d8e4ce01d
- e34b51e95fd0
- e3e3934bb182
- e43ace558aee (#28258)
- e46a44050562
- e5c9ba601573 (#27737)
- e71e9d9ad368
- e7833e73471a
- e84490311ba3
- e84d2d4432cd
- e8d6f03f6a61
- e8f6af609178
- e92ed1b45c54 (#28337)
- e93afc2e6126
- e978b4534a5e (#24697)
- ea9964a36f94
- ea9a93e5b098
- ec21bafc135a (#27939)
- ec97edcbb9f6
- ef21bcaab145
- ef387c062bb1 (#27553)
- ef79c5783782
- f1dcd14fc5d4 (#23986)
- f351fd829204 (#28551)
- f449825ae238
- f5356bf6751f
- f6869212c9e1
- f6fb52b667ee
- f787ee8451a1 (#25103)
- f7a38650eaf6 (#28465)
- f7ac0ef50988
- f7f33e3719c8
- f937ab32a1ac
- f9c4c2f97db9
- f9ca139e3aa1 (#27554)
- fb8f31ea7d7f (#28356)
- fbd72d2d4725
- fc93594d562d
- fcbefe74f161 (#28285)
- fda02d03c0cf
- fe1e2b5e2d65
- fe6d5b0ae47e
- fea96c00e55a
- ff0baca86523 (#26476)
- mark N/A 8.1 patches #26008
- partial:5985879e3c36 (#25780)
- partial:6f4754b9f725
- partial:8.0.1592: terminal windows in a session are not properly restored
- partial:8.1.1155: termcodes tests can be improved
- partial:8.1.1218: cannot set a directory for a tab page
- partial:8.1.1981: the evalfunc.c file is too big (#24490)
- partial:8.2.0425: code for modeless selection not sufficiently tested (#23362)
- partial:8.2.1235: Not all mouse codes covered by tests
- partial:8.2.3335: Vim9: not enough tests run with Vim9
- partial:8.2.3849: functions implementing reduce and map are too long
- partial:8.2.4950: text properties position wrong after shifting text (#23930)
- partial:9.0.0359: error message for wrong argument type is not specific (#23315)
- partial:9.0.0364: clang static analyzer gives warnings (#23059)
- partial:9.0.0669: too many delete() calls in tests
- partial:9.0.1196: code is indented more than necessary (#27315)
- partial:9.0.1570: some tests are slow (#23688)
- partial:9.0.1859: heap-use-after-free in bt_normal()
- partial:9.0.1886: Various Typos
- partial:9.1.0027: Vim is missing a foreach() func (#27037)
- partial:9.1.0080: unexpected error for modifying final list using +=
- partial:9.1.0117: Stop split-moving from firing WinNew and WinNewPre autocommands
- partial:9.1.0373: ops.c code uses too many strlen() calls (#28508)
- partial:d086b8f646a6 (#27623)
- partial:d899e5112079
- IWYU (#27186)
- add function attributes to xmemcpyz() (#28435)
- add xmemcpyz() and use it in place of some xstrlcpy() (#28422)
- adjust headers according to the style guide (#23934)
- align set_chars_option() with Vim (#25438)
- allow not having a
default
case for enum - avoid copying before vim_strup() if possible (#27830)
- avoid quadratic behavior in backslash_halve() (#27827)
- cast to int earlier when using 'so' and 'siso' (#24756)
- change event_create() to a macro (#26343)
- change some xstrndup() and xstrnsave() to xmemdupz() (#25959)
- cleanup
- combine regexp files
- create function for deferred loading
- create runtime_defs.h
- deprecate checkhealth functions
- don't use subtraction in qsort() comparison functions
- eliminate cyclic includes
- enable formatting for ternaries
- explicitly abort on OOM condition (#26330)
- fix PVS warnings (#23200)
- fix clang NonNullParamChecker warnings (#28327)
- fix clang/PVS warnings (#23731)
- fix clang/PVS warnings (#24213)
- fix headers with IWYU
- fix includes for api/autocmd.h
- fix includes for iconv.h
- fix luals warnings
- fix runtime_defs.h (#26259)
- follow style guide
- follow style guide
- follow style guide
- follow style guide
- format casting of negative number better (#26482)
- format test/*
- free more reachable memory with EXITFREE (#26349)
- informative error msg for 'noautocmd' (#28147)
- iwyu (#26062)
- iwyu (#26269)
- make char * parameters const in message.c
- move Arena and ArenaMem to memory_defs.h (#26240)
- move autocmd types to autocmd_defs.h (#26239)
- move background color detection into Lua
- move cmdline completion types to cmdexpand_defs.h (#25465)
- move defaults into separate module (#25929)
- move extern variables out of _defs.h files (#26320)
- move float_relative_str[] to nvim_win_get_config() (#26344)
- move function macros out of vim_defs.h (#26300)
- move garray_T to garray_defs.h (#26227)
- move hashtab types to hashtab_defs.h (#26262)
- move non-symbols to defs.h headers
- move some anonymous enums back to non-defs headers (#26622)
- move some constants out of vim_defs.h (#26298)
- move some functions to winfloat.c (#26020)
- move some structs out of buffer_defs.h (#24878)
- move structs from regexp_defs.h to regexp.c (#26899)
- move virtcol functions to plines.c
- object_to_vim() cannot fail
- only reload colorscheme if &bg changed (#26598)
- reduce some globals #27406
- remove "once" argument of loop_uv_run() (#27841)
- remove 'shortmess' save/restore panic for ex commands
- remove :CheckHealth
- remove B_SPELL macro (#26063)
- remove CPO_TO_CPO_FLAGS() (#26718)
- remove FC_DEAD
- remove SIZEOF_INT check
- remove WINGUI_URL
- remove clang_analyzer macro
- remove bugreport.vim
- remove fn_bool
- remove kbtree.h
- remove long
- remove long
- remove modelines from Lua files
- remove os_errmsg and os_msg functions
- remove redundant NOLINT comments
- remove redundant casts
- remove redundant casts
- remove redundant casts
- remove redundant const char * casts
- remove redundant struct names
- remove some (const char **) casts (#24423)
- remove some casts to char * (#24200)
- remove typval.h from most header files (#23601)
- remove unnecessary HAVE_PATHDEF macro
- remove unnecessary height change in frame_add_hsep() (#23305)
- remove unused "coloff" argument of win_put_linebuf() (#27866)
- remove unused file ringbuf.h
- remove vim.h from more headers (#26244)
- rename FloatConfig to WinConfig #27397
- rename _meta.lua to _options.lua
- rename types.h to types_defs.h
- rename w_float_config to w_config #27419
- reorganize option header files (#25437)
- replace manual header guards with #pragma once
- revert incorrect change to ui_client.c code
- rewrite clipboard provider healthchecks in Lua
- rewrite node healthcheck in lua
- rewrite perl healthcheck in lua
- rewrite perl provider in lua
- rewrite python provider healthcheck in Lua
- rewrite python provider in lua
- rewrite ruby healthcheck in lua
- rewrite ruby provider in lua
- rewrite virtualenv healthcheck in lua
- run IWYU on entire repo
- soft-deprecate diagnostic signs configured with :sign-define (#26618)
- split WIN_EXECUTE() into two functions (#26627)
- suppress clang false positives (#23154)
- suppress unused variable warnings in release builds (#26327)
- the long goodbye
- the long goodbye
- the long goodbye
- uncrustify
- use "csarg" for CharsizeArg variables (#27123)
- use
bool
to represent boolean values - use ml_get_buf_len() in API code (#27825)
- use optional base argument of tonumber (#26070)
- use vim.deprecate on all deprecated functions
- use xstpcpy() instead of strcat() (#25572)
- use xstrl{cpy,cat} on IObuff (#23648)
- using a different error number for 'mousescroll'
- vim.ui.clipboard #26040
- IWYU: add "private" pragma to more generated headers (#26706)
- IWYU: create normal_defs.h (#26293)
- IWYU: create {ex_getln,rbuffer,os/fileio}_defs.h (#26338)
- IWYU: fix headers
- IWYU: fix includes for cmdhist.h (#26324)
- IWYU: fix includes for highlight_group.h (#26340)
- IWYU: fix includes for ugrid.h (#26267)
- IWYU: move UI and LineFlags to ui_defs.h (#26318)
- IWYU: move decor provider types to decoration_defs.h (#26692)
- IWYU: move evalarg_T to eval_defs.h (#26716)
- IWYU: move marktree types to marktree_defs.h (#26402)
- IWYU: move typedefs out of globals.h (#26322)
- api: adjust errors for setting options (#23942)
- api: complete conversion from
Dictionary
toDict(opts)
(#26365) - api: deprecate nvim_call_atomic #28433
- api: give "hl_group" more accurate _meta type
- api: make cstr_as_string accept "const char*"
- api: make freeing of return-value opt-in instead of opt out
- api: make typed dicts appear as types in the source code
- api: new helper macros
- api: reduce temporary allocations when replacing lines
- api: redundant
ml_mfp
check #26059 - api: refactor more api functions to use arena return
- api: remove
BOOL
macro #23936 - api: remove some unnecessary HAS_KEY() (#27283)
- api: simplify nvim_set_keymap shortname check (#25945)
- api: use an arena for mappings
- api: use an arena for nvim_buf_get_lines and buffer updates
- api: use an arena for nvim_parse_expression
- api: use an arena for user commands
- api: use arena for autocmds
- api: use arena for channel info and terminal info
- api: use arena for hlstate inspection
- api: use arena for metadata; msgpack_rpc_to_object delenda est
- api: use arena for nvim_get_option_info()
- api: use arena for nvim_list_uis()
- api: use arena for nvim_parse_cmd()
- api: use arena for nvim_put and nvim_paste
- api: use arena for runtime and client info
- api: use arena when listing objects
- api: use hl id directly in nvim_buf_set_extmark
- api: use keydict and arena for more api return values
- api: use typed keysets
- backup: remove duplicate os_copy_xattr() (#28020)
- buf_init_chartab: remove redundant loop (#24891)
- build: derocksify luacheck
- build: include lpeg as a library
- build: make all generated c files headers
- build: move the last generator from scripts/ to src/nvim/generators
- build: use vendored versions of mpack and luabitop
- change: do API changes to buffer without curbuf switch
- clang-tidy: ignore warnings from clang-tidy 17
- clang-tidy: remove redundant casts
- column: define and use maximum 'statuscolumn' width
- completion: use an inline function to free cptext (#26380)
- cpoptions: remove 'p'
- decor: remove sign conditions that are always true
- decorations: break up Decoration struct into smaller pieces
- decorations: more conservative redraw range
- defaults: always set options, even if value hasn't changed (#26595)
- defaults: defer setting 'termguicolors' until after VimEnter
- defaults: do not use C specific default values for options (#22500)
- defaults: use getregion() for Visual mode gx (#27663)
- defaults: use getregion() for default * and # mappings
- defaults: use vim.region for visual star (*,#)
- diagnostic: set sign by using extmark (#26193)
- diagnostic: use named namespaces (#26568)
- drawline: add more consts
- drawline: avoid storing info to draw 'statuscolumn' (#26712)
- drawline: avoid writing foldopen before writing foldclosed
- drawline: avoid xmalloc/xfree cycles on each screenline
- drawline: get_rightmost_vcol()
- drawline: integrate terminal hl with eol loop (#27893)
- drawline: localise more variables in win_line()
- drawline: more win_line() improvements
- drawline: move inline text code to its own function
- drawline: reduce size of wlv.extra[] (#26733)
- drawline: remove LineDrawState and wlv->saved_n_extra
- drawline: remove maybe_wlv argument for foldcolumn (#26798)
- drawline: remove unnecessary inline virt checks (#25163)
- drawline: remove unused save_extra argument (#26959)
- drawline: rename vcol_off to vcol_off_co (#27857)
- drawline: simplify draw_statuscol() and remove draw_state references
- drawscreen: avoid spell check on folded or filler lines
- encoding: remove redundant vim_isprintc_strict
- env: remove unused mutex
- eval: use arena when converting typvals to Object
- eval: use tv_list_append_allocated_string()
- ex_session.c: remove unnecessary char -> int -> char cast
- extmark: redundant ExtmarkInfo delenda est, use MTPair instead
- extmarks: extmark_del() with MarkTreeIter
- extmarks: remove unused new pos from ExtmarkSavePos
- fileio: remove API shell layer encouraging unnecessary allocations
- float: extract "title" and "title_pos" handling
- float: rename ex_floatclose to ex_fclose (#25596)
- fs: now it is time to get rid of fs_loop and fs_loop_mutex
- gen_lsp.lua: add typing for the LSP protocol JSON data model
- gen_vimdoc: generate function doc from metadata, not from xml
- gen_vimdoc: put defgroup handling in a function
- gen_vimdoc: refactor section and defgroup doc generation
- gen_vimdoc: use stronger typing for CONFIG, avoid dict
- gen_vimdoc: use typing for function API vimdoc generation
- generators: style of generating and generated lua dispatch code
- grid: change schar_T representation to be more compact
- grid: do arabic shaping in one place
- grid: get rid of unbatched grid_puts and grid_putchar
- grid: implement rightleftcmd as a post-processing step
- grid: make screen rendering more multibyte than ever before
- grid: properly namespace and separate stateful grid functions
- grid: reimplement 'rightleft' as a post-processing step
- grid: unify the two put-text-on-the-screen code paths
- grid: unused grid->line_wraps delenda est
- grid: use batched updates for builtin tabline
- grid: use batched updates for horizontal wildmenu
- grid: use batched updates for statusline and ruler
- grid.c: remove duplicate assignments
- health: refactor provider healthchecks
- highlight: merge redundant attr_entries and attr_entry_ids structs
- indent: refactor computing of a string's indent size (#27252)
- iter: move helper functions under vim.iter
- iter: use metatable as packed table tag (#23254)
- lang: reduce scope of HAVE_WORKING_LIBINTL #ifdefs
- lsp: add shared diagnostic handler
- lsp: add type annotation for lsp.Client.server_capabilities (#24925)
- lsp: add type annotations
- lsp: add type annotations to _watchfiles (#26109)
- lsp: add vim.lsp.sync.Range type
- lsp: alias for CompletionResult
- lsp: client_hints typo #27250
- lsp: deprecate
vim.lsp.util.lookup_section
- lsp: deprecate completion util methods
- lsp: deprecate util methods (#25400)
- lsp: extract common execute command functionality (#24065)
- lsp: fix luals warnings in tagfunc and add type annotations (#25150)
- lsp: fix remaining luals warnings in lsp.rpc
- lsp: make is_pull in lsp.diagnostic.get_namespace optional (#25156)
- lsp: mark server_ready function as deprecated (#23520)
- lsp: merge rpc.domain_socket_connect into rpc.connect (#28398)
- lsp: merge subtypes and supertypes into typehierarchy (#28467)
- lsp: move client code to a regular Lua class
- lsp: move completion logic into _completion module
- lsp: move glob parsing to util (#26519)
- lsp: move more code to client.lua
- lsp: move workspace folder logic into the client
- lsp: remove outdated comment
- lsp: remove redundant code (#27601)
- lsp: rename foos_by_bar to bar_foos #28505
- lsp: report full Nvim version string in clientInfo
- lsp: resolve the config-client entanglement
- lsp: simplify client tracking
- lsp: simplify client tracking
- lsp: tidy up logging
- lsp: typings for protocol constants
- lsp: use LPeg for watchfiles matching (#23788)
- lsp: use LspNotify for inlay_hint (#24411)
- lsp: use protocol.Methods instead of strings #24537
- lsp: use protocol.Methods instead of strings #24570
- lua: "module" => "M" #28426
- lua: deprecate tbl_flatten
- lua: deprecate tbl_flatten #28457
- lua: more efficient vim.tbl_islist
- lua: refactored glob
- lua: rename tbl_isarray => isarray
- lua: rename tbl_islist => islist
- lua: simplify vim.gsplit impl
- lua: type annotations
- lua: use Arena when converting from lua stack to API args
- lua: use a keyset for vim.diff opts parsing
- lua2dox: overhaul (#24386)
- map: avoid duplicated khash_t types for values
- map: enhanced implementation, Clean Code™, etc etc
- mapping.c: reduce scope of locals
- marks: don't set timestamp twice with :delmarks (#24994)
- marktree: unpaired marktree_get_alt() returns itself
- mch: last mch_ function/macro hits the dust
- memfile: change mf_trans and mf_hash from ad-hoc hashtable to Map
- memline: cleanup typedefs for memline structs
- memline: distinguish mutating uses of ml_get_buf()
- message: msg_outtrans_long_len_attr -> msg_outtrans_long
- message: msg_puts_attr_len -> msg_puts_len
- message: simplify msg_puts_display and use batched grid updates
- message: smsg_attr -> smsg
- messages: fold msg_attr into msg
- messages: fold msg_outtrans_attr into msg_outtrans
- messages: remove condition that is always true (#27909)
- messages: rename msg_trunc_attr and msg_multiline_attr without attr
- metadata: generate all metadata in lua
- misc: use MSVC compiler builtin for
xctz()
- msgpack: allow flushing buffer while packing msgpack
- msgpack: remove dead unpacker code in helpers
- option: add set_option()
- option: change some int to bool
- option: further align set_string_option with do_set_option_string
- option: further align set_string_option with do_set_option_string (2)
- option: option clearing
- option: pass varp to set_string_option
- option: remove OPT_CLEAR
- option: remove hidden option check
- option: remove redundant local
- option: use
void *
for pointer to option value - option.c: call did_set_option for all types
- option.c: change :set boolean prefix to an enum (#25458)
- option.c: make did_set callbacks static
- option.c: move paste_option_changed() into did_set_paste()
- option.c: move validation logic to function
- option.c: remove did_set_string_option alias
- options:
get_option_value_strict()
andSREQ_*
- options: add
direct
flag toset_option()
- options: convert
opt_idx
variables toOptIndex
- options: deduplicate
do_set_option_string
- options: deduplicate the
do_set_option
codepath - options: define
kOptIndexCount
- options: deprecate nvim[_buf|win][gs]et_option
- options: do bound checking in
validate_num_option()
- options: generate BV_ and WV_ constants (#26705)
- options: make
did_set_shada
a normal option callback - options: make
immutable
andhidden
options distinct - options: make
os_oldval
andos_newval
useOptValData
- options: move some functions from options.c to option.c
- options: reduce
findoption()
usage - options: remove SOPT type enums (#26417)
- options: remove
OPT_FREE
(#26963) - options: remove
getoption_T
and introduceOptVal
(#23850) - options: remove
os_doskip
- options: remove
os_op
- options: remove
set_string_option_direct()
- options: remove option type macros
- options: remove side effects from
check_num_option_bounds()
- options: rename
empty_option
toempty_string_option
- options: replace
p_force_(on|off)
withimmutable
(#26209) - options: require
enable_if = false
iff no variable (#28050) - options: restructure
set_option
- options: restructure functions related to key options
- options: split
get_option_value()
into smaller functions - options: swap
immutable
andhidden
option property names - options: unify set_num_option and set_bool_option
- options: use
OptIndex
foros_idx
- options: use hashy for finding options (#26573)
- options: use schar_T representation for fillchars and listchars
- options: use slash separator for
option_get_valid_types()
(#23945) - optionstr.c: remove redundant argument
- plines.c: deduplicate code for virtual text cursor offset
- plines.c: move vertical size functions to the bottom
- plines.c: update outdated comments (#24264)
- runtime: remove nvimMap and nvimUnmap syntax groups (#27298)
- runtime: rewrite 'vim' color scheme in Lua
- screen: simplify grid_clear() and win_draw_end()
- shada: devirtualize writer
- sign: move legacy signs to extmarks
- sign: store 'signcolumn' width range when it is set
- snippet: rename test utilities
- source: remove unnecessary concatenation with Lua (#28499)
- strcase_save: optimize memory allocation (#27319)
- termdebug: reindent some things
- terminal: only remove const qualifier when necessary (#26386)
- terminal: rename confusing variable name "rv" (#27573)
- test: cleanup #25614
- test: inject after_each differently
- tests: all screen tests should use highlights
- tests: allow to extend the new base set of attrs
- tests: get channel id via nvim_get_chan_info #27441
- tests: use global defaults instead of set_default_attr_ids (2)
- tests: use more standard colors but with extra colors
- tests: use new global defaults instead of set_default_attr_ids
- time: refactor delay with input checking
- treesitter: cleanup highlighter
- treesitter: deprecate for_each_child #25118
- treesitter: handle coverity warnings better
- treesitter: language loading
- treesitter: move some logic into functions
- treesitter: redesign query iterating
- treesitter: rename "preview" => "edit" #25161
- treesitter: reorder functions
- treesitter: simplify argument checks for userdata
- treesitter: typing for Query, TSQuery, and TSQueryInfo
- treesitter: use npcall in _query_linter.lua #23985
- treesitter: {start,stop} are optional in Query:iter_* methods
- tui: check for out of bound access after snprintf (#24751)
- tui: refactor Kitty keyboard query implementation
- tui: remove code that is no longer necessary
- tui: remove unnecessary scheduling when suspending (#26190)
- tui: reorder functions for query and response (#28051)
- tui: use synchronized updates around actual buf flush (#26478)
- tui: use termkey_interpret_modereport
- tutor: cleanup
- types: fix miscellaneous type warnings
- types: more fixes
- types: more fixes (2)
- ui: remove outdated UI vs UIData distinction
- unit: add type annotations
- usercmd.c: reduce scope of locals
- vim.secure: move to lua/secure.c
- vim.system: factor out on_exit handling
- watch: general tidy up
- watch: simplify filechanges processing
- window.c: add a few more assertions (#27249)
- add check to ensure USE_EXISTING_SRC_DIR=ON builds work
- add gpanders as reviewer for defaults and tui labels (#26567)
- add optional CI that can be triggered manually
- add runner image version to cache key
- add workflow_dispatch event to testing workflows
- add workflow_dispatch to optional.yml workflow
- allow skipping news workflow with a label
- auto-add labels on issues based on title
- bump actions/checkout from 3 to 4
- bump actions/download-artifact from 3 to 4
- bump actions/github-script from 6 to 7 (#26041)
- bump actions/labeler from 4 to 5
- bump actions/upload-artifact from 3 to 4
- bump cache action to version 4
- bump github/codeql-action from 2 to 3
- bump korthout/backport-action from 1 to 2
- bump uncrustify to 0.77.1
- containerize the external dependencies test
- create setup action
- disable libintl on mac release
- don't assign reviewers for "api" and "ui" labels
- don't automatically enable -Werror on CI environments
- don't install unnecessary dependencies
- don't install unzip
- enable clang-analyzer warnings
- enable colors by default when testing
- enable unittests on macos-14
- fix PR labeler
- fix api-docs workflow
- fix mac release
- improve default backport pull request title
- install perl provider on mac
- install stylua from their releases
- install uncrustify through homebrew
- introduce CI_LINT option
- make all linux releases work with same glibc version
- make install_deps.sh more flexible
- move external_deps job from cirrus-ci back to github actions
- provide separate macos releases for intel and arm
- refactor CI files
- remove UBSAN_OPTIONS environment variable (#25963)
- remove api-docs-check workflow
- remove ci/ from cache key (#23878)
- remove container solution for the linux runner
- remove python workaround
- remove redundant asan and ubsan options
- remove reviewdog for uncrustify
- remove team reviewers
- remove unnecessary token usage
- remove winget workflow
- replace stale bot with custom implementation
- replace stylua action with our own lint target
- reuse script to enable Developer Command Prompt
- run codeql on pull requests #24545
- run lintcommit with cmake target
- run tests in parallel
- simplify backport workflow
- simplify concurrency string
- skip api-doc workflow on draft PRs
- stale bot should close the issue with "not planned"
- test on macOS M1 (#27276)
- trigger tests when pushing
- update clang version to 18
- update notes.md
- update reviewers
- update vim_patches.yml to follow conventional commits
- use
--break-system-packages
on mac when installing pynvim - use a set instead of array for team reviewers
- use clang 17 as the default clang version is too old
- use the latest stylua version
- use the same logic to determine build type for all releases
- various cleanups
- various fixes
- work around flaky python3 tests
- write the correct cherry-picked commit id when backporting
- cirrus: don't run lua/help_spec (#25498)
- cirrus: use FreeBSD 13.2 (#24684)
- codeql: add concurrency to cancel unnecessary jobs early
- deps: update bump_deps script (#23604)
- issue-open-check: don't add "doc" label
- labeler: add back GitHub token for type-scope
- labeler: reuse workflow to reduce duplication
- labeler: run "type-scope" after "triage"
- labeler_issue: split on word boundaries
- lintcommit: allow colon not followed by space in description (#23035)
- lintcommit: fix empty and period check with multiple colons (#26312)
- lintcommit: fix error output
- lintcommit: use nvim -l
- release: bump mac runner version to macos-12
- release: clean up wording and undeprecate tar.gz
- release: create version tag after "stable" tag (#26671)
- release: perform a full checkout when building (#26323)
- release: remove unnecessary full clone
- release: run universal_macos build on M1 (#27505)
- release/winget: get msi from previous job instead of downloading
- response: use pagination for timeline events
- s390x: double TEST_TIMEOUT since tests are running via qemu
- s390x: enable CI_BUILD
- s390x: run build & test as a non-root user
- test.yml: explicitly set build type (#27503)
- windows: optionally test windows with ASAN
- "diff" flag of 'fillchars' (#26657)
- 'nofsync' with deadly signal #26415
- 'showcmd' with ext_messages and Visual selection (#28393)
- 'smoothscroll' <<< marker shows with tabline, winbar and splits
- 'smoothscroll' works with virt_lines above and below
- :terminal when 'shell' uses backslashes
- API can return Lua function to Lua code (#28380)
- add a bit more testing for vim.on_key() (#28095)
- add benchmark for vim.iter
- add more hlstate tests
- add more tests for :Man section extraction
- add screenpos() benchmarks
- add some tests for SafeState autocommand
- add test coverage for #25741
- add test for 'foldcolumn' with cmdwin (#27355)
- add test for scroll wheel at right-click menu (#27409)
- add tests for executing commands with backwards range
- add type annotations
- added tests for set_height with winminheight=0 and a winbar
- allow avoiding repeated screen lines in expected states
- avoid name collisions with Xtest directory (#23019)
- avoid repeated screen lines in expected states
- big cleanup followup
- check for ASAN properly (#24224)
- check real cursor position in Terminal mode (#24436)
- check that TextChangedT cannot delete terminal buffer (#24437)
- check vim.wait() error message in fast context (#26242)
- combining TermCursorNC with CursorLine/CursorColumn (#27898)
- convert tests in test_conceal.vim to Lua
- correct order of arguments to eq() (#27816)
- decoration provider with wrapped lines (#25404)
- do not inject vim module into global helpers
- don't unnecessarily specify win/buf for
nvim_(get|set)_option_value
- don't use minimal timeout for "intermediate" flag (#27620)
- fileio_spec is unreliable/flaky #26404
- fix VimResume test flakiness (#24438)
- fix Windows tests failures (#26461)
- fix dependencies between test cases (#23343)
- fix helpers.relpath()
- fix mkdir()
- fix off-by-one test IDs in logs (#28269)
- fix state() test flakiness (#24839)
- fix vimscript/server_spec leaving behind a dir (#28204)
- forward $VIMRUNTIME in child nvim instances
- getting autocmd Lua callback in Vimscript (#28367)
- improve helpers.argss_to_cmd()
- improve test conventions
- improve test conventions
- macros in Visual mode without default mappings (#28288)
- make mapping tests more consistent (#28368)
- make text-only snapshots work (#26494)
- more tests for aucmd_win remaining floating (#28214)
- more tests for nvim_eval_statusline "fillchar" (#27502)
- more tests for nvim_tabpage_get_win (#27248)
- more tests for nvim_{set,del}_keymap with abbreviation (#23970)
- move format_{string,luav} to a separate module
- move most title tests to a separate file (#23557)
- move vim.iter tests to separate file
- normalise nvim bridge functions
- only trim trailing spaces in swapfile tests (#25341)
- print screen snapshot in desired format (#28088)
- reduce
exec_lua
calls - reduce flakiness (#24443)
- reduce sleep for file timestamp change (#28196)
- refactor Paths
- remove helpers.sleep()
- remove penlight usage
- remove test.deprecated
- remove the pipe created by new_pipename() (#26173)
- remove unnecessary nil argument to testutil (#28270)
- remove unused functions
- rename (meths, funcs) -> (api, fn)
- scheduled callback shouldn't trigger ModeChanged repeatedly
- set 'termguicolors' in outer Nvim instance (#26437)
- set notermguicolors in tests
- sign on wrapped line with signcolumn=number (#26654)
- silence expected errors
- simplify helpers.sysname()
- simplify vim.fs tests
- skip another flaky test on macOS (#28087)
- skip failing test on freebsd
- skip failing watch file tests on freebsd (#26110)
- skip flaky test on Windows
- skip flaky tests
- skip flaky tests
- spellcheck :help (vimdoc) files #24109
- typing for helpers.meths
- typing for screen.lua
- unignore test which froze sourcehut (#25067)
- unreliable 'nofsync' test #26423
- unskip more terminal tests on Windows (#26315)
- update tests for auto-closing :term buffers
- use ST terminator instead of BEL in OSC sequences
- use integers for API Buffer/Window/Tabpage EXT types
- use matches(...) instead of ok(string.find(...)) (#28111)
- use termopen() instead of :terminal more (#26462)
- use vim.inspect directly
- use vim.mpack and vim.uv directly
- api: update tests to new error messages
- autocmd/termxx_spec: fix flakiness (#25694)
- column: statuscolumn is rebuild when signs are (un)placed
- core/channel_spec: fix lint failure
- core/channels_spec: fix variable name
- core/job_spec: fix flakiness (#26623)
- core/job_spec: skip exit test if "sleep" command missing (#28137)
- core/path_spec: don't use fnameescape() (#25593)
- core/startup_spec: add a test for #13720 (#23910)
- core/startup_spec: use retry() instead of jobwait() (#24481)
- decorations_spec: add test for extmark case of #21486 (#24028)
- ex_terminal_spec: match descriptions (#26314)
- ex_terminal_spec: unskip tests that work on Windows (#26310)
- extmarks: add a test for #23848 (#24140)
- extmarks: add test for virt_text_hide with 'smoothscroll' (#23791)
- extmarks: add test for virt_text_win_col with cpo+=n (#24328)
- extmarks: add tests for #14201 #20004 #20885 (#23794)
- extmarks: folding inline virt_text on empty line (#23847)
- extmarks: improve tests for ui_watched (#26732)
- fileio_spec: fix files not cleaned up properly (#25483)
- fs: get tmpdir robustly #23021
- fs: vim.loop was renamed to vim.uv (#24376)
- functional: remove faulty pending check
- inccommand: add a test for #20248 (#24489)
- inccommand_spec: actually trigger 'inccommand' preview
- lsp: add normalize_markdown tests
- lsp: add test cases for vim.lsp.tagfunc
- lsp: fix flaky basic_finish test (#27899)
- lsp: fix flaky basic_finish test again (#28041)
- lsp: fix unstable tests for semantic tokens
- lsp: fix unstable tests for set_defaults (#23002)
- lua/runtime_spec: add test for ftplugin ordering
- lua/snippet_spec: wait for completion menu (#27243)
- normal: port legacy normal test for page scrolling (#28100)
- nvim_open_term: don't resize after creating terminal (#26570)
- old: change back to using termopen() on Windows (#27772)
- old: correct path to .valgrind.supp (#27306)
- old: don't check for $CLANG_SANITIZER (#25432)
- old: don't set options to default before every test (#25335)
- old: make line wrapping in test_filetype.vim match Vim (#28286)
- old: remove Test_floatwin_splitmove()
- old: remove python2 tests (#23547)
- old: remove workaround for TSAN CI (#24834)
- old: reorder test_edit.vim to match upstream (#24837)
- old: reorder test_mksession.vim to match upstream (#26021)
- old: reorder test_quickfix.vim to match upstream (#25029)
- old: reorder test_substitute.vim to match upstream (#23994)
- old: restore default 'grepprg' and 'grepformat' (#28574)
- old: skip flaky test (#28060)
- old: sleep for 1 second on non-Windows in test_stat.vim (#28195)
- old: sync test_filetype.vim with upstream (#23127)
- options: add test for
'modified'
- options/defaults_spec: fix NVIM_APPNAME test flakiness (#24553)
- plugin/man_spec: use pesc() on actual_file in pattern (#25199)
- scroll_opt: fix typo in porting oldtest (#23593)
- shada/marks_spec: load the file with the marks (#24979)
- startup_spec: add a test for #18315 (#24391)
- startup_spec: use getscriptinfo() instead of :scriptnames (#23034)
- statusline: add test with control characters (#24197)
- terminal: fix scrollback test flakiness (#24708)
- terminal: remove unnecessary string operations (#26434)
- terminal/buffer_spec: avoid other keys in double clicks (#28245)
- terminal/buffer_spec: fix incorrect tests (#27923)
- terminal/buffer_spec: re-skip bang test on Windows
- terminal/buffer_spec: use screen:expect(), not retry() (#28246)
- terminal/channel_spec: fix flakiness (#25649)
- terminal/channel_spec: fix screen test immediate success (#23192)
- terminal/cursor_spec: unskip tests that pass on Windows (#27924)
- tohtml_spec: don't use hard-coded sleeping time (#27770)
- treesitter: add test cases for inspect_tree
- treesitter: fix obsolete predicates
- treesitter: improve the style of treesitter/parser_spec
- treesitter: more foldexpr tests
- treesitter: separate out query-related tests into query_spec
- treesitter/fold_spec: fix flakiness (#26524)
- tui: add & improve tests for terminal queries (#27219)
- tui: add test for overriding argv[0] (#24293)
- tui_spec: fix flaky test for isolated "stop paste" (#28053)
- tui_spec: get &background from child session directly (#27224)
- tui_spec: prevent race between nvim_input and nvim_paste (#27356)
- tui_spec: small consistency fixes (#25332)
- tui_spec: update cursor_address test for flush start (#26464)
- tui_spec: update cursor_address test for wrap flag (#25228)
- ui/decorations_spec: avoid flakiness caused by undo msg (#25924)
- ui/embed_spec: make sure server is started (#25880)
- ui/embed_spec: use notification instead of request (#25555)
- ui/float_spec: click in bordered float sets correct curswant
- ui/fold_spec: click on multibyte "foldclosed" (#25216)
- ui/fold_spec: more testing for clicking on 'foldcolumn' (#25225)
- ui/messages_spec: unskip msg_puts_printf test on Unix CI (#27941)
- ui/mouse_spec: make sure click is processed (#27412)
- ui/mouse_spec: mouse click with matchadd() concealed text
- ui/searchhl_spec: match more in :terminal test (#25631)
- unit: add test for os_mkdir_recurse "created"
- unit: correct header name (#26446)
- unit: move statusline tests to statusline_spec.lua (#25441)
- unit/eval/typval_spec: adjust for Float to String conversion
- unit/eval/typval_spec: don't dereference NULL last_msg_hist
- vim.ui.open: mock failure on Windows
- winbar_spec: properly update winbar when 'showcmdloc' is "statusline"
- windows: unskip working tests (#25153)
- winscrolled: make sure floating window is drawn (#25639)
- "Return (multiple)" heading
- .git-blame-ignore-revs #26397
- Bram farewell #24589
- CONTRIBUTING.md updates (#24280)
- Lua docstrings guidance #25345
- MAINTAIN.md, nvim_get_mark
- add
hl-DiagnosticDeprecated
andhl-DiagnosticUnnecessary
- add code-overview from wiki to src/nvim/README.md
- add comment for OSC 11 tmux passthrough (#26566)
- add installation and build guides from wiki to repo
- add lua typing for
vim.NIL
- add some missing changes from Vim runtime updates (#23533)
- add style rule regarding initialization
- add vim.lsp.buf.formatting_sync() to deprecated.txt (#23045)
- add wiki FAQ to the runtime documentation (#26539)
- adjust fswatch overflow message to mention docs with info
- adjust help-tag-right CSS for HTML #25858
- also change "vimL" and "viml" to "Vimscript" (#24414)
- apply current colorscheme to default highlight groups
- auto-generate docs for
vim.lpeg
andvim.re
- autocmds, misc
- breaking change in diagnostic goto #28541
- clarify about error in shada (#25594)
- clarify on_bytes arguments
- clarify vim.schedule_wrap behaviour
- convert BACKERS.md to backers.txt
- correct on_key docs (#27429)
- deprecate the "term_background" UI field
- deprecation policy #23138
- do not hardcode LSP version in URL #25648
- do not use deprecated functions #25334
- document $XDG environment variables #25227
- document TSNode:byte_length() (#26287)
- document breaking change for nvim_create_autocmd callback (#27484)
- document breaking change of cursor blink behavior (#26075)
- document header structure
- document setting g:clipboard to v:false (#28085)
- document special labels used in CI
- don't mention executable() can return -1
- drop "Can also be used as a method" #24508
- enforce "treesitter" spelling #27110
- explain why TUI is reinitialized on resume (#27177)
- fix erroneous nvim_buf_set_extmark example (#23404)
- fix links
- fix misparsed headings (#24162)
- fix misplaced mention of 'backupdir' (#25568)
- fix several misleading and superfluous wordings (#27609)
- fix type of setreg() argument {options} (#27631)
- fix type warnings
- fix typos (#23917)
- fix typos (#27868)
- fix typos and other small fixes (#25005)
- fix vim.snippet help tags (#26068)
- fix vim.tbl_get type annotations #23992
- format vim_diff.txt for "flow" layout #28584
- gather @notes items into one section
- handle whitespace in emmycomments
- improve 'tabline' click label docs (#27529)
- improve/add documentation of Lua types
- include backtrace for bug-crash #27065
- inline wiki page Deps.md into MAINTAIN.md
- inline wiki page Refactoring.md into MAINTAIN.md
- list NVIM_APPNAME as env on manpage (#25935)
- lsp, vim_diff
- luaref cleanup #24541
- misc
- misc #24163
- misc #24561
- miscellaneous doc and type fixes (#25554)
- more accurate typing for vim.tbl_extend
- move minimum reproduction template from wiki to repo
- move vim-patch wiki page to runtime documentation
- move vim-variables to separate file
- recommend testing nightly or stable for bug reports
- remove "#" comment char in @return
- remove "f" from default 'shortmess' value
- remove joke from pronounce
- remove mention of foreground/background/special keys in nvim_set_hl (#27558)
- remove mentions of scan-build
- remove more references to shm-f
- remove remaining mentions of hkmap (#28038)
- remove section on constants in style guide
- remove trailing spaces #24455
- replace
with ``` (#25136)
- restore accidentally removed line in :h 'ignorecase' (#25651)
- semantic token methods in :h lsp-method #23991
- simplify build instructions
- small fixes
- small fixes
- small fixes
- small fixes (#23619)
- small fixes (#25585)
- small fixes (#25831)
- small fixes (#26154)
- small fixes (#26243)
- small fixes (#26448)
- small fixes (#26651)
- small fixes (#27213)
- small fixes (#27364)
- small improvements to compl-autocomplete example (#25299)
- stricter bufname and bufnr types (#27454)
- support @since for api level #25574
- support inline markdown
- tags for commenting mappings without "-default" suffix (#28205)
- update FAQ URLs #27236
- update MAINTAIN.md
- update MAINTAIN.md
- update api.txt and add inline virtual text to news.txt
- update contributing
- update luvref.txt for version info
- update supported platforms
- update vim.schedule param name and type
- use
abort()
for unreachabledefault:
case in C - various #25289
- various clarifications (#23999)
- various clarifications (#24876)
- various fixes (#26929)
- various fixes (#27063)
- various fixes (#28208)
- vim.iter #26169
- BUILD: mention treesitter parser dependencies (#28226)
- INSTALL.md: remove update-alternatives instructions (#27060)
- MAINTAIN: Add note about deprecation policy exceptions (#25159)
- MAINTAIN: update deprecation policy (#24619)
- api: document nvim_buf_add_highlight vs nvim_buf_set_extmark (#23310)
- api: sort unreleased nvim__ functions last #28580
- build: update rhel/fedora build prerequisite (#27875)
- builtin: fix alignment of comments in code blocks (#24529)
- builtin: fix and annotate language blocks (#24506)
- builtin: fix lua types for vim.fn.sign_getplaced
- builtin: fix mapset() signature (#27008)
- builtin: fix some missing lines (#24615)
- builtin: fix some missing lines (#24759)
- builtin: overload functions with union return types
- builtin: remove signatures of undocumented functions (#27039)
- builtin: right align tags (#24522)
- builtin: show tag at first line with multiple signatures (#27577)
- builtin: small fixes (#24861)
- column: 'statuscolumn' redraw interaction with 'relativenumber'
- diagnostic: add return value of
vim.diagnostic.config()
(#26615) - diagnostic: fix typo in example
- diagnostic: return value of get() #24144
- editorconfig: move to source
- eval: add parameter type for vim.fn.mode() (#26776)
- eval: getline and indent function support string type
- ex_cmds: migration from "behave xterm" #24024
- extmarks: add undocumented "details" array fields
- gen_help_html: accept "~/" in file/dir params #24240
- gen_lsp.lua: re-generate vim.lsp._meta.protocol type annotations
- generators: bake into cmake
- gh: suggest distclean in issue template (#23222)
- glob: add glob module (#26853)
- html: algolia docsearch #23839
- html: define anchors for search engine #23879
- html: right-align inline tags (#23403)
- if_pyth: make it work with Python 3 instead of Python 2 (#23620)
- install: add more Linux install instructions #27350
- iter: add emmylua type to iter module (#23845)
- lpeg: merge upstream changes
- lpeg: remove double backticks from meta (#27659)
- lsp: LspInlayHint highlight group #24071
- lsp: add supports_method to vim.lsp.client docs (#26852)
- lsp: clean up LSP event documentation #24413
- lsp: describe semantic tokens highlight groups with more details
- lsp: fix
config.cmd
argument forvim.lsp.start_client
(#23560) - lsp: fix references to protocol.constants #24578
- lsp: fix type of
config.cmd
argument forvim.lsp.start_client
(#23550) - lsp: mark
ClientConfig.init_options
as optional - lsp: mention ctx.version
- lsp: nits and typos in client.lua
- lsp: remove obsolete didChangeConfiguration explanation (#27595)
- lsp: remove obsolete lsp-extension example (#23346)
- lsp: remove vim.lsp.sync (#23416)
- lua: add missing fields to treesitter/_meta
- lua: add missing word in docs for vim.empty_dict (#24401)
- lua: adds links to related keymap functions to keymap.set (#24337)
- lua: change lua-foo -> vim.foo
- lua: clarify fs.find() documentation #24394
- lua: clarify when
vim.bo
/vim.wo
acts like:setlocal
(#27708) - lua: do not render self args
- lua: don't include remote-only API functions (#26266)
- lua: fix generated
fname
param annotations #24533 - lua: improvements for LSP and Diagnostic
- lua: more improvements (#24387)
- lua: move function docs to lua files
- lua: the keyset nilocalypse
- lua: update ":{range}lua" docs + error message #27231
- lua: vim.str_utf_{start,end,pos} #24424
- luaref: fix tags for constants (#24203)
- luaref: remove parentheses from tags for typedefs (#24271)
- luv: correct uv.spawn options.args docs about the first argument
- luv: update to HEAD
- luvref: update to version bump
- megpack_rpc: add news entry for msgpack-rpc client type
- msgpack_rpc: add "msgpack-rpc" client type
- news: create new news, rename old news (#22922)
- news: expand the list of performance improvements
- news: very, very minorly
- options: add codeblock annotations to options.lua (#26696)
- options: fix mistakes (#24568)
- options: remove misleading sentence (#27129)
- options: take ownership of options.txt (#24528)
- powershell: use tee.exe instead of Tee-Object
- starting.txt: correct step number (#26185)
- style: add guideline for fixing compiler error on switch statement
- term: use tic -x for better compatibility with old ncurses (#25421)
- term.txt: reorder paragraphs about TUI input (#24367)
- test: add more info on debugging with gdb #25230
- treesitter: add disclaimer about needing to parse before
get_node()
- treesitter: add more examples, and improve consistency
- treesitter: fix ambiguous parameter description about
lang
- treesitter: improve 'no parser' error message for InspectTree
- tutor: clarify the meaning of ✗ and ✓ (#25204)
- tutor: include https urls where applicable (#27461)
- vim.iter: correct
bool
toboolean
(#27018) - vim_diff: fixed inconsistent autocmds behavior #24453
- vvars: fix wrong lua types in vim.v variables
- "ci: trigger tests when pushing"
- "feat(extmarks): subpriorities (relative to declaration order) (#27131)" (#28585)
- "feat(health): fold successful healthchecks #22866"
- "feat(treesitter): add foldtext with treesitter highlighting"
- "fix(window): :close crash with autocmd, floats and tabpage" (#27796)
- "fix: correct versions in deprecation warnings"
- "memory: Free buffers after freeing variables" (#26356)
- "refactor: eliminate
autocmd_fname_full
global" - "vim-patch:9.1.0055: formatting long lines is slow"
- packaging: installation context to per-machine on Windows
- shortmess+=C #23907
- update (#26025)
- update (#26441)
- update (#27036)
- update [skip ci] (#22095)
- update [skip ci] (#23388)
- update [skip ci] (#24830)
- update [skip ci] (#28201)