------------------------------------------------------------------- Thu Jul 20 09:24:25 UTC 2023 - Matej Cepl - Upgrade to 0.9.1+git.1689836628.63b340855: - feat(lsp): implement textDocument/diagnostic - docs(lua): clarify fs.find() documentation #24394 - feat(decoration_provider): log errors as error messages - feat(lsp): handle multiple clients in omnifunc - test(startup_spec): add a test for #18315 - docs(lua): more improvements - build(scripts): allow a git ref for lsp_types #24377 - refactor(lua2dox): overhaul - fix(fs.lua): normalize slash truncation - Merge pull request #24363 from lewis6991/docs/luatypes - feat(lsp)!: rename vim.lsp.get_active_clients to get_clients - fix: doc errors - fix: luacheck - refactor(gen_vimdoc): put defgroup handling in a function - docs(lua): change *lua-foo* -> *vim.foo* - docs(lua): move function docs to lua files - fix(terminal): don't send unknown special keys to terminal - feat(options)!: remove compatible behaviours for vim 5.0 and earlier - docs: handle whitespace in emmycomments - docs(lua): do not render self args - refactor: rename _meta.lua to _options.lua - test(fs): vim.loop was renamed to vim.uv - fix(inccommand): block errors when parsing command line again - test(fs): get tmpdir robustly #23021 - fix(clipboard): ignore exit caused by signal #23378 - docs(term.txt): reorder paragraphs about TUI input - fix(lsp): markdown code fence should allow space before info string #24364 - feat(api)!: change return type of nvim_win_text_height to Dict - feat(tui): support Super and Meta modifiers - feat(lsp): map K to hover by default #24331 - build(makefile): remove a phony target uninstall - fix(lsp): remove unknown LSP protocol property - fix(runtime): respect 'fileignorecase' when sourcing - fix(runtime): respect 'rtp' order for all runtime files - docs(lua): adds links to related keymap functions to keymap.set - perf(rtp): reduce rtp scans - build(deps): bump luajit to HEAD - 8635cbabf - fix(ui): cursor pos with left gravity inline virt_text at eol - test(extmarks): add test for virt_text_win_col with cpo+=n - feat(lsp): add method filter to get_active_clients - perf(extmarks): don't handle inline virt_text if there is none - fix(mouse): copy the line before syntax matching - fix(tutor): don't use concealed text in expected lines #24316 - fix(drawline): fix missing Visual hl on double-width fold char - perf(extmarks): avoid unnecessary marktree traversal with folds - feat(api): add nvim_win_text_height - vim-patch:9.0.1673: cannot produce a status 418 or 503 message - fix(lint): lint warnings #24226 - fix(completion): don't add backslashes to runtime pattern - fix(defaults): visual star (*) on text with "?" - fix(docs): match DocSearch style with site theme - fix(defaults): visual hash (#) on text with "?" - Merge #24295 from justinmk/doc2 - docs: gather @notes items into one section - docs: "Return (multiple)" heading - docs: MAINTAIN.md, nvim_get_mark - test(tui): add test for overriding argv[0] - fix(lsp): don't use hl_mode = combine for inlay hints #24276 - fix(extmarks): fix wrong highlight after "combine" virt_text - fix(startup): run embedded Nvim with real path - feat(lua): allow vim.wo to be double indexed - docs: CONTRIBUTING.md updates - fix(treesitter): update folds in all relevant windows - fix(folds): fix missing virt_lines above when fold is hidden - fix(drawline): inline virt_text hl_mode inside syntax/extmark hl - Merge #21677 fix(defaults): visual star (*,#) is fragile - refactor(defaults): use vim.region for visual star (*,#) - fix(defaults): visual mode star (*,#) is fragile - docs(luaref): remove parentheses from tags for typedefs - fix(vim.system): close check handle - fix(column): fix wrong cursor with 'statuscolumn' and cpo+=n - refactor(plines.c): update outdated comments - fix(ui): delay win_viewport until screen update #24182 - Merge pull request #23228 from seandewar/cmdwin-jail - fix(runtime): don't set gx mapping if already mapped - fix(plines): don't return very large height on very long line - fix(api): disallow some more functions during textlock - fix(api): use text_locked() to check textlock - Merge #23401 vim.ui.open: "gx" without netrw - fix(edit): fix K_EVENT interfering with 'digraph' - fix(vim.ui.open): return (don't show) error message - fix(gx): visual selection, expand env vars - feat(vim.ui): vim.ui.open, "gx" without netrw - fix(api): allow negative column arguments for nvim_buf_set_text - fix(lsp): revert change to buf.clear_references() #24238 - feat(l10n): update Turkish translations #24246 - perf(ui-ext): approximate scroll_delta when scrolling too much - fix(ui-ext): "scroll_delta" handle topfill and skipcol - fix(api, lua): make blank lines in a message work properly - fix(plines): handle inline virtual text after last char - docs(gen_help_html): accept "~/" in file/dir params #24240 - Merge pull request #23167 from dundargoc/refactor/long - refactor: remove long - Merge pull request #23891 from rickyz/grid_line_flags - perf(treesitter): cache fold query - build(deps): bump luv to 1.45.0-0 - build(nix): fix markdown parser #24225 - test: check for ASAN properly - vim-patch:9.0.1672: tabline highlight wrong after truncated double width label - fix(startup)!: "nvim -l" message does not end with newline #24215 - Merge pull request #24219 from clason/ts-hoon - fix(api): nvim_parse_cmd error message in pcall() #23297 - feat(version): unverbose ":version", ":verbose version" #24195 - fix(lsp): lint warnings, default offset_encoding #24046 - feat(treesitter): add bash parser and queries - feat(treesitter): add python parser and queries - feat(treesitter): bundle markdown parser and queries - build(deps): bump libuv to v1.46.0 - fix(startup): don't truncate when printing with -l - refactor: fix clang/PVS warnings - fix(lsp): fix attempt to call non existent function - Merge pull request #24147 from clason/fix/ftplugin - feat(lsp): move inlay_hint() to vim.lsp - test(lua/runtime_spec): add test for ftplugin ordering - docs(luaref): fix tags for constants - fix(statusline): fill for double-width char after moving items - feat(defaults): set g:netrw_use_errorwindow = 0 #24179 - fix(lsp): inlay_hint nil reference error #24202 - refactor: remove some casts to char * - fix(column): handle unprintable chars in 'statuscolumn' - test(statusline): add test with control characters - vim-patch:9.0.1671: Termdebug: error with more than 99 breakpoints - fix(column): use maxwidth to allocate/fill 'statuscolumn' click defs #24190 - fix(api): nvim_cmd{cmd="win_getid"} parsed as :winsize #24181 - vim-patch:9.0.1670: resetting local option to global value is inconsistent - fix(treesitter): handle empty region when logging - fix(treesitter): make foldexpr work without highlighting - fix(docs): ignore_invalid #24174 - docs(diagnostic): return value of get() #24144 - vim-patch:9.0.1668: PEM files are not recognized - Merge pull request #24170 from zeertzjq/vim-9.0.1664 - vim-patch:9.0.1667: regression test doesn't fail when fix is reverted - vim-patch:9.0.1664: divide by zero when scrolling with 'smoothscroll' set - vim-patch:9.0.1632: not all cabal config files are recognized - Merge #24153 from justinmk/doc - fix(startup): "nvim -l foo.lua" may not set arg0 #24161 - fix(docs): vimdoc syntax errors - build(deps): tree-sitter-vimdoc v2.0.1 - docs: fix misparsed headings - fix(treesitter): update lua parser and queries - fix(charset): fix wrong display of 0xffff - Merge pull request #24154 from zeertzjq/vim-9.0.1665 - vim-patch:9.0.1665: empty CmdlineEnter autocommand causes errors in Ex mode - vim-patch:8.2.3833: error from term_start() not caught by try/catch - fix(docs): too much whitespace around
 blocks #24151
  - Merge #24116 from justinmk/doc
  - docs: autocmds, misc
  - fix(docs): vimdoc syntax errors
  - fix(ftplugin): respect runtimepath ordering
  - vim-patch:9.0.1663: Termdebug on MS-Windows: some file names
    are not recognized
  - vim-patch:9.0.1661: BUCK files are not recognized
  - test(extmarks): add a test for #23848
  - vim-patch:9.0.1659: Termdebug: default highlight cleared if
    changing colorscheme
  - Merge pull request #24082 from smjonas/fix_24064
  - fix(extmarks): fix heap buffer overflow caused by inline
    virtual text
  - fix(lsp): error in reset_timer on second detach #24117
  - ci: introduce CI_LINT option
  - fix(filetype): correctly detect bash-fc-{id} files as "sh"
  - vim-patch:9.0.1644: not all filetype file name matches are
    tested
  - build(luarc.json): disable luadoc-miss-see-name #24108
  - fix(lsp): reapplying already-applied hints #24114
  - fix(cmdline): don't redraw 'tabline' in Ex mode
  - feat(lsp): opt-in to dynamicRegistration for inlay hints
  - vim-patch:9.0.1645: zserio files are not recognized
  - feat(extmarks): support hl_mode "combine" for inline
    virt_text
  - feat(lsp): soft deprecate vim.lsp.for_each_buffer_client
  - fix(messages): use "Vimscript" instead of "VimL" #24111
  - test: spellcheck :help (vimdoc) files #24109
  - fix(extmarks): hide inline virt_text properly with
    'smoothscroll'
  - fix(extmarks): empty inline virt_text interfering with
    DiffText
  - Merge #24087 from justinmk/doc
  - perf(lsp): remove grouping logic from lsp.status
  - feat(gen_help_html): ignore pi_netrw.txt errors
  - feat(gen_help_html): non-default vimdoc.so parser
  - fix(docs): vimdoc syntax errors
  - docs: lsp, vim_diff
  - Merge pull request #24098 from zeertzjq/fix-extmark
  - fix: tostring(vim.version()) fails if build is NIL #24097
  - fix(api): wrong nvim_buf_set_extmark error for invalid
    hl_mode
  - fix(extmarks): empty inline virt_text interfering with Visual
    highlight
  - feat(man): respect 'wrapmargin' when wrapping man pages
  - Merge #24086 LSP ctx.version, report full Nvim version
  - docs(lsp): mention ctx.version
  - fix(folds): don't show search or match highlighting on fold
  - refactor(lsp): report full Nvim version string in clientInfo
  - fix(vim.json)!: remove global options, "null", "array_mt"
    #24070
  - fix(lsp): add spacing for inlay hints separately #24079
  - fix(lsp): define LspInlayHint highlight group #24073
  - fix(lsp): always return boolean in lsp.buf_client_attach
  - Merge pull request #24069 from famiu/refactor/options/varp
  - fix(lsp): check if inlay hints are enabled for a buffer
    before disabling
  - refactor(lsp): extract common execute command functionality
  - refactor(option): use `void *` for pointer to option value
  - docs(lsp): LspInlayHint highlight group #24071
  - fix(lsp): duplicate on_detach, on_reload callbacks #24067
  - fix(ui): propagate line wrapping state on grid_line events

-------------------------------------------------------------------
Fri Apr  7 12:06:17 UTC 2023 - Matej Cepl 

- New release 0.9.0

-------------------------------------------------------------------
Sun Mar  5 22:57:24 UTC 2023 - Matej Cepl 

- Testing gh#neovim/neovim#22539

-------------------------------------------------------------------
Wed Jan 25 21:09:40 UTC 2023 - Matej Cepl 

- We don't need no libnsl.

-------------------------------------------------------------------
Mon Nov  7 12:49:08 UTC 2022 - Matej Cepl 

- Update to 451b8d6cb:
  - Merge pull request #20990 from zeertzjq/vim-8.2.2060
  - refactor(highlight): rename FloatBorderTitle #20988
  - "au! event" cannot be followed by another command
  - check for features implemented with "if"
  - docs(news): add linematch (#20927)
  - refactor: more clint (#20910)
  - Merge pull request #20987 from zeertzjq/vim-8.2.3751
  - docs(options): remove mentions of 'imactivatefunc' and 'imstatusfunc'
  - setting *func options insufficiently tested
  - lambda for option that is a function may be freed
  - options that take a function insufficiently tested
  - might crash when callback is not valid
  - cannot assign a lambda to an option that takes a function
  - cannot use a lambda for 'imactivatefunc'
  - fix(clipboard): prefer xsel #20918
  - feat: ":write ++p" creates parent dirs #20835
  - fix(tutor): failing to get buf name #20933
  - refactor: click definition functions #20923
  - ci: add stale bot #20884
  - #20680
  - ci: install only necessary dependencies #20970
  - fix(stdpath): default to /tmp if stdpath('run') cannot be created #20952
  - Merge pull request #20944 from zeertzjq/vim-8.2.3705
  - ci: request reviewers when PR is reopened #20972
  - crash when 'tagfunc' closes the window
  - using freed memory when 'tagfunc' deletes the buffer
  - cannot use a lambda for 'completefunc' and 'omnifunc'
  - cannot use Vim9 lambda for 'tagfunc'
  - cannot pass a lambda name to function() or funcref()
  - cannot use a lambda for 'tagfunc'
  - Merge pull request #20982 from zeertzjq/vim-8.2.2849
  - not enough tests for writing buffers
  - get readonly error for device that can't be written to
  - bufwrite not sufficiently tested
  - deletebufline() does not always return 1 on failure (#20980)
  - Merge pull request #20968 from zeertzjq/vim-8.2.2570
  - fix: add lfs to luarc.json (#20979)
  - help test fails in 24 line terminal
  - no need to check for BSD after checking for not root
  - some tests fail when run as root
  - tests fail when run as root
  - code coverage could be improved (#20969)
  - some tests fail on Cirrus CI and/or with FreeBSD (#20967)
  - old style comments in debugger source
  - test(old): remove stray test42 files (#20966)
  - feat(ui): add support to display a title in the border of a float (#20184)
  - no good reason why the "gf" command isn't in the tiny version (#20964)
  - Merge pull request #20962 from zeertzjq/vim-8.2.1736
  - E854 is not tested; some spelling suggestions are not tested
  - MS-Windows: test sometimes runs into existing swap file
  - failure to compile a pattern not tested much
  - Merge pull request #20961 from zeertzjq/vim-8.2.3055
  - check for uppercase char in autoload name is wrong
  - strange error for assigning to "x.key" on non-dictionary
  - refactor(eval): make get_lval() explicitly check for v:lua
  - fix(paste): feed keys as typed in cmdline mode (#20959)
  - Merge pull request #20955 from zeertzjq/vim-8.2.2918
  - wrong error when using extend() with funcref
  - E704 for script local variable is not backwards compatible
  - still a way to shadow a builtin function
  - builtin function can be shadowed by global variable
  - fix(eval): change some tv_dict_add() usages back to hash_add()
  - Merge pull request #20954 from zeertzjq/vim-8.2.2918
  - confusing error when expression is followed by comma
  - assignment test fails
  - Vim9: crash when using LHS with double index
  - checking for first character of dict key is inconsistent
  - Vim9: no error for missing white space at script level
  - docs(news): add news blurb for tmux clipboard change (#20950)
  - ci: replace deprecated feature set-output (#20834)
  - ci: remove ci/build.ps1 (#20891)
  - the window title is not redrawn when 'endoffile' changes (#20951)
  - ci: fix incorrect asan_symbolize name (#20900)
  - Merge pull request #20858 from dundargoc/build/lintsh
  - revert: "ci(commitlint): use pull_request_target to avoid "skip ci"" (#20845)
  - Merge pull request #20732 from dundargoc/build/default-cmake-args
  - MS-Windows: no error if vimgrep pattern is not matching (#20947)
  - Merge pull request #20946 from zeertzjq/vim-8.2.1106
  - test 49 is old style
  - crash when trying to use s: variable in typed command
  - memory leak in test 49
  - Merge pull request #17950 from zeertzjq/vim-8.2.4029
  - cannot make 'breakindent' use a specific column
  - with 'showbreak' set cursor displayed in wrong position
  - early return when getting the 'formatlistpat' value
  - cached breakindent values not initialized properly
  - debugging NFA regexp my crash, cached indent may be wrong
  - build: always ignore user's cmake preset (#20935)
  - Merge pull request #20774 from zeertzjq/vim-8.2.4679
  - fix(eval): make error number of charidx() same as Vim
  - cannot have expandcmd() give an error message for mistakes
  - strchars() defaults to counting composing characters
  - test for strchars() fails with different error number
  - Vim9: cannot pass "true" to split(), str2nr() and strchars()
  - Vim9: cannot use "true" with deepcopy()
  - using 2 where bool is expected may throw an error
  - cannot scroll a popup window to the very bottom
  - Merge pull request #20943 from zeertzjq/vim-8.2.4688
  - E1281 not tested with the old regexp engine
  - no error if engine selection atom is not at the start
  - new regexp does not accept pattern "\%>0v"
  - new regexp engine does not give an error for "\%v"
  - Merge pull request #20942 from zeertzjq/vim-8.2.5027
  - error for missing :endif when an exception was thrown
  - Vim9: wrong argument for append() results in two errors
  - duplicated code for adding buffer lines
  - Merge pull request #20941 from zeertzjq/vim-8.2.1183
  - not checking the context of test_fails()
  - test_fails() does not check the context of the line number
  - flaky failure in assert_fails()
  - Vim9: error for list index uses wrong line number
  - not all assert functions are fully tested
  - some tests fail
  - vim-patch:partial:8.2.1183: assert_fails() checks the last error message
  - regexp benchmark stest is old style (#20940)
  - version.c: update [skip ci] (#20825)
  - Merge pull request #20939 from zeertzjq/vim-8.2.0502
  - Vim9: no check for space before #comment
  - Vim9: some code is not tested
  - feat(clipboard): copy to system clipboard in tmux when supported (#20936)
  - Merge pull request #20938 from zeertzjq/vim-8.2.0644
  - not sufficient testing for buffer writing
  - not enough tests for buffer writing
  - insufficient testing for invalid function arguments
  - INT signal not properly tested
  - fix(fileio): use first available directory in backupdir for backupcopy (#20655)
  - fix(vim.diff): fix fastforward off-by-1 (#20937)
  - Merge pull request #20934 from zeertzjq/vim-8.2.0968
  - some operators not fully tested
  - some code in normal.c not covered by tests
  - various parts of code not covered by tests
  - some 'cpoptions' not tested
  - no proper testing of the 'cpoptions' flags
  - ci: skip tests if build fails (#20908)
  - regexp and other code not tested (#20930)
  - fix(vim.diff): correctly apply hunk offsets with linematch (#20931)
  - fix(diff): remove size_t underflow (#20929)
  - various functions not properly tested (#20926)
  - Enable new diff option linematch (#14537)
  - fix(man.lua): set modifiable before writing page (#20914)
  - Merge pull request #20782 from dundargoc/docs/typos
  - docs: fix typos
  - Merge pull request #20904 from zeertzjq/vim-9.0.0822
  - cannot drag an entry in the tabpage line
  - crash when using win_move_separator() in other tab page
  - mouse drag test fails
  - crash when dragging the statusline with a mapping
  - if 'endofline' is set CTRL-Z may be written in a wrong place (#20903)
  - build(lint): add more shell scripts to lintsh
  - build: add EXCLUDE option to add_glob_target
  - build(lint): remove clint.py rules for braces #20880
  - build(deps): bump lua parser to v0.0.14 (#20897)
  - Vim9: return type of readfile() is any (#20896)
  - build: give example on complex regexes
  - build(cmake): add modelines to enable syntax highlighting
  - build: rely on default cmake installation if possible

-------------------------------------------------------------------
Wed Sep 14 10:07:44 UTC 2022 - Matej Cepl 

- Convert to git driven build (https://gitea.opensuse.org/mcepl/neovim-master-pkg.git).
- Remove unnecessary patches (added to the build branch)
  - 20131-hunspell.patch
  - neovim-0.1.7-bitop.patch

-------------------------------------------------------------------
Sun Sep 11 20:15:46 UTC 2022 - mcepl@cepl.eu

- Add 20131-hunspell.patch to allow optional use of hunspell backend.
- Remove neovim-0.2.0-gcc-prototype.patch as it is not needed
  anymore, prototypes are apparently automatically generated.
- Update to version 0.8.0~git.1662905274.f98cff957:
  * vim-patch:9.0.0443: blueprint files are not recognized (#20155)
  * fix(lsp): schedule removal of client object (#20148)
  * vim-patch:71b6d3397649 (#20144)
  * build: ensure version generation always succeeds (#19515)
  * vim-patch:9.0.0434: gitignore files are not recognized (#20143)
  * refactor: replace char_u with char
  * ci: add more reviewers based on label (#17975)
  * docs: removed outdated coverage link
  * refactor: replace char_u with char
  * vim-patch:9.0.0427: Drupal theme files are not recognized (#20138)
  * vim-patch:9.0.0424: gitattributes files are not recognized (#20134)
  * build(deps): bump Luv to 1.44.2-1 (#20128)
  * ci: move BSD jobs from sourcehut to Cirrus CI #19616
  * ci(labeler): add treesitter label for query changes (#20122)
  * build(deps): bump tree-sitter-viml to 0.2.0 (#20121)
  * docs(lsp): update rpc.start stdio limitations (#20120)
  * fix(lsp): when buffer detach remove buffer from client attached buffers (#20081)
  * vim-patch:9.0.0417: Jsonnet files are not recognized (#20119)
  * build: remove unnecessary build functions
  * build: replace deprecated CMAKE_COMPILER_IS_GNUCC variable
  * build: remove unnecessary policy related code
  * build: remove ARGS from add_custom_command
  * feat(lsp): add range option to lsp.buf.format (#19998)
  * fix(treesitter): use the right loading order for base queries (#20117)
  * feat(treesitter)!: do not merge queries by default (#20105)
  * fix(docs): remove duplicate word
  * docs(treesitter): fix doxygen
  * vim-patch:9.0.0412: compiler warning for unused argument
  * vim-patch:9.0.0410: struct member cts_lnum is unused
  * vim-patch:9.0.0409: #{g:x} was seen as a curly-braces expression
  * vim-patch:8.2.3702: first key in dict is seen as curly expression and fails
  * vim-patch:9.0.0403: 'equalalways' may be off when 'laststatus' is zero (#20109)
  * fix(options): mark `winhighlight` as list style  (#19477)
  * vim-patch:9.0.0402: javascript module files are not recoginzed (#20108)
  * Use weak tables in tree-sitter code (#17117)
  * fix(diagnostic): remove buf from cache on `BufWipeout` (#20099)
  * refactor(typval): change FC_CFUNC abstraction into FC_LUAREF
  * build(treesitter): set CMAKE_C_STANDARD to C99
  * fix(terminal): adopt altscreen test for libvterm 0.2 changes
  * build(deps): use libvterm 0.3-rc1
  * feat(term): add support for libvterm >= 0.2
  * fix(ts): do not clobber spelloptions (#20095)
  * fix(treesitter): don't support legacy syntax in start()
  * build: consistently set build type regardless of generator or platform #19760
  * refactor: replace char_u with char
  * fix(cmdheight=0): various issues part3 #19816
  * refactor: migrate comment style 2 #20080
  * refactor(term): use const for title and add len to buf_set_term_title()
  * feat(extmarks,ts,spell): full support for spelling
  * refactor(treesitter): get_{nodes,captures}_at_{position,cursor}
  * feat(treesitter): upstream get_node_at_cursor()
  * vim-patch:partial 0daafaa7d99e (#20083)
  * docs: update .mailmap (#20086)
  * feat(treesitter): add vim.treesitter.start(), enable for Lua
  * fix(treesitter): do not link @error by default
  * feat(treesitter): add injections
  * feat(treesitter): add viml parser and queries
  * ci(tests): don't skip parsers on functionaltest
  * feat(treesitter): bundle Lua parser and queries
  * refactor(ex_cd): add an early return to fix clint warning
  * vim-patch:9.0.0386: some code blocks are nested too deep
  * docs(contributing): fix broken link (#20044)
  * feat(pum): pretend 'mousemoveevent' is set when showing right-click menu
  * feat(api): add "move" to nvim_input_mouse
  * feat(tui): support 'mousemoveevent'
  * feat(ui-ext): make 'mousemoveevent' a ui_option
  * vim-patch:8.2.4674: cannot force getting MouseMove events
  * vim-patch:088e8e344352
  * vim-patch:7.4.{1578,1624}
  * build(deps): bump tree-sitter-c to v0.20.2 (#20079)
  * ci: remove gpanders from api reviewers (#20074)
  * fix(filetype): run filetype.match on StdinReadPost (#20070)
  * feat(treesitter): include language in invalid query error (#14053)
  * ci(clint): remove "Inner expression indentation should be 4" rule (#20047)
  * build(deps): bump tree-sitter to v0.20.7 (#20067)
  * docs: update .git-blame-ignore-revs (#20066)
  * vim-patch:9.0.0362: expanding ":e %" does not work for remote files
  * vim-patch:9.0.0360: crash when invalid line number on :for is ignored
  * vim-patch:8.2.1505: not all file read and writecode is tested
  * refactor: migrate comment style (#20012)
  * fix(api)!: correctly deal with number before :tab
  * feat(Man): port to Lua (#19912)
  * fix(ui): ui compositor does not correctly free event callbacks
  * vim-patch:9.0.0349: filetype of *.sil files not well detected (#20050)
  * feat(api): add support for :horizontal modifier
  * vim-patch:9.0.0346: :horizontal modifier not fully supported
  * vim-patch:9.0.0342: ":wincmd =" equalizes in two directions
  * refactor: replace char_u with char
  * fix(lua): make ui_attach()/ui_detach() take effect immediately (#20037)
  * perf(messages): don't call ui_flush() per message line in various places
  * fix(maparg): remove double allocation (#20033)
  * vim-patch:9.0.0343: ColorScheme autocommand triggered when colorscheme not found (#20032)
  * feat(mapset): support restoring Lua callback (#20024)
  * refactor: replace char_u with char
  * refactor(highlight): make hlattrs2dict always use pre-allocated dict
  * feat(lua): vim.ui_attach to get ui events from lua
  * refactor(mappings)!: mapblock_fill_dict() use API Dictionary (#20020)
  * refactor: replace char_u with char
  * fix(api): nvim_set_hl bail out on invalid group name (#20021)
  * vim-patch:9b03d3e75b42 (#20013)
  * vim-patch:8.2.3102: test for crash fix does not fail without the fix (#20018)
  * vim-patch:8.2.0301: insufficient testing for exception handling (#20016)
  * vim-patch:8.1.2037: can call win_gotoid() in cmdline window (#20015)
  * vim-patch:9.0.0332: overwrite check may block BufWriteCmd (#20014)
  * fix(exceptions): restore `did_throw` (#20000)
  * Vim 9.0.{0314,0319}: some filetypes are not recognized (#20005)
  * refactor: replace char_u with char 4 (#19987)
  * docs(lua): present vim.o as default and vim.opt as special-purpose #19982
  * fix(docs): update lsp.rpc.start docs to match return value changes (#20003)
  * docs(lsp): replace formatting_sync example in lsp-faq (#19994)
  * fix(highlight): set the window namespace when redrawing statusline
  * feat(tui): recognize sidescroll events (#19992)
  * vim-patch:9.0.0320: command line type of CmdlineChange differs from getcmdtype()
  * refactor: move cmdline functions to ex_getln.c
  * vim-patch:9.0.0318: clearing screen causes flicker (#19993)
  * fix(redraw): handle switching to a tabpage with larger p_ch value
  * fix(lsp): clean the diagnostic cache when buffer delete (#19449)
  * refactor: replace char_u with char
  * vim-patch:9.0.0316: screen flickers when 'cmdheight' is zero (#19991)
  * refactor(plines): use a struct for chartabsize state
  * vim-patch:9.0.0285: it is not easy to change the command line from a plugin (#19979)
  * fix(events): triggered WinScrolled when only skipcol changed (#19972)
  * fix(keywordprg): default to :help if set to empty string (#19983)
  * feat(lsp): add tcp support
  * refactor(lsp): extract rpc client from rpc.start
  * refactor(lsp): encapsulate rpc uv handle
  * refactor(lsp): factor out read_loop function
  * fix(l10n): improve zh_CN and zh_TW translations (#19969)
  * vim-patch:8.2.3813: confusing error when using :cc without error list (#19978)
  * refactor: replace char_u with char
  * refactor: remove redundant casts
  * docs: fix typos (#19798)
  * vim-patch:8.2.1269: language and locale code spread out (#19964)
  * vim-patch:8.2.0660: the search.c file is a bit big (#19963)
  * vim-patch:9.0.0284: using static buffer for multiple completion functions
  * vim-patch:9.0.0283: cannot complete "syn list @cluster"
  * vim-patch:9.0.0279: the tiny version has the popup menu but not 'wildmenu'
  * vim-patch:9.0.0278: the +wildignore feature is nearly always available
  * vim-patch:9.0.0276: 'buftype' values not sufficiently tested
  * vim-patch:9.0.0275: BufEnter not triggered when using ":edit" in "nofile" buffer
  * vim-patch:9.0.0274: netrw plugin does not show remote files
  * vim-patch:9.0.0272: BufReadCmd not triggered when loading a "nofile" buffer
  * refactor: replace char_u with char
  * vim-patch:7dd543246a4c (#19960)
  * vim-patch:8.2.0674: some source files are too big (#19959)
  * fix(treesitter): make it get_captures_at_position
  * feat(treesitter): upstream get_hl_groups_at_position()
  * feat(treesitter)!: use @foo.bar style highlight groups
  * feat(highlight): support scoped @spam.eggs.baked_beans groups
  * vim-patch:8.1.2331: the option.c file is still very big (#19954)
  * refactor: change FALSE/TRUE to false/true
  * vim-patch:9.0.0040: use of set_chars_option() is confusing
  * refactor: set_chars_option()
  * vim-patch:9.0.0038: 'listchars' test fails
  * vim-patch:9.0.0036: 'fillchars' cannot have window-local values
  * vim-patch:8.2.2524: cannot change the characters displayed in the foldcolumn
  * vim-patch:9.0.0270: some values of 'path' and 'tags' invalid in the tiny version
  * vim-patch:9.0.0263: too many #ifdefs
  * fix(tests): use pending_c_parser when needed
  * refactor: replace char_u with char
  * fix(treesitter): more efficient node:root()
  * fix(docs): update auto-generated documentation
  * feat(treesitter): clarify similar 'get_node_range' functions
  * feat(treesitter): upstream node_contains()
  * feat(treesitter): upstream node_length() as a node method
  * feat(treesitter): upstream get_root_for_node() as a node method
  * feat(treesitter): upstream get_named_children() as a node method
  * feat(treesitter): add ability to retreive a tree/node given a range
  * feat(treesitter): add opts.concat to query.get_text_node
  * feat(treesitter): upstream is_parent()
  * vim-patch:8.2.0923: cmdline test is slow
  * vim-patch:8.2.0911: crash when opening a buffer for the cmdline window fails
  * vim-patch:9.0.0261: bufload() reads a file even if the name is not a file name (#19944)
  * refactor: pre-incr to post-incr
  * vim-patch:8.2.4356: command line completion functions are very long (#19943)
  * fix(usercmd): also check for whitespace after escaped character (#19942)
  * refactor: suppress clang and PVS warnings (#19940)
  * docs(contributing): add documenting guidelines from wiki (#19924)
  * vim-patch:8.2.4289: warnings reported by MSVC
  * vim-patch:8.2.2826: compiler warnings for int to size_t conversion
  * vim-patch:8.2.1960: warning for uninitialized variable
  * vim-patch:8.2.1728: compiler warning for using uninitialized variable
  * vim-patch:8.1.1085: compiler warning for possibly uninitialized variable
  * refactor: ins_compl_show_pum() (#19938)
  * vim-patch:partial:8.2.4001: insert complete code uses global variables
  * vim-patch:8.2.3942: Coverity reports a possible memory leak
  * vim-patch:8.2.4037: Insert mode completion is insufficiently tested
  * vim-patch:8.2.3989: some insert completion code is not tested
  * vim-patch:8.2.2534: missing test coverage
  * vim-patch:9.0.0102: reading past end of line with insert mode completion
  * vim-patch:9.0.0060: accessing uninitialized memory when completing long line
  * vim-patch:9.0.0046: reading past end of completion with duplicate match
  * vim-patch:9.0.0045: reading past end of completion with a long line
  * vim-patch:fd999452adaf (#19929)
  * fix(treesitter): free memory on removing parser (#19933)
  * feat(highlight)!: error on invalid names and allow '.' and '@'
  * test(treesitter): make internal lang test pending when necessary
  * feat(lua): add vim.iconv (#18286)
  * feat(eval)!: make Vim functions return inner window width and height (#19743)
  * vim-patch:partial:8.2.3953: insert completion code is too complicated (#19923)
  * refactor(api): provide a temporary copy solution for nvim_call_atomic
  * refactor(arena): use a shared block freelist
  * vim-patch:9.0.0020: with some completion reading past end of string (#19922)
  * vim-patch:8.2.3944: insert mode completion functions are too long
  * vim-patch:8.2.3937: Insert mode completion function is too long
  * fix(path): path_is_url returns false for "foo:/" #19797
  * fix(cmdline): do not trigger completion at wrong time (#19920)
  * vim-patch:9.0.0248: duplicate code in finding a script in the execution stack (#19917)
  * perf(api): allow to use an arena for return values
  * vim-patch:9.0.0206: redraw flags are not named specifically (#19913)
  * refactor(spell.c): resolve clint errors (#19875)
  * doc(CONTRIBUTING): update #19891
  * fix(inspect): escape identifiers that are lua keywords (#19898)
  * vim-patch:8.2.4842: expand("%:p") is not empty when there is no buffer name
  * vim-patch:8.2.4841: empty string considered an error for expand()
  * vim-patch:8.2.4749: