]> git.ipfire.org Git - thirdparty/vim.git/commitdiff
runtime(doc): Update version9.txt with numbered patches
authorChristian Brabandt <cb@256bit.org>
Wed, 4 Feb 2026 15:07:40 +0000 (15:07 +0000)
committerChristian Brabandt <cb@256bit.org>
Wed, 4 Feb 2026 15:07:40 +0000 (15:07 +0000)
Signed-off-by: Christian Brabandt <cb@256bit.org>
runtime/doc/version9.txt

index 48200b902406e3dcad81dcde7a3a32a9aaab5ea8..52d086a87095562f8a232c5600350a464cbd0e72 100644 (file)
@@ -1,4 +1,4 @@
-*version9.txt* For Vim version 9.1.  Last change: 2026 Jan 07
+*version9.txt* For Vim version 9.1.  Last change: 2026 Feb 04
 
 
                  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -41971,5 +41971,10494 @@ The list of patches that got included since 9.1.0.  This includes all the new
 features, but does not include runtime file changes (syntax, indent, ftplugin,
 documentation, etc.)
 
+Note: authorship and the list of changed files is left out and only visible
+through `git log` for each commit.
+
+Patch 9.1.0001
+Problem:  When closing the current window (or when moving it to a tabpage),
+          the previous window may refer to the new current window (`winnr() ==
+          winnr('#')`) if that window is selected as the new current window.
+Solution: Set `prevwin = NULL` when switching away from an invalid `curwin`
+          and the target window was the `prevwin`. (Sean Dewar)
+
+Patch 9.1.0002
+Problem:  a closing fold expression may unexpectedly start a new fold when it
+          should end a fold (reported by Shota Nozaki)
+Solution: if a fold hasn't started yet, do not immediately start a new fold
+          with level 1 (Shota Nozaki)
+
+Patch 9.1.0003
+Problem:  Cannot build against Ruby 33 dynamically
+Solution: Ruby 33 removed transient heap, so do not use rb_ary_transient
+          anymore, NoMethodError format changed, so update test for expected
+          error message (Isao Sato)
+
+Patch 9.1.0004
+Problem:  reloading colorscheme when not changing 'background'
+Solution: Check, if the background option value actually changed,
+          if not, return early.
+
+Patch 9.1.0005
+Problem:  OpenVMS build does not support python3 and xterm_save
+Solution: Enable python3 + xterm_save feature, fix style issues
+          (Zoltan Arpadffy)
+
+Patch 9.1.0006
+Problem:  is*() and to*() function may be unsafe
+Solution: Add SAFE_* macros and start using those instead
+          (Keith Thompson)
+
+Patch 9.1.0007
+Problem:  can select empty inner text blocks
+          (laurentalacoque)
+Solution: make selecting empty inner text blocks an error textobjects: Make
+          selecting inner empty blocks an error
+
+Patch 9.1.0008
+Problem:  NSIS installer includes syntax test dumps
+          (Yegappan Lakshmanan)
+Solution: Exclude syntax/testdir when creating the NSIS installer
+
+Patch 9.1.0009
+Problem:  Cannot easily get the list of matches
+Solution: Add the matchstrlist() and matchbufline() Vim script functions
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0010
+Problem:  Keymap completion is not available
+Solution: Add keymap completion (Doug Kearns)
+
+Patch 9.1.0011
+Problem:  regexp cannot match combining chars in collection
+Solution: Check for combining characters in regex collections for the
+          NFA and BT Regex Engine
+
+Patch 9.1.0012
+Problem:  regression with empty inner blocks introduced
+          (after v9.1.0007)
+Solution: Set correct cursor position, Check for visual mode
+          being active (Maxim Kim)
+
+Patch 9.1.0013
+Problem:  Modula2 filetype support lacking
+Solution: Improve the Modula-2 runtime support, add additional modula2
+          dialects, add compiler plugin, update syntax highlighting,
+          include syntax tests, update Makefiles (Doug Kearns)
+
+Patch 9.1.0014
+Problem:  incorrect use of W_WINROW in edit.c
+Solution: compare against curwin->w_height instead Remove incorrect use of
+          W_WINROW
+
+Patch 9.1.0015
+Problem:  i_CTRL-R- no longer works in replace mode
+Solution: delete characters in replace mode before putting, add a test, add a
+          bit warning into the documentation, that i_CTRL-R-P/O is not
+          supported in Replace mode for now
+
+Patch 9.1.0016
+Problem:  default diff highlighting is too noisy
+Solution: Link diff highlighting groups to new Added/Removed/Changed, revert
+          previous change (Romain Lafourcade)
+
+Patch 9.1.0017
+Problem:  use-after-free in eval1_emsg() when an empty line follows a lambda
+          (by @yu3s)
+Solution: only set evalarg->eval_using_cmdline = FALSE when the *arg pointer
+          is not null
+
+Patch 9.1.0018
+Problem:  use of #if instead of #ifdef
+Solution: use correct form of #ifdef
+
+Patch 9.1.0019
+Problem:  cmdline may disappear when changing 'cmdheight'
+          (after Patch 9.0.0190, @markonm)
+Solution: always re-calculate the old_p_ch value, not only
+          when cmdline_row was higher than expected
+
+Patch 9.1.0020
+Problem:  Vim9: cannot compile all methods in a class
+Solution: Support compiling all the methods in a class using :defcompile
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0021
+Problem:  i_CTRL-R- doesn't work for multibyte chars in Replace mode,
+          Coverity complains missing return value for u_save_cursor()
+Solution: Use mb_charlen() and del_chars() instead, handle failure mode
+          for u_save_cursor() correctly (@zeertzjq)
+
+Patch 9.1.0022
+Problem:  Coverity complains about improper use of negative value
+Solution: Add a condition to validate that keytyped is larger or equal
+          to 0
+
+Patch 9.1.0023
+Problem:  xxd: few problems with EBCDIC for z/OS (MVS)
+Solution: Fix xxd build and support ASCII and UTF-8 on z/OS (MVS)
+          natively, add MVS guard checks with __CHARSET_LIB,
+          support $LIBS in the Makefile (Igor Todorovski)
+
+Patch 9.1.0024
+Problem:  z/OS (MVS) support can be improved
+Solution: set UTF-8 as the default encoding for z/OS
+
+Patch 9.1.0025
+Problem:  A few typos in tests and justify.vim
+Solution: fix them
+
+Patch 9.1.0026
+Problem:  win32: Windows default font lacking (@clach04)
+Solution: Improve default font (Ken Takata)
+
+Patch 9.1.0027
+Problem:  Vim is missing a foreach() func
+Solution: Implement foreach({expr1}, {expr2}) function, which applies {expr2}
+          for each item in {expr1} without changing it (Ernie Rael)
+
+Patch 9.1.0028
+Problem:  win32: Ctrl-D cannot be used to close a pipe
+Solution: Properly detect Ctrl-D when reading from a pipe
+          (GuyBrush)
+
+Patch 9.1.0029
+Problem:  Cannot act on various terminal response codes
+Solution: Add the TerminalResponseAll autocommand
+          (Danek Duvall)
+
+Patch 9.1.0030
+Problem:  Cannot use terminal alternate fonts (PMunch)
+Solution: Support terminal alternate fonts using CSI SGR 10-20 and t_CF code
+          (PMunch)
+
+Patch 9.1.0031
+Problem:  Link Error on Windows
+Solution: Add ifdef HAVE_TGETENT for term_strings_not_set()
+
+Patch 9.1.0032
+Problem:  MS-Windows installer misses keymaps (Maxim Kim)
+Solution: Include keymaps in the installer archive (Ken Takata)
+
+Patch 9.1.0033
+Problem:  Insert mode not stopped if an autocommand modifies a hidden
+          buffer while closing a prompt buffer.
+Solution: Don't set b_prompt_insert if stop_insert_mode is already set.
+          (zeertzjq)
+
+Patch 9.1.0034
+Problem:  Window may unexpectedly scroll when 'scrollbind' is set
+          and setting a buffer-local option using setbufvar() (Boris Staletic)
+Solution: Save and restore the windows topline before opening the
+          popup window.
+
+Patch 9.1.0035
+Problem:  i_CTRL-] triggers InsertCharPre
+Solution: Return if CTRL-] is received. InsertCharPre is supposed to be only
+          used for chars to be inserted but i_CTRL-] triggers expansion and is
+          not inserted into the buffer (altermo)
+
+Patch 9.1.0036
+Problem:  MS-Windows: Warning about unused variable
+          (after 9.1.0030, John Marriott)
+Solution: Adjust #ifdef and test for HAVE_TGETENT (John Marriott)
+
+Patch 9.1.0037
+Problem:  Calling get_breakindent_win() repeatedly when computing virtual
+          column, and get_breakindent_win() does a STRCMP() on the whole line
+          since Patch 9.0.0016.
+Solution: Cache the result, since the line doesn't change.
+          (zeertzjq)
+
+Patch 9.1.0038
+Problem:  Unnecessary loop in getvcol().
+Solution: Compare next char position with pos->col directly (zeertzjq).
+
+Patch 9.1.0039
+Problem:  too vague errors for 'listchars'/'fillchars'
+Solution: Include the field name in error message (zeertzjq).
+
+Patch 9.1.0040
+Problem:  Modifying a hidden buffer still interferes with prompt buffer mode
+          changes.
+Solution: Save and restore b_prompt_insert (zeertzjq).
+
+Patch 9.1.0041
+Problem:  xxd -i may generate incorrect C statements (Kuratius)
+Solution: xxd: Make size type returned by -i option compatible with C standard
+          by using type size_t instead of unsigned int (Kuratius)
+
+Patch 9.1.0042
+Problem:  Missing test for Chuck filetype after (Christian Clason)
+Solution: Add a filetype test
+
+Patch 9.1.0043
+Problem:  ml_get: invalid lnum when :s replaces visual selection (@ropery)
+Solution: substitute may decrement the number of lines in a buffer, so
+          validate, that the bottom lines of the visual selection
+          stays within the max buffer line
+
+Patch 9.1.0044
+Problem:  po Makefiles can be improved
+Solution: Improve the style of the Makefiles, update Makefile variables,
+          update documentation (RestorerZ)
+
+Patch 9.1.0045
+Problem:  --remote-silent applies the wildignore option to each argument,
+          which may result in "E479: No match" (hebaronson)
+Solution: temporarily reset 'wildignore' setting when building the :drop
+          command
+
+Patch 9.1.0046
+Problem:  :drop does not re-use empty buffer (Rocco Mao)
+Solution: Make :drop re-use an empty buffer (Rocco Mao)
+
+Patch 9.1.0047
+Problem:  Things that temporarily change/restore curwin/buf (e.g: win_execute,
+          some autocmds) may break assumptions that curwin/buf is the cmdwin
+          when "cmdwin_type != 0", causing issues.
+Solution: Expose the cmdwin's real win/buf and check that instead. Also try to
+          ensure these variables are NULL if "cmdwin_type == 0", allowing them
+          to be used directly in most cases without checking cmdwin_type.
+          (Sean Dewar).
+
+Patch 9.1.0048
+Problem:  Autocmds triggered from opening the cmdwin (in win_split and
+          do_ecmd) can cause issues such as E199, as the current checks
+          are insufficient.
+Solution: Commands executed from the cmdwin apply to the old curwin/buf, so
+          they should be kept in a "suspended" state; abort if they've
+          changed. Also abort if cmdwin/buf was tampered with, and check that
+          curwin is correct. Try to clean up the cmdwin buffer (only if hidden
+          and non-current to simplify things; the same approach is used when
+          closing cmdwin normally), and add a beep. (Sean Dewar)
+
+Patch 9.1.0049
+Problem:  E95 is possible if a buffer called "[Command Line]" already exists
+          when opening the cmdwin. This can also happen if the cmdwin's buffer
+          could not be deleted when closing.
+Solution: Un-name the cmdwin buffer, and give it a special name instead,
+          similar to what's done for quickfix buffers and for unnamed prompt
+          and scratch buffers. As a result, BufFilePre/Post are no longer
+          fired when opening the cmdwin. Add a "command" key to the dictionary
+          returned by getbufinfo() to differentiate the cmdwin buffer instead.
+          (Sean Dewar)
+
+Patch 9.1.0050
+Problem:  Win32 Keyboard handling is sub-optimal and has many issues with
+          international keyboards (risa2000) (after v8.2.4807)
+Solution: soft-rollback the change, allow the user to select a suitable
+          key-translation strategy (Anton Sharonov)
+
+Patch 9.1.0051
+Problem:  MS-Windows: Key event test fail (after 9.1.0050)
+Solution: Catch Interrupt and return Ctrl-C
+
+Patch 9.1.0052
+Problem:  Patch 9.1.0041 causes regressions for users (Gleb
+          Fotengauer-Malinovskiy)
+Solution: Revert 9.1.0041 and restore old behaviour
+
+Patch 9.1.0053
+Problem:  MS-Windows: Key event test still fails
+Solution: Catch more interrupts (after 9.1.0051)
+
+Patch 9.1.0054
+Problem:  'linebreak' may still apply to leading whitespace (VanaIgr)
+Solution: Compare pointers instead of virtual columns (zeertzjq).
+
+Patch 9.1.0055
+Problem:  formatting long lines is slow (kawaii-Code)
+Solution: optimize gq (internal_format) for long lines (kawaii-Code)
+
+Patch 9.1.0056
+Problem:  Incorrect number of trailing spaces inserted for multibyte
+          characters when pasting a blockwise register in blockwise visual
+          mode (VanaIgr)
+Solution: Skip over trailing UTF-8 bytes when computing the number of trailing
+          spaces (VanaIgr)
+
+Patch 9.1.0057
+Problem:  MS-Windows: Key event test still fails
+Solution: Skip testing CTRL-C, since it causes an Interrupt which causes a
+          test failure (after 9.1.0053)
+
+Patch 9.1.0058
+Problem:  Cannot map Super Keys in GTK UI (Casey Tucker)
+Solution: Enable Super Key mappings in GTK using <D-Key> (Casey Tucker)
+
+Patch 9.1.0059
+Problem:  No event is triggered before creating a window
+Solution: Add the WinNewPre event (Sergey Vlasov).
+
+Patch 9.1.0060
+Problem:  Recorded register cannot be translated using keytrans() when it
+          involves character search (iddqd505)
+Solution: Record a K_IGNORE instead of a K_NOP (zeertzjq).
+
+Patch 9.1.0061
+Problem:  UX of visual highlighting can be improved
+Solution: Improve readibility of visual highlighting, by setting better
+          foreground and background colors
+
+Patch 9.1.0062
+Problem:  Internal error when :luado/perldo/pydo etc delete lines
+Solution: Test that the line is still valid line number (zeertzjq).
+
+Patch 9.1.0063
+Problem:  GTK code can be improved
+Solution: Improve GTK code for initial Wayland support (lilydjwg).
+
+Patch 9.1.0064
+Problem:  No Wayland support
+Solution: Add Wayland UI support (lilydjwg).
+
+Patch 9.1.0065
+Problem:  Segfault with CompleteChanged autocommand (markonm)
+Solution: Test match->cp_prev for being NULL before accessing it
+
+Patch 9.1.0066
+Problem:  gcc complains about use of uninitialized var (Tony Mechelynck, after
+          9.1.0064)
+Solution: initialize button to silence gcc
+
+Patch 9.1.0067
+Problem:  gcc still complains about use of uninitialized var (Tony Mechelynck,
+          after 9.1.0064/9.1.0066)
+Solution: This time init the correct variable
+
+Patch 9.1.0068
+Problem:  Visual highlighting can still be improved
+Solution: Update Visual highlighting for 8 color terminals, use uniform grey
+          highlighting for dark and light bg (Maxim Kim)
+
+Patch 9.1.0069
+Problem:  ScreenLines may not be correctly initialized, causing hang
+          (Olaf Seibert, after 9.0.0220)
+Solution: always initialize ScreneLines when allocating a screen (Olaf
+          Seibert)
+
+Patch 9.1.0070
+Problem:  CI: testsuite not run on M1 Mac
+Solution: Make it run on gh runners for M1, disable failing tests for now,
+          until we figure the problem with the failings tests out (rhysd)
+
+Patch 9.1.0071
+Problem:  Need a diff() Vim script function
+Solution: Add the diff() Vim script function using the xdiff internal diff
+          library, add support for "unified" and "indices" mode (Yegappan
+          Lakshmanan).
+
+Patch 9.1.0072
+Problem:  Not able to build without FEAT_DIFF (John Marriott, after 9.1.0071)
+Solution: Adjust #ifdefs (Yegappan Lakshmanan)
+
+Patch 9.1.0073
+Problem:  Looping over modifier_keys_table[] unnecessarily with only
+          MOD_MASK_ALT or MOD_MASK_CMD, as modifier_keys_table[] only contains
+          MOD_MASK_SHIFT and MOD_MASK_CTRL, and the loop won't do anything.
+Solution: Remove MOD_MASK_ALT and MOD_MASK_CMD from the condition (zeertzjq).
+
+Patch 9.1.0074
+Problem:  did_set_breakat() should be in optionstr.c as 'breakat' is a string
+          option.
+Solution: Move did_set_breakat() to optionstr.c (zeertzjq).
+
+Patch 9.1.0075
+Problem:  insert completion not correct when adding new leader
+Solution: Reset compl_curr_match to compl_shown_match (glepnir).
+
+Patch 9.1.0076
+Problem:  luau config file not detected (lopy)
+Solution: Detect it as jsonc (lopy)
+
+Patch 9.1.0077
+Problem:  The call to redraw_for_cursorline() in nv_mousescroll() is
+          unnecessary because redraw_for_cursorline() only sets redraw type to
+          UPD_VALID, and all code paths in do_mousescroll() already set redraw
+          type to at least UPD_VALID.
+Solution: Remove call to redraw_for_cursorline() in nv_mousescroll()
+          (zeertzjq).
+
+Patch 9.1.0078
+Problem:  GTK3: using wrong style for pre-edit area
+Solution: remove the widget name, adjust css (lilydjwg).
+
+Patch 9.1.0079
+Problem:  LineNrAbove and LineNrBelow background wrong on wrapped lines.
+Solution: Update number column also for wrapped part of a line (zeertzjq).
+
+Patch 9.1.0080
+Problem:  unexpected error for modifying final list using += operator
+          (Ernie Rael)
+Solution: Allow List value modification of a final variable using +=
+          operator (Yegappan Lakshmanan)
+
+Patch 9.1.0081
+Problem:  X11 mouse-scrolling stutters (Ron Aaron, after 9.1.0064)
+Solution: Handle GDK_SCROLL_SMOOTH fractional distance events
+          (lilydjwg)
+
+Patch 9.1.0082
+Problem:  Redrawing can be improved when deleting lines with 'cursorline'.
+Solution: Use smarter invalidation and adjustment.  Remove unnecessary
+          UPD_VALID as it is already set at the top of the loop.  Make the
+          test for #4862 fail without the fix (zeertzjq).
+
+Patch 9.1.0083
+Problem:  Redrawing can be improved when inserting/deleting lines with
+          'number'.
+Solution: Only redraw the number column of lines below changed lines. Add a
+          test as this wasn't previously tested (zeertzjq).
+
+Patch 9.1.0084
+Problem:  Visual hl wrong when it ends before multibyte 'showbreak' (lacygoil)
+Solution: Use vcol_sbr instead of adding n_extra (zeertzjq).
+
+Patch 9.1.0085
+Problem:  X11 scroll size changes after accessing clipboard (Ernie Rael)
+Solution: use GDK_SCROLL_MASK for X11 and GDK_SMOOTH_SCROLL_MASK for
+          Wayland (lilydjwg).
+
+Patch 9.1.0086
+Problem:  Problem when scrolling using slow touchpads scroll event
+Solution: Better ways to determine if a smooth scroll has ended (when
+          available) (lilydjwg).
+
+Patch 9.1.0087
+Problem:  Restore lastused_tabpage too early in do_arg_all() function it
+          will change later in the function.
+Solution: Restore lastused_tabpage a bit later, when being done with
+          tabpages (glepnir).
+
+Patch 9.1.0088
+Problem:  TextChanged not triggered for :norm! commands (machakann, after
+          v9.0.2031)
+Solution: Only reset curbuf->b_last_changedtick if TextChangedI was triggered
+          in insert mode (and not blocked)
+
+Patch 9.1.0089
+Problem:  qsort() comparison functions should be transitive
+Solution: Do not subtract values, but rather use explicit comparisons
+          Improve qsort() comparison functions
+
+Patch 9.1.0090
+Problem:  Assigning wrong colors when parsing terminal OSC response
+Solution: Correctly assign Green and Blue from the terminal response
+          (Maxim Kim)
+
+Patch 9.1.0091
+Problem:  Syntax test fails when run with non C locale
+Solution: Run syntax tests with C locale, clean up Xtestscript file,
+          strip environment variables from GetVimCommand() (h-east).
+
+Patch 9.1.0092
+Problem:  Compiler warning for missing type in scroll_event() (chdiza)
+Solution: Declare display_type explicitly as integer
+
+Patch 9.1.0093
+Problem:  Still a qsort() comparison function fuzzy_match_item_compare()
+          that returns result of subtraction (after 9.1.0089).
+Solution: Use an explicit comparison instead of subtraction (zeertzjq).
+
+Patch 9.1.0094
+Problem:  xxd: buffer-overflow when writing color output
+Solution: properly account for the color escape sequences and adjust LLEN
+          macro (Goffredo Baroncelli)
+
+Patch 9.1.0095
+Problem:  tests: test_restricted() fails (after: v9.1.0091)
+Solution: Add a space before the pipecmd and the actual Vim command to run
+
+Patch 9.1.0096
+Problem:  diff() function uses 'diffexpr' (rickhowe)
+Solution: Make diff() always use internal diff(), add support for unified diff
+          context length, sort diff() options in help (Yegappan Lakshmanan)
+
+Patch 9.1.0097
+Problem:  'breakindent' behaves inconsistently with 'list' and splits.
+Solution: Use 'listchars' from the correct window and handle caching properly.
+          Move cheaper comparisons to the top (zeertzjq).
+
+Patch 9.1.0098
+Problem:  CompletionChanged not triggered when new leader added causing
+          no matching item in the completion menu
+Solution: When completion is active but no items matched still trigger
+          CompletChanged event (glepnir).
+
+Patch 9.1.0099
+Problem:  Not able to use diff() with 'diffexpr' (rickhowe, after v9.1.0096)
+Solution: Use a default context length of 0, update diff() help text,
+          add a test for using diff() with 'diffexpr' (Yegappan Lakshmanan).
+
+Patch 9.1.0100
+Problem:  When undoing with 'spell', redrawWinline() is called after
+          changed_lines(), while later win_update() sets redraw type to
+          UPD_NOT_VALID, even though w_redraw_top and w_redraw_bot are
+          still valid.
+Solution: Only set redraw type to UPD_NOT_VALID when inserting/deleting
+          lines after parts of window has pending redraw, i.e., when
+          changed_lines() is called after redrawWinline() (zeertzjq).
+
+Patch 9.1.0101
+Problem:  upper-case of ß should be U+1E9E (CAPITAL LETTER SHARP S)
+          (fenuks)
+Solution: Make gU, ~ and g~ convert the U+00DF LATIN SMALL LETTER SHARP S (ß)
+          to U+1E9E LATIN CAPITAL LETTER SHARP S (ẞ), update tests
+          (glepnir)
+
+Patch 9.1.0102
+Problem:  settabvar() may change the last accessed tabpage.
+Solution: Save and restore lastused_tabpage (zeertzjq).
+
+Patch 9.1.0103
+Problem:  'breakindentopt' "min" works incorrectly with 'signcolumn'.
+Solution: Use win_col_off() and win_col_off2() (zeertzjq).
+
+Patch 9.1.0104
+Problem:  Linking fails with -lto because of PERL_CFLAGS (Zoltan Toth)
+Solution: Filter out -flto argument from Perl CFLAGS.
+
+Patch 9.1.0105
+Problem:  Style: typos found
+Solution: correct them (zeertzjq).
+
+Patch 9.1.0106
+Problem:  Visual highlight hard to read with 'termguicolors' (Maxim Kim)
+Solution: Set Visual GUI foreground to black (with background=light)
+          and lightgrey (with background=dark) (Maxim Kim).
+
+Patch 9.1.0107
+Problem:  CI: Fix MacOS-14 tests (after 9.1.0070)
+Solution: Re-enable sound tests by granting Mic access, disable
+          Test_diff_screen because of buggy MacOS diff (non GNU version),
+          re-enable Test_term_gettitle() (Yee Cheng Chin)
+
+Patch 9.1.0108
+Problem:  filetype: no support for dtso files
+Solution: Add detection for *.dtso files as dts file type (Markus
+          Schneider-Pargmann)
+
+Patch 9.1.0109
+Problem:  filetype: no support for its files
+Solution: Add detection for *.its files as dts file type (Brandon Maier)
+
+Patch 9.1.0110
+Problem:  No support for Config.in filetype
+Solution: filetype: add 'Config.in' filetype detection
+
+Patch 9.1.0111
+Problem:  filetype: no support for bats files
+Solution: Add .bats filetype support
+
+Patch 9.1.0112
+Problem:  When the quickfix buffer has been modified an autocommand may
+          invalidate the undo stack (kawarimidoll)
+Solution: When clearing the quickfix buffer, also wipe the undo stack
+
+Patch 9.1.0113
+Problem:  duplicate code when cleaning undo stack
+Solution: refactor undo cleanup into a single public function
+
+Patch 9.1.0114
+Problem:  Setting some options changes curswant unnecessarily.
+Solution: Add a P_HLONLY flag that prevents changing curswant (zeertzjq).
+
+Patch 9.1.0115
+Problem:  Using freed memory with full tag stack and user data
+          (Konstantin Khlebnikov)
+Solution: Clear the user data pointer of the newest entry (zeertzjq,
+          Konstantin Khlebnikov).
+
+Patch 9.1.0116
+Problem:  win_split_ins has no check for E36 when moving an existing
+          window
+Solution: check for room and fix the issues in f_win_splitmove()
+          (Sean Dewar)
+
+Patch 9.1.0117
+Problem:  win_splitmove fires WinNewPre and possibly WinNew when moving
+           windows, even though no new windows are created.
+Solution: Don't fire WinNew and WinNewPre when inserting an existing window,
+          even if it isn't the current window. Improve the accuracy of related
+          documentation. (Sean Dewar)
+
+Patch 9.1.0118
+Problem:  saving and restoring all frames to split-move is overkill now
+          that WinNewPre is not fired when split-moving.
+Solution: defer the flattening of frames until win_split_ins begins
+          reorganising them, and attempt to restore the layout by undoing our
+          changes. (Sean Dewar)
+
+Patch 9.1.0119
+Problem:  can switch windows while textlocked via f_win_gotoid and
+          f_win_splitmove (which also allows switching in the cmdwin).
+Solution: Check text_or_buf_locked in f_win_splitmove() (Sean Dewar)
+
+Patch 9.1.0120
+Problem:  hard to get visual region using Vim script
+Solution: Add getregion() Vim script function (Shougo Matsushita, Jakub
+          Łuczyński)
+
+Patch 9.1.0121
+Problem:  infinite loop in win_update with 'smoothscroll' set when
+          window width is equal to textoff, or signed integer overflow
+          if smaller.
+Solution: Don't revalidate wp->w_skipcol in that case, as no buffer text
+          is being shown. (Sean Dewar)
+
+Patch 9.1.0122
+Problem:  Some minor issues with the getregion() function
+Solution: Fix examples in the help, use OP_NOP op_type and MBLOCK
+          as motion_type in f_getreg(), update vim syntax to for getregion()
+          (Maxim Kim)
+
+Patch 9.1.0123
+Problem:  MS-Windows: system() may deadlock when calling binaries that
+          expect stdin
+Solution: Ignore the SHELL_EXPAND flag (GuyBrush)
+
+Patch 9.1.0124
+Problem:  Virtual text with text_align 'right'/'below' wasn't being used when
+          a non-virtual text property overlaps with the end of the line. This
+          was because the non-virtual text property had a higher priority,
+          preventing the virtual text from being used.
+Solution: Fix the sorting of text properties so virtual text properties have a
+          higher priority than non-virtual text properties (Dylan
+          Thacker-Smith).
+
+Patch 9.1.0125
+Problem:  unused init of text_prop_idxs in win_line
+Solution: Remove it, fix typo (Dylan Thacker-Smith).
+
+Patch 9.1.0126
+Problem:  Internal error when passing mark in another buffer to getregion().
+Solution: Don't allow marks in another buffer (zeertzjq)
+
+Patch 9.1.0127
+Problem:  Naming a non-pointer variable "oap" is strange.
+Solution: Rename it to "oa". Also prevent using freed memory in case of memory
+          allocation failure (zeertzjq).
+
+Patch 9.1.0128
+Problem:  win_gotoid() checks for textlock and other things when switching
+          to a window that is already current (after v9.1.0119)
+Solution: return early with success when attempting to switch to curwin
+          (Sean Dewar)
+
+Patch 9.1.0129
+Problem:  Virtual text with text_wrap 'wrap' was effectively being truncated
+          by a break conditional on the EOL list character being added to the
+          screen line. (BigPeet)
+Solution: Remove the condition that was leading to the early break and instead
+          fix a similar but incorrectly written outer condition that checks if
+          there is more to add at the end of the screen line. (Dylan
+          Thacker-Smith)
+
+Patch 9.1.0130
+Problem:  heap-use-after-free in win_splitmove if Enter/Leave autocommands
+          from win_split_ins immediately closes "wp".
+Solution: check that "wp" is valid after win_split_ins (Sean Dewar).
+
+Patch 9.1.0131
+Problem:  buffer-completion code too complicated and does not always find all
+          matches (irisjae)
+Solution: do not try to anchor pattern to beginning of line or
+          directory-separator, always return all matches
+
+Patch 9.1.0132
+Problem:  using "C" and 've=all' set, doesn't include composing chars when
+          changing a line, keeps the composing chars for whatever is typed
+          afterwards.
+Solution: Use mb_head_off() and mb_ptr2len() instead of mb_tail_off().
+          (zeertzjq)
+
+Patch 9.1.0133
+Problem:  font ligatures don't render correctly in the Win32 GUI-version of
+          gvim even when set rop=type:directx is used. Setting guiligatures
+          also doesn't make any difference. This leads to broken font
+          ligatures when the cursor passes through them. It does not recover
+          from this, and they remain broken until you re-render the whole
+          buffer (e.g. by using Ctrl+L).
+Solution: The problem is that we only re-draw the current and previous
+          character in gui_undraw_cursor() and only have the special case for
+          GTK when it comes to rendering ligatures. So let's enable
+          gui_adjust_undraw_cursor_for_ligatures() to also happen for Win32
+          GUI if guiligatures is setup correctly (all this does is expand the
+          range of gui_undraw_cursor() with ligature characters).
+
+Patch 9.1.0134
+Problem:  Test_term_gettitle() is flaky on MacOS 14 and Github runners
+Solution: Skip the test on Github CI
+
+Patch 9.1.0135
+Problem:  Insufficient testing for 'delcombine'.
+Solution: Add test for both Normal and Insert modes without Arabic (zeertzjq).
+
+Patch 9.1.0136
+Problem:  Vim9: need more test for exists()
+Solution: Add test for exists() with class/objct variables and methods
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0137
+Problem:  <Del> in cmdline mode doesn't delete composing chars
+Solution: Use mb_head_off() and mb_ptr2len() (zeertzjq).
+
+Patch 9.1.0138
+Problem:  too many STRLEN calls when getting a memline
+Solution: Optimize calls to STRLEN(), add a few functions in memline.c
+          that return the byte length instead of relying on STRLEN() (John
+          Marriott).
+
+Patch 9.1.0139
+Problem:  MS-Windows: ligatures map cleared on startup
+Solution: Don't clear the ligatures_map, if the guiligatures option has
+          already been set (Erik S. V. Jansson)
+
+Patch 9.1.0140
+Problem:  The cursor screen row was incorrectly being calculated when the
+          cursor follows a 1 character text_align 'below' virtual text line,
+          resulting in the cursor being shown on the wrong line. This was
+          caused by a cell size of 2 instead of 1 being used for the EOL
+          character, which propagated to the calculation of space for putting
+          the 'below' virtual text on its own line. (rickhowe)
+Solution: Fix the size used for the EOL character in calculating the cursor's
+          screen position (Dylan Thacker-Smith).
+
+Patch 9.1.0141
+Problem:  Put in Visual mode wrong if it replaces fold marker.
+Solution: Temporarily disable folding during put in Visual mode (zeertzjq).
+
+Patch 9.1.0142
+Problem:  getregion() can be improved (after v9.1.120)
+Solution: change getregion() implementation to use pos as lists and one
+          optional {opt} dictionary (Shougo Matsushita)
+
+Patch 9.1.0143
+Problem:  [security]: autocmd cause use-after-free in set_curbuf()
+          (kawarimidoll)
+Solution: check side-effect of BufLeave autocommand, when the number
+          of windows changed, close windows containing buffers that will
+          be wiped, if curbuf changed unexpectedly make sure b_nwindows
+          is decremented otherwise it cannot be wiped
+
+Patch 9.1.0144
+Problem:  getregion() needs more tests
+Solution: Run the getregion() test in both the legacy and Vim9 contexts
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0145
+Problem:  the amount of available space (v:echospace) on the command line is
+          not correct when showcmdloc is drawn into the statusline or tabline.
+Solution: only add SHOWCMD_COLS to the shown command column when 'showcmdloc'
+          is set to last (Sam-programs)
+
+Patch 9.1.0146
+Problem:  v:echospace wrong after setting invalid value to 'showcmdloc'.
+Solution: Only call comp_col() if value is valid (zeertzjq).
+
+Patch 9.1.0147
+Problem:  Cannot keep a buffer focused in a window (Amit Levy)
+Solution: Add the 'winfixbuf' window-local option (Colin Kennedy).
+
+Patch 9.1.0148
+Problem:  Vim9: can't call internal methods with objects
+Solution: Add support for empty(), len() and string() function calls for
+          objects (Yegappan Lakshmanan)
+
+Patch 9.1.0149
+Problem:  qf_goto_win_with_qfl_file may check if prevwin has 'winfixbuf'
+          set without checking if it's valid first.
+Solution: Reverse the condition. Add a test, a modeline, and a missing
+          CheckFeature. (Searn Dewar)
+
+Patch 9.1.0150
+Problem:  several minor 'winfixbuf' issues exist, mostly relating to the
+          quickfix list
+Solution: address them and adjust tests. Retab and reflow a few things too.
+          (Sean Dewar)
+
+Patch 9.1.0151
+Problem:  ml_get_buf_len() does not consider text properties (zeertzj)
+Solution: Store text length excluding text properties length
+          in addition in the memline
+
+Patch 9.1.0152
+Problem:  Coverity complains about ignoring return value of win_split()
+          (after v9.1.150)
+Solution: Check if win_split() failed, add winfixbuf.res to Makefile
+
+Patch 9.1.0153
+Problem:  Text properties corrupted with fo+=aw and backspace
+Solution: Allocate line and move text properties (zeertzjq).
+
+Patch 9.1.0154
+Problem:  shm=F not respected when reloading buffer with 'autoread'
+Solution: Check SHM_FILEINFO in buf_check_timestamp() (Shougo Matsushita).
+
+Patch 9.1.0155
+Problem:  can only call getregion() for current buffer
+Solution: Allow to retrieve selections from different buffers (Shougo
+          Matsushita).
+
+Patch 9.1.0156
+Problem:  may not be clear why failing to split causes an ":Xdo" command to
+          abort if 'wfb' is set.
+Solution: Do not return immediately if win_split fails, so E1513 is still
+          given. Expect both errors in the test. Also fix tests to pass CI
+          (Sean Dewar).
+
+Patch 9.1.0157
+Problem:  Duplicate assignment in f_getregion().
+Solution: Remove the duplicate assignment.  Also improve getregion() docs
+          wording and fix an unrelated typo (zeertzjq).
+
+Patch 9.1.0158
+Problem:  'shortmess' "F" flag doesn't work properly with 'autoread'
+          (after 9.1.0154)
+Solution: Hide the file info message instead of the warning dialog
+          (zeertzjq)
+
+Patch 9.1.0159
+Problem:  Crash in WinClosed after BufUnload closes other windows
+Solution: Don't trigger WinClosed if the buffer is NULL (zeertzjq).
+
+
+Patch 9.1.0160
+Problem:  Add support for using a class type of itself in an object method
+          (thinca)
+Solution: Vim9: Add support for using a class type of itself in an
+          object method (Yegappan Lakshmanan)
+
+Patch 9.1.0161
+Problem:  expand() removes a slash after an environment variable that ends
+          with a colon on Windows.
+Solution: Check the correct char for a colon (zeertzjq)
+
+Patch 9.1.0162
+Problem:  Problem with writing extended attributes on failure
+Solution: Change return type to ssize_t and check listxattr's return
+          value correctly on failure (Paul Tagliamonte)
+
+Patch 9.1.0163
+Problem:  Calling STRLEN() to compute ml_line_textlen when not needed.
+Solution: Use 0 when STRLEN() will be required and call STRLEN() later.
+          (zeertzjq)
+
+Patch 9.1.0164
+Problem:  Internal error or crash when passing invalid position to
+          getregion().
+Solution: Give an error for invalid position (zeertzjq).
+
+Patch 9.1.0165
+Problem:  Vim9: Importing an autoload imported script fails
+          (Song-Tianxiang)
+Solution: Return the script ID in this case (Yegappan Lakshmanan).
+
+Patch 9.1.0166
+Problem:  Internal error with blockwise getregion() in another buffer
+Solution: Also change curwin->w_buffer when changing curbuf (zeertzjq).
+
+Patch 9.1.0167
+Problem:  Changing buffer in another window using win_execute() causes
+          it to show matchparen (after 9.0.0969).
+Solution: Delay highlighting with SafeState in BufWinEnter (zeertzjq).
+
+Patch 9.1.0168
+Problem:  too many STRLEN() calls
+Solution: Make use of ml_get_len() calls instead (John Marriott).
+
+Patch 9.1.0169
+Problem:  current window number returned by tabpagewinnr may be outdated when
+          called from win_execute for the original tabpage.
+Solution: update the original tabpage's tp_curwin in switch_win; use
+          {un}use_tabpage instead. Don't do it in restore_win to ensure
+          tp_curwin of the temporarily visited tabpage is unchanged from
+          switch_win visiting it, as before. (Sean Dewar)
+
+Patch 9.1.0170
+Problem:  more places exist where curwin == prevwin, and it may even be
+          expected in some cases.
+Solution: revert v9.1.0001, but document that it's possible instead.
+          (Sean Dewar)
+
+Patch 9.1.0171
+Problem:  small improvements can be made to split-move related functions.
+Solution: apply them (Sean Dewar):
+
+Patch 9.1.0172
+Problem:  More code can use ml_get_buf_len() instead of STRLEN().
+Solution: Change more STRLEN() calls to ml_get_buf_len().  Also do not
+          set ml_line_textlen in ml_replace_len() if "has_props" is set,
+          because "len_arg" also includes the size of text properties in
+          that case (zeertzjq).
+
+Patch 9.1.0173
+Problem:  msgfmt ver. 0.22 forcibly converts text to UTF-8
+Solution: use '--no-convert' if msgfmt supports it. Add a configure
+          check for the msgfmt version (RestorerZ).
+
+Patch 9.1.0174
+Problem:  'cursorline' and 'wincolor' highlight missing with concealed and
+          wrapped lines.
+Solution: Apply 'cursorline' and 'wincolor' highlight to boguscols.
+        (zeertzjq)
+
+Patch 9.1.0175
+Problem:  winframe functions incorrectly recompute window positions if
+          the altframe wasn't adjacent to the closed frame, which is
+          possible if adjacent windows had 'winfix{width,height}' set.
+Solution: recompute for windows within the parent of the altframe and
+          closed frame. Skip this (as before) if the altframe was
+          top/left, but only if adjacent to the closed frame, as
+          positions won't change in that case. Also correct the return
+          value documentation for win_screenpos. (Sean Dewar)
+
+Patch 9.1.0176
+Problem:  Cursor column wrong with 'virtualedit' and conceal.
+Solution: Correct cursor column at end of line if never reached (zeertzjq).
+
+Patch 9.1.0177
+Problem:  Coverity reports dead code.
+Solution: Remove the dead code. Also fix a mistake in ml_get_pos_len()
+          and update some comments (zeertzjq).
+
+Patch 9.1.0178
+Problem:  E1513 might be confusing (Christoph Thoma)
+Solution: Reword error message, fix test to not depend on the actual message.
+
+Patch 9.1.0179
+Problem:  'wincolor' highlight missing with "below" virtual text.
+Solution: Subtract n_attr_skip from n_attr.  Combine 'wincolor' with other
+          highlights when 'nowrap' is set (zeertzjq).
+
+Patch 9.1.0180
+Problem:  Cursor pos wrong when double-width chars are concealed.
+Solution: Advance one more virtual column for a double-width char. Run some
+          tests with both 'wrap' and 'nowrap' (zeertzjq).
+
+Patch 9.1.0181
+Problem:  no overflow check for string formatting
+Solution: Check message formatting function for overflow (Chris van Willegen).
+
+Patch 9.1.0182
+Problem:  Can define function with invalid name inside 'formatexpr'.
+Solution: Use goto instead of checking for did_emsg later (zeertzjq).
+
+Patch 9.1.0183
+Problem:  Wrong display or screenpos() result when toggling diff mode.
+Solution: Reset w_skipcol when disabling 'wrap'.  Reset w_leftcol when
+          enabling 'wrap' (zeertzjq).
+
+Patch 9.1.0184
+Problem:  Cursor position wrong when clicking with conceal and wrap.
+Solution: Use the virtual column of the last char for ScreenCols[] in
+          boguscols.  Remove use of MAXCOL in ScreenCols[].  Rename
+          third argument of wlv_screen_line() to "clear_end" as that's
+          clearer what it does (zeertzjq).
+
+Patch 9.1.0185
+Problem:  'wincolor' highlight missing with 'rightleft', "below" virtual
+          text and 'nowrap'.
+Solution: Handle 'rightleft' in draw_screen_line() (zeertzjq).
+
+Patch 9.1.0186
+Problem:  Wrong cursor position when clicking after end of line with
+          'rightleft', 'virtualedit' and conceal.
+Solution: Set values in ScreenCols[] also with SLF_RIGHTLEFT.  Also fix
+          off-by-one cursor position with 'colorcolumn' (zeertzjq).
+
+Patch 9.1.0187
+Problem:  Dafny files are not recognized.
+Solution: Recognize *.dfy files as filetype "dafny" (zeertzjq).
+
+Patch 9.1.0188
+Problem:  Vento files are not recognized.
+Solution: Recognize *.vto files as filetype "vento" (wrapperup)
+
+Patch 9.1.0189
+Problem:  Memory leak with "above" virtual text and 'relativenumber'.
+Solution: Free "text_props" and "text_prop_idxs" before returning.
+          Also fix off-by-one error causing line number to be drawn
+          beyond end of window (zeertzjq).
+
+Patch 9.1.0190
+Problem:  complete_info() returns wrong order of items (after v9.0.2018)
+Solution: Revert Patch v9.0.2018 (Girish Palya)
+
+Patch 9.1.0191
+Problem:  Installer does not remove all files
+Solution: Update installer and delete all files on uninstall update Sodium
+          library dependency, update Readme (RestorerZ)
+
+Patch 9.1.0192
+Problem:  :drop tries to :rewind the argumentlist, which results in E37
+          (after v9.1.0046)
+Solution: Instead of calling ex_rewind(), call open_buffer() only when
+          re-using the initial empty buffer
+
+Patch 9.1.0193
+Problem:  May leak memory in completion when ga_grow() fails.
+Solution: Free "wca" when ga_grow() fails (zeertzjq).
+
+Patch 9.1.0194
+Problem:  gcc complains about uninitialized var (Tony Mechelynck)
+Solution: Initialize to NULL
+
+Patch 9.1.0195
+Problem:  memleak with ex_drop(), NULL dereference (zeertzjq)
+Solution: Revert back to ex_rewind(), use curbuf instead of buf
+
+Patch 9.1.0196
+Problem:  filetype: support for gnuplot files is lacking
+Solution: Also detect *.gnuplot files (RobbiZ98).
+
+Patch 9.1.0197
+Problem:  Vim9: problem evaluating negated boolean logic (lxhillwind)
+Solution: Don't clear the first value on short circuit evaluation
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0198
+Problem:  Vim9: compound operators broken for lambdas in an object
+          (girishji)
+Solution: When using an object from the outer scope, use the LOADOUTER
+          instruction to load the object (Yegappan Lakshmanan).
+
+Patch 9.1.0199
+Problem:  Not enough tests for the slice() function.
+Solution: Test with multibyte chars, and in both Legacy and Vim9 script.
+          Update docs to be clearer about how it treats composing chars
+          (zeertzjq).
+
+Patch 9.1.0200
+Problem:  `gj`/`gk` was updating the desired cursor virtual column to
+          the outer virtual text, even though the actual cursor position
+          was moved to not be on the virtual text, leading the need to
+          do an extra `gj`/`gk` to move past each virtual text line (rickhowe).
+Solution: Exclude the outer virtual text when getting the line length
+          for moving the cursor with `gj`/`gk`, so that no extra movement is
+          needed to skip over virtual text lines (Dylan Thacker-Smith).
+
+Patch 9.1.0201
+Problem:  `gM` would include outer virtual text and its padding when
+          getting the line length used to calculate the middle of the
+          line, putting the cursor much closer to virtual text lines.
+Solution: Exclude outer virtual text in getting the line length for
+          `gM`, so that virtual text doesn't influence where the cursor
+          is moved to (Dylan Thacker-Smith).
+
+Patch 9.1.0202
+Problem:  leaking memory in add_user() (LuMingYinDetect)
+Solution: Free user_copy pointer instead of the user ptr
+
+Patch 9.1.0203
+Problem:  build-error on GNU HURD
+Solution: Define _XOPEN_SOURCE like for Android and Cygwin
+          (James McCoy)
+
+Patch 9.1.0204
+Problem:  Backspace inserts spaces with virtual text and 'smarttab'.
+Solution: Ignore virtual text and wrapping when backspacing (zeertzjq).
+
+Patch 9.1.0205
+Problem:  Cannot use modifiers before :-Ntabmove.
+Solution: Check backwards from the command instead of checking from the start
+          of the command line. Slightly adjust docs to make them more
+          consistent (zeertzjq).
+
+Patch 9.1.0206
+Problem:  unused display_text_first boolean var in win_line()
+Solution: Remove unused display_text_first boolean variable
+          (Dylan Thacker-Smith)
+
+Patch 9.1.0207
+Problem:  No autocommand when writing session file
+Solution: Add SessionWritePost autocommand (Colin Kennedy).
+
+Patch 9.1.0208
+Problem:  winfixbuf does not allow to re-edit current buffer
+          (Tim Pope, after v9.1.0147)
+Solution: Explicitly allow :e even when 'winfixbuf' is set,
+          since it just re-loads the current buffer (Colin Kennedy).
+
+Patch 9.1.0209
+Problem:  leaking memory in exe_newdict() on error (LuMingYinDetect)
+Solution: free allocated dict if GA_GROW_FALIS()
+
+Patch 9.1.0210
+Problem:  Motif: leaking memory when mui_mch_dialog() fails (LuMingYinDetect)
+Solution: When allocating the label using the XmStringCreateLtoR()
+          function fails, before returning also free the allocated
+          buttons pointer.
+
+Patch 9.1.0211
+Problem:  Page-wise scrolling with Ctrl-F/Ctrl-B implements it's own logic to
+          change the topline and cursor. In doing so, skipcol is not handled
+          properly for 'smoothscroll', and virtual lines.
+Solution: Re-use the logic from Ctrl-E/Ctrl-Y while staying backward
+          compatible as much as possible.
+
+Patch 9.1.0212
+Problem:  CI: MS-Windows fails in test_winfixbuf (after v9.1.208)
+Solution: Skip Ms-Windows for now, fix style
+
+Patch 9.1.0213
+Problem:  CI: MS-Windows fails in test_winfixbuf (after v9.1.208)
+Solution: Instead of skipping the test, write the file so it exists on disk,
+          to verify that MS-Windows short filename expansion is successful.
+          (Sean Dewar)
+
+Patch 9.1.0214
+Problem:  Duplicate condition in win_lbr_chartabsize().
+Solution: Remove the duplicate condition, as it's already checked above.
+          (zeertzjq)
+
+Patch 9.1.0215
+Problem:  Page-wise scrolling with Ctrl-D/Ctrl-U implements
+          it's own logic to change the topline and cursor.
+          More logic than necessary for scrolling with Ctrl-F/Ctrl-B
+          was removed in Patch 9.1.0211.
+Solution: Re-use the logic from Ctrl-E/Ctrl-Y/Ctrl-F/Ctrl-B while
+          staying backward compatible as much as possible.
+          Restore some of the logic that determined how many lines will
+          be scrolled (Luuk van Baal)
+
+Patch 9.1.0216
+Problem:  Error on exit with EXITFREE and 'winfixbuf'.
+Solution: Handle DT_FREE before checking for 'winfixbuf' (zeertzjq).
+
+Patch 9.1.0217
+Problem:  regexp: verymagic cannot match before/after a mark
+Solution: Correctly check for the very magic check (Julio B)
+
+Patch 9.1.0218
+Problem:  Unnecessary multiplications in backspace code, as "col / ts * ts" is
+          the same as "col - col % ts".
+Solution: Change "col / ts * ts" to "col - col % ts".  Adjust the loop
+          and the comments ins_bs() to be easier to understand.  Update
+          tests to reset 'smarttab' properly (zeertzjq).
+
+Patch 9.1.0219
+Problem:  No enum support
+Solution: Implement enums for Vim9 script (Yegappan Lakshmanan)
+
+Patch 9.1.0220
+Problem:  Typos in code and tests.
+Solution: Fix typos (zeertzjq).
+
+Patch 9.1.0221
+Problem:  The if branch to set `text_prop_follows` was both checking if
+          it was at the end of the buffer text line or if it was at the
+          end of the screen line, but the former being true skipped
+          a guard condition in the latter to only consider 'below'
+          virtual text to follow. `text_prop_follows` being improperly
+          set caused it to skip a conditional block to break at the end
+          as well as one to move `ptr` to the end of the text line,
+          while repeated for each following line of the window.
+Solution: Move the check for whether 'below' virtual text should follow
+          so it is also used when at the end of the buffer text line.
+          (Dylan Thacker-Smith)
+
+Patch 9.1.0222
+Problem:  When a line is truncated just before 'after'/'right' virtual
+          text and the line also has 'below' virtual text, then the
+          'below' virtual text would not be displayed, depending on the
+          order these text properties were added.
+Solution: In the loop to make text properties active, skip instead of
+          break for 'after'/'right' virtual text properties that are
+          ignored due to truncation, so following 'below' text properties can
+          still be made active. Similarly, a loop is needed to determine if a
+          text property follows at the end of the screen. (Dylan
+          Thacker-Smith)
+
+Patch 9.1.0223
+Problem:  There are two dense conditions with duplication that needs to
+          be kept in sync between the while loop break condition and the
+          condition to skip certain text properties.
+Solution: Refactor the loop by moving while loop conditions into the body of
+          the while loop so they can be shared with skip conditions. `break`
+          and an `active` variable are used to handle the outcome of these
+          merged conditions (Dylan Thacker-Smith).
+
+Patch 9.1.0224
+Problem:  If a line has "right" & "below" virtual text properties, where the
+          "below" property may be stored first due to lack of ordering between
+          them, then the line height is calculated to be 1 more and causes the
+          cursor to far over the line.
+Solution: Remove some unnecessary setting of a `next_right_goes_below = TRUE`
+          flag for "below" and "above" text properties. (Dylan Thacker-Smith)
+
+Patch 9.1.0225
+Problem:  test_matchparen not run in CI
+Solution: add test_matchparen.res to NEW_TESTS_RES in Makefile, update changed
+          highlighting dump from v9.1.61
+
+Patch 9.1.0226
+Problem:  Not able to assign enum values to an enum static variable
+          (zzzyxwvut)
+Solution: Make it work (Yegappan Lakshmanan)
+
+Patch 9.1.0227
+Problem:  Recording may still be wrong in Select mode (after 8.2.3993).
+Solution: Make sure a character isn't split between two buffer blocks
+          (zeertzjq).
+
+Patch 9.1.0228
+Problem:  Two unrelated things are tested by a single test.
+Solution: Split it into two, restoring the old Test_brace_single_line().
+          Add missing cleanup to some tests (zeertzjq).
+
+Patch 9.1.0229
+Problem:  Error E877 is not translated (RestorerZ)
+Solution: Declare the error with N_ to mark it as translatable, add _()
+          around the error message in regexp_nfa.c
+
+Patch 9.1.0230
+Problem:  TextChanged autocommand not triggered under some circumstances
+          (Sergey Vlasov)
+Solution: Trigger TextChanged when TextChangedI has not been triggered
+
+Patch 9.1.0231
+Problem:  Filetype may be undetected when a SwapExists autocommand sets
+          filetype in another buffer.
+Solution: Make filetype detection state buffer-specific.  Also fix a
+          similar problem for 'modified' (zeertzjq).
+
+Patch 9.1.0232
+Problem:  Conceal test fails when rightleft feature is disabled.
+Solution: Skip test if rightleft feature is missing (Julio B).
+
+Patch 9.1.0233
+Problem:  Vim9: string() output of enum is problematic
+Solution: Make string() output for an enum consistent with that of a
+          regular object (Yegappan Lakshmanan).
+
+Patch 9.1.0234
+Problem:  filetype: support for Intel HEX files is lacking
+Solution: Add more file extensions that are typical for Intel HEX files
+          (Wu, Zhenyu)
+
+Patch 9.1.0235
+Problem:  filetype: supertux files are not recognized
+Solution: Supertux uses lisp to store hotkeys in config and game stage
+          information, so add a pattern for supertux files (Wu, Zhenyu).
+
+Patch 9.1.0236
+Problem:  filetype: texlua files are not recognized
+Solution: Add '*.tlu' pattern for texlua files (Wu, Zhenyu)
+
+Patch 9.1.0237
+Problem:  filetype: mplstyle files are not recognized
+Solution: Detect '*.mplstyle' files as yaml (Wu, Zhenyu)
+
+Patch 9.1.0238
+Problem:  filetype: jupyterlab and sublime config are not recognized
+Solution: Detect jupyterlab and sublime config files as json (Wu, Zhenyu).
+
+Patch 9.1.0239
+Problem:  filetype: gnuplot history files are not recognised
+Solution: detect .gnuplot_history files as gnuplot (Wu, Zhenyu).
+
+Patch 9.1.0240
+Problem:  filetype: some python tools config files are not recognized
+Solution: Detect config files for setuptools, pudb, coverage as dosini
+          (Wu, Zhenyu)
+
+Patch 9.1.0241
+Problem:  filetype: mysql history files are not recognized
+Solution: Detect .mysql_history as mysql (Wu, Zhenyu).
+
+Patch 9.1.0242
+Problem:  filetype: octave history files are not recognized
+Solution: Detect octave/history files as octave (Wu, Zhenyu).
+
+Patch 9.1.0243
+Problem:  filetype: netrw history file is not recognized
+Solution: Detect .netrwhist as vim files (Wu, Zhenyu).
+
+Patch 9.1.0244
+Problem:  filetype: bash history files are not recognized
+Solution: detect .bash-history and .bash_history files as bash (Wu, Zhenyu).
+
+Patch 9.1.0245
+Problem:  filetype: zsh theme, history and zunit files are not
+          recognized.
+Solution: Detect '.zsh_history', '*.zsh-theme' and '*.zunit' as zsh
+          (Wu, Zhenyu)
+
+Patch 9.1.0246
+Problem:  filetype: fontconfig files are not recognized
+Solution: detect 'fonts.conf' as xml (Wu, Zhenyu).
+
+Patch 9.1.0247
+Problem:  filetype: bundle config files are not recognized
+Solution: Detect '*/.bundle/config' as yaml (Wu, Zhenyu).
+
+Patch 9.1.0248
+Problem:  filetype: yarn lock files are not recognized
+Solution: Detect 'yarn.lock' files as yaml (Wu, Zhenyu).
+
+Patch 9.1.0249
+Problem:  filetype: rock_manifest and config.ld files are not recognized
+Solution: Detect 'rock_manifest' and 'config.ld' as lua (Wu, Zhenyu).
+
+Patch 9.1.0250
+Problem:  filetype: ldscripts cannot be recognized
+Solution: Detect '*/ldscripts/*' as ld (Wu, Zhenyu).
+
+Patch 9.1.0251
+Problem:  Filetype test fails.
+Solution: Move detection by name before detection by extension.
+          Improve TextChanged test and remove wrong test and fix
+          a typo in a comment (zeertzjq).
+
+Patch 9.1.0252
+Problem:  Vim9: segfault with static in super class (Ernie Rael)
+Solution: When initializing lhs, use the correct class where a class
+          variable is defined (Yegappan Lakshmanan)
+
+Patch 9.1.0253
+Problem:  filetype: typespec files are not recognized
+Solution: Detect '*.tsp' files as typespec (Hilmar Wiegand)
+
+Patch 9.1.0254
+Problem:  [security]: Heap buffer overflow when calling complete_add()
+          in the first call of 'completefunc'
+Solution: Call check_cursor() after calling 'completefunc' (zeertzjq).
+
+Patch 9.1.0255
+Problem:  Vim9: no indication of script nr in stack trace of classes
+Solution: Prefix the class name with the script name in the stack trace.
+          (Ernie Rael)
+
+Patch 9.1.0256
+Problem:  Finding autocmd events is inefficient
+Solution: Use binary search to find events, cache last found events,
+          avoid use of strlen(), add SessionWritePost autocmd, fix
+          test_codestyle and avoid endless loop (John Marriott).
+
+Patch 9.1.0257
+Problem:  Vim9: :call may not find imported class members (mityu)
+Solution: Set the typval of an imported lval variable correctly
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0258
+Problem:  Support for 'smoothscroll' in (half-)page scrolling
+          broke backward compatibility and can be made to work better.
+          (after v9.1.215)
+Solution: Restore the previous cursor and end-of-buffer behavior for
+          half-page scrolling and improve 'smoothscroll' support.
+          (Luuk van Baal)
+
+Patch 9.1.0259
+Problem:  Normal mode TextChanged isn't tested properly.
+Solution: Combine Test_Changed_ChangedI() and Test_Changed_ChangedI_2()
+          and also run it on Windows. Fix a typo in main.c (zeertzjq).
+
+Patch 9.1.0260
+Problem: "zb" does not reveal filler lines at the start of a buffer.
+         Scrolled cursor position with 'smoothscroll' is unpredictable,
+         and may reset skipcol later if it is not visible (after v9.1.258)
+Solution: Replace confusing for loop that reaches final control value too
+          early with while loop. Set "w_curswant" accordingly so cursor
+          will be placed in visible part of topline (Luuk van Baal).
+
+Patch 9.1.0261
+Problem:  Vim9: protected class and funcrefs accessible outside the class
+          (Aliaksei Budavei)
+Solution: Check if class and object funcrefs are protected
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0262
+Problem:  Test for TextChanged is flaky with ASAN.
+Solution: Wait for the file to be non-empty (zeertzjq).
+
+Patch 9.1.0263
+Problem:  Vim9: Problem with lambda blocks in enums and classes
+          (Aliaksei Budavei)
+Solution: Support evaluating lambda blocks from a string, skip over
+          comments (Yegappan Lakshmanan)
+
+Patch 9.1.0264
+Problem:  libgpm may delete some signal handlers
+Solution: Restore these signal handlers after calling gpm (Julio B).
+
+Patch 9.1.0265
+Problem:  console dialog cannot save unnamed buffers
+Solution: Set bufname before save (glepnir). Define dialog_con_gui
+          to test for GUI+Console dialog support, use it to skip
+          the test when the GUI feature has been defined.
+
+Patch 9.1.0266
+Problem:  filetype: earthfile files are not recognized
+Solution: Detect 'Earthfile' as earthfile (Gaëtan Lehmann).
+
+Patch 9.1.0267
+Problem:  File name entered in GUI dialog is ignored (after v9.1.0265)
+Solution: Only set file name to "Untitled" if GUI dialog didn't set it.
+          (zeertzjq)
+
+Patch 9.1.0268
+Problem:  Two tests in test_filechanged.vim are slow.
+Solution: Sleep for shorter if the +nanotime feature is available (zeertzjq).
+
+Patch 9.1.0269
+Problem:  Test for TextChanged is still flaky with ASAN.
+Solution: Don't index the result of readfile() (zeertzjq).
+
+Patch 9.1.0270
+Small fixes to a few issues:
+Problem:  Vim9: funcref pointer pt leaks, when function is not found
+Solution: Free funcref pointer in case of error (
+Problem:  memory leak of crypt state pointer allocation fails
+Solution: free crypt state pointer properly (
+Problem:  Vim9: Leaking memory when compiling dict fails
+Solution: Free the memory in case of error (
+Problem:  Coverity complains about derefencing obj_members pointer
+          (after v9.1.0261)
+Solution: Verify that obj_members ptr is non-null before accessing it
+
+Patch 9.1.0271
+Problem:  CI sound test aborts with undefined variable
+Solution: initialize g:result in test_sound.vim
+
+Patch 9.1.0272
+Problem:  Autocommand may change currect directory after :tcd and :lcd.
+Solution: Also clear tp_localdir and w_localdir when using aucmd_win.
+          (zeertzjq)
+
+Patch 9.1.0273
+Problem:  filetype: keymap files are not recognized
+Solution: Detect '*.keymap' files as Device Tree Files (0xadk).
+
+Patch 9.1.0274
+Problem:  MS-Windows: a few compiler warnings
+Solution: Change variable types to resolve compiler warnings (Mike Williams)
+
+Patch 9.1.0275
+Problem:  filetype: R history files are not recognized
+Solution: Detect '.Rhistory' files as r filetype (Wu, Zhenyu).
+
+Patch 9.1.0276
+Problem:  No pandoc syntax support
+Solution: Add pandoc syntax and compiler plugins (Wu, Zhenyu, Konfekt).
+
+Patch 9.1.0277
+Problem:  Cannot highlight the Command-line
+Solution: Add the MsgArea highlighting group (Shougo Matsushita).
+
+Patch 9.1.0278
+Problem:  filetype: zathurarc files not recognized
+Solution: Detect '.zathurarc' files as zathurarc filetype,
+          add zathurarc filetype (Wu, Zhenyu)
+
+Patch 9.1.0279
+Problem:  filetype: roc files are not recognized
+Solution: Detect '*.roc' files as roc filetype,
+          add a basic filetype plugin (nat-418)
+
+Patch 9.1.0280
+Problem:  Logic to make sure cursor is in visible part of the screen after
+          scrolling the text with 'smoothscroll' is scattered, asymmetric
+          and contains bugs.
+Solution: Adjust and create helper function for 'smoothscroll' cursor logic.
+          (Luuk van Baal)
+
+Patch 9.1.0281
+Problem:  CI: fails Test_compiler_completion
+Solution: Add pandoc compiler
+
+Patch 9.1.0282
+Problem:  Finding highlighting attributes is inefficient
+Solution: Use binary search to find highlighting attributes and color
+          names (John Marriott)
+
+Patch 9.1.0282
+Problem:  Wrong doc style for pandoc syntax description,
+          Test_diff_eob_halfpage() may fail depending on screen size, using
+          braces in highlight.c when not necessary
+Solution: Fix pandoc documentation, make sure the window for the test has 7
+          lines, remove the braces.
+
+Patch 9.1.0284
+Problem:  make testclean is not able to delete failed screendumps.
+Solution: Remove the "failed" directory when necessary (Julio B).
+
+Patch 9.1.0285
+Problem:  Problems with cursor position when scrolling half a page.
+Solution: Rework the cursor logic. (Luuk van Baal)
+
+Patch 9.1.0286
+Problem:  Vim9: E1027 with defcompile for abstract methods with
+          non-void return types, but still compiles it (zzzyxwvut)
+Solution: Don't compile abstract methods (Yegappan Lakshmanan).
+
+Patch 9.1.0287
+Problem:  Vim9: comment may be treated as heredoc start (Ernie Rael).
+Solution: Use skip_var_list() instead of find_name_end() (zeertzjq).
+
+Patch 9.1.0288
+Problem:  MS-Windows: compiler warning for size_t to int conversion
+          (after  v9.1.0282)
+Solution: Use size_t instead of int in highlight_set_termgui_attr
+          (Mike Williams).
+
+Patch 9.1.0289
+Problem:  filetype: some TeX files are not recognized
+Solution: Add more patterns for TeX files and inspect a few more files for
+          being TeX files (Wu, Zhenyu).
+
+Patch 9.1.0290
+Problem:  filetype: xilinx files are not recognized
+Solution: Add a few xilinx specific file patterns, inspect lpr files for being
+          xml/pascal (Wu, Zhenyu)
+
+Patch 9.1.0291
+Problem:  filetype: libreoffice config files are not recognized
+Solution: Detect Libreoffice config fils as xml/dosini (Wu, Zhenyu).
+
+Patch 9.1.0292
+Problem:  filetype: XDG mimeapps.list file is not recognized
+Solution: Detect mimeapps.list as dosini filetype (Wu, Zhenyu).
+
+Patch 9.1.0293
+Problem:  filetype: lxqt config files are not recognized
+Solution: Detect {lxqt,screengrab}/*.conf files as dosini,
+          fix failing filetype test for */tex/latex/**.cfg (Wu, Zhenyu).
+
+Patch 9.1.0294
+Problem:  plines_m_win() does not take into account it's "limit_winheight"
+          argument for filler lines below the last line of the buffer.
+          (after v9.1.0280)
+Solution: Check window height when "limit_winheight" is TRUE (Luuk van Baal).
+
+Patch 9.1.0295
+Problem:  filetype: pip config files are not recognized
+Solution: detect pip.conf as dosini filetype (Wu, Zhenyu).
+
+Patch 9.1.0296
+Problem:  Regex engines do not handle case-folding well
+Solution: Correctly calculate byte length of characters to skip
+
+Patch 9.1.0297
+Problem:  Patch 9.1.0296 causes too many issues (Tony Mechelynck, @chdiza, CI)
+Solution: Back out the change for now
+
+Patch 9.1.0298
+Problem:  MS-Windows: GETTEXT_PATH hard-coded in src/po/Make_mvc.mak
+Solution: Add IFNDEF/ENDIF around the definition of GETTEXT_PATH
+          (Cthulhux)
+
+Patch 9.1.0299
+Problem:  Vim9: return type not set for a lambda assigned to script var
+          (Ernie Rael)
+Solution: Correctly determine the return type (Yegappan Lakshmanan).
+
+Patch 9.1.0300
+Problem:  Missing test for what Patch v9.1.0285 fixes
+Solution: Add a test for cursor movement at buffer boundaries (Luuk van Baal).
+
+Patch 9.1.0301
+Problem:  Vim9: heredoc start may be recognized in string.
+Solution: Don't skip to closing bracket for invalid list assignment.
+          (zeertzjq)
+
+Patch 9.1.0302
+Problem:  filetype: blueprint files are not recognized
+Solution: Detect '*.bp' files as blueprint files, add a minimal filetype
+          plugin (Bruno Belanyi)
+
+Patch 9.1.0303
+Problem:  filetype: some protocol buffer files not recognized
+Solution: Detect '*.textproto', '*.textpb', '*.txtpb' as pbtxt files
+          (Bruno Belanyi)
+
+Patch 9.1.0304
+Problem:  filetype: cgdb config file is not recognized
+Solution: Detect cgdbrc files as cgdbrc filetype (Wu, Zhenyu).
+
+Patch 9.1.0305
+Problem:  filetype: some history files are not recognized
+Solution: Add some history patterns to filetype.vim (Wu, Zhenyu).
+
+Patch 9.1.0306
+Problem:  filetype: x11vnc config file is not recognized
+Solution: Detect '.x11vncrc' as conf filetype (Wu, Zhenyu).
+
+Patch 9.1.0307
+Problem:  filetype: texdoc config files is not recognized
+Solution: Detect 'texdoc.cnf' as conf filetype (Wu, Zhenyu).
+
+Patch 9.1.0308
+Problem:  configure: msgfmt hardcoded (after v9.1.0173)
+Solution: use $MSGFMT instead of msgfmt in configure script,
+          regenerate the configure script (Vladimír Marek).
+
+Patch 9.1.0309
+Problem:  crash when 'textwidth' > MAX_INT (after vv9.1.0055)
+          (Zoltan Balogh)
+Solution: limit textwidth to MAX_INT
+
+Patch 9.1.0310
+Problem:  Filler lines not checked properly in get_scroll_overlap().
+Solution: Add missing parentheses (zeertzjq).
+
+Patch 9.1.0311
+Problem:  Some config files are not recognized
+Solution: Add some patterns for chktex, ripgreprc and ctags config files.
+
+Patch 9.1.0312
+Problem:  heredocs are not supported for :commands (@balki)
+Solution: Add heredoc support (Yegappan Lakshmanan).
+
+Patch 9.1.0313
+Problem:  Crash when using heredoc with comment in command block.
+Solution: Handle a newline more like the end of the line, fix coverity
+          warning (zeertzjq).
+
+Patch 9.1.0314
+Problem:  Vim9: Can define a class in a function (Doug Kearns)
+Solution: Give an error for a class defined in a function, slightly reword
+          some public error messages (Yegappan Lakshmanan).
+
+Patch 9.1.0315
+Problem:  filetype: a few more dosini files are not recognized
+Solution: Detect wakatime, reply config files, flatpak, nfs config files
+          and a few more python tools as dosini (or toml) (Wu, Zhenyu).
+
+Patch 9.1.0316
+Problem:  filetype: some sh and confini files not recognized
+Solution: Detect neofetch, '.xprofile', XDG-User-Dirs files, paru and makepkg
+          config files (Wu, Zhenyu).
+
+Patch 9.1.0317
+Problem:  filetype: matplotlibrc files are not recognized
+Solution: Detect 'matplotlibrc' file as yaml filetype (Wu, Zhenyu).
+
+Patch 9.1.0318
+Problem:  filetype: translate shell config files are not recognized
+Solution: Detect 'init.trans', 'translate-shell' and '.trans' files as
+          clojure (Wu, Zhenyu)
+
+Patch 9.1.0319
+Problem:  Using heredoc in string not tested with :execute.
+Solution: Test with both :execute and execute() (zeertzjq).
+
+Patch 9.1.0320
+Problem:  Wrong cursor position after using setcellwidths().
+Solution: Invalidate cursor position in addition to redrawing (zeertzjq).
+
+Patch 9.1.0321
+Problem:  When used terminal with XON/XOFF flow control, vim tries to
+          still make CTRL-S mapping available, which results in severe
+          screen corruption, especially on large redraws, and even
+          spurious inputs (John Tsiombikas)
+Solution: Disallow CTRL-S mapping if such terminal is recognized.
+          Don't remove IXON from the bitmask inversion (Anton Sharonov).
+
+Patch 9.1.0322
+Problem:  filetype: some mail tools not recognized
+Solution: Detect '.mbsncrc' as conf, '.msmtprc' as msmtp and '.notmuch-config'
+          as ini filetype (Shane-XB-Qian)
+
+Patch 9.1.0323
+Problem:  filetype: cabal config files may not be recognized
+Solution: Change filetype pattern to '*/{,.}cabal/config' (Wu Zhenyu).
+
+Patch 9.1.0324
+Problem:  filetype: some json files are not recognized
+Solution: Detect '.jscsrc' and '.vsconfig' as jsonc filetype (Wu, Zhenyu).
+
+Patch 9.1.0325
+Problem:  filetype: CMakeCache.txt files not recognized
+Solution: Detect 'CMakeCache.txt' files as cmakecache filetype, include basic
+          syntax script for cmakecache (Wu, Zhenyu, @bfrg)
+
+Patch 9.1.0326
+Problem:  filetype: some requirements files are not recognized
+Solution: Detect '*-requirements.txt', 'constraints.txt', 'requirements.in',
+          'requirements/*.txt' and 'requires/*.txt' as requirements filetype,
+          include pip compiler, include requirements filetype and syntax
+          plugin (Wu, Zhenyu, @raimon49).
+
+Patch 9.1.0327
+Problem:  No support for using $XDG_CONFIG_HOME
+Solution: optionally source $XDG_CONFIG_HOME/vim/vimrc (Luca Saccarola).
+
+Patch 9.1.0328
+Problem:  CI fails with t_?? test
+Solution: use assert_match instead of assert_equal and test only until t_xo,
+          depending on system there may be several more termcap codes coming
+
+Patch 9.1.0329
+Problem:  String interpolation fails for Dict type
+Solution: Support Dict data type properly, also support :put =Dict
+          (without having to convert it to string() first)
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0330
+Problem:  v9.1.0327 contains an unrelated change
+Solution: Revert back $USR_VIMRC_FILE to $HOME instead of ~
+
+Patch 9.1.0331
+Problem:  make install does not install all files (Nick Jensen)
+Solution: Adjust the Makefile rule to install and uninstall cargo and
+          rust directories (Matt Hammerly)
+
+Patch 9.1.0332
+Problem:  tests: some assert_equal() calls have wrong order of args
+Solution: Correct the order (zeertzjq).
+
+Patch 9.1.0333
+Problem:  tests: test_xdg fails on the appimage repo
+Solution: compare only the last 30 right characters of $MYVIMRC
+
+Patch 9.1.0334
+Problem:  No test for highlight behavior with 'ambiwidth'.
+Solution: Add a screendump test for 'ambiwidth' with 'cursorline'.
+          (zeertzjq)
+
+Patch 9.1.0335
+Problem:  String interpolation fails for List type
+Solution: use implicit string(list) for string interpolation and :put =
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0336
+Problem:  tests: typo in test_xdg
+Solution: fix typo (Diego Viola)
+
+Patch 9.1.0337
+Problem:  Missing entry for XDG vimrc file in :version
+Solution: Add 4th user vimrc entry to :version output (Diego Viola)
+
+Patch 9.1.0338
+Problem:  Vim9: import through symlinks not correctly handled
+Solution: Check for script being a symlink but only once (Ernie Rael)
+
+Patch 9.1.0339
+Problem:  tests: xdg test uses screen dumps
+Solution: Convert screen dump to normal test (Yegappan Lakshmanan)
+
+Patch 9.1.0340
+Problem:  Error with matchaddpos() and empty list (@rickhow)
+Solution: Return early for an empty list
+
+Patch 9.1.0341
+Problem:  a few memory leaks are found (LuMingYinDetect)
+Solution: properly free the memory
+
+Patch 9.1.0342
+Problem:  tests: test_taglist fails when 'helplang' contains non-english
+Solution: Allow 1 or 2 tagfiles for now (Julio B)
+
+Patch 9.1.0343
+Problem:  'showcmd' is wrong for partial mapping with multibyte char,
+          and isn't very readable with modifyOtherKeys.
+Solution: Decode multibyte char and merge modifiers into the char.
+          (zeertzjq)
+
+Patch 9.1.0344
+Problem:  Cursor wrong after using setcellwidth() in terminal (mikoto2000)
+Solution: output additional spaces, so the behaviour matches the GUI
+          (mikoto2000)
+
+Patch 9.1.0345
+Problem:  gvimrc not sourced from XDG_CONFIG_HOME (after v9.1.0327)
+Solution: Also try to source from ~/.config/vim/gvimrc and
+          $XDG_CONFIG_HOME/vim/gvimrc (Maxim Kim)
+
+Patch 9.1.0346
+Problem:  Patch v9.1.0338 fixed sourcing a script with import
+Solution: Add test `import './file.vim' and verify it works with `:source`
+          so it does not regress (Ernie Rael)
+
+Patch 9.1.0347
+Problem:  A few typos in test_xdg when testing gvimrc
+Solution: Fix them (Diego Viola)
+
+Patch 9.1.0348
+Problem:  X11 does not ignore smooth scroll event (laniakea64)
+Solution: Correctly ignore unwanted smooth scroll events on X11 (lilydjwg)
+
+Patch 9.1.0349
+Problem:  Vim9: need static type for typealias
+Solution: Refactor the typval2type() function and add a static type for
+          typealias (Yegappan Lakshmanan)
+
+Patch 9.1.0350
+Problem:  tests: test_vim9_dissamble may fail
+Solution: Instead of hard-coding the lambda number, accept just any number
+          (Julio B)
+
+Patch 9.1.0351
+Problem:  No test that completing a partial mapping clears 'showcmd'.
+Solution: Complete partial mappings in Test_showcmd_part_map() instead
+          of using :echo.  Adjust some comments (zeertzjq).
+
+Patch 9.1.0352
+Problem:  Finding cmd modifiers and cmdline-specials is inefficient
+Solution: Use binary search to find ex command modifiers and
+          cmdline-special characters and reduce the number of strlen()
+          (John Marriott)
+
+Patch 9.1.0353
+Problem:  tests: Test_autoload_import_relative_compiled fails on Windows
+Solution: Disable on Windows for now, add missing :bw for clean-up (Ernie Rael)
+
+Patch 9.1.0354
+Problem:  runtime(uci): No support for uci file types (Wu, Zhenyu)
+Solution: include basic uci ftplugin and syntax plugins (Colin Caine)
+
+Patch 9.1.0355
+Problem:  filetype: flake.lock files are not recognized
+Solution: Detect 'flake.lock' as json filetype (Riley Bruins)
+
+Patch 9.1.0356
+Problem:  MS-Windows: --remote may change working directory when
+          'shellslash' is set
+Solution: normalize directory separators on MS-Windows
+
+Patch 9.1.0357
+Problem:  Page scrolling does not always place the cursor at the top or
+          bottom of the window (Mathias Rav)
+Solution: Place the cursor at the top or bottom of the window (Luuk van Baal)
+
+Patch 9.1.0358
+Problem:  wrong drawing in GUI with setcellwidth() (after v9.1.0344)
+Solution: move gui.in_use condition (h-east).
+
+Patch 9.1.0359
+Problem:  MS-Windows: Relative import in a script sourced from a buffer
+          doesn't work (Ernie Rael)
+Solution: Set a filename, so that we are not trying to use
+          script-relative filename (Yegappan Lakshmanan)
+
+Patch 9.1.0360
+Problem:  Vim9: does not handle autoloaded variables well
+Solution: Better handle script-level exported variable references from
+          autoload files (Ernie Rael).
+
+Patch 9.1.0361
+Problem:  Vim9: vim9type.c is too complicated
+Solution: Refactor a few functions in vim9type.c (Yegappan Lakshmanan)
+
+Patch 9.1.0362
+Problem:  expanding rc config files does not work well
+          (Michał Sieroń, after v9.1.0327)
+Solution: initialize chartab option, required to expand
+          evironment variables
+
+Patch 9.1.0363
+Problem:  tests: test_winfixbuf is a bit slow
+Solution: use defer if possible, reset hidden option, use --not-a-term
+          when starting Vim using system() (Yegappan Lakshmanan)
+
+Patch 9.1.0364
+Problem:  tests: test_vim9_builtin is a bit slow
+Solution: source tests from a buffer instead of writing and sourcing a file
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0365
+Problem:  Crash when typing many keys with D- modifier (after 9.1.0227).
+Solution: Don't treat a 0x80 byte inside a special sequence as the start
+          of a special sequence (zeertzjq).
+
+Patch 9.1.0366
+Problem:  filetype: ondir files are not recognized
+Solution: Detect '.ondirrc' as ondir filetype (Jon Parise)
+
+Patch 9.1.0367
+Problem:  compile_def_function is too long
+Solution: Move out the code to compile the body of a function
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0368
+Problem:  MS-Windows: Hard to define the Vim Patchlevel with leading
+          zeroes for the installer
+Solution: re-define VIM_VERSION_PatchLEVEL_STR with leading zeroes,
+          interpret Patchlevel as decimal in Make_mvc.mak (RestorerZ)
+
+Patch 9.1.0369
+Problem:  Vim9: problem when importing autoloaded scripts
+Solution: In `:def` handle storing to vim9 autoload export (Ernie Rael)
+
+Patch 9.1.0370
+Problem:  MS-Windows: Patch number is zero in installer (jonathan-b-wiebe)
+Solution: Set VIM_VERSION_PatchLEVEL, fix a few typos in the installer
+          (RestorerZ)
+
+Patch 9.1.0371
+Problem:  Vim9: compile_def_function() still too long
+Solution: Refactor the code into separate functions (Yegappan Lakshmanan).
+
+Patch 9.1.0372
+Problem:  Calling CLEAR_FIELD() on the same struct twice.
+Solution: Remove the second CLEAR_FIELD().  Move the assignment of
+          cookie.sourceing_lnum (zeertzjq).
+
+Patch 9.1.0373
+Problem:  ops.c code uses too many strlen() calls
+Solution: Refactor code and remove more strlen() calls (John Marriott).
+
+Patch 9.1.0374
+Problem:  When :edit an existing buffer, line('w$') may return a wrong result.
+Solution: Reset w_valid in curwin_init() (Jaehwang Jung)
+
+Patch 9.1.0375
+Problem:  tests: 1-second delay after Test_BufEnter_botline()
+          (after v9.1.0374)
+Solution: Wipe the created buffers (zeertzjq).
+
+Patch 9.1.0376
+Problem:  Vim9: Trailing commands after class/enum keywords ignored
+Solution: Remove EX_TRLBAR keyword from command definition
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0377
+Problem:  formatting text wrong when 'breakindent' is set (Gary Johnson)
+Solution: Temporarily disable 'breakindent' option when formatting text, so
+          that the breakindent is not wrongly taken into account for the line
+          length
+
+Patch 9.1.0378
+Problem:  Vim9: no comments allowed after class vars
+          (Christian Robinson, after 9.1.376)
+Solution: Allow trailing comments after class vars (Yegappan Lakshmanan).
+
+Patch 9.1.0379
+Problem:  There are a few typos
+Solution: Fix them (zeertzjq).
+
+Patch 9.1.0380
+Problem:  Calculating line height for unnecessary amount of lines with
+          half-page scrolling (zhscn, after 9.1.0280)
+Solution: Replace "limit_winheight" argument with higher resolution
+          "max" argument to which to limit the calculated line height
+          in plines_m_win() to (Luuk van Baal).
+
+Patch 9.1.0381
+Problem:  cbuffer and similar quickfix and locationlist commands don't
+          accept a range, even so it is documented they should
+          (ilan-schemoul, after 8.1.1241)
+Solution: Define ex commands with ADDR_LINES instead of ADDR_OTHER
+
+Patch 9.1.0382
+Problem:  Kbuild files are not recognized.
+Solution: Detect Kbuild files as make files (Bruno Belanyi).
+
+Patch 9.1.0383
+Problem:  filetype: .out files recognized as tex files
+Solution: Do not set an explicit filetype until it is clear what this
+          should be (shane.xb.qian)
+
+Patch 9.1.0384
+Problem:  tests: vt420 terminfo entry may not be found (Shane-XB-Qian)
+Solution: check existence of terminfo vt420 and infocmp command
+
+Patch 9.1.0385
+Problem:  Vim9: crash with null_class and null_object (Aliaksei Budavei)
+Solution: Handle null_class and null_object correctly (Yegappan Lakshmanan).
+
+Patch 9.1.0386
+Problem:  filetype: stylus files not recognized
+Solution: Detect '*.styl' and '*.stylus' as stylus filetype,
+          include indent, filetype and syntax plugin (Philip H)
+
+Patch 9.1.0387
+Problem:  Vim9: null value tests not sufficient
+Solution: Add a more comprehensive test for null values (Yegappan Lakshmanan).
+
+Patch 9.1.0388
+Problem:  cursor() and getregion() don't handle v:maxcol well.
+Solution: Add special handling for v:maxcol like setpos() does (zeertzjq).
+
+Patch 9.1.0389
+Problem:  filetype: templ files are not recognized
+Solution: Detect '*.templ' files as filetype templ (Tristan Knight).
+
+Patch 9.1.0390
+Problem:  filetype: inko files are not recognized
+Solution: Detect '*.inko' as ink filetype (Yorick Peterse).
+
+Patch 9.1.0391
+Problem:  Vim9: could improve testing (Ernie Rael)
+Solution: Support defcompile for test_override() to improve testing
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0392
+Problem:  tests: Vim9 debug tests may be flaky (Shane-XB-Qian)
+Solution: Give a few more lines so that line-wrapping won't
+          cause a hit-enter prompt
+
+Patch 9.1.0393
+Problem:  'viewdir' not respecting $XDG_CONFIG_HOME (Danilo Rezende,
+          after v9.1.327)
+Solution: adjust 'viewdir' option when enabling XDG config mode
+
+Patch 9.1.0394
+Problem:  Cannot get a list of positions describing a region
+          (Justin M. Keyes, after v9.1.0120)
+Solution: Add the getregionpos() function (Shougo Matsushita)
+
+Patch 9.1.0395
+Problem:  regionpos may leak memory on error, coverity
+          complains about dereferencing Null pointer
+Solution: free all list pointers (after v9.1.394),
+          return early if buflist_findnr() returns NULL
+
+Patch 9.1.0396
+Problem:  jj files are not recognized
+Solution: recognize '*.jjdescription' files as jj filetype (Gregory Anders)
+
+Patch 9.1.0397
+Problem:  Wrong display with 'smoothscroll' when changing quickfix list.
+Solution: Reset w_skipcol when replacing quickfix list (zeertzjq).
+
+Patch 9.1.0398
+Problem:  Vim9: imported vars are not properly type checked
+Solution: Check the imported variable type properly (Yegappan Lakshmanan).
+
+Patch 9.1.0399
+Problem:  block_editing errors out when using del (@Jamarley)
+Solution: Change ins_len from size_t to int and properly check that it doesn't
+          become negative
+
+Patch 9.1.0400
+Problem:  Vim9: confusing error message for unknown type (Doug Kearns)
+Solution: For an unknown type, display only the type name in the error
+          message (Yegappan Lakshmanan).
+
+Patch 9.1.0401
+Problem:  filetype: zsh module files are not recognized
+Solution: Detect '*.mdh' and '*.epro' as C filetype, '*.mdd' as zsh
+          filetype, determine zsh-modules '*.pro' from from it's content
+          (Wu, Zhenyu)
+
+Patch 9.1.0402
+Problem:  filetype: mdd files detected as zsh filetype
+Solution: detect '*.mdd' files as sh filetype, add links to reference
+          documentation (Wu, Zhenyu)
+
+Patch 9.1.0403
+Problem:  Vim9: not able to import file from start dir (Danielle McLean)
+Solution: Allow to import from start directory (Yegappan Lakshmanan).
+
+Patch 9.1.0404
+Problem:  [security] xxd: buffer-overflow with specific flags
+Solution: Correctly calculate the required buffer space (Lennard Hofmann).
+
+Patch 9.1.0405
+Problem:  tests: xxd buffer overflow fails on 32-bit
+Solution: Skip test on 32-bit architecture
+
+Patch 9.1.0406
+Problem:  Divide by zero with getmousepos() and 'smoothscroll'.
+Solution: Don't compute skip_lines when width1 is zero (zeertzjq).
+
+Patch 9.1.0407
+Problem:  No scrolling happens with half-page scrolling with line
+          filling entire window when 'smoothscroll' is disabled.
+          (Mathias Rav, after v9.1.0285)
+Solution: Adjust amount to move cursor by so that it is moved the same
+          number of lines as was scrolled, even when scrolling different
+          number of lines than requested with 'nosmoothscroll'.
+
+Patch 9.1.0408
+Problem:  configure fails on Fedora when including perl (chesheer-smile)
+Solution: Filter out -spec=<path> from $LIBS and $LDFLAGS to avoid
+          linking relocation errors for unrelated autoconf tests.
+
+Patch 9.1.0409
+Problem:  too many strlen() calls in the regexp engine
+Solution: refactor code to retrieve strlen differently, make use
+          of bsearch() for getting the character class (John Marriott).
+
+Patch 9.1.0410
+Problem:  warning about uninitialized variable (Tony Mechelynck, after
+          v9.1.0409)
+Solution: initialize variable (John Marriott)
+
+Patch 9.1.0411
+Problem:  too long functions in eval.c
+Solution: refactor functions (Yegappan Lakshmanan)
+
+Patch 9.1.0412
+Problem:  typo in regexp_bt.c in DEBUG code, causing compile error (@kfleong7,
+          after v9.1.0409)
+Solution: Replace bulen by buflen
+
+Patch 9.1.0413
+Problem:  smoothscroll may cause infinite loop, with very narrow windows
+          (Jaehwang Jung, after v9.1.0280)
+Solution: Check for width1 being negative, verify that win_linetabsize does
+          not overflow
+
+Patch 9.1.0414
+Problem:  Unable to leave long line with 'smoothscroll' and 'scrolloff'.
+          Corrupted screen near the end of a long line with 'scrolloff'.
+          (Ernie Rael, after 9.1.0280)
+Solution: Only correct cursor in case scroll_cursor_bot() was not itself
+          called to make the cursor visible. Avoid adjusting for
+          'scrolloff' beyond the text line height (Luuk van Baal)
+
+Patch 9.1.0415
+Problem:  Some functions are not tested
+Solution: Add a few more tests, fix a few minor problems (Yegappan Lakshmanan)
+
+Patch 9.1.0416
+Problem:  some screen dump tests can be improved (after 9.1.0414)
+Solution: Make sure screen state changes properly and is captured in the
+          screen dumps (Luuk van Baal)
+
+Patch 9.1.0417
+Problem:  if_py: find_module has been removed in Python 3.12.0a7 (@Ghost-LZW)
+Solution: Do not include find_module for Python >= 3.12.0a7
+
+Patch 9.1.0418
+Problem:  Cannot move to previous/next rare word (Colin Kennedy)
+Solution: Add the ]r and [r motions (Christ van Willegen)
+
+Patch 9.1.0419
+Problem:  eval.c not sufficiently tested
+Solution: Add a few more additional tests for eval.c (Yegappan Lakshmanan).
+
+Patch 9.1.0420
+Problem:  :browse oldfiles prompts even with single entry
+Solution: Do not prompt, but edit the file directly, also when using :filter
+          /pat/ browse oldfiles
+
+Patch 9.1.0421
+Problem:  filetype: hyprlang files are not recognized
+Solution: Recognize 'hypr{land,paper,idle,lock}.conf' files
+          as 'hyprlang' filetype, add hyprlang ftplugin (Riley Bruins)
+
+Patch 9.1.0422
+Problem:  function echo_string_core() is too long
+Solution: Refactor into several smaller functions (Yegappan Lakshmanan).
+
+Patch 9.1.0423
+Problem:  getregionpos() wrong with blockwise mode and multibyte.
+Solution: Use textcol and textlen instead of start_vcol and end_vcol.
+          Handle coladd properly (zeertzjq).
+
+Patch 9.1.0424
+Problem:  filetype: slint files are not recognized
+Solution: Detect '*.slint' files as slint filetype, include basic sling
+          filetype plugin (Riley Bruins)
+
+Patch 9.1.0425
+Problem:  filetype: purescript files are not recognized
+Solution: Recognize '*.purs' files as purescript filetype, include basic
+          purescript filetype plugin (Riley Bruins)
+
+Patch 9.1.0426
+Problem:  too many strlen() calls in search.c
+Solution: Refactor code and remove more strlen() calls,
+          use explicit variable to remember strlen (John Marriott)
+
+Patch 9.1.0427
+Problem:  tests: some issues with termdebug mapping test
+Solution: Use assert_{true,false} if suitable, change
+          order of expected and actual arguments in assert() calls.
+          (Ken Takata)
+
+Patch 9.1.0428
+Problem:  Tag guessing leaves wrong search history with very short names
+          (after 9.1.0426).
+Solution: Use the correct variable for pattern length (zeertzjq).
+
+Patch 9.1.0429
+Problem:  Coverity complains about eval.c refactor (after v9.1.0422)
+Solution: Check that buf is not used un-initialized, add explicit conditions
+          for save and restore of copyID
+
+Patch 9.1.0430
+Problem:  getregionpos() doesn't handle one char selection.
+Solution: Handle startspaces differently when is_oneChar is set.
+          Also add a test for an exclusive charwise selection with
+          multibyte chars (zeertzjq)
+
+Patch 9.1.0431
+Problem:  eval.c is too long
+Solution: Move garbage collection code to new gc.c file (Yegappan Lakshmanan).
+
+Patch 9.1.0432
+Problem:  Ancient XPM preprocessor hack may cause build errors.
+Solution: Simplify XPM includes and get rid of complicated #ifdef magic
+          (Drew Vogel).
+
+Patch 9.1.0433
+Problem:  Wrong yanking with exclusive selection and virtualedit=all,
+          and integer overflow when using getregion() on it.
+Solution: Set coladd when decreasing column and 'virtualedit' is active.
+          Add more tests for getregion() with 'virtualedit' (zeertzjq).
+
+Patch 9.1.0434
+Problem:  make errors trying to access autoload/zig
+Solution: Remove autoload/zig from Makefile, adjust Filelist (Derek Schrock).
+
+Patch 9.1.0435
+Problem:  filetype: cygport files are not recognized
+Solution: Recognize '*.cygport' files as sh filetype (Ken Takata).
+
+Patch 9.1.0436
+Problem:  Crash when using '?' as separator for :s and pattern contains
+          escaped '?'s (after 9.1.0409).
+Solution: Always compute startplen. (zeertzjq).
+
+Patch 9.1.0437
+Problem:  Motif requires non-const char pointer for XPM data shared with
+          GTK (Tony Mechelynck, after v9.1.0432)
+Solution: Cast non-const to const char pointer for GTK (Drew Vogel).
+
+Patch 9.1.0438
+Problem:  Wrong Ex command executed when :g uses '?' as delimiter and
+          pattern contains escaped '?'.
+Solution: Don't use "*newp" when it's not allocated (zeertzjq).
+
+Patch 9.1.0439
+Problem:  Cannot filter the history
+Solution: Implement :filter :history
+
+Patch 9.1.0440
+Problem:  function get_lval() is too long
+Solution: factor out the get_lval_subscript() function (Yegappan Lakshmanan).
+
+Patch 9.1.0441
+Problem:  getregionpos() can't properly indicate positions beyond eol.
+Solution: Add an "eol" flag that enables handling positions beyond end
+          of line like getpos() does (zeertzjq).
+
+Patch 9.1.0442
+Problem:  hare runtime files outdated
+Solution: runtime(hare): update hare.vim to match upstream (Amelia Clarke).
+
+Patch 9.1.0443
+Problem:  Can't use a blockwise selection with a width for getregion().
+Solution: Add support for blockwise selection with width like the return
+          value of getregtype() or the "regtype" value of TextYankPost
+          (zeertzjq).
+
+Patch 9.1.0444
+Problem:  Not enough tests for getregion() with multibyte chars.
+Solution: Add a few more tests (zeertzjq).
+
+Patch 9.1.0445
+Problem:  Coverity warning after 9.1.0440
+Solution: Fix Coverity warning, add a test and reduce the calls to clear_tv()
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0446
+Problem:  getregionpos() behaves inconsistently for a partly-selected
+          multibyte char.
+Solution: Always use column of the first byte for a partly-selected
+          multibyte char (zeertzjq).
+
+Patch 9.1.0447
+Problem:  completion may be wrong when deleting all chars
+Solution: Reset compl_shown_match
+
+Patch 9.1.0448
+Problem:  compiler warning in eval.c (after v9.1.0429)
+Solution: Refactor code (Yegappan Lakshmanan)
+
+Patch 9.1.0449
+Problem:  MS-Windows: Compiler warnings
+Solution: Resolve size_t to int warnings
+
+Patch 9.1.0450
+Problem:  eval.c code too complex
+Solution: Refactor eval6() and eval9() functions into several smaller
+          functions (Yegappan Lakshmanan)
+
+Patch 9.1.0451
+Problem:  No test for escaping '<' with shellescape()
+Solution: Add a test.  Use memcpy() in code to make it easier to
+          understand.  Fix a typo (zeertzjq).
+
+Patch 9.1.0452
+Problem:  Configure checks for libelf unnecessarily
+Solution: Remove configure check (youcai)
+
+Patch 9.1.0453
+Problem:  filetype: rasi files are not recognized
+Solution: Regonize '*.rasi' files as rasi filetype, include a filetype and
+          syntax plugin (Pierrick Guillaume)
+
+Patch 9.1.0454
+Problem:  minor issues in test_filetype with rasi test (after 9.1.0453)
+Solution: Re-sort test_filetype, fix wrong syntax.txt help tags
+
+Patch 9.1.0455
+Problem:  MS-Windows: compiler warning for size_t to int conversion
+Solution: Add a few type casts to resolve warning on Windows (Mike Williams).
+
+Patch 9.1.0456
+Problem:  Left shift is incorrect with vartabstop and shiftwidth=0
+Solution: Make tabstop_at() function aware of shift direction
+          (Gary Johnson)
+
+Patch 9.1.0457
+Problem:  tests: test_gui fails on Wayland (after: 9.1.0064, Gary Johnson)
+Solution: Drop the "empty($WAYLAND_DISPLAY)" condition in the test
+
+Patch 9.1.0458
+Problem:  Coverity complains about division by zero
+Solution: Check explicitly for sw_val being zero
+          Shouldn't happen, since tabstop value should always be larger than
+          zero. So just add this as a safety measure.
+
+Patch 9.1.0459
+Problem:  Vim9: import autoload does not work with symlink (Olivier Dormond)
+Solution: Set sn_autoload_prefix in check_script_symlink (nwounkn)
+
+Patch 9.1.0460
+Problem:  filetype: lintstagedrc files are not recognized
+Solution: Recognize '.lintstagedrc' files as json filetype (İlyas Akın).
+
+Patch 9.1.0461
+Problem:  too many strlen() calls in drawline.c
+Solution: Refactor code to avoid strlen() (John Marriott).
+
+Patch 9.1.0462
+Problem:  eval5() and eval7 are too complex
+Solution: Refactor eval5() and eval7() in eval.c (Yegappan Lakshmanan).
+
+Patch 9.1.0463
+Problem:  no fuzzy-matching support for insert-completion
+Solution: Enable insert-mode completion with fuzzy-matching
+          using :set completopt+=fuzzy (glepnir).
+
+Patch 9.1.0464
+Problem:  No whitespace padding in commentstring option in ftplugins
+Solution: Change default to include whitespace padding, update
+          existing filetype plugins with the new default value (Riley Bruins)
+
+Patch 9.1.0465
+Problem:  missing filecopy() function
+Solution: Implement filecopy() Vim script function (Shougo Matsushita).
+
+Patch 9.1.0466
+Problem:  Missing comments for fuzzy completion (after 9.1.0463)
+Solution: Add more comments, adjust indentation slightly (glepnir).
+
+Patch 9.1.0467
+Problem:  typos in some comments (after v9.1.0466)
+Solution: Fix comments (zeertzjq).
+
+Patch 9.1.0468
+Problem:  GvimExt does not consult HKEY_CURRENT_USER
+Solution: Make GvimExt first consult HKEY_CURRENT_USER and then fall
+          back to HKEY_LOCAL_MACHINE to find gvim (David Wagner)
+
+Patch 9.1.0469
+Problem:  Cannot have buffer-local value for 'completeopt' (Nick Jensen).
+Solution: Make 'completeopt' global-local (zeertzjq).
+
+Patch 9.1.0470
+Problem:  tests: Test_ColonEight_MultiByte() fails on MS-Windows
+Solution: Mark test as flaky
+
+Patch 9.1.0471
+Problem:  Crash when using autocmd_get() after removing event inside
+          autocmd (Sergey Vlasov)
+Solution: Check that the pattern is NULL (zeertzjq).
+
+Patch 9.1.0472
+Problem:  Inconsistencies between functions for option flags.
+Solution: Consistently use "unsigned int" as return type and rename
+          get_bkc_value() to get_bkc_flags() (zeertzjq).
+
+Patch 9.1.0473
+Problem:  term_start() does not clear vertical modifier
+Solution: Clear the flag after splitting the window (Yegappan Lakshmanan).
+
+Patch 9.1.0474
+Problem:  CI: Test_ColonEight() fails on github runners (Ken Takata)
+Solution: Run the test for files on the C: drive, where dos shortnames
+          are still enabled, refactor the tests to use a single setup
+          function for the preparation.
+
+Patch 9.1.0475
+Problem:  cmod_split modifier is always reset in term_start()
+Solution: Only clear the WSP_VERT flag, if it is not already in
+          cmdmod.cmod_split (Yegappan Lakshmanan).
+
+Patch 9.1.0476
+Problem:  Cannot see matched text in popup menu
+Solution: Introduce 2 new highlighting groups: PmenuMatch and
+          PmenuMatchSel (glepnir).
+
+Patch 9.1.0477
+Problem:  block_editing errors out when using <enter>
+          (Ali Rizvi-Santiago, after v9.1.0274)
+Solution: Change ins_len from size_t to int so that the test
+          if ins_len is negative actually works properly.
+
+Patch 9.1.0478
+Problem:  Potential deref of NULL pointer in fuzzy_match_str_with_pos()
+          on cleanup (after v9.1.0476)
+Solution: Only free the pointer if it is non-NULL (glepnir).
+
+Patch 9.1.0479
+Problem:  fuzzy_match_str_with_pos() does unnecessary list operations.
+Solution: Use fuzzy_match() directly (zeertzjq).
+
+Patch 9.1.0480
+Problem:  fuzzy string matching executed when not needed
+Solution: When no leader is available, can skip fuzzy logic, so return
+          early (glepnir).
+
+Patch 9.1.0481
+Problem:  Vim9: term_getjob() throws an exception on error
+Solution: Return null_job instead, when there is no job (Ernie Rael).
+
+Patch 9.1.0482
+Problem:  termdebug plugin needs more love
+Solution: start with some more Vim9 refactoring to improve maintenance and
+          readability (Ubaldo Tiberi).
+
+Patch 9.1.0483
+Problem:  glob() not sufficiently tested
+Solution: Add more tests for directory containing [] chars.
+
+Patch 9.1.0484
+Problem:  Sorting of completeopt+=fuzzy is not stable.
+Solution: Compare original indexes when scores are the same (zeertzjq).
+
+Patch 9.1.0485
+Problem:  Matched text shouldn't be highlighted in "kind" and "menu".
+Solution: Pass hlf_T instead of the attribute.  Fix indent (zeertzjq).
+
+Patch 9.1.0486
+Problem:  filetype: Snakemake files are not recognized
+Solution: Detect '*.smk' and Snakefile files as snakemake filetype
+          (Riley Bruins)
+
+Patch 9.1.0487
+Problem:  completed item not update on fuzzy completion
+Solution: Reset compl_shown_match when at original match position (glepnir).
+
+Patch 9.1.0488
+Problem:  Wrong padding for pum "kind" with 'rightleft'.
+Solution: Fix off-by-one error (zeertzjq).
+
+Patch 9.1.0489
+Problem:  default completion may break with fuzzy
+Solution: Check that completion_match_array is not null (glepnir).
+
+Patch 9.1.0490
+Problem:  minor style problems with Patch 9.1.0487
+Solution: use shown_compl instead of after_first_compl variable (glepnir).
+
+Patch 9.1.0491
+Problem:  Cmdline pum doesn't work properly with 'rightleft'.
+Solution: Don't use curwin->w_p_rl in cmdline mode in pum_redraw().  Use
+          a static variable since pum_may_redraw() may be called in any
+          mode.  Also correct position of other popups with 'rightleft'
+          (zeertzjq).
+
+Patch 9.1.0492
+Problem:  Vim-script files may not be recognised
+Solution: Add shebang line detection (Doug Kearns)
+
+Patch 9.1.0493
+Problem:  Test for Patch 9.1.0489 doesn't fail without the fix.
+Solution: Use "!" flag of feedkeys() so that ex_normal_busy is not set
+          and ins_compl_check_keys() is not skipped (zeertzjq).
+
+Patch 9.1.0494
+Problem:  Wrong matched text highlighted in pum with 'rightleft'.
+Solution: Match using the original text instead of the reversed text
+          (zeertzjq).
+
+Patch 9.1.0495
+Problem:  Matched text isn't highlighted in cmdline pum.
+Solution: Use cmdline completion pattern in cmdline mode (zeertzjq).
+
+Patch 9.1.0496
+Problem:  matched text is highlighted case-sensitively
+Solution: Use MB_STRNICMP, update highlighting when the base changes (glepnir)
+
+Patch 9.1.0497
+Problem:  termdebug can be further improved
+Solution: Refactor save/restore, update docs, add a new save/restore test
+          (Ubaldo Tiberi).
+
+Patch 9.1.0498
+Problem:  getcmdcompltype() interferes with cmdline completion.
+Solution: Don't set expand context when it's already set (zeertzjq).
+
+Patch 9.1.0499
+Problem:  MS-Windows: doesn't handle symlinks properly (Timothy Madden)
+Solution: Implement lstat() on MS-Windows (LemonBoy).
+
+Patch 9.1.0500
+Problem:  cannot switch buffer in a popup (Yggdroot)
+Solution: Add popup_setbuf() function.
+
+Patch 9.1.0501
+Problem:  too complicated mapping restore in termdebug
+Solution: Simplify unmapping logic, add a few more tests (Ubaldo Tiberi).
+
+Patch 9.1.0502
+Problem:  MS-Windows: too much legacy code
+Solution: Clean up old code (Ken Takata).
+
+Patch 9.1.0503
+Problem:  cannot use fuzzy keyword completion (Maxim Kim)
+Solution: Add the "fuzzycollect" value for the 'completeopt'
+          setting, to gather matches using fuzzy logic (glepnir).
+
+Patch 9.1.0504
+Problem:  inner-tag textobject confused about ">" in attributes
+Solution: Skip over quoted '>' when determining the start position
+
+Patch 9.1.0505
+Problem:  filetype: Faust files are not recognized
+Solution: Detect '*.lib' files as Faust filetype, add detection for
+          '*.dsp' files (Faust or Make), remove '*.lib' from Cobol
+          filetype (PowerUser64)
+
+Patch 9.1.0506
+Problem:  filetype: .envrc & .prettierignore not recognized
+Solution: Detect '.envrc' as shell and '.prettierignore' as gitignore
+          filetype (Tyler Miller)
+
+Patch 9.1.0507
+Problem:  hard to detect cursor movement in the command line
+Solution: Add the CursorMovedC autocommand (Shougo Matsushita).
+
+Patch 9.1.0508
+Problem:  termdebug plugin can be further improved
+Solution: Add sanity-check, timeout config, change vars to bool
+          update docs, add more tests (Ubaldo Tiberi).
+
+Patch 9.1.0509
+Problem:  not possible to translate Vim script messages (RestorerZ)
+Solution: Implement bindtextdomain() and gettext() to support Vim script
+          message translations (Christ van Willegen).
+
+Patch 9.1.0510
+Problem:  CI: test_gettext fails on MacOS14 + MSVC Win (after v9.1.0509)
+Solution: Skip the test for now.
+
+Patch 9.1.0511
+Problem:  CursorMovedC triggered wrongly with setcmdpos() (after v9.1.0507)
+Solution: Remove the premature triggering.  Also don't trigger when
+          cursor didn't move (zeertzjq).
+
+Patch 9.1.0512
+Problem:  Mode message for spell completion doesn't match allowed keys
+          (Kyle Kovacs)
+Solution: Show "^S" instead of "s" (zeertzjq).
+
+Patch 9.1.0513
+Problem:  Vim9: segfault with object comparisons
+Solution: Increment recusive_cnt before calling typval_compare_object()
+          (Ernie Rael)
+
+Patch 9.1.0514
+Problem:  Vim9: issue with comparing objects recursively (Yinzuo Jiang)
+Solution: only set recursive == TRUE, when called from tv_equal(), not
+          from typeval_compare_object(), refactor code into object_equal()
+          function (LemonBoy).
+
+Patch 9.1.0515
+Problem:  Vim9: segfault in object_equal()
+Solution: Test for object pointer being NULL, before dereferencing them
+          (Ernie Rael).
+
+Patch 9.1.0516
+Problem:  need more tests for nested dicts and list comparision
+Solution: Add tests for comparing deeply nested List/Dict values
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0517
+Problem:  MS-Windows: too long lines in Make_mvc.mak
+Solution: Wrap long lines in Make_mvc.mak (Ken Takata).
+
+Patch 9.1.0518
+Problem:  initialize the random buffer can be improved
+Solution: Refactor init_srand() function, move machine-specific parts to
+          os_mswin and os_unix, implement a fallback for Windows 10 and
+          later (LemonBoy).
+
+Patch 9.1.0519
+Problem:  MS-Windows: libvterm compilation can be optimized
+Solution: Enable batch inference for libvterm (Ken Takata).
+
+Patch 9.1.0520
+Problem:  Vim9: incorrect type checking for modifying lists
+Solution: Correctly assign the member declared types and generate
+          typechecks, add disassembly test (LemonBoy).
+
+Patch 9.1.0521
+Problem:  if_py: _PyObject_CallFunction_SizeT is dropped in Python 3.13
+Solution: define PyObject_CallFunction for Python >= 3.13 (Yaakov Selkowitz).
+
+Patch 9.1.0522
+Problem:  Vim9: string(object) hangs for recursive references
+Solution: Handle recursive objects specifically, add a hang test and a
+          compare test (Ernie Rael)
+
+Patch 9.1.0523
+Problem:  Vim9: cannot downcast an object (Ernie Rael)
+Solution: Fix class downcasting issue (LemonBoy).
+
+Patch 9.1.0524
+Problem:  the recursive parameter in the *_equal functions can be removed
+Solution: Remove the recursive parameter in dict_equal(), list_equal()
+          object_equal and tv_equal(). Use a comparison of the static
+          var recursive_cnt == 0 to determine whether or not tv_equal()
+          has been called recursively (Yinzuo Jiang).
+
+Patch 9.1.0525
+Problem:  Right release selects immediately when pum is truncated.
+Solution: Use pum_height instead of pum_size when checking click row.
+          Don't place it above mouse row when there is more space below.
+          (zeertzjq)
+
+Patch 9.1.0526
+Problem:  Cursor is moved to bottom of window trying to pagescroll when
+          already at the start of the buffer (Asheq Imran, after v9.1.0357)
+Solution: Don't move cursor when buffer content did not move (Luuk van Baal).
+
+Patch 9.1.0527
+Problem:  inconsistent parameter in Makefiles for Vim executable
+Solution: consistently use $VIMPROG across all Makefiles (RestorerZ).
+
+Patch 9.1.0528
+Problem:  spell completion message still wrong in translations
+          (after 9.1.0512)
+Solution: Update translation files with the new message (Kyle Kovacs).
+
+Patch 9.1.0529
+Problem:  silent! causes following try/catch to not work (Malcolm Rowe)
+Solution: consider emsg_silent in handle_did_throw() and do not abort
+          evaluation flow for :silent! (LemonBoy).
+
+Patch 9.1.0530
+Problem:  xxd: MSVC warning about non-ASCII character
+Solution: Specify source-charset:utf-8 in Makefile (Ken Takata).
+
+Patch 9.1.0531
+Problem:  resource leak in mch_get_random() (after v9.1.0518)
+Solution: close file descriptor after reading successfully from /dev/urandom
+
+Patch 9.1.0532
+Problem:  filetype: Cedar files not recognized
+Solution: Detect '*.cedar' files as cedar filetype (Riley Bruins).
+
+Patch 9.1.0533
+Problem:  Vim9: need more tests for nested objects equality
+Solution: Add more tests (Ernie Rael).
+
+Patch 9.1.0534
+Problem:  completion wrong with fuzzy when cycling back to original
+          (Quan Nguyen)
+Solution: Reset show_match_ok when cp_score is zero (glepnir).
+
+Patch 9.1.0535
+Problem:  newline escape wrong in ex mode (Konrad Schwarz)
+Solution: Partly revert Patch 7.3.014, remove backslash in front of a
+          newline when not in prompt mode in ex line mode (Mohamed Akram).
+
+Patch 9.1.0536
+Problem:  filetype: zone files are not recognized (rpdprd)
+Solution: Detect '*.zone' files as bindzone filetype.
+
+Patch 9.1.0537
+Problem:  signed number detection for CTRL-X/A can be improved (Chris Patuzzo)
+Solution: Add the new "blank" value for the 'nrformat' setting. This will make
+          Vim assume a signed number only if there is a blank in front of the
+          sign (distobs).
+
+Patch 9.1.0538
+Problem:  not possible to assign priority when defining a sign
+          (Mathias Fußenegger)
+Solution: Add the priority argument for the :sign-define ex command and
+          the sign_define() function (LemonBoy).
+
+Patch 9.1.0539
+Problem:  Not enough tests for what v9.1.0535 fixed
+Solution: Add another test for ex-mode.
+
+Patch 9.1.0540
+Problem:  Unused assignment in sign_define_cmd()
+Solution: Remove the assignment.  Also document the "priority" flag of
+          sign_define() (zeertzjq).
+
+Patch 9.1.0541
+Problem:  failing test with Vim configured without channel
+Solution: In the test Test_null_values() verify that the 'channel' and
+          'job' feature is present in Vim. (Dominique Pellé).
+
+Patch 9.1.0542
+Problem:  Vim9: confusing string() output for object functions
+Solution: improve the output for object functions (Ernie Rael).
+
+Patch 9.1.0543
+Problem:  Behavior of CursorMovedC is strange.
+Solution: Also trigger when the cmdline has changed (zeertzjq).
+
+Patch 9.1.0544
+Problem:  filetype: ldapconf files are not recognized
+Solution: Detect '.ldaprc', 'ldap.conf' and 'ldaprc' files as ldapconf
+          filetype, include a simple ldapconf ftplugin file (Riley Bruins).
+
+Patch 9.1.0545
+Problem:  MSVC conversion warning (LemonBoy, after 9.1.0522)
+Solution: Use size_t instead of int, fix style of casts (Ernie Rael).
+
+Patch 9.1.0546
+Problem:  vim-tiny fails on CTRL-X/CTRL-A (Rob Foehl, after 9.1.0172)
+Solution: Move #ifdefs, so that after changing the line in del_bytes,
+          the cached textlen value is invalidated.
+
+Patch 9.1.0547
+Problem:  No way to get the arity of a Vim function (Austin Ziegler)
+Solution: Enhance get() Vim script function to return the function
+          argument info using get(func, "arity") (LemonBoy).
+
+Patch 9.1.0548
+Problem:  it's not possible to get a unique id for some vars
+Solution: Add the id() Vim script function, which returns a unique
+          identifier for object, dict, list, job, blob or channel
+          variables (Ernie Rael).
+
+Patch 9.1.0549
+Problem:  fuzzycollect regex based completion not working as expected
+Solution: Revert Patch v9.1.0503 (glepnir).
+
+Patch 9.1.0550
+Problem:  filetype: antlr4 files are not recognized
+Solution: Detect '*.g4' as antlr4 filetype, include a simple antlr4
+          syntax and filetype plugin (Yinzuo Jiang).
+
+Patch 9.1.0551
+Problem:  filetype: htmlangular files are not properly detected
+Solution: Use the new htmlangular filetype for angular files, because
+          since angular v17, those are no longer valid HTML files
+          (Dennis van den Berg).
+
+Patch 9.1.0552
+Problem:  No test for antlr4 filetype (after 9.1.0550)
+Solution: Add a simple filename test.
+
+Patch 9.1.0553
+Problem:  filetype: *.mcmeta files are not recognized
+Solution: Detect '*.mcmeta' files as json filetype (Tomodachi94).
+
+Patch 9.1.0554
+Problem:  :bw leaves jumplist and tagstack data around (Paul "Joey" Clark)
+Solution: Wipe jumplist and tagstack references to the wiped buffer
+          (LemonBoy).
+
+Patch 9.1.0555
+Problem:  filetype: angular ft detection is still problematic (after 9.1.0551)
+Solution: Detect htmlangular filetype only by inspecting the content,
+          do not try to determine it from a generic name like
+          '*.component.html'.
+
+Patch 9.1.0556
+Problem:  :bwipe doesn't remove file from jumplist and tagstack of other
+          tabpages. Time complexity of mark_forget_file() is O(n^2) when
+          removing all entries (after v9.1.0554)
+Solution: Use FOR_ALL_TAB_WINDOWS().  Start the loops over the arrays
+          from the end instead of the start (zeertzjq).
+
+Patch 9.1.0557
+Problem:  moving in the buffer list doesn't work as documented
+          (SenileFelineS)
+Solution: Skip non-help buffers, when run from normal buffers, else
+          only move from help buffers to the next help buffer (LemonBoy).
+
+Patch 9.1.0558
+Problem:  filetype: prolog detection can be improved
+Solution: Improved the Prolog file detection regex and added tests for
+          all cases (igna_martinoli).
+
+Patch 9.1.0559
+Problem:  translation of vim scripts can be improved (after v9.1.0509)
+Solution: improve documentation, add tests, include missing
+          libraries for the Windows CI (RestorerZ).
+
+Patch 9.1.0560
+Problem:  bindtextdomain() does not indicate an error (after v9.1.509)
+Solution: return false on failure (OOM) (Chris van Willegen).
+
+Patch 9.1.0561
+Problem:  netbeans: variable used un-initialized (Coverity) (after v9.1.0557)
+Solution: Properly initialize exarg_T struct for use with netbeans
+          The actual exarg.cmdidx doesn't really matter, but let's use
+          something, that is not affected by the recent changes (going through
+          the buffer list) and use CMD_USER.
+
+Patch 9.1.0562
+Problem:  tests: inconsistency in test_findfile.vim, it saves and restores
+          'shellslash', but doesn't actually set it
+Solution: Set shellslash explicitly (zeertzjq).
+
+Patch 9.1.0563
+Problem:  Cannot process any Key event.
+Solution: Add the KeyInputPre autocmd (Shougo Matsushita).
+
+Patch 9.1.0564
+Problem:  id() can be made faster
+Solution: don't use printf(), use clever shift of pointer (Ernie Rael).
+
+Patch 9.1.0565
+Problem:  Stop directory doesn't work properly in 'tags' (Jesse Pavel).
+Solution: Also move the stop directory forward by one byte (zeertzjq).
+
+Patch 9.1.0566
+Problem:  Stop directory in findfile() doesn't work properly without a
+          trailing slash.
+Solution: Always use fnamencmp(), not fnamecmp().
+
+Patch 9.1.0567
+Problem:  Cannot use relative paths as findfile() stop directories.
+Solution: Change a relative path to an absolute path (zeertzjq).
+
+Patch 9.1.0568
+Problem:  Cannot expand paths from 'cdpath' setting (Daniel Hahler)
+Solution: Implement 'cdpath' completion, add the new 'dir_in_path'
+          completion type (LemonBoy).
+
+Patch 9.1.0569
+Problem:  fnamemodify() treats ".." and "../" differently.
+Solution: Expand ".." properly like how "/.." is treated in 8.2.3388
+          (zeertzjq).
+
+Patch 9.1.0570
+Problem:  tests: test_gettext_make can be improved (after v9.1.0559)
+Solution: Improve the test (Ken Takata).
+
+Patch 9.1.0571
+Problem:  tests: Test_gui_lowlevel_keyevent is flaky
+Solution: Mark as flaky (Ken Takata).
+
+Patch 9.1.0572
+Problem:  cannot specify tab page closing behaviour (Gianluca Pacchiella).
+Solution: Add the 'tabclose' option (LemonBoy).
+
+Patch 9.1.0573
+Problem:  ex: no implicit print for single addresses
+Solution: Explicitly print even during single addresses, as requested by POSIX
+          (Mohamed Akram)
+
+Patch 9.1.0574
+Problem:  ex: wrong handling of commands after bar
+Solution: for :append, :insert and :change use the text after the bar as input
+          for those commands. This is what POSIX requests (Mohamed Akram).
+
+Patch 9.1.0575
+Problem:  Wrong comments in alt_tabpage() (after v9.1.0572)
+Solution: Correct the comments (zeertzjq).
+
+Patch 9.1.0576
+Problem:  tests: still an issue with test_gettext_make (after v9.1.0570)
+Solution: Compare the getenv() output against v:null to verify
+          that $GETTEXT_PATH was set or not (Ken Takata).
+
+Patch 9.1.0577
+Problem:  Unnecessary checks for v:sizeoflong in test_put.vim.  They are
+          no longer necessary as Patch 8.2.3661 has changed the count to
+          be within 32-bit integer limit.
+Solution: Remove the checks (zeertzjq).
+
+Patch 9.1.0578
+Problem:  no tests for :Tohtml
+Solution: Add two basic tests (Yinzuo Jiang).
+
+Patch 9.1.0579
+Problem:  Ex command is still executed after giving E1247.
+Solution: Indicate the error properly and set cmd to NULL (zeertzjq).
+
+Patch 9.1.0580
+Problem:  An :lmap mapping for a printable keypad key is not applied
+          when typing it in Select mode.
+Solution: Change keypad key to ASCII after setting vgetc_char (zeertzjq).
+
+Patch 9.1.0581
+Problem:  style: Various lines are indented inconsistently
+Solution: Retab these lines and correct some comments (zeertzjq).
+
+Patch 9.1.0582
+Problem:  Printed line no longer overwrites colon when pressing Enter in
+          Ex mode (after 9.1.0573).
+Solution: Restore the behavior of pressing Enter in Ex mode (zeertzjq).
+
+Patch 9.1.0583
+Problem:  filetype: *.pdf_tex files are not recognized
+Solution: Detect '*.pdf_tex' files as tex filetype (Jonas Dujava).
+
+Patch 9.1.0584
+Problem:  Warning about redeclaring f_id() non-static
+Solution: Declare f_id() static (John Marriott).
+
+Patch 9.1.0585
+Problem:  tests: test_cpoptions leaves swapfiles around
+Solution: Use :bw! instead of :close!
+
+Patch 9.1.0586
+Problem:  ocaml runtime files are outdated
+Solution: Sync those files with the upstream repo, detect a few more ocaml
+          files (Yinzuo Jiang).
+
+Patch 9.1.0587
+Problem:  tests: Test_gui_lowlevel_keyevent is still flaky (after v9.1.0571)
+Solution: Skip generating key event for Ctrl-C, remove the test_is_flaky
+          variable again (Ken Takata).
+
+Patch 9.1.0588
+Problem:  The maze program no longer compiles on newer clang
+Solution: Use ANSI C function definition for main() (Mohamed Akram).
+
+Patch 9.1.0589
+Problem:  vi: d{motion} and cw command work differently than expected
+Solution: add new cpo-z flag to make the behaviour configurable
+
+Patch 9.1.0590
+Problem:  Vim9: crash when accessing getregionpos() return value.
+Solution: Correct the return type (zeertzjq).
+
+Patch 9.1.0591
+Problem:  filetype: *.wl files are not recognized
+Solution: Detect '*.wl' files as Mathematica package files (Jonas Dujava).
+
+Patch 9.1.0592
+Problem:  filetype: Mediawiki files are not recognized
+Solution: detect "*.mw" and "*.wiki" as mediawiki filetype,
+          include basic syntax and filetype plugins (AvidSeeker).
+
+Patch 9.1.0593
+Problem:  filetype: Asymptote files are not recognized
+Solution: detect '*.asy' files as asy filetype, include ftplugin and syntax
+          plugin (AvidSeeker).
+
+Patch 9.1.0594
+Problem:  Unnecessary redraw when setting 'winfixbuf'.
+Solution: Remove P_RWIN flag (zeertzjq).
+
+Patch 9.1.0595
+Problem:  make errors out with the po Makefile
+          (yanivshlom, after v9.1.0558)
+Solution: Set variables differently (RestorerZ).
+
+Patch 9.1.0596
+Problem:  filetype: Debian devscripts config files are not recognized
+Solution: detect devscripts.conf and .devscripts files as sh filetype
+          (sourced by /bin/sh).
+
+Patch 9.1.0597
+Problem:  KeyInputPre cannot get the (unmapped typed) key (after v9.1.0563)
+Solution: Add the "typedchar" property to the v:event dict
+          (Shougo Matsushita).
+
+Patch 9.1.0598
+Problem:  fuzzy completion does not work with default completion
+Solution: Make it work (glepnir).
+
+Patch 9.1.0599
+Problem:  Termdebug: still get E1023 when specifying arguments and using
+          a prompt buffer.
+Solution: Use empty() instead of len().  Add a test.  Fix wrong order of
+          arguments to assert_equal() in Test_termdebug_basic() (zeertzjq).
+
+Patch 9.1.0600
+Problem:  unused function typval_compare_class() and error constants
+Solution: Remove function typval_compare_class() and ifdef out
+          unused error constants (Dominique Pellé).
+
+Patch 9.1.0601
+Problem:  Wrong cursor position with 'breakindent' when a double-width
+          character doesn't fit in a screen line (mikoto2000)
+Solution: Include the width of the 'breakindent' properly (zeertzjq).
+
+Patch 9.1.0602
+Problem:  filetype: Prolog detection can be improved
+Solution: Update the prolog detection regex (igna_martinoli).
+
+Patch 9.1.0603
+Problem:  Pattern detection for Dracula language uses "*lvs" and "*lpe".
+          as there is no dot, those are not treated as extensions which
+          they should (judging by 'runtime/syntax/dracula.vim' and
+          common sense).
+Solution: Use "*.lvs" and "*.lpe" patterns (Evgeni Chasnovski).
+
+Patch 9.1.0604
+Problem:  popup_filter during Press Enter prompt seems to hang
+Solution: Return early, when need_wait_return is set (Ernie Rael).
+
+Patch 9.1.0605
+Problem:  internal error with fuzzy completion (techntools)
+Solution: Only fuzzy complete the pattern after directory separator
+          (glepnir)
+
+Patch 9.1.0606
+Problem:  tests: generated files may cause failure in test_codestyle
+Solution: Exclude OLE-related generated files from style checks (Ken Takata).
+
+Patch 9.1.0607
+Problem:  termdebug: uses inconsistent style
+Solution: termdebug: deprecate numeric values for v:true/false, fix white
+          space style in the plugin (Ubaldo Tiberi).
+
+Patch 9.1.0608
+Problem:  Coverity warns about a few potential issues
+Solution: Fix those issues (see details below)
+
+Patch 9.1.0609
+Problem:  outdated comments in Makefile
+Solution: Update outdated comments, update rule for vimtags (Shane Harper).
+
+Patch 9.1.0610
+Problem:  filetype: OpenGL Shading Language files are not detected
+Solution: Detect various file extensions as GLSL filetype, include
+          indent and syntax script, do no longer recognize '*.comp'
+          as Mason filetype (Gregory Anders).
+
+Patch 9.1.0611
+Problem:  Ambiguous mappings not correctly resolved with modifyOtherKeys
+Solution: Check for termcode when an upper case mapping is received and
+          does not match (Oleg Goncharov).
+
+Patch 9.1.0612
+Problem:  filetype: deno.lock file not recognized
+Solution: detect 'deno.lock' as json filetype (カワリミ人形).
+
+Patch 9.1.0613
+Problem:  tests: termdebug test may fail and leave temp file around
+          (Dominique Pellé)
+Solution: Only run balloon_show() if the function exists, validate
+          termdebug is running using the g: termdebug_is_running var,
+          use defer to delete temporary files.
+
+Patch 9.1.0614
+Problem:  Vim syntax file changes to :set command highlighting render
+          some test dump files invalid (zeertzjq)
+Solution: Regenerate the affected dump files (Doug Kearns).
+
+Patch 9.1.0615
+Problem:  Unnecessary STRLEN() in make_percent_swname()
+Solution: Pass the end of "dir" to make_percent_swname() (zeertzjq).
+
+Patch 9.1.0616
+Problem:  filetype: Make syntax highlighting off for MS Makefiles
+Solution: Try to detect MS Makefiles and adjust syntax rules to it.
+          (Ken Takata)
+
+Patch 9.1.0617
+Problem:  Cursor moves beyond start of a folded range at the end of a buffer.
+Solution: Move cursor to start of fold when going beyond end of buffer.
+          Check that cursor moved to detect FAIL in outer cursor function.
+          (Luuk van Baal)
+
+Patch 9.1.0618
+Problem:  cannot mark deprecated attributes in completion menu
+Solution: Add hl_group to the Dictionary of supported completion fields
+          (glepnir).
+
+Patch 9.1.0619
+Problem:  tests: test_popup fails (after v9.1.0618)
+Solution: Correct test, move combining extra attributes to
+          pum_compute_text_attrs() (glepnir).
+
+Patch 9.1.0620
+Problem:  Vim9: segfauls with null objects (after v9.1.0219)
+Solution: Check object pointer being NULL (Ernie Rael).
+
+Patch 9.1.0621
+Problem:  MS-Windows: startup code can be improved
+Solution: Re-work and optimize win32 startup code (Ken Takata).
+
+Patch 9.1.0622
+Problem:  MS-Windows: mingw-build can be optimized
+Solution: Use --gc-sections to reduce the size of the executable
+          (Ken Takata)
+
+Patch 9.1.0623
+Problem:  Mingw: warnings when trying to delete non-existing files
+Solution: Use "rm -f" instead of "rm" to suppress errors for
+          non-existing files (Ken Takata)
+
+Patch 9.1.0624
+Problem:  ex command modifiers are not found (Ingo Karkat, after v9.1.0352)
+Solution: Partly revert Patch v9.1.0352, ignore :{ and :}
+
+Patch 9.1.0625
+Problem:  tests: test output all translated messages for all
+          translations
+Solution: Redirect the output of check.vim to /dev/null, it's not that
+          useful.
+
+Patch 9.1.0626
+Problem:  Vim9: need more tests with null objects (after v9.1.0620)
+Solution: add one more test with null_object (Ernie Rael).
+
+Patch 9.1.0627
+Problem:  MinGW: build-error when COVERAGE is enabled
+          (after v9.1.0621)
+Solution: Fix regressions in v9.1.0621 and v9.1.0622 (Ken Takata).
+
+Patch 9.1.0628
+Problem:  MinGW: coverage files are not cleaned up
+Solution: Adjust clean rule to remove the coverage files (Ken Takata).
+
+Patch 9.1.0629
+Problem:  Rename of pum hl_group is incomplete in source.
+Solution: Also rename the test function.  Rename to user_hlattr in code
+          to avoid confusion with pum_extra.  Add test with matched text
+          highlighting (zeertzjq).
+
+Patch 9.1.0630
+Problem:  MS-Windows: build fails with VIMDLL and mzscheme
+Solution: Define scheme_register_tls_space() inside gvim.exe
+          and refer to it from the dll (Ken Takata).
+
+Patch 9.1.0631
+Problem:  wrong completion list displayed with non-existing dir + fuzzy
+          completion (kawarimidoll)
+Solution: clear list of matches, if leader did not use fuzzy match (glepnir).
+
+Patch 9.1.0632
+Problem:  MS-Windows: Compiler Warnings
+Solution: Fix the warnings (Ken Takata).
+
+Patch 9.1.0633
+Problem:  Compilation warnings with `-Wunused-parameter`
+Solution: Add the `UNUSED` macro where needed, and remove some
+          superfluous ones (Dominique Pellé).
+
+Patch 9.1.0634
+Problem:  Ctrl-P not working by default (Jesse Pavel, after v9.1.0598)
+Solution: Revert part of v9.1.0598 and set cur_match_pos
+          correctly according to compl_dir_forward().
+
+Patch 9.1.0635
+Problem:  filetype: SuperHTML template files not recognized
+Solution: Update the filetype detection code to detect '*.shtml' either
+          as HTML (Server Side Includes) or SuperHTML (template files)
+          (EliSauder).
+
+Patch 9.1.0636
+Problem:  filetype: ziggy files are not recognized
+Solution: detect '*.ziggy' files as ziggy filetype,
+          detect '*.ziggy-schema' files as ziggy-schema filetype (EliSauder).
+
+Patch 9.1.0637
+Problem:  MS-Windows: Style issues in MSVC Makefile
+Solution: Fix style issues, simplify logic (Ken Takata).
+
+Patch 9.1.0638
+Problem:  E1510 may happen when formatting a message (after 9.1.0181).
+Solution: Only give E1510 when using typval (zeertzjq).
+
+Patch 9.1.0639
+Problem:  channel timeout may wrap around
+Solution: Correct timeout calculation when GetTickCount() wraps around
+          (Ken Takata).
+
+Patch 9.1.0640
+Problem:  Mingw: Makefile can be improved
+Solution: Reduce nesting level, directly check if the '-Wl,--entry'
+          option is required (Ken Takata).
+
+Patch 9.1.0641
+Problem:  MS-Windows: OLE enabled in console version, may cause hang
+          (Linda_pp)
+Solution: Disable OLE for console version (Ken Takata).
+
+Patch 9.1.0642
+Problem:  Check that mapping rhs starts with lhs doesn't work if lhs is
+          not simplified.
+Solution: Keep track of the mapblock containing the alternative lhs and
+          also compare with it (zeertzjq).
+
+Patch 9.1.0643
+Problem:  terminal: cursor may end up on invalid position after reducing
+          the scrollback lines (user202729)
+Solution: After reducing the scrollback size, check the cursor position,
+          making sure it does not end up on an invalid line.
+
+Patch 9.1.0644
+Problem:  Unnecessary STRLEN() when applying mapping (after v9.1.0642).
+Solution: Use m_keylen and vim_strnsave() (zeertzjq).
+
+Patch 9.1.0645
+Problem:  regex: wrong match when searching multi-byte char case-insensitive
+          (diffsetter)
+Solution: Apply proper case-folding for characters and search-string
+
+Patch 9.1.0646
+Problem:  Vim9: imported function may not be found
+Solution: Try to find the function by name (Ernie Rael).
+
+Patch 9.1.0647
+Problem:  [security] use-after-free in tagstack_clear_entry (Suyue Guo).
+Solution: Instead of manually calling vim_free() on each of the tagstack
+          entries, let's use tagstack_clear_entry(), which will
+          also free the stack, but using the VIM_CLEAR macro, which prevents a
+          use-after-free by setting those pointers to NULL.
+
+Patch 9.1.0648
+Problem:  [security] double-free in dialog_changed() (SuyueGuo)
+Solution: Only clear pointer b_sfname pointer, if it is different than the
+          b_ffname pointer.  Don't try to free b_fname, set it to NULL
+          instead.
+
+Patch 9.1.0649
+Problem:  Wrong comment for "len" argument of call_simple_func().
+Solution: Remove the "or -1 to use strlen()".  Also change its type to
+          size_t to remove one cast. (zeertzjq).
+
+Patch 9.1.0650
+Problem:  Coverity warning in cstrncmp() (after v9.1.0645).
+Solution: Change the type of n2 to int (zeertzjq).
+
+Patch 9.1.0651
+Problem:  ex: trailing dot is optional for :g and :insert/:append
+Solution: Don't break out early, when the next command is empty
+          (Mohamed Akram).
+
+Patch 9.1.0652
+Problem:  too many strlen() calls in syntax.c
+Solution: refactor code to reduce the number or strlen() calls, get rid of
+          un-used SYN_NAMELEN macro (John Marriott).
+
+Patch 9.1.0653
+Problem:  Patch v9.1.0648 not completely right (zeertzjq)
+Solution: Remove always true condition.
+
+Patch 9.1.0654
+Problem:  completion does not respect completeslash with fuzzy (egesip)
+Solution: Change path separator on Windows, depending on 'completeslash'
+          option value (glepnir).
+
+Patch 9.1.0655
+Problem:  filetype: goaccess config file not recognized
+Solution: Detect 'goaccess.conf' as goaccess filetype, also
+          include a basic syntax and ftplugin (Adam Monsen)
+
+Patch 9.1.0656
+Problem:  MS-Windows: MSVC Makefile CPU handling can be improved
+Solution: Update Makefile and also remove some old code (Ken Takata).
+
+Patch 9.1.0657
+Problem:  MS-Windows: MSVC build time can be optimized
+Solution: Stop using Powershell, show detected version, read _MSC_VER
+          and _MSC_FULL_VER in a single cl execution. (Ken Takata).
+
+Patch 9.1.0658
+Problem:  Coverity warns about dereferencing NULL pointer.
+Solution: Bail out if vim_strrchr() returns NULL (zeertzjq).
+
+Patch 9.1.0659
+Problem:  MS-Windows: MSVC Makefile is a bit hard to read (after v9.1.0657).
+Solution: Indent the if/else statements to improve readability (Ken Takata).
+
+Patch 9.1.0660
+Problem:  MS-Windows: Shift-Insert does not work on old conhost
+          (Nick Jensen, after 9.0.1146)
+Solution: Handle Shift-Insert specifically (Christian Plewright).
+
+Patch 9.1.0661
+Problem:  the zip plugin is not tested.
+Solution: Include tests (Damien).
+
+Patch 9.1.0662
+Problem:  filecopy() may return wrong value when readlink() fails.
+Solution: Set ret to -1 so that 0 is returned when readlink() fails
+          (zeertzjq).
+
+Patch 9.1.0663
+Problem:  tests: zip test still resets 'shellslash' option
+Solution: Remove resetting the 'shellslash' option, the zip plugin should now
+          be able to handle this options.
+
+Patch 9.1.0664
+Problem:  MS-Windows: console vim did not switch back to main screen on
+          exit
+Solution: switch back to main screen on exit (Ken Takata).
+
+Patch 9.1.0665
+Problem:  Locked variable can be changed in a :for loop.
+Solution: Always do a full permission check on the first loop iteration
+          where ASSIGN_DECL is not set (zeertzjq).
+
+Patch 9.1.0666
+Problem:  assert_equal() doesn't show multibyte string correctly
+Solution: Properly advance over a multibyte char (zeertzjq).
+
+Patch 9.1.0667
+Problem:  Some other options reset curswant unnecessarily when set.
+          (Andrew Haust)
+Solution: Don't reset curswant when setting 'comments', 'commentstring'
+          or 'define' (zeertzjq).
+
+Patch 9.1.0668
+Problem:  build-error with python3.12 and stable ABI (zdohnal)
+Solution: Add type casts, define Py_INCREF for Python3.12 and higher
+          (Ken Takata).
+
+Patch 9.1.0669
+Problem:  stable python ABI not used by default
+Solution: Enable stable python ABI v3.8 when building with python3/dyn
+          by default, update the default Python3 version to 3.8 for
+          MS-Windows (Ken Takata).
+
+Patch 9.1.0670
+Problem:  po file encoding fails on *BSD during make
+Solution: Instead of using `$<` make use of variable `$?` which should
+          be equivalent when the rule is dependent on only a single
+          file (RestorerZ).
+
+Patch 9.1.0672
+Problem:  marker folds may get corrupted on undo (Yousef Mohammed)
+Solution: When adjusting folds, make sure that line1 is the lower limit
+          and line2 is the upper line limit. In particular, line2 should
+          not be able to get smaller than line1.
+
+Patch 9.1.0673
+Problem:  Vim9: too recursive func calls when calling super-class method
+          with non-overriden super-call methods. (Aliaksei Budavei)
+Solution: Use interface method, when super is to be used (Ernie Rael)
+
+Patch 9.1.0674
+Problem:  Vim9: compiling abstract method fails because of missing
+          return (Aliaksei Budavei)
+Solution: Don't require a return statement for an abstract method when
+          compiling (Ernie Rael).
+
+Patch 9.1.0675
+Problem:  Patch v9.1.0674 causes problems
+Solution: Revert it for now.
+
+Patch 9.1.0676
+Problem:  style issues with man pages
+Solution: Update man pages and test_xxd.vim, since it uses
+          the xxd man page (RestorerZ)
+
+Patch 9.1.0677
+Problem:  :keeppatterns does not retain the substitute pattern
+          for a :s command
+Solution: Preserve the last substitute pattern when used with the
+          :keeppatterns command modifier (Gregory Anders).
+
+Patch 9.1.0678
+Problem:  [security]: use-after-free in alist_add() (SuyueGuo)
+Solution: Lock the current window, so that the reference to
+          the argument list remains valid.
+
+Patch 9.1.0679
+Problem:  Rename from w_closing to w_locked is incomplete (after 9.1.0678).
+Solution: Rename remaining occurrences of w_closing to w_locked and
+          update comments (zeertzjq).
+
+Patch 9.1.0680
+Problem:  VMS does not have defined uintptr_t
+Solution: Add type definitions (Zoltan Arpadffy).
+
+Patch 9.1.0681
+Problem:  tests: Analyzing failed screendumps is hard
+Solution: Facilitate the viewing of rendered screendumps under src/
+          add some documentation on how to use the viewdumps.vim
+          script (Aliaksei Budavei)
+
+Patch 9.1.0682
+Problem:  Vim9: Segfault with uninitialized funcref (Daniel Viberg)
+Solution: Check the Funcref for being Null before trying to access it
+          (Ernie Rael).
+
+Patch 9.1.0683
+Problem:  mode() returns wrong value with <Cmd> mapping
+Solution: Change decision priority of VIsual_active and move visual mode a bit
+          further down (kuuote)
+
+Patch 9.1.0684
+Problem:  completion is inserted on Enter with "noselect" (Carman Fu)
+Solution: Check noselect before update compl_shown_match (glepnir).
+
+Patch 9.1.0685
+Problem:  too many strlen() calls in usercmd.c
+Solution: Refactor code to reduce the number or strlen() calls (John Marriott)
+
+Patch 9.1.0686
+Problem:  zip-plugin has problems with special characters (user202729)
+Solution: Escape '*?[\' on Unix and handle those chars a bit differently on
+          MS-Windows, add a test, check before overwriting files.
+
+Patch 9.1.0687
+Problem:  Makefile may not install desktop files
+Solution: Check for "$(DESTDIR)$(DATADIR)" instead of just "$DESTDIR",
+          which is usually not defined, add uninstall rules for the
+          icons and the desktop files.
+
+Patch 9.1.0688
+Problem:  Vim9: dereferences NULL pointer in check_type_is_value() (Suyue Guo)
+Solution: Verify that the pointer is not Null.
+
+Patch 9.1.0689
+Problem:  buffer-overflow in do_search() with 'rightleft' (SuyueGuo)
+Solution: After reversing the text (which allocates a new buffer),
+          re-calculate the text length.
+
+Patch 9.1.0690
+Problem:  cannot set special highlight kind in popupmenu
+Solution: Add kind_hlgroup item to complete function (glepnir).
+
+Patch 9.1.0691
+Problem:  python3: stable-abi may cause segfault on Python 3.11
+          (Audrius Kažukauskas, after v9.1.0668)
+Solution: Do not enable the stable Python ABI by default, only when used
+          with --with-python3-stable-abi argument is given
+
+Patch 9.1.0692
+Problem:  Wrong patlen value in ex_substitute() (after 9.1.0426).
+Solution: Compute patlen after finding end separator (zeertzjq).
+
+Patch 9.1.0693
+Problem:  Configure doesn't show result when not using python3 stable
+          abi (after v9.1.0691)
+Solution: Add back AC_MSG_RESULT() (Ken Takata).
+
+Patch 9.1.0694
+Problem:  The matchparen plugin is slow on a long line.
+Solution: Don't use a regexp to get char at and before cursor (zeertzjq).
+
+Patch 9.1.0695
+Problem:  tests: test_crash leaves Untitled file around
+Solution: Cleanup at the end of the test_crash.vim test file.
+
+Patch 9.1.0696
+Problem:  installing runtime files fails when using SHADOWDIR
+Solution: Revert part of v9.1.0609, since runtime/doc/Makefile's default
+          value for VIMPROG does not work if vim was built in a SHADOWDIR.
+          (James McCoy)
+
+Patch 9.1.0697
+Problem:  heap-buffer-overflow in ins_typebuf (SuyueGuo)
+Solution: When flushing the typeahead buffer, validate that there is enough
+          space left
+
+Patch 9.1.0698
+Problem:  tests: "Untitled" file not removed when running Test_crash1_3 alone
+          with TEST_FILTER (after v9.1.0695)
+Solution: Use a TearDown function instead of another test (zeertzjq).
+
+Patch 9.1.0699
+Problem:  "dvgo" is not always an inclusive motion (Iain King-Speir)
+Solution: Initialize the inclusive flag to false.
+
+Patch 9.1.0700
+Problem:  possible crash with 2byte encoding and glob2regpat()
+Solution: Skip over character, if it is multi-byte character.
+
+Patch 9.1.0701
+Problem:  crash with NFA regex engine when searching for composing chars
+          (SuyueGuo)
+Solution: When there is no composing character, break out of the loop
+          and check that out1 state is not null.
+
+Patch 9.1.0702
+Problem:  Patch 9.1.0700 broke CI
+Solution: Revert for now.
+
+Patch 9.1.0703
+Problem:  possible crash with 2-byte encoding and glob2regpat()
+          (after v9.1.0700, v9.1.0702)
+Solution: Include both bytes for a multi-byte character for an
+          escaped character.
+
+Patch 9.1.0704
+Problem:  inserting with a count is inefficient
+Solution: Disable calculation of the cursor position and topline, if a
+          count has been used (Ken Takata).
+
+Patch 9.1.0705
+Problem:  Sorting of fuzzy filename completion is not stable
+Solution: Compare indexes when scores are equal.  Fix some typos (zeertzjq).
+
+Patch 9.1.0706
+Problem:  tests: test_gettext fails when using shadow dir
+Solution: Link the ru_RU directory into the shadow testdir (James McCoy).
+
+Patch 9.1.0707
+Problem:  [security]: invalid cursor position may cause a crash
+          (after v9.1.0038)
+Solution: Set cursor to the last character in a line, if it would
+          otherwise point to beyond the line; no tests added, as it
+          is unclear how to reproduce this.
+
+Patch 9.1.0708
+Problem:  Window is updated with potentially invalid skipcol in recursive
+          window update path. I.e. cursor outside of visible range in
+          large line that does not fit.
+Solution: Make sure it is valid (Luuk van Baal).
+
+Patch 9.1.0709
+Problem:  GUIEnter not found in Turkish locale (James McCoy)
+Solution: Explicitly compare autocommand events by ASCII value and
+          ignoring locale, because according to the documentation,
+          events are case insensitive.
+
+Patch 9.1.0710
+Problem:  when a popup window covers the command line,
+          the command line is not completely cleared on popup_hide() (yu3s)
+Solution: Check if the popup window covers the command line and if it
+          does, set the clear_cmdline flag.
+
+Patch 9.1.0711
+Problem:  tests: test_xxd may file when using different xxd
+Solution: Make Test_xxd_color_0 agnostic to xxd's path, similar to
+          Test_xxd_color_1 by filtering out shell command prompt in
+          screen dump file (James McCoy).
+
+Patch 9.1.0712
+Problem:  tests: missing dependency of Test_gettext_makefile
+Solution: Check that xgettext binary is available, else skip the test
+          (James McCoy).
+
+Patch 9.1.0713
+Problem:  Newline causes E749 in Ex mode (after 9.1.0573).
+Solution: Don't execute empty command followed by a newline.
+
+Patch 9.1.0714
+Problem:  tests: GuiEnter_Turkish test may fail
+Solution: The message will be translated if the Turkish message file is
+          installed. Use gettext() to get the expected message (Ken Takata).
+
+Patch 9.1.0715
+Problem:  Not correctly parsing color names (chdiza, after v9.1.0709)
+Solution: Revert part of the Patch that compares the color names and
+          fall-back to the macro STRICMP.
+
+Patch 9.1.0716
+Problem:  resetting setcellwidth() doesn't update the screen
+Solution: Redraw after clearing the cellwidth table (Ken Takata).
+
+Patch 9.1.0717
+Problem:  Unnecessary nextcmd NULL checks in parse_command_modifiers().
+Solution: Remove them (zeertzjq).
+
+Patch 9.1.0718
+Problem:  hard to guess the Vim Runtime Directory
+Solution: Set the $MYVIMDIR environment variable to the users
+          personal runtime directory (e.g. ~/.vim on Linux).
+
+Patch 9.1.0719
+Problem:  Resetting cell widths can make 'listchars' or 'fillchars'
+          invalid.
+Solution: Check for conflicts when resetting cell widths (zeertzjq).
+
+Patch 9.1.0720
+Problem:  Wrong breakindentopt=list:-1 with multibyte chars or TABs in
+          text matched by 'formatlistpat' (John M Devin)
+Solution: Use the width of the match text (zeertzjq).
+
+Patch 9.1.0721
+Problem:  tests: test_mksession does not consider XDG_CONFIG_HOME
+Solution: Allow to match $HOME/.vim/ and $HOME/.config/vim for &viewdir
+          (John M Devin)
+
+Patch 9.1.0722
+Problem:  crash with large id in text_prop interface
+          prop_add()/prop_add_list() (cposture)
+Solution: Error out if the id is > INT_MAX or <= INT_MIN.
+
+Patch 9.1.0723
+Problem:  if_python: dynamic linking fails with python3 >= 3.13
+          when using non-stable ABI (zdohnal)
+Solution: Do not try to import the privat python symbol
+          _PyObject_NextNotImplemented (Yee Cheng Chin).
+
+Patch 9.1.0724
+Problem:  if_python: link error with python 3.13 and stable ABI (zdohnal)
+Solution: Use the correct stable APIs Py_IncRef and Py_DecRef instead
+          (Yee Cheng Chin)
+
+Patch 9.1.0725
+Problem:  filetype: swiftinterface files are not recognized
+Solution: Detect '*.swiftinterface' files as swift filetype (LosFarmosCTL).
+
+Patch 9.1.0726
+Problem:  not using correct python3 API with dynamic linking
+Solution: Use stable IncRef / DecRef in Python 3 dynamic bindings
+          (Yee Cheng Chin).
+
+Patch 9.1.0727
+Problem:  too many strlen() calls in option.c
+Solution: Refactor the code to reduce the number of strlen() calls
+          (John Marriott)
+
+Patch 9.1.0728
+Problem:  heap-use-after-free in garbage collection with location list
+          user data.
+Solution: Mark user data as in use when no other window is referencing
+          the location list (zeertzjq).
+
+Patch 9.1.0729
+Problem:  Wrong cursor-screenline when resizing window
+Solution: Invalidate saved left_col and right_col when width1 or width2
+          change.
+
+Patch 9.1.0730
+Problem:  Crash with cursor-screenline and narrow window (elig0n)
+Solution: Don't set right_col when width2 is 0 (zeertzjq).
+
+Patch 9.1.0731
+Problem:  inconsistent case sensitive extension matching
+Solution: Unify case sensitive extension matching (Evgeni Chasnovski).
+
+Patch 9.1.0732
+Problem:  xxd: cannot use -b and -i together (Irgendwer)
+Solution: Implement the missing changes (Andre Chang)
+
+Patch 9.1.0733
+Problem:  keyword completion does not work with fuzzy (egesip)
+Solution: Handle ctrl_x_mode_normal() specifically (glepnir).
+
+Patch 9.1.0734
+Problem:  filetype: jinja files are not recognized
+Solution: Detect '*.jinja' files a jinja filetype,
+          include jinja syntax script (Gregory Anders)
+
+Patch 9.1.0735
+Problem:  filetype: salt files are not recognized
+Solution: Detect '*.sls' files as filetype salt,
+          include a syntax script (Gregory Anders)
+
+Patch 9.1.0736
+Problem:  Unicode tables are outdated
+Solution: Update Unicode tables to v16
+
+Patch 9.1.0737
+Problem:  Asynchronous terminal jobs occassionally require more time
+          to complete and redraw the window
+Solution: Increase the sleep value from 10 to 50 milliseconds
+          (Aliaksei Budavei).
+
+Patch 9.1.0738
+Problem:  filetype: rapid files are not recognized
+Solution: Detect '*.sysx' and '*.modx' as rapid filetype (KnoP-01).
+
+Patch 9.1.0739
+Problem:  [security]: use-after-free in ex_getln.c
+Solution: free pointer p a bit later (John Marriott).
+
+Patch 9.1.0740
+Problem:  incorrect internal diff with an empty file
+Solution: Set pointer to NULL, instead of using an empty line file
+          (Yukihiro Nakadaira).
+
+Patch 9.1.0741
+Problem:  No way to get prompt for input()/confirm()
+Solution: Add getcmdprompt() function (Shougo Matsushita).
+
+Patch 9.1.0742
+Problem:  getcmdprompt() implementation can be improved
+Solution: Improve and simplify it (h-east).
+
+Patch 9.1.0743
+Problem:  diff mode does not handle overlapping diffs correctly
+Solution: Correct the logic to handle overlapping blocks
+          (Yukihiro Nakadaira)
+
+Patch 9.1.0744
+Problem:  filetype: notmuch configs are not recognised
+Solution: Detect more notmuch profile configuration files
+          as dosini filetype (Julio B).
+
+Patch 9.1.0745
+Problem:  filetype: bun and deno history files not recognized
+Solution: Detect '.bun_repl_history' and 'deno_history.txt' as
+          javascript filetype (Wu, Zhenyu).
+
+Patch 9.1.0746
+Problem:  Test_halfpage_longline() fails on large terminals (lazypingu)
+Solution: Use a window with known width (zeertzjq).
+
+Patch 9.1.0747
+Problem:  various typos in repo found
+Solution: Fix typos (zeertzjq).
+
+Patch 9.1.0748
+Problem:  The :keep{alt,jumps,marks,patterns} commmands are sometimes
+          misidentified as :k.
+Solution: Make sure one_letter_cmd() only returns true for :k and not
+          other :keep* commands (Doug Kearns).
+
+Patch 9.1.0749
+Problem:  filetype: http files not recognized
+Solution: Detect '*.http' as http filetype, include
+          http filetype plugin (Riley Bruins)
+
+Patch 9.1.0750
+Problem:  there are some Win9x legacy references
+Solution: Remove those mentions (Nir Lichtman).
+
+Patch 9.1.0751
+Problem:  Error callback for term_start() not used (darkseid-is)
+Solution: Attach pipe to stderr if an error callback exists
+
+Patch 9.1.0752
+Problem:  can set cedit to an invalid value
+Solution: Check that the value is a valid key name (Milly)
+
+Patch 9.1.0753
+Problem:  Wrong display when typing in diff mode with 'smoothscroll'.
+Solution: Use adjust_plines_for_skipcol() (zeertzjq).
+
+Patch 9.1.0754
+Problem:  fixed order of items in insert-mode completion menu
+Solution: Introduce the 'completeitemalign' option with default
+          value "abbr,kind,menu" (glepnir).
+
+Patch 9.1.0755
+Problem:  quickfix list does not handle hardlinks well
+Solution: Store original file name with quickfix entry (Austin Chang)
+
+Patch 9.1.0756
+Problem:  missing change from Patch v9.1.0754
+Solution: Use correct width for the actual item in pum_redraw() (glepnir).
+
+Patch 9.1.0757
+Problem:  tests: messages files contains ANSI escape sequences
+Solution: Filter those out in runtests.vim
+
+Patch 9.1.0758
+Problem:  it's possible to set an invalid key to 'wildcharm'
+Solution: Error out, if the 'wildcharm' value is an invalid key (Milly).
+
+Patch 9.1.0759
+Problem:  screenpos() may return invalid position after switching buffers
+          (Greg Hurrell)
+Solution: Reset w_leftcol if wrapping has been set after copying wrap option.
+
+Patch 9.1.0760
+Problem:  tests: no error reported, if gen_opt_test.vim fails
+Solution: Make Vim exit with return code 1 in case of any error (Milly).
+
+Patch 9.1.0761
+Problem:  :cd completion fails on Windows with backslash in path
+Solution: Switch no_bslash argument to FALSE in file_pat_to_reg_pat()
+
+Patch 9.1.0762
+Problem:  'cedit', 'termwinkey' and 'wildchar' may not be parsed correctly
+Solution: improve string_to_key() function in option.c (Milly).
+
+Patch 9.1.0763
+Problem:  tests: cannot run single syntax tests
+Solution: Support running a subset of syntax tests (Aliaksei Budavei).
+
+Patch 9.1.0764
+Problem:  [security]: use-after-free when closing a buffer
+Solution: When splitting the window and editing a new buffer,
+          check whether the newly to be edited buffer has been marked
+          for deletion and abort in this case.
+
+Patch 9.1.0765
+Problem:  No test for Patches 6.2.418 and 7.3.489
+Solution: Add a test.  Fix some whitespace problems in test_mapping.vim.
+          Document the behavior (zeertzjq).
+
+Patch 9.1.0766
+Problem:  too many strlen() calls in ex_getln.c
+Solution: Refactor the code to reduce the number of strlen() calls
+          (John Marriott).
+
+Patch 9.1.0767
+Problem:  A cmdlen == 0 condition is always true as ccline.cmdlen == 0
+          was already checked above (after v9.1.0766).
+Solution: Remove the condition and the variable (zeertzjq).
+
+Patch 9.1.0768
+Problem:  MS-Windows: incorrect cursor position when restoring screen
+          (after v9.1.0664)
+Solution: Restore the VTP command for switching screens back to
+          termcap_mode_end() (William Bresler).
+
+Patch 9.1.0769
+Problem:  filetype: MLIR files are not recognized
+Solution: Detect '*.mlir' files as mlir filetype,
+          include a mlir filetype plugin (Wu, Zhenyu).
+
+Patch 9.1.0770
+Problem:  current command completion is a bit limited
+Solution: Add the shellcmdline completion type and getmdcomplpat()
+          function (Ruslan Russkikh).
+
+Patch 9.1.0771
+Problem:  Currently completion attribute hl_group is combined with
+          all items, which is redundant and confusing with kind_hlgroup
+Solution: Renamed to abbr_hlgroup and combine it only with the abbr item
+          (glepnir).
+
+Patch 9.1.0772
+Problem:  some missing changes from v9.1.0771
+Solution: Use correct highlighting attribute and adjust comments (glepnir).
+
+Patch 9.1.0773
+Problem:  filetype: some Apache files are not recognized
+Solution: Detect more config files from the Apache source
+          distribution as filetype apache (nisbet-hubbard)
+
+Patch 9.1.0774
+Problem:  "shellcmdline" doesn't work with getcompletion().
+Solution: Use set_context_for_wildcard_arg() (zeertzjq).
+
+Patch 9.1.0775
+Problem:  tests: not enough tests for setting options
+Solution: Add more comprehensive tests to test_options (Milly).
+
+Patch 9.1.0776
+Problem:  test_strftime may fail because of missing TZ data
+Solution: Use GMT offsets to validate timezone differences (James McCoy).
+
+Patch 9.1.0777
+Problem:  filetype: Some upstream php files are not recognized
+Solution: Detect more config files from the PHP source
+          distribution as filetype ini (nisbet-hubbard).
+
+Patch 9.1.0778
+Problem:  filetype: lf config files are not recognized
+Solution: Detect lfrc files as lf filetype, include a syntax
+           script for lf files (Andis Spriņķis).
+
+Patch 9.1.0779
+Problem:  filetype: neomuttlog files are not recognized
+Solution: Detect '*.neomuttdebug' file as neomuttlog filetype,
+          include neomuttlog syntax script (Richard Russon).
+
+Patch 9.1.0780
+Problem:  MS-Windows: incorrect Win32 error checking
+Solution: Fix wrong order of error handling and perform
+          some minor refactoring (Nir Lichtman).
+
+Patch 9.1.0781
+Problem:  tests: test_filetype fails (clason) (after v9.1.0779).
+Solution: Use correct filename for neomuttlog filetype.
+
+Patch 9.1.0782
+Problem:  tests: using wrong neomuttlog file name
+Solution: Use correct file name.
+
+Patch 9.1.0783
+Problem:  'spell' option setting has problems
+Solution: correctly check for comma for 'spellfile' option,
+          remove unnecessary checks, refactor slightly (Milly)
+
+Patch 9.1.0784
+Problem:  there are several problems with python 3.13
+Solution: Fix the problems in the python3 interface (Boris Staletic)
+
+Patch 9.1.0785
+Problem:  cannot preserve error position when setting quickfix lists
+Solution: Add the 'u' action for setqflist()/setloclist() and try
+          to keep the closes target position (Jeremy Fleischman).
+
+Patch 9.1.0786
+Problem:  tests: quickfix update test does not test location list
+          (after: v9.1.0.785)
+Solution: Update Test_quickfix_buffer_contents to test with location
+          lists (Yegappan Lakshmanan).
+
+Patch 9.1.0787
+Problem:  cursor position changed when using hidden terminal
+          and BufFilePost autocommand (Mizuno Jan Yuta)
+Solution: Save and restore cursor position.
+
+Patch 9.1.0788
+Problem:  <CSI>27;<mod>u is not decoded to literal Escape in kitty/foot
+Solution: Disable XTerm modifyOtherKeys form 1 when the kitty protocol is enabled
+          (Christian Fillion)
+
+Patch 9.1.0789
+Problem:  tests: ':resize + 5' has invalid space after '+'
+Solution: Correct the test (Milly).
+
+Patch 9.1.0790
+Problem:  Amiga: AmigaOS4 build should use default runtime (newlib)
+Solution: Remove clib2 from compiler / linker flags (Ola Söder).
+
+Patch 9.1.0791
+Problem:  tests: errors in gen_opt_test.vim are not shown
+Solution: update gen_opt_test.vim and write test.log,
+          let the makefile output test.log (Milly).
+
+Patch 9.1.0792
+Problem:  tests: Test_set_values() is not comprehensive enough
+Solution: Add a lot more test cases (Milly).
+
+Patch 9.1.0793
+Problem:  xxd: -e does add one extra space
+Solution: fix it, refactor and merge some code (Aapo Rantalainen).
+
+Patch 9.1.0794
+Problem:  tests: tests may fail on Windows environment
+Solution: Use shellcmdflag=/D to skip executing autorun from the registry
+          (Milly).
+
+Patch 9.1.0795
+Problem:  filetype: Vivado memory info file are not recognized
+Solution: Detect '*.mmi' memory info file as xml filetype (Wu, Zhenyu).
+
+Patch 9.1.0796
+Problem:  filetype: libtool files are not recognized
+Solution: Detect '*.{lo,la,lai}' as sh filetype (Wu, Zhenyu).
+
+Patch 9.1.0797
+Problem:  testing of options can be further improved
+Solution: Split the generated option test into test_options_all.vim,
+          add more test cases, save and restore values, fix use-after-free.
+
+Patch 9.1.0798
+Problem:  too many strlen() calls in cmdhist.c
+Solution: Refactor code and remove strlen() calls (John Marriott).
+
+Patch 9.1.0799
+Problem:  tests: gettwinvar()/gettabwinvar() tests are not comprehensive
+Solution: Add more tests (Milly).
+
+Patch 9.1.0800
+Problem:  tests: no error check when setting global 'termwinsize'
+Solution: Also validate when using setglobal (Milly).
+
+Patch 9.1.0801
+Problem:  tests: no error check when setting global 'termwinkey'
+Solution: Also validate when using setglobal (Milly).
+
+Patch 9.1.0802
+Problem:  tests: no error check when setting global 'fdm' to empty value
+Solution: Also check global 'fdm' value for being empty (Milly).
+
+Patch 9.1.0803
+Problem:  tests: no error check when setting global 'isk'
+Solution: Also parse and check global 'isk' value (Milly).
+
+Patch 9.1.0804
+Problem:  tests: no error check when setting global 'cc'
+Solution: Also parse and check global 'cc' value (Milly).
+
+Patch 9.1.0805
+Problem:  tests: minor issues in gen_opt_test.vim
+Solution: Fix restore value for 'undolevels', fix comment, fix
+          wrong cpo value, add equality test for global-local options on
+          switchback (Milly).
+
+Patch 9.1.0806
+Problem:  tests: no error check when setting global 'briopt'
+Solution: Also parse and check global 'briopt' value (Milly).
+
+Patch 9.1.0807
+Problem:  tests: having 'nolist' in modelines isn't always desired
+Solution: Remove 'nolist' from modeline (zeertzjq).
+
+Patch 9.1.0808
+Problem:  Terminal scrollback doesn't shrink when reducing
+          'termwinscroll'
+Solution: Check if option value was decreased (Milly).
+
+Patch 9.1.0809
+Problem:  filetype: petalinux config files not recognized
+Solution: Detect 'project-spec/*.conf' files as bitbake filetype (Wu, Zhenyu).
+
+Patch 9.1.0810
+Problem:  cannot easily adjust the |:find| command
+Solution: Add support for the 'findexpr' option (Yegappan Lakshmanan).
+
+Patch 9.1.0811
+Problem:  :find expansion does not consider 'findexpr'
+Solution: Support expanding :find command argument using 'findexpr'
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0812
+Problem:  Coverity warns about dereferencing NULL ptr in check_colorcolumn()
+Solution: Verify that wp is not null before accessing it.
+
+Patch 9.1.0813
+Problem:  no error handling with setglobal and number types
+Solution: Validate values when using :setglobal with number option types
+          (Milly).
+
+Patch 9.1.0814
+Problem:  mapset() may remove unrelated mapping whose {rhs} matches the
+          restored mapping's {lhs}.
+Solution: Only match by {lhs} when unmapping for mapset() (zeertzjq).
+
+Patch 9.1.0815
+Problem:  "above" virtual text causes wrong 'colorcolumn' position (@matrdr)
+Solution: Use the number of cells instead of bytes for vcol_off_tp
+          (zeertzjq).
+
+Patch 9.1.0816
+Problem:  tests: not clear what tests cause asan failures
+Solution: Append testname to $ASAN_OPTIONS.
+
+Patch 9.1.0817
+Problem:  termdebug: cannot evaluate expr in a popup
+Solution: Enhance termdebug plugin and allow to evaluate expressions in
+          a popup window, add a unit test (Peter Wolf).
+
+Patch 9.1.0818
+Problem:  some global functions are only used in single files
+Solution: Refactor code slightly and make some more functions static
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0819
+Problem:  tests: need a test for findexpr and vim9 imported func
+Solution: Add a test for 'findexpr' and Vim9 imported script
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0820
+Problem:  tests: Mac OS tests are too flaky
+Solution: Increase max test timeout to 25 minutes, allow up to 10 retries on
+          Mac OS runners, refactor runtest.vim (Milly).
+
+Patch 9.1.0821
+Problem:  'findexpr' completion doesn't set v:fname to cmdline argument.
+Solution: Set v:fname to the cmdline argument as-is (zeertzjq).
+
+Patch 9.1.0822
+Problem:  topline might be changed in diff mode unexpectedly (Jaehwang Jung)
+Solution: Do not re-calculate topline, when using line() func in diff mode.
+
+Patch 9.1.0823
+Problem:  filetype: Zephyr overlay files not recognized
+Solution: Detect '*.overlay' files as dts filetype, include syntax tests for
+          DTS files (Xudong Zheng).
+
+Patch 9.1.0824
+Problem:  too many strlen() calls in register.c
+Solution: Refactor code, add string_T struct to keep track of string lengths
+          (John Marriott).
+
+Patch 9.1.0825
+Problem:  compile error for non-diff builds (after v9.1.0822)
+Solution: Add #ifdef FEAT_DIFF (John Marriott).
+
+Patch 9.1.0826
+Problem:  filetype: sway files are not recognized
+Solution: Detect '*.sw' files as sway filetype, include a filetype plugin
+          (Riley Bruins).
+
+Patch 9.1.0827
+Problem:  CI: tests can be improved
+Solution: Collect failed indent tests, raise timeout for search()
+          functions when using ASAN/Valgrind (Aliaksei Budavei).
+
+Patch 9.1.0828
+Problem:  string_T struct could be used more often
+Solution: Refactor code and make use of string_T struct for key-value pairs,
+          reformat overlong lines (John Marriott).
+
+Patch 9.1.0829
+Problem:  Vim source code uses a mix of tabs and spaces
+Solution: Expand tabs in sound.c, this is an experiment (Luca Saccarola).
+
+Patch 9.1.0830
+Problem:  using wrong highlight group for spaces for popupmenu
+Solution: Use original attribute instead of combined attributed (glepnir).
+
+Patch 9.1.0831
+Problem:  'findexpr' can't be used for lambads (Justin Keyes)
+Solution: Replace the findexpr option with the findfunc option
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0832
+Problem:  :set doesn't work for 'cot' and 'bkc' after :setlocal.
+Solution: Clear the local flags when using :set (zeertzjq).
+
+Patch 9.1.0833
+Problem:  CI: recent ASAN changes do not work for indent tests
+Solution: Move code to runtime/indent/testdir/runtest.vim (Aliaksei Budavei).
+
+Patch 9.1.0834
+Problem:  tests: 2html test fails (after b256221e8377)
+Solution: Adjust testdir/samples/Test_tohtml_basic.c.html (Aliaksei Budavei).
+
+Patch 9.1.0835
+Problem:  :setglobal doesn't work properly for 'ffu' and 'tsrfu' when
+          the local value is set (after v9.1.0831)
+Solution: Check os_flags instead of buffer option variable (zeertzjq).
+
+Patch 9.1.0836
+Problem:  the vimtutor can be improved
+Solution: Port and include the interactive vimtutor plugin from Neovim
+          (by Felipe Morales) (Yegappan Lakshmanan).
+
+Patch 9.1.0837
+Problem:  Cross-compiling to good modern operating systems is difficult as
+          configure assumes obscure bugs are present by default. However,
+          most core autoconf-based packages today assume features work
+          when in doubt, making cross-compilation easier.
+Solution: Assume features work by default and continue to issue a warning
+          with the appropriate cache variable. This solution shifts the
+          burden onto the users of rare buggy operating systems and
+          makes cross-compilation work out of the box for everyone else.
+
+Patch 9.1.0838
+Problem:  vimtutor is bash-specific (after 17c71daf83f45c3ee8)
+Solution: Port back to POSIX sh (Aliaksei Budavei).
+
+Patch 9.1.0839
+Problem:  filetype: leo files are not recognized
+Solution: Detect '*.leo' files as leo filetype, include a filetype plugin
+          (Riley Bruins)
+
+Patch 9.1.0840
+Problem:  filetype: idris2 files are not recognized
+Solution: Detect '*.idr' files as idris2, '*.lidr' files as lidris2
+          and '*.ipkg' files as ipkg filetype (Serhii Khoma)
+
+Patch 9.1.0841
+Problem:  tests: still preferring python2 over python3
+Solution: Prefer Python 3 when picking a Python program in Vim tests,
+          by checking for the more specific python version first and
+          only when python3 not found, check for the python binary
+          (Yee Cheng Chin).
+
+Patch 9.1.0842
+Problem:  not checking for the sync() systemcall
+Solution: Check for sync in configure script, fix related #ifdefs
+          (Jonas Termansen).
+
+Patch 9.1.0843
+Problem:  too many strlen() calls in undo.c
+Solution: Refactor code and remove strlen() calls, update test_undo.vim
+          and close remaining open swap files (John Marriott).
+
+Patch 9.1.0844
+Problem:  if_python: no way to pass local vars to python
+Solution: Add locals argument to py3eval(), pyeval() and pyxeval()
+          (Ben Jackson).
+
+Patch 9.1.0845
+Problem:  vimtutor shell script can be improved
+Solution: Further improve the vimtutor shell script (Aliaksei Budavei).
+
+Patch 9.1.0846
+Problem:  debug symbols for xxd are not cleaned in Makefile
+Solution: Remove  xxd.dSYM in xxds Makefile, call xxd clean target from
+          main Makefile (Yee Cheng Chin)
+
+Patch 9.1.0847
+Problem:  tests: test_popupwin fails because of updated main help file
+Solution: Normalize Last Change header in test_popup_setbuf screendumps
+
+Patch 9.1.0848
+Problem:  if_lua: v:false/v:true are not evaluated to boolean
+Solution: Use lua_pushboolean() instead of lua_pushinteger() (zeertzjq).
+
+Patch 9.1.0849
+Problem:  there are a few typos in the source.
+Solution: Correct typos (zeertzjq).
+
+Patch 9.1.0850
+Problem:  Vim9: cannot access nested object inside objects
+          (lifepillar, 91khr, mawkish)
+Solution: Add support for accessing an object member using a "any"
+          variable type (Yegappan Lakshmanan).
+
+Patch 9.1.0851
+Problem:  too many strlen() calls in getchar.c
+Solution: Refactor code and reduce strlen() calls (John Marriott).
+
+Patch 9.1.0852
+Problem:  No warning when X11 registers are not available (delvh)
+Solution: Output W23 once when connection to X11 clipboard/selection
+          is not possible, mention in the documentation, that register 0
+          will be used instead.
+
+Patch 9.1.0853
+Problem:  filetype: kubernetes config file not recognized
+Solution: Detect '/.kube/config' file as yaml filetype (Jonathan Lopez).
+
+Patch 9.1.0854
+Problem:  cannot get terminal cell size
+Solution: Add getcellpixels() function to return xpixel * ypixel
+          cell size on terminal Unix (mikoto2000).
+
+Patch 9.1.0855
+Problem:  setting 'cmdheight' may cause hit-enter-prompt and echo output
+          to be missing
+Solution: Before cleaning the cmdline, check the need_wait_return flag
+          (nwounkn).
+
+Patch 9.1.0856
+Problem:  mouseshape might be wrong on r and gr
+Solution: Call update_mousesape(-1) immediately (Yee Cheng Chin).
+
+Patch 9.1.0857
+Problem:  xxd: --- is incorrectly recognized as end-of-options
+Solution: improve xxds end-of-option parser (DungSaga).
+
+Patch 9.1.0858
+Problem:  Coverity complains about dead code (after v9.1.0852)
+Solution: adjust #ifdef FEAT_CLIPBOARD.
+
+Patch 9.1.0859
+Problem:  several problems with the GLVS plugin
+Solution: fix issues, add regression tests, require at least Vim 9.1
+          (GuyBrush)
+
+Patch 9.1.0860
+Problem:  tests: mouse_shape tests use hard code sleep value (Bram Moolenaar)
+Solution: Use WaitForAssert() instead (Yee Cheng Chin).
+
+Patch 9.1.0861
+Problem:  Vim9: no runtime check for object member access of any var
+          (after: 9.1.0850)
+Solution: Add runtime type compatibility check for object member
+          accessed using a any variable (Yegappan Lakshmanan).
+
+Patch 9.1.0862
+Problem:  'wildmenu' not enabled by default in nocp mode
+Solution: Promote the default Vim value to true, it has been enabled
+          in defaults.vim anyhow, so remove it there (Luca Saccarola).
+
+Patch 9.1.0863
+Problem:  getcellpixels() can be further improved
+Solution: Improve it further, add more tests (mikoto2000).
+
+Patch 9.1.0864
+Problem:  message history is fixed to 200
+Solution: Add the 'msghistory' option, increase the default value to 500
+          (Shougo Matsushita).
+
+Patch 9.1.0865
+Problem:  filetype: org files are not recognized
+Solution: Detect '*.org' files as 'org' filetype,
+          include filetype and syntax plugin (Luca Saccarola).
+
+Patch 9.1.0866
+Problem:  filetype: LLVM IR files are not recognized
+Solution: Detect '*.ll' files either as lifelines or llvm filetype
+          (Wu, Zhenyu).
+
+Patch 9.1.0867
+Problem:  ins_compl_add() has too many args
+Solution: Refactor it and use an int array instead of 2 separate int
+          args (glepnir).
+
+Patch 9.1.0868
+Problem:  the warning about missing clipboard can be improved
+          (after v9.1.0852)
+Solution: Use different warnings depending on whether or not clipboard
+          support is included in Vim, update related documentation
+
+Patch 9.1.0869
+Problem:  curswant not set on gm in folded line (citizenmatt)
+Solution: In a folded line, call update_curswant_force().
+
+Patch 9.1.0870
+Problem:  too many strlen() calls in eval.c
+Solution: Refactor eval.c to remove calls to STRLEN() (John Marriott).
+
+Patch 9.1.0871
+Problem:  getcellpixels() can be further improved
+Solution: Fix floating point exception, implement getcellpixels() in the
+          UI (mikoto2000).
+
+Patch 9.1.0872
+Problem:  No test for W23 message (after v9.1.0868)
+Solution: Check for W23 message when accessing the clipboard fails.
+
+Patch 9.1.0873
+Problem:  filetype: Vivado files are not recognized
+Solution: Detect '*.mss' files as 'mss' filetype (Wu, Zhenyu).
+
+Patch 9.1.0874
+Problem:  filetype: karel files are not detected
+Solution: Detect '*.kl' files as karel filetype, include syntax and filetype
+          plugin (Kirill Morozov).
+
+Patch 9.1.0875
+Problem:  filetype: hyprlang detection can be improved
+Solution: Detect '/hypr/*.conf' files as hyprlang filetype,
+          include basic syntax highlighting (Luca Saccarola).
+
+Patch 9.1.0876
+Problem:  filetype: openCL files are not recognized
+Solution: Detect '*.cl' files as opencl or lisp filetype,
+          include a opencl syntax and filetype plugin (Wu, Zhenyu).
+
+Patch 9.1.0877
+Problem:  tests: missing test for termdebug + decimal signs
+Solution: Add a termdebug test (Ubaldo Tiberi).
+
+Patch 9.1.0878
+Problem:  termdebug: cannot enable DEBUG mode
+Solution: Allow to specify DEBUG mode (Ubaldo Tiberi).
+
+Patch 9.1.0879
+Problem:  source is not consistently formatted
+Solution: Reformat sign.c and sound.c (Luca Saccarola).
+
+Patch 9.1.0880
+Problem:  filetype: C3 files are not recognized
+Solution: Detect '*.c3*' files as c3 filetype (Turiiya).
+
+Patch 9.1.0881
+Problem:  GUI: message dialog may not get focus
+Solution: Add window manager hint to give focus to the dialog (Chris White).
+
+Patch 9.1.0882
+Problem:  too many strlen() calls in insexpand.c
+Solution: Refactor insexpand.c and reduce number of calls to STRLEN(),
+          fix a warning get_next_filename_completion(), add new function
+          ins_compl_leader_len() (John Marriott).
+
+Patch 9.1.0883
+Problem:  message history cleanup is missing some tests
+Solution: Add tests, refactor common code into did_set_msghistory()
+          (Shougo Matsushita).
+
+Patch 9.1.0884
+Problem:  gcc warns about uninitialized variable in vim_strnicmp_asc()
+Solution: Initialize variable to 1 (John Marriott).
+
+Patch 9.1.0885
+Problem:  style of sign.c can be improved
+Solution: Refactor code (Luca Saccarola).
+
+Patch 9.1.0886
+Problem:  filetype: debian control file not detected
+Solution: Detect 'debian/control' files as debcontrol filetype.
+
+Patch 9.1.0887
+Problem:  Wrong expression in sign.c (after v9.1.0885)
+Solution: Remove the duplicate expression.
+
+Patch 9.1.0888
+Problem:  leftcol property not available in getwininfo()
+Solution: Add leftcol property property (glepnir).
+
+Patch 9.1.0889
+Problem:  Possible unnecessary redraw after adding/deleting lines.
+Solution: Check b_mod_set before using b_mod_xlines to avoid using stale
+          b_mod_xlines value (zeertzjq).
+
+Patch 9.1.0890
+Problem:  %! item not allowed for 'rulerformat' (yatinlala)
+Solution: Also allow to use %! for rulerformat option
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0891
+Problem:  building the completion list array is inefficient
+Solution: Refactor and improve ins_compl_build_pum() func (glepnir).
+
+Patch 9.1.0892
+Problem:  the max value of 'tabheight' is limited by other tabpages
+Solution: Limit the maximum value of 'cmdheight' to the current tabpage only.
+          (Milly)
+
+Patch 9.1.0893
+Problem:  No test that undofile format does not regress
+Solution: Include a sample undofile to make sure we are always able to
+          read it.
+
+Patch 9.1.0894
+Problem:  No test for what the spotbug compiler parses
+Solution: Test &makeprg for the SpotBugs compiler plugin (Aliaksei Budavei).
+
+Patch 9.1.0895
+Problem:  default history value is too small
+Solution: Promote the change from defaults.vim back to the C core, so increase
+          the default 'history' option value from 50 to 200 (Lucca Saccarola)
+
+Patch 9.1.0896
+Problem:  completion list wrong after v9.1.0891
+Solution: Update compl_mach_array after leader change (glepnir).
+
+Patch 9.1.0897
+Problem:  filetype: pyrex files are not detected
+Solution: Detect '*.pxi' and '*.pyx+' as pyrex filetype (user202729).
+
+Patch 9.1.0898
+Problem:  runtime(compiler): pytest compiler not included
+Solution: Include pytest compiler, update the compiler completion test
+          (Konfekt).
+
+Patch 9.1.0899
+Problem:  default for 'backspace' can be set in C code
+Solution: Promote the default for 'backspace' from defaults.vim to the C
+          code (Luca Saccarola).
+
+Patch 9.1.0900
+Problem:  Vim9: digraph_getlist() does not accept bool argument (Maxim Kim)
+Solution: Accept boolean as first argument (Yegappan Lakshmanan).
+
+Patch 9.1.0901
+Problem:  MS-Windows: vimtutor batch script can be improved
+Solution: Update vimtutor.bat, validate languages using Powershell
+          cultureinfo (RestorerZ).
+
+Patch 9.1.0902
+Problem:  filetype: Conda configuration files are not recognized
+Solution: Detect '.condarc' and 'condarc' files as yaml filetype (zeertzjq).
+
+Patch 9.1.0903
+Problem:  potential overflow in spell_soundfold_wsal()
+Solution: Protect wres from buffer overflow, by checking the length
+          (Zdenek Dohnal)
+
+Patch 9.1.0904
+Problem:  Vim9: copy-paste error in class_defining_member()
+Solution: Use variable type VAR_CLASS instead (Zdenek Dohnal).
+
+Patch 9.1.0905
+Problem:  Missing information in CompleteDone event
+Solution: Add complete_word and complete_type to v:event dict (glepnir).
+
+Patch 9.1.0906
+Problem:  filetype: Nvidia PTX files are not recognized
+Solution: Detect '*.ptx' files as ptx filetype (Yinzuo Jiang).
+
+Patch 9.1.0907
+Problem:  printoptions:portrait does not change postscript Orientation
+Solution: Set Orientation depending on portrait suboption.
+
+Patch 9.1.0908
+Problem:  not possible to configure :messages
+Solution: Add the 'messagesopt' option (Shougo Matsushita).
+
+Patch 9.1.0909
+Problem:  Vim9: crash when calling instance method (Igbanam Ogbuluijah)
+Solution: Pass the object when calling a partial function
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0910
+Problem:  'messagesopt' does not check max wait time (after v9.1.0908)
+Solution: Check for max wait value (Shougo Matsushita).
+
+Patch 9.1.0911
+Problem:  Variable name for 'messagesopt' doesn't match short name
+          (after v9.1.0908)
+Solution: Change p_meo to p_mopt.  Add more details to docs (zeertzjq).
+
+Patch 9.1.0912
+Problem:  xxd: integer overflow with sparse files and -autoskip
+Solution: Reset zero_seen when at the limit, change the type to char
+          (sendittothenewts).
+
+Patch 9.1.0913
+Problem:  no error check for neg values for 'messagesopt' (after v9.1.0908).
+Solution: Add additional error checks and tests (h-east).
+
+Patch 9.1.0914
+Problem:  Vim9: compile_assignment() is too long
+Solution: Refactor compile_assignment() into smaller functions
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0915
+Problem:  GVim: default font size a bit too small
+Solution: Increase guifont size to 12 pt on GTK builds of gVim (matveyt).
+
+Patch 9.1.0916
+Problem:  messages.c is exceeding 80 columns
+Solution: Slightly reformat messages.c (h-east).
+
+Patch 9.1.0917
+Problem:  various vartabstop and shiftround bugs when shifting lines
+Solution: Fix the bugs, add new tests for shifting lines in various ways
+          (Gary Johnson).
+
+Patch 9.1.0918
+Problem:  tiny Vim crashes with fuzzy buffer completion
+Solution: Adjust #ifdefs in ExpandBufnames() (826814741_6).
+
+Patch 9.1.0919
+Problem:  filetype: some assembler are files not recognized
+Solution: Detect '*.nasm' files as nasm filetype and '*.masm' as masm
+          filetype (Wu, Zhenyu).
+
+Patch 9.1.0920
+Problem:  Vim9: compile_assignment() too long
+Solution: Refactor compile_assignment() function and split up into
+          smaller parts (Yegappan Lakshmanan).
+
+Patch 9.1.0921
+Problem:  popupmenu logic is a bit convoluted
+Solution: Slightly refactor logic and use MIN/MAX() macros to simplify
+          (glepnir).
+
+Patch 9.1.0923
+Problem:  wrong MIN macro in popupmenu.c (after v9.1.0921) (zeertzjq)
+Solution: Change it to MAX().
+
+Patch 9.1.0923
+Problem:  too many strlen() calls in filepath.c
+Solution: Refactor filepath.c and remove calls to STRLEN(), unify
+          dos_expandpath() and unix_expandpath() into a single function.
+
+Patch 9.1.0924
+Problem:  Patch 9.1.0923 causes issues (Shane-XB-Qian)
+Solution: Back-out the change.
+
+Patch 9.1.0925
+Problem:  Vim9: expression compiled when not necessary
+Solution: Do not compile when ctx_skip is set, add a few more
+          Vim9 expressions tests (Yegappan Lakshmanan).
+
+Patch 9.1.0926
+Problem:  filetype: Pixi lock files are not recognized
+Solution: Detect "pixi.lock" file as yaml filetype (Brandon Maier).
+
+Patch 9.1.0927
+Problem:  style issues in insexpand.c
+Solution: Add braces, use ternary operator to improve style (glepnir).
+
+Patch 9.1.0928
+Problem:  tests: test_popupwin fails because the filter command fails
+Solution: Add the "e" flag to the :s command to normalize the
+          screendumps Last Change header so that it doesn't fail on
+          "Pattern not found"
+
+Patch 9.1.0929
+Problem:  filetype: lalrpop files are not recognized
+Solution: Detect '*.lalrpop' files as lalrpop filetype (David Thievon)
+
+Patch 9.1.0930
+Problem:  tests: test_terminal2 may hang in GUI mode
+Solution: Break the loop in gui_mch_update() after at most 99 iterations
+          (h-east).
+
+Patch 9.1.0931
+Problem:  ml_get error in terminal buffer (user202729)
+Solution: Call update_topline() in win_enter_ext() for terminal buffers
+          (h-east).
+
+Patch 9.1.0932
+Problem:  new Italian tutor not installed
+Solution: Add Makefile rule, include it into the Filelist
+          ("Philip H." <47042125+pheiduck@users.noreply.github.com>).
+
+Patch 9.1.0933
+Problem:  Vim9: vim9compile.c can be further improved
+Solution: Further refactor the compile assignment code
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0934
+Problem:  hard to view an existing buffer in the preview window
+Solution: Add the :pbuffer command (Yinzuo Jiang).
+
+Patch 9.1.0935
+Problem:  SpotBugs compiler can be improved
+Solution: runtime(compiler): Improve defaults and error handling for
+          SpotBugs; update test_compiler.vim (Aliaksei Budavei).
+
+Patch 9.1.0936
+Problem:  cannot highlight completed text
+Solution: (optionally) highlight auto-completed text using the
+          ComplMatchIns highlight group (glepnir).
+
+Patch 9.1.0937
+Problem:  test_undolist() is flaky
+Solution: Allow to match one additional optional whitespace char.
+
+Patch 9.1.0938
+Problem:  exclusive selection not respected when re-selecting block mode
+          (Matt Ellis)
+Solution: Advance selection by another character when using
+          selection=exclusive and visual block mode
+
+Patch 9.1.0939
+Problem:  make installtutor fails
+          (Antonio Giovanni Colombo, after v9.1.0932)
+Solution: Fix Makefile rule.
+
+Patch 9.1.0940
+Problem:  Wrong cursor shape with "gq" and 'indentexpr' executes :normal
+Solution: Update cursor and mouse shape after restoring old_State (zeertzjq).
+
+Patch 9.1.0941
+Problem:  ComplMatchIns doesn't work after multibyte chars (after v9.1.0936).
+Solution: Use (ptr - line) instead of wlv.col (zeertzjq).
+
+Patch 9.1.0942
+Problem:  a few typos were found
+Solution: fix them (zeertzjq).
+
+Patch 9.1.0943
+Problem:  vim9compile.c can be further improved
+Solution: Refactor the compile_lhs function (Yegappan Lakshmanan).
+
+Patch 9.1.0944
+Problem:  tests: test_registers fails when not run under X11
+Solution: filter out warning message.
+
+Patch 9.1.0945
+Problem:  ComplMatchIns highlight doesn't end after inserted text.
+Solution: Handle ComplMatchIns highlight more like search highlight.
+          Fix off-by-one error. Handle deleting text properly (zeertzjq).
+
+Patch 9.1.0946
+Problem:  cross-compiling fails on osx-arm64
+Solution: use vim_cv_timer_create_with_lrt() instead of
+          vim_cv_timer_create_works() (Brandon Maier).
+
+Patch 9.1.0947
+Problem:  Coverity comlains about un-initialized var (after v9.1.0943).
+Solution: Initialize variable (Yegappan Lakshmanan).
+
+Patch 9.1.0948
+Problem:  Missing cmdline completion for :pbuffer.
+Solution: Add cmdline completion for :pbuffer like :buffer (zeertzjq).
+
+Patch 9.1.0949
+Problem:  popups inconsistently shifted to the left
+Solution: Always shift non-fixed popups to the left when the
+          text would be truncated (Boris Staletic).
+
+Patch 9.1.0950
+Problem:  filetype: fennelrc files are not recognized
+Solution: Detect 'fennelrc' files as fennel filetype (Wu Zhenyu).
+
+Patch 9.1.0951
+Problem:  filetype: jshell files are not recognized
+Solution: Detect '*.jsh' files as java filetype (Konfekt).
+
+Patch 9.1.0952
+Problem:  Vim9: missing type checking for any type assignment (Ernie Rael)
+Solution: When assigning to a list item, if the type of the LHS item is
+          any, then use the list item type (Yegappan Lakshmanan).
+
+Patch 9.1.0953
+Problem:  filetype: APKBUILD files not correctly detected
+Solution: Detect 'APKBUILD' files as apkbuild filetype,
+          include a apkbuild syntax script (which basically
+          just sources the sh.vim syntax file) (Hugo Osvaldo Barrera).
+
+Patch 9.1.0954
+Problem:  popupmenu.c can be improved
+Solution: Slightly refactor the logic (glepnir).
+
+Patch 9.1.0955
+Problem:  Vim9: vim9compile.c can be further improved
+Solution: Refactor the compile_def_function (Yegappan Lakshmanan).
+
+Patch 9.1.0956
+Problem:  completion may crash, completion highlight wrong with preview
+          window (after v9.1.0954)
+Solution: Correctly calculate scroll offset, check for preview window
+          when adding extra highlighting (glepnir).
+
+Patch 9.1.0957
+Problem:  MS-Windows: conversion warnings
+Solution: Add explicit type casts (Yegappan Lakshmanan).
+
+Patch 9.1.0958
+Problem:  filetype: supertux2 config files detected as lisp
+Solution: Detect supertux2 config files as scheme instead (Wu, Zhenyu).
+
+Patch 9.1.0959
+Problem:  Coverity complains about type conversion (after v9.1.0957)
+Solution: Use size_t instead of int for file length (Yegappan Lakshmanan).
+
+Patch 9.1.0960
+Problem:  filetype: hy history files are not recognized
+Solution: Detect '*.hy', '.hy-history' files as hy filetype,
+          detect '.lips_repl_history' files are scheme filetype (Wu, Zhenyu).
+
+Patch 9.1.0961
+Problem:  filetype: TI gel files are not recognized
+Solution: Detect '*.gel' files as gel filetype, include get filetype and
+          syntax plugins (Wu, Zhenyu).
+
+Patch 9.1.0962
+Problem:  filetype: bun.lock file is not recognized
+Solution: Detect 'bun.lock' file as jsonc filetype (Anton Kastritskii).
+
+Patch 9.1.0963
+Problem:  fuzzy-matching does not prefer full match (Maxim Kim)
+Solution: Add additional score for a full match (glepnir).
+
+Patch 9.1.0964
+Problem:  MS-Windows: sed error with MinGW
+Solution: Use double quotes for sed, update compilation notes
+          (Andrey A Voropaev)
+
+Patch 9.1.0965
+Problem:  filetype: sh filetype set when detecting the use of bash
+Solution: When bash is detected, use 'bash' filetype instead (Luca Saccarola).
+
+Patch 9.1.0966
+Problem:  Vim9: :enum command can be shortened
+Solution: Prevent shortening of :enum command by adding the EX_WHOLE
+          flag to command definition (h-east).
+
+Patch 9.1.0967
+Problem:  SpotBugs compiler can be further improved
+Solution: Introduce event-driven primitives for SpotBugs (Aliaksei Budavei).
+
+Patch 9.1.0968
+Problem:  tests: GetFileNameChecks() isn't fully sorted by filetype name
+Solution: Re-sort the list.
+
+Patch 9.1.0969
+Problem:  ghostty not using kitty protocol by default (00-kat)
+Solution: Update keyprotocol option default and include ghostty.
+
+Patch 9.1.0970
+Problem:  VMS: build errors on VMS architecture
+Solution: Define cellsize struct, use C89 to initialize lval_root_S
+          struct (Zoltan Arpadffy)
+
+Patch 9.1.0971
+Problem:  filetype: SLNX files are not recognized
+Solution: Detect '*.slnx' files as xml filetype (Gustav Eikaas).
+
+Patch 9.1.0972
+Problem:  filetype: TI linker map files are not recognized
+Solution: Detect TI linker map files as lnkmap filetype (Wu, Zhenyu).
+
+Patch 9.1.0973
+Problem:  too many strlen() calls in fileio.c
+Solution: Refactor fileio.c and remove calls to STRLEN(),
+          check for out-of-memory condition in buf_check_timestamp()
+          (John Marriott).
+
+Patch 9.1.0974
+Problem:  typo in change of (Christ van Willegen)
+Solution: Add back the square brackets (John Marriott).
+
+Patch 9.1.0975
+Problem:  Vim9: interpolated string expr not working in object methods
+          (Igbanam Ogbuluijah)
+Solution: Check the evalarg argument (Yegappan Lakshmanan).
+
+Patch 9.1.0976
+Problem:  Vim9: missing return statement with throw (atitcreate)
+Solution: Treat a throw statement at the end of an if-else block as a
+          return statement (Yegappan Lakshmanan).
+
+Patch 9.1.0977
+Problem:  filetype: msbuild filetypes are not recognized
+Solution: Detect msbuild files as xml filetype (Gustav Eikaas).
+
+Patch 9.1.0978
+Problem:  GUI tests sometimes fail when setting 'scroll' options
+Solution: Decrease the 'scroll' and 'scrolljump' option value from 20 to
+          15, in case the Gui window is not large enough to handle 20.
+
+Patch 9.1.0979
+Problem:  VMS: type warning with $XDG_VIMRC_FILE (Zoltan Arpadffy)
+Solution: Add explicit (char_u *) type cast to mch_getenv() call.
+
+Patch 9.1.0980
+Problem:  no support for base64 en-/decoding functions in Vim Script
+          (networkhermit)
+Solution: Add the base64_encode() and base64_decode() functions
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0981
+Problem:  tests: typo in test_filetype.vim
+Solution: fix comment, update lnkmap syntax file and add DESCT keyword
+          (Wu, Zhenyu).
+
+Patch 9.1.0982
+Problem:  TI linker files are not recognized
+Solution: Inspect '*.cmd' files and detect TI linker files as 'lnk' filetype,
+          include a lnk ftplugin and syntax script (Wu, Zhenyu).
+
+Patch 9.1.0983
+Problem:  not able to get the displayed items in complete_info()
+          (Evgeni Chasnovski)
+Solution: Return the visible items via the "matches" key for
+          complete_info() (glepnir).
+
+Patch 9.1.0984
+Problem:  exception handling can be improved
+Solution: Add v:stacktrace and getstacktrace().
+
+Patch 9.1.0985
+Problem:  Vim9: some ex commands can be shortened
+Solution: Disallow shortening of :abstract, :interface and :type (h-east).
+
+Patch 9.1.0986
+Problem:  filetype: 'jj' filetype is a bit imprecise
+Solution: rename 'jj' filetype to 'jjdescription' (Gregory Anders).
+
+Patch 9.1.0987
+Problem:  filetype: cake files are not recognized
+Solution: Detect '*.cake' files as cs filetype (Zoe Roux).
+
+Patch 9.1.0988
+Problem:  Vim9: no error when using uninitialized var in new()
+          (lifepillar, Aliaksei Budavei)
+Solution: Give an error if an uninitialized object variable is referenced
+          in new() (Yegappan Lakshmanan).
+
+Patch 9.1.0989
+Problem:  Vim9: Whitespace after the final enum value causes a syntax
+          error
+Solution: Fix parsing to allow whitespace after the final enum value.
+          (Doug Kearns)
+
+Patch 9.1.0990
+Problem:  Inconsistent behavior when changing cmdheight by resizing the
+          topframe through wincmds and dragging laststatus. Changing
+          cmdheight by resizing the topframe does not trigger OptionSet.
+Solution: Consolidate logic for changing the cmdheight, set the option
+          value to handle side-effects (Luuk van Baal).
+
+Patch 9.1.0991
+Problem:  v:stacktrace has wrong type in Vim9 script.
+Solution: Change the type to t_list_dict_any.  Fix grammar in docs (zeertzjq).
+
+Patch 9.1.0992
+Problem:  Vim9: double-free after v9.1.0988 (h-east)
+Solution: Clear typval pointer, before setting the type
+          (Yegappan Lakshmanan)
+
+Patch 9.1.0993
+Problem:  Although Patch 9.1.0990 fixed a real problem/inconsistency,
+          it also introduced new behavior that may break BWC and/or be
+          unexpected. Before 9.1.0990, window commands could make the
+          topframe smaller (without changing 'cmdheight'; quirk that is
+          now fixed), but did not allow extending the topframe beyond
+          the 'cmdheight' set by the user. After 9.1.0990, the user can
+          reduce the 'cmdheight' below the value they set explicitly,
+          through window commands, which may lead to confusion.
+          (aftere v9.1.0990)
+Solution: Store the value explicitly set by the user and clamp the
+          'cmdheight' when resizing the topframe. This also applies to
+          dragging laststatus, which in contrast to window commands
+          _did_ allow reducing the 'cmdheight' to values below the one
+          set by the user. So with this Patch there is still new
+          behavior, but I think in a way that is less surprising.
+          While at it, also fix a Coverity warning, introduced in
+          v9.1.0990 (Luuk van Baal).
+
+Patch 9.1.0994
+Problem:  Vim9: not able to use comment after opening curly brace
+        (lifepillar)
+Solution: Allow to use comments after curly braces of an inner-block,
+          modify the logic to search for comment in a line, update Vim9
+          tests to use specific class type instead of any
+          (Yegappan Lakshmanan).
+
+Patch 9.1.0995
+Problem:  filetype: shaderslang files are not detected
+Solution: Detect '*.slang' files as shaderslang filetype,
+          include a filetype and syntax script (mtvare6)
+
+Patch 9.1.0996
+Problem:  ComplMatchIns may highlight wrong text
+Solution: Don't highlight in case of fuzzy match,
+          skip-highlight when not inserting anything (glepnir).
+
+Patch 9.1.0997
+Problem:  too many strlen() calls in drawscreen.c
+Solution: Refactor drawscreen.c and remove calls to strlen(),
+          make get_keymap_str() (in screen.c) return string length
+          instead of TRUE/FALSE (John Marriott).
+
+Patch 9.1.0998
+Problem:  filetype: TI assembly files are not recognized
+Solution: Inspect '*.sa' and assembly files and detect TI assembly
+          files, include filetype plugin and syntax script for TI
+          assembly files (Wu, Zhenyu).
+
+Patch 9.1.0999
+Problem:  leaking finished exception (after v9.1.0984)
+Solution: Use finish_exception to clean up caught exceptions
+          (Yee Cheng Chin)
+
+Patch 9.1.1000
+Problem:  tests: ruby tests fail with Ruby 3.4
+Solution: Adjust expected output for Ruby 3.4 (Yee Cheng Chin)
+
+Patch 9.1.1001
+Problem:  ComplMatchIns highlight hard to read on light background
+          (after v9.1.0996)
+Solution: Define the highlighting group cleared, it should be configured in
+          colorschemes separately (glepnir).
+
+Patch 9.1.1002
+Problem:  Vim9: unknown function error with interface declaring a
+          function variable (lifepillar)
+Solution: Use correct instruction for getting interface member variables
+          (Yegappan Lakshmanan)
+
+Patch 9.1.1003
+Problem:  [security]: heap-buffer-overflow with visual mode when
+          using :all, causing Vim trying to access beyond end-of-line
+          (gandalf)
+Solution: Reset visual mode on :all, validate position in gchar_pos()
+          and charwise_block_prep().
+
+Patch 9.1.1004
+Problem:  tests: a few termdebug tests are flaky; test_termdebug_basic()
+          and test_termdebug_config_types() may fail if there is too
+          much load
+Solution: Set g:test_is_flaky.
+
+Patch 9.1.1005
+Problem:  completion text is highlighted even with no pattern found
+Solution: use ins_compl_leader_len() instead of checking
+          compl_leader.length (glepnir).
+
+Patch 9.1.1006
+Problem:  PmenuMatch completion highlight can be combined
+Solution: Combine highlight groups PmenuMatch with Pmenu and
+          PmenuMatchSel with PmenuSel (glepnir).
+
+Patch 9.1.1007
+Problem:  filetype: various ignore are not recognized
+Solution: Detect rg/docker/npm/vvsce ignore files as 'gitgnore' filetype
+          (Wu, Zhenyu).
+
+Patch 9.1.1008
+Problem:  tests: test for Patch 9.1.1006 doesn't fail without the patch
+          (after v9.1.1006)
+Solution: Add ctermbg=NONE to the highlight groups (zeertzjq).
+
+Patch 9.1.1009
+Problem:  diff feature can be improved
+Solution: Include the linematch diff alignment algorithm (Jonathon).
+
+Patch 9.1.1010
+Problem:  filetype: VisualCode setting file not recognized
+Solution: Detect json files in VSCode config directory as jsonc filetype
+          (Konfekt).
+
+Patch 9.1.1011
+Problem:  Popup menu internal error with some abbr in completion item.
+Solution: Don't compute attributes when there is no corresponding text.
+          Reduce indent in pum_redraw() while at it (zeertzjq).
+
+Patch 9.1.1012
+Problem:  Vim9: class interface inheritance not correctly working
+Solution: Make the class inherit the interfaces of the super class.
+
+Patch 9.1.1013
+Problem:  Vim9: Regression caused by Patch v9.1.0646
+Solution: Translate the function name before invoking it in call()
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1014
+Problem:  Vim9: variable not found in transitive import
+Solution: Allow nested import (Hirohito Higashi).
+
+Patch 9.1.1015
+Problem:  Coverity complains about dereferencing NULL value
+Solution: Check that cms2 is not null.
+
+Patch 9.1.1016
+Problem:  Not possible to convert string2blob and blob2string
+Solution: Add support for the blob2str() and str2blob() functions.
+
+Patch 9.1.1017
+Problem:  Vim9: Patch 9.1.1013 causes a few problems
+Solution: Translate the function name only when it is a string
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1018
+Problem:  v9.1.0743 causes regression with diff mode
+Solution: Fix the regression with overlapping regions.
+
+Patch 9.1.1019
+Problem:  filetype: fd ignore files are not recognized
+Solution: Detect .fdignore files as gitignore filetype.
+
+Patch 9.1.1020
+Problem:  no way to get current selected item in a async context
+Solution: Add completed flag to show the entries of currently selected
+          index item (@glepnir).
+
+Patch 9.1.1021
+Problem:  string might be used without a trailing NUL (after v9.1.0997)
+Solution: Make sure that the buffer is NUL terminated.
+
+Patch 9.1.1022
+Problem:  linematch option value not completed (after v9.1.1009)
+Solution: Update diffoption completion values.
+
+Patch 9.1.1023
+Problem:  Coverity complains about dereferencing NULL pointer
+Solution: Verify curdiff is not null before dereferencing it.
+
+Patch 9.1.1024
+Problem:  blob2str/str2blob() do not support list of strings (after v9.1.1016)
+Solution: Add support for using a list of strings (Yegappan Lakshmanan).
+
+Patch 9.1.1025
+Problem:  wrong return type of blob2str()
+Solution: Update return to list of string (Yegappan Lakshmanan).
+
+Patch 9.1.1026
+Problem:  filetype: swc configuration files are not recognized
+Solution: Detect .swcrc files as json filetype (Marces Engel).
+
+Patch 9.1.1027
+Problem:  no sanitize check when running linematch
+Solution: Add sanitize check before applying the linematch algorithm,
+          similar to diff_find_change() (Jonathon).
+
+Patch 9.1.1028
+Problem:  too many strlen() calls in screen.c
+Solution: Refactor screen.c and remove calls to strlen(),
+          verify that leadmultispace != NULL (John Marriott).
+
+Patch 9.1.1029
+Problem:  the installer can be improved
+Solution: Update the installer with the correct README and LICENSE
+          files, improve the documentation, add a Makefile for the
+          installer, update the Makefiles (RestorerZ).
+
+Patch 9.1.1030
+Problem:  filetype: setting bash filetype is backwards incompatible
+Solution: Revert Patch v9.1.0965, detect bash scripts again as sh filetype.
+
+Patch 9.1.1031
+Problem:  Coverity complains about insecure data handling (v9.1.1024)
+Solution: Use int consistently to access the blob index (Yegappan Lakshmanan).
+
+Patch 9.1.1032
+Problem:  link error when FEAT_SPELL not defined (after v9.1.1016,
+          John Marriott)
+Solution: Adjust ifdefs (Yegappan Lakshmanan).
+
+Patch 9.1.1033
+Problem:  tests: shaderslang was removed from test_filetype erroneously
+          (Christian Clason, after v9.1.1030)
+Solution: Restore the test.
+
+Patch 9.1.1033
+Problem:  Vim9: compiling abstract method fails without return
+          (Aliaksei Budavei)
+Solution: Don't require return for an abstract method (Ernie Rael).
+
+Patch 9.1.1035
+Problem:  Vim9: memory leak with blob2str()
+Solution: Free converted_str (Yegappan Lakshmanan).
+
+Patch 9.1.1036
+Problem:  make install fails when using shadowdir (after v9.1.1029).
+Solution: Also link in README.txt and LICENSE file.
+
+Patch 9.1.1037
+Problem:  Vim9: confusing error when using abstract method via super
+Solution: Display an error when an abstract method is invoked using
+          super (Ernie Rael).
+
+Patch 9.1.1038
+Problem:  tests: test_channel.py fails with IPv6 (eds-collabora)
+Solution: Use 127.0.0.1 instead of localhost.
+
+Patch 9.1.1039
+Problem:  Vim9: comments are outdated
+Solution: Update comments, and include an enum example in the help
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1040
+Problem:  Vim9: imported type cannot be used as func return type
+          (Dayvid Albuquerque)
+Solution: Temporarily reset the is_export flag (Yegappan Lakshmanan).
+
+Patch 9.1.1041
+Problem:  Vim9: out-of-bound access when echoing an enum
+Solution: Add NUL to growarray, check that ufunc is non-null before accessing
+          it to make Coverity happy (Yegappan Lakshmanan).
+
+Patch 9.1.1042
+Problem:  filetype: just files are not recognized
+Solution: Adjust filetype detection pattern, detect just shebang line,
+          include just ftplugin, indent and syntax plugin (Peter Benjamin).
+
+Patch 9.1.1043
+Problem:  [security]: segfault in win_line() (fizz-is-on-the-way)
+Solution: Check that ScreenLines is not NULL.
+
+Patch 9.1.1044
+Problem:  Vim9: Patch 9.1.1014 causes regressions
+Solution: Revert it for now.
+
+Patch 9.1.1045
+Problem:  filetype: N-Tripels and TriG files are not recognized
+Solution: Detect '*.nt' files as ntriples filetype and '*.trig' files
+          as trig filetype (Gordian Dziwis)
+
+Patch 9.1.1046
+Problem:  fuzzymatching doesn't prefer matching camelcase (Tomasz N).
+Solution: Add extra score when case matches (glepnir).
+
+Patch 9.1.1047
+Problem:  Makefiles uses non-portable syntax (simo-zz, after v9.1.1029)
+Solution: Revert auto-generation of MAJOR/MINOR variables.
+
+Patch 9.1.1048
+Problem:  Crash after scrolling and pasting in silent Ex mode
+        (fizz-is-on-the-way)
+Solution: Don't move cursor to line 0 when scrolling (zeertzjq).
+
+Patch 9.1.1049
+Problem:  Insert-completed items are always sorted, although the LSP
+          spec[1] standard defines sortText in the returned
+          completionitem list. This means that the server has sorted the
+          results. When fuzzy is enabled, this will break the server's
+          sorting results.
+Solution: Disable sorting of candidates when "nosort" is set in
+          'completeopt'
+
+Patch 9.1.1050
+Problem:  Too many strlen() calls in os_unix.c
+Solution: Refactor os_unix.c and remove calls to strlen() (John Marriott).
+
+Patch 9.1.1051
+Problem:  tests: no support for env variables when running Vim in terminal
+Solution: support the "env" argument in RunVimInTerminal(), close swapfiles
+          properly in test_termcodes, use CheckFeature in test_termencoding
+
+Patch 9.1.1052
+Problem:  tests: off-by-one error in CheckCWD in test_debugger.vim
+Solution: Fix off-by-one in CheckCWD leading to local tests failure
+          (Yee Cheng Chin)
+
+Patch 9.1.1053
+Problem:  "nosort" enables fuzzy filtering even if "fuzzy" isn't in
+          'completeopt' (after v9.1.1049)
+Solution: Only enable fuzzy filtering when "fuzzy" is in 'completeopt'
+          (zeertzjq).
+
+Patch 9.1.1054
+Problem:  Vim doesn't work well with TERM=xterm-direct (Andrea Pappacoda).
+Solution: Detect if a terminal supports true-colors and enable termguicolors
+
+Patch 9.1.1055
+Problem:  make install fails because of a missing dependency
+Solution: Add explicit dependencies for tutor/{en,it} (Sergei Trofimovich).
+
+Patch 9.1.1056
+Problem:  Vim doesn't highlight to be inserted text when completing
+Solution: Add support for the "preinsert" 'completeopt' value (glepnir).
+
+Patch 9.1.1057
+Problem:  Superfluous cleanup steps in test_ins_complete.vim.
+Solution: Remove unnecessary :bw! and :autocmd! commands.
+          Also remove unnecessary STRLEN() in insexpand.c (zeertzjq).
+
+Patch 9.1.1058
+Problem:  translation(sr): Missing Serbian translation for the tutor
+Solution: Include new Serbian translation for the new tutor,
+          include translation for chapter 2 of the traditional tutor,
+          update the Makefiles for installing the runtime files (Ivan Pešić).
+
+Patch 9.1.1059
+Problem:  completion: input text deleted with preinsert when adding leader
+Solution: Remove compl_length and check the ptr for being equal
+          to pattern when preinsert is active (glepnir).
+
+Patch 9.1.1060
+Problem:  Vim always enables 'termguicolors' in a terminal, even
+          when not wanted (after v9.1.1054).
+Solution: Respect `:set notermguicolors` in vimrc file.
+
+Patch 9.1.1061
+Problem:  tests: test_glvs fails when unarchiver not available
+          (Brian L. Matthews)
+Solution: Check if an unarchiver is available, skip the test otherwise.
+
+Patch 9.1.1062
+Problem:  terminal: E315 when dragging the terminal with the mouse
+          (user202729)
+Solution: Call update_topline() and validate_cursor() when clicking
+          on the status line with the mouse (Hirohito Higashi).
+
+Patch 9.1.1063
+Problem:  too many strlen() calls in userfunc.c
+Solution: Refactor userfunc.c and remove calls to strlen(),
+          drop set_ufunc_name() and roll it into alloc_ufunc(),
+          check for out-of-memory condition in trans_function_name_ext()
+          (John Marriott).
+
+Patch 9.1.1064
+Problem:  not possible to use plural forms with gettext()
+Solution: Implement ngettext() Vim script function (Christ van Willegen).
+
+Patch 9.1.1065
+Problem:  no digraph for "Approaches the limit"
+Solution: Add the digraph using .= (Hans Ginzel).
+
+Patch 9.1.1066
+Problem:  Heap-use-after-free and stack-use-after-scope with :14verbose
+          when using :return and :try (after 9.1.1063).
+Solution: Move back the vim_free(tofree) and the scope of numbuf[] (zeertzjq).
+
+Patch 9.1.1067
+Problem:  tests: Test_termwinscroll_topline2 fails on MacOS (after v9.1.1062)
+Solution: Reduce termwinscroll further, increase term_wait time.
+
+Patch 9.1.1068
+Problem:  getchar() can't distinguish between C-I and Tab.
+Solution: Add {opts} to pass extra flags to getchar() and getcharstr(),
+          with "number" and "simplify" keys.
+
+Patch 9.1.1069
+Problem:  preinsert text completions not deleted with <C-W>/<C-U>
+          (ddad431, after v9.1.1059)
+Solution: Handle <C-W> or <C-U> specifically and clear the completion
+          (glepnir).
+
+Patch 9.1.1070
+Problem:  Cannot control cursor positioning of getchar().
+Solution: Add "cursor" flag to {opts}, with possible values "hide",
+          "keep" and "msg".
+
+Patch 9.1.1071
+Problem:  Arguments of a function are missing after failing to redefine
+          it (after 8.2.2505), and heap-use-after-free with script-local
+          function (after 9.1.1063).
+Solution: Don't clear arguments or free uf_name_exp when failing to
+          redefine an existing function (zeertzjq).
+
+Patch 9.1.1072
+Problem:  'diffopt' "linematch" cannot be used with {n} less than 10
+          digits (after v9.1.1022)
+Solution: Fix off-by-one error when checking for digit (zeertzjq).
+
+Patch 9.1.1073
+Problem:  tests: test_compiler fails on Windows without Maven.
+Solution: Add Xspotbugs directory to $PATH when mvn is not available
+          (zeertzjq).
+
+Patch 9.1.1074
+Problem:  Strange error when heredoc marker starts with "trim".
+Solution: Check for whitespace after "trim" or "eval" (zeertzjq).
+
+Patch 9.1.1075
+Problem:  Vim9: length variable not used in compile_load()
+Solution: Use len instead of re-calculating the length (Hirohito Higashi).
+
+Patch 9.1.1076
+Problem:  vim_strnchr() is strange and unnecessary (after v9.1.1009)
+Solution: Remove vim_strnchr() and use memchr() instead.  Also remove a
+          comment referencing an #if that is no longer present.
+
+Patch 9.1.1077
+Problem:  Syntax engine interpreted contains=TOP as matching nothing
+          inside included files, since :syn-include forces HL_CONTAINED
+          on for every included item. After 8.2.2761, interprets
+          contains=TOP as contains=@INCLUDED, which is also not correct
+          since it doesn't respect exclusions, and doesn't work if there
+          is no @INCLUDED cluster.
+Solution: Revert Patch 8.2.2761, instead track groups that have had
+          HL_CONTAINED forced, and interpret contains=TOP and
+          contains=CONTAINED using this (Theodore Dubois).
+
+Patch 9.1.1078
+Problem:  Terminal ansi colors off by one after tgc reset
+Solution: Set the correct index for libvterm palette, revert parts in
+          libvterm/src/pen.c that deviated from upstream (Julio B)
+
+Patch 9.1.1079
+Problem:  GUI late startup leads to uninitialized scrollbars
+Solution: initialize scrollbars for all windows in all tabpages
+          (Yee Cheng Chin).
+
+Patch 9.1.1080
+Problem:  filetype: Mill files are not recognized
+Solution: Detect '*.mill' files as scala filetype.
+
+Patch 9.1.1081
+Problem:  has('bsd') is true for GNU/Hurd
+Solution: Exclude GNU/Hurd from BSD feature flag (Zhaoming Luo).
+
+Patch 9.1.1082
+Problem:  unexpected DCS responses may cause out of bounds reads
+          (after v9.1.1054)
+Solution: Check that the parsed value is '=' as expected (Julio B).
+
+Patch 9.1.1083
+Problem:  setreg() doesn't correctly handle mbyte chars in blockwise mode
+Solution: Use mb_ptr2len_len function pointer (Yee Cheng Chin).
+
+Patch 9.1.1084
+Problem:  Unable to persistently ignore events in a window and its buffers.
+Solution: Add 'eventignorewin' option to ignore events in a window and buffer
+        (Luuk van Baal).
+
+Patch 9.1.1085
+Problem:  filetype: cmmt files are not recognized
+Solution: Detect '*.cmmt' as trace32 filetype (Christian Sax).
+
+Patch 9.1.1086
+Problem:  completion doesn't work with multi lines (Łukasz Jan Niemier)
+Solution: Handle linebreaks in completion code as expected (glepnir).
+
+Patch 9.1.1087
+Problem:  Vim9: import with extends may crash
+Solution: Check otv for being NULL before trying to access it
+        (Hirohito Higashi).
+
+Patch 9.1.1088
+Problem:  tests: plugin tests are named inconsistently
+Solution: Group them under a common 'plugin' prefix.
+
+Patch 9.1.1089
+Problem:  tests: No check when tests are run under Github actions
+Solution: Add the CheckGithubActions check command and skip test if needed.
+
+Patch 9.1.1090
+Problem:  tests: test_terminwscroll_topline2 unreliable
+Solution: Instead of using term_wait() with a specific time, use
+          terminal-api and to wait until the terminal is finished
+          (Yee Cheng Chin).
+
+Patch 9.1.1091
+Problem:  tests: timeout might be a bit too small
+Solution: Increase the test timeout from 30 to 45 seconds
+
+Patch 9.1.1092
+Problem:  tests: fix expected return code for python 3.13 on Windows
+Solution: Check for return code 1 or 123 on Windows.
+
+Patch 9.1.1093
+Problem:  tests: output of test Test_terminal_eof_arg_win32_ctrl_z depends on
+          python version.
+Solution: Check for the expected output in both, the second last line
+          and last line.
+
+Patch 9.1.1094
+Problem:  Vim9: problem finding implemented method for abstract method
+          in type hierarchy (Aliaksei Budavei)
+Solution: When checking for abstract methods in an extended class, check
+          whether an abstract method is implemented in one of the parent
+          classes (Yegappan Lakshmanan).
+
+Patch 9.1.1095
+Problem:  tests: matchparen plugin test wrongly named (zeertzjq)
+Solution: Rename test_matchparen to test_plugin_matchparen
+          to be consistent with the other plugin tests.
+
+Patch 9.1.1096
+Problem:  if_perl: Perl 5.38 adds new symbols causing link failure
+Solution: add stub symbols (Drew Vogel).
+
+Patch 9.1.1097
+Problem:  --log with non-existent path causes a crash (Ekkosun)
+Solution: Split initialization phase and init the execution stack
+          earlier (Hirohito Higashi)
+
+Patch 9.1.1098
+Problem:  Leaking memory with completing multi lines (after v9.1.1086)
+Solution: Free allocated memory (glepnir).
+
+Patch 9.1.1099
+Problem:  Vim9: import with extends may crash, v9.1.1087 wasn't the
+          correct way to fix it).
+Solution: When using an import class, Check for a valid class member
+          variable at compile time (Yegappan Lakshmanan).
+
+Patch 9.1.1100
+Problem:  tests: Test_log_nonexistent only works on Linux
+          (after v9.1.1097)
+Solution: Add CheckUnix condition.
+
+Patch 9.1.1101
+Problem:  insexpand.c hard to read
+Solution: Refactor slightly to make it better readable (glepnir).
+
+Patch 9.1.1102
+Problem:  tests: Test_WinScrolled_Resized_eiw() uses wrong filename
+          (Luuk van Baal, after v9.1.1084)
+Solution: Rename the filename to something more unique.
+
+Patch 9.1.1103
+Problem:  if_perl: still some compile errors with Perl 5.38
+Solution: Copy declaration of PL_memory_wrap from Perl header (Drew Vogel).
+
+Patch 9.1.1104
+Problem:  CI: uses Ubuntu 22.04 runners
+Solution: Switch to Ubuntu 24.04 runners, make a few adjustments for
+          different $TMPDIR (Drew Vogel).
+
+Patch 9.1.1105
+Problem:  Vim9: no support for protected new() method
+Solution: Support the protected "_new()" object method (Yegappan Lakshmanan).
+
+Patch 9.1.1106
+Problem:  tests: Test_log_nonexistent() causes asan failure (Hirohito Higashi)
+Solution: Don't run vim using system(), but run Vim in a terminal.
+
+Patch 9.1.1107
+Problem:  Cannot loop through completion menu with fuzzy and nosort in
+          'completeopt' (Tomasz N)
+Solution: Reset cur to zero and update compl_shown_match when
+          'completeopt' contains "nosort" but not "noselect" (glepnir).
+
+Patch 9.1.1108
+Problem:  'smoothscroll' gets stuck with 'listchars' "eol".
+Solution: Count size of 'listchars' "eol" in line size when scrolling
+          (zeertzjq).
+
+Patch 9.1.1109
+Problem:  cmdexpand.c hard to read
+Solution: Refactor the file slightly (glepnir).
+
+Patch 9.1.1110
+Problem:  Vim tests are slow and flaky at the same time due to reliance
+          on timeouts which are unreliable.
+Solution: Improve Vim test performance and reduce flakiness
+          (Yee Cheng Chin)
+
+Patch 9.1.1111
+Problem:  Vim9: variable not found in transitive import (lifepillar)
+Solution: Fix import and class extends (Hirohito Higashi).
+
+Patch 9.1.1112
+Problem:  Inconsistencies in get_next_or_prev_match() (after 9.1.1109).
+Solution: Change "file" to "entry" or "match" in comments.  Use the same
+          order of branches for PAGEUP and PAGEDOWN (zeertzjq).
+
+Patch 9.1.1113
+Problem:  tests: Test_terminal_builtin_without_gui waits 2 seconds
+Solution: Add --not-a-term to remove the annoying 2s delay in error
+          message when Vim detects that stdio are not from a terminal
+          (Yee Cheng Chin).
+
+Patch 9.1.1114
+Problem:  Enabling termguicolors automatically confuses users. Since
+          querying the terminal for the RGB flag happens asynchronously,
+          enabling termguicolors is noticeable by users as the highlighting
+          changes and is therefore unexpected (after v9.1.1054).
+Solution: Comment out that part for now. We may need another way to enable
+          this in the future.
+
+Patch 9.1.1115
+Problem:  [security]: use-after-free in str_to_reg() (fizz-is-on-the-way)
+Solution: When redirecting the :display command, check that one
+          does not output to the register being displayed
+
+Patch 9.1.1116
+Problem:  Vim9: super not supported in lambda expressions (Aliaksei Budavei)
+Solution: Support using the super keyword in a closure in an instance
+          method (Yegappan Lakshmanan).
+
+Patch 9.1.1117
+Problem:  there are a few minor style issues
+Solution: Fix the issues (Hirohito Higashi).
+
+Patch 9.1.1118
+Problem:  tests: test_termcodes fails (after: v9.1.1114)
+Solution: Adjust the test for the expected termguicolors value.
+
+Patch 9.1.1119
+Problem:  Vim9: Not able to use an autoloaded class from another
+          autoloaded script (Elliot)
+Solution: Make it work (Yegappan Lakshmanan).
+
+Patch 9.1.1120
+Problem:  tests: Test_registers fails (T.J. Townsend, after v9.1.1115).
+Solution: Require clipboard feature
+
+Patch 9.1.1121
+Problem:  Enter does not insert newline with "noselect" when the pum is
+          visible (lifepillar)
+Solution: When Enter is pressed and no complete-item is selected,
+          ins_compl_prep returns false, and the edit function continues
+          processing Enter to insert a new line (glepnir).
+
+Patch 9.1.1122
+Problem:  too many strlen() calls in findfile.c
+Solution: Refactor findfile.c and remove calls to strlen() (John Marriott).
+
+Patch 9.1.1123
+Problem:  Highlight groups PopupSelected/PopupNotification/
+          MessageWindow are supposed to fall back to default highlight
+          groups if they are not defined. However, once a colorscheme
+          has defined them, switching to another colorscheme that
+          doesn't do so will leave behind a cleared colorscheme, which
+          causes the fallback to fail.
+Solution: Set up default links to the relevant fallback highlight
+          groups, which makes sure a `:hi clear` command will reset the
+          state properly (Yee Cheng Chin).
+
+Patch 9.1.1124
+Problem:  No test for 'listchars' "precedes" with double-width char.
+Solution: Add a test and fix a typo in code (zeertzjq).
+
+Patch 9.1.1125
+Problem:  Cannot loop through pum menu with multiline items with
+          fuzzy and noselect in 'completeopt' (Tomasz N)
+Solution: Remove unnecessary compl_no_select condition (glepnir).
+
+Patch 9.1.1126
+Problem:  Patch 9.1.1121 used a wrong way to handle enter
+Solution: Compl_enter_selects also needs to consider the selected item
+          in ins_compl_new_leader() (glepnir).
+
+Patch 9.1.1127
+Problem:  when 'completeopt' is set to preinsert the preinserted text is
+          not cleared when adding new leader (Yee Cheng Chin)
+Solution: Add a condition to delete preinsert text in edit function
+          (glepnir).
+
+Patch 9.1.1128
+Problem:  Patch 9.1.1119 caused a regression with imports (girishji).
+Solution: Revert the script ID change for the class script variable for
+          now (Yegappan Lakshmanan).
+
+Patch 9.1.1129
+Problem:  missing out-of-memory test in buf_write()
+Solution: Check that the returned allocated buffer is not NULL
+          (John Marriott).
+
+Patch 9.1.1130
+Problem:  'listchars' "precedes" is not drawn on Tabs.
+Solution: Only draw 'listchars' "precedes" when not skipping over cells
+          (zeertzjq).
+
+Patch 9.1.1131
+Problem:  Potential out-of-memory issue in search.c
+Solution: Improve situation and refactor search.c slightly (John Marriott).
+
+Patch 9.1.1132
+Problem:  Mark positions wrong after triggering multiline completion.
+Solution: Call deleted_lines_mark() after deleting lines (zeertzjq).
+
+Patch 9.1.1133
+Problem:  filetype: xkb files not recognized everywhere
+Solution: Detect xkb files in more places (David Mandelberg).
+
+Patch 9.1.1134
+Problem:  filetype: Guile init file not recognized
+Solution: Detect '.guile' file as scheme filetype (David Mandelberg).
+
+Patch 9.1.1135
+Problem:  'suffixesadd' doesn't work with multiple items (after 9.1.1122).
+Solution: Don't concat multiple suffixes together (zeertzjq).
+
+Patch 9.1.1136
+Problem:  Match highlighting marks a buffer region to be redrawn as if
+          its buffer text was changed, unnecessarily invoking syntax code.
+Solution: Set the `w_redraw_top/bot` variables instead of the b_mod_* ones
+          (Luuk van Baal).
+
+Patch 9.1.1137
+Problem:  ins_str() is inefficient by calling STRLLEN()
+Solution: Refactor ins_str() to take a length argument and let all callers
+          provide the correct length when calling ins_str() (John Marriott).
+
+Patch 9.1.1138
+Problem:  Existing cmdline completion for :highlight was barebone and
+          only completed the highlight group names.
+Solution: Implement full completion for the highlight group arguments
+          such as guifg and cterm. If the user tries to complete
+          immediately after the '=' (e.g. `hi Normal guifg=<Tab>`), the
+          completion will fill in the existing value, similar to how
+          cmdline completion for options work (Yee Cheng Chin).
+
+Patch 9.1.1139
+Problem:  [fifo] is not displayed when editing a fifo (after v7.4.2189).
+Solution: Stat the filename and detect the type correctly.
+
+Patch 9.1.1140
+Problem:  filetype: m17ndb files are not detected
+Solution: Detect m17ndb files as m17ndb filetype, include filetype, syntax and
+          indent files for the new filetype (David Mandelberg).
+
+Patch 9.1.1141
+Problem:  Misplaced comment in readfile() (after v9.1.1139).
+Solution: Move the comment above S_ISDIR() (zeertzjq).
+
+Patch 9.1.1142
+Problem:  tests: test_startup fails if $HOME/$XDG_CONFIG_HOME is defined
+Solution: Define $HOME and $XDG_CONFIG_HOME to some non-existing
+          directory.
+
+Patch 9.1.1143
+Problem:  illegal memory access when putting a register
+Solution: Make sure cursor column doesn't become negative.
+
+Patch 9.1.1144
+Problem:  no way to create raw strings from a blob
+Solution: Support the "encoding": "none" option to create raw strings (which
+          may be invalid) (Bakudankun).
+
+Patch 9.1.1145
+Problem:  When expanding omni completion items with newlines (e.g.
+          `then\n\t\nend`), the end statement gets wrong indentation.
+Solution: Add OPENLINE_FORCE_INDENT flag to make open_line() use
+          second_line_indent directly (glepnir).
+
+Patch 9.1.1146
+Problem:  Vim9: wrong context being used when evaluating class member
+          (lifepillar, Ernie Rael)
+Solution: Use the correct script context when evaluating a class member
+          init expression(Yegappan Lakshmanan).
+
+Patch 9.1.1147
+Problem:  preview-window does not scroll correctly
+Solution: Init firstline = 0 for a preview window (Girish Palya).
+
+Patch 9.1.1148
+Problem:  Vim9: finding imported scripts can be further improved
+          (after v9.1.1146)
+Solution: Eliminate extra find_imported() call (Hirohito Higashi).
+
+Patch 9.1.1149
+Problem:  Unix Makefile does not support Brazilian lang for the installer.
+Solution: Add support for language code pt_br (RestorerZ)
+
+Patch 9.1.1150
+Problem:  :highlight auto-complettion has a minor bug where an existing
+          highlight group with a cterm color being unset would result in
+          it being auto-completed to -1 in cmdline which is invalid.
+Solution: Correctly check for whether an int value is set to non-zero
+          before retrieving the existing value for auto-complete. Also
+          do this for attr/string values as they previously worked only
+          by accident (Yee Cheng Chin).
+
+Patch 9.1.1151
+Problem:  too many strlen() calls in getchar.c
+Solution: Store last inserted and recorded lengths, add functions to retrieve
+          those and use those functions (John Marriott).
+
+Patch 9.1.1152
+Problem:  Patch v9.1.1151 causes problems
+Solution: Partially revert it (John Marriott).
+
+Patch 9.1.1153
+Problem:  build error on Haiku
+Solution: Define XDG_RUNTIME_PATH variables (Begasus).
+
+Patch 9.1.1154
+Problem:  Vim9: not able to use autoload class accross scripts
+Solution: Make it work, re-enable the test (Yegappan Lakshmanan).
+
+Patch 9.1.1155
+Problem:  Mode message not cleared after :silent message (after 9.0.1634).
+Solution: Don't reset mode_displayed when the message is empty (zeertzjq).
+
+Patch 9.1.1156
+Problem:  No test for what Patch 9.1.1152 fixes.
+Solution: Add a test (zeertzjq).
+
+Patch 9.1.1157
+Problem:  command completion wrong for input() (Cdrman Fu)
+Solution: Set commandline completion context explicitly (Jim Zhou).
+
+Patch 9.1.1158
+Problem:  :verbose set has wrong file name with :compiler!
+Solution: Add -keepscript (zeertzjq).
+
+Patch 9.1.1159
+Problem:  $MYVIMDIR may not always be set (after 9.1.0718) (sandwm)
+Solution: Always set $MYVIMDIR to first item in runtimepath
+          (except when using --clean), update it when changing &rtp.
+
+Patch 9.1.1160
+Problem:  The 'preinsert' feature requires Ctrl-Y to confirm insertion,
+          but Ctrl-Y only works when the popup menu (pum) is displayed.
+Solution: Modify ins_compl_has_preinsert() to check for both 'menu' and
+          'menuone' flags when 'preinsert' is set. Update documentation
+          to clarify this requirement. This avoids adding complex
+          conditional behaviors (glepnir).
+
+Patch 9.1.1161
+Problem:  preinsert requires bot "menu" and "menuone" to be set,
+          but "menu" is redundant (after v9.1.1160)
+Solution: Preinsert only requires menuone (glepnir).
+
+Patch 9.1.1162
+Problem:  When an info popup spans into the cmdline area and ESC is
+          pressed, some content remains visible on screen (yu3s).
+Solution: Add popup_overlays_cmdline() check in screen_fill() to prevent
+          prematurely clearing the clear_cmdline flag (glepnir).
+
+Patch 9.1.1163
+Problem:  $MYVIMDIR is set too late and not available while sourcing
+          runtime files (Maxim Kim, after v9.1.1159).
+Solution: Also set it when $MYVIMRC file is found.
+
+Patch 9.1.1164
+Problem:  editing a special crafted tar file allows code execution (RyotaK)
+Solution: Escape the filename before feeding it to the `:read` command
+
+Patch 9.1.1165
+Problem:  Vim's diff block merging algorithm when doing a multi-file diff
+          is buggy when two different diff hunks overlap a single
+          existing diff block (after v9.1.0743)
+Solution: Fix a couple bugs in this logic (Yee Cheng Chin).
+
+Patch 9.1.1166
+Problem:  command-line auto-completion hard with wildmenu
+Solution: Implement "noselect" wildoption value (Girish Palya)
+
+Patch 9.1.1167
+Problem:  mark '] wrong after copying text object (ubaldot)
+Solution: Adjust position of '] for non-linewise, exclusive motions (Jim Zhou)
+
+Patch 9.1.1168
+Problem:  wrong flags passed down to nextwild() (zeertzjq, after v9.1.1166)
+Solution: Only pass options flags (Girish Palya)
+
+Patch 9.1.1169
+Problem:  using global variable for get_insert()/get_lambda_name()
+          (after v9.1.1151)
+Solution: Let the functions return a string_T object instead (Yee Cheng Chin).
+
+Patch 9.1.1170
+Problem:  wildmenu highlighting in popup can be improved
+Solution: Check if the completion items contain submatches of the
+          entered text (Girish Palya).
+
+Patch 9.1.1171
+Problem:  tests: wrong arguments passed to assert_equal() (after v9.1.1167).
+Solution: Swap arguments in the assert_equal() call (zeertzjq).
+
+Patch 9.1.1172
+Problem:  heap-buffer-overflow with 'nostartofline' and Ex command in tag
+          file.
+Solution: Set cursor column when moving cursor to line 1 (zeertzjq).
+
+Patch 9.1.1173
+Problem:  filetype: ABNF files are not detected
+Solution: Detect '.abnf' file as abnf filetype and
+          include an abnf syntax plugin (A4-Tacks).
+
+Patch 9.1.1174
+Problem:  tests: when the file 'TestCommand?Test' exists,
+          'Test_complete_cmdline()' will fail when writing the file. And
+          there's no related cleaning operation for this kind of file
+          before the test run.
+Solution: modify `write` to `write!` to override (Jim Zhou).
+
+Patch 9.1.1175
+Problem:  inconsistent behaviour with exclusive selection and motion
+          commands (aidancz)
+Solution: Adjust cursor position when selection is exclusive (Jim Zhou).
+
+Patch 9.1.1176
+Problem:  wrong indentation of lastline when expanding multiple lines
+Solution: Check OPENLINE_FORCE_INDENT flag in open_line() (glepnir).
+
+Patch 9.1.1177
+Problem:  filetype: tera files not detected
+Solution: Detect '*.tera' files as tera filetype,
+          include a simple filetype plugin (MuntasirSZN).
+
+Patch 9.1.1178
+Problem:  not possible to generate completion candidates using fuzzy
+          matching
+Solution: Add the 'completefuzzycollect' option for (some) ins-completion
+          modes (glepnir).
+
+Patch 9.1.1179
+Problem:  too many strlen() calls in misc2.c
+Solution: Refactor misc2.c and use bsearch() instead of a linear search
+          to find matches in the key_names_table array (John Marriott).
+
+Patch 9.1.1180
+Problem:  The meaning of <Tab> depends on unspecified behavior
+          (after 9.1.1179).
+Solution: Return TAB in case bsearch() finds K_TAB.  Rename alt_name to
+          pref_name as that's closer to it meaning (zeertzjq).
+
+Patch 9.1.1181
+Problem:  Unnecessary STRLEN() calls in insexpand.c (after 9.1.1178).
+Solution: Use the already available length (zeertzjq).
+
+Patch 9.1.1182
+Problem:  No cmdline completion for the 'completefuzzycollect' option
+          (after v9.1.1178)
+Solution: Add cmdline completion for the 'completefuzzycollect' option,
+          improve its description in optwin.vim (zeertzjq).
+
+Patch 9.1.1083
+Problem:  "above" virtual text breaks cursorlineopt=number.
+Solution: Take "above" virtual text into account when applying
+          CursorLineNr highlight.
+
+Patch 9.1.1184
+Problem:  Unnecessary use of vim_tolower() in vim_strnicmp_asc().
+Solution: Use TOLOWER_ASC() instead (zeertzjq).
+
+Patch 9.1.1185
+Problem:  endless loop with completefuzzycollect and no match found
+Solution: Move pointer to line end and break loop.
+
+Patch 9.1.1186
+Problem:  filetype: help files in git repos are not detected
+Solution: Detect */doc/*.txt files as help if they end with a help
+          modeline, even if 'modeline' is off
+
+Patch 9.1.1187
+Problem:  matchparen plugin wrong highlights shell case statement
+          (Swudu Susuwu)
+Solution: Return early, if we are in a shSnglCase syntax element
+
+Patch 9.1.1188
+Problem:  runtime(tera): tera support can be improved
+Solution: Update tera filetype plugin, include a tera syntax script
+          include tera syntax tests, update the filetype test,
+          update makemenu and synmenu vim scripts (MuntasirSZN).
+
+Patch 9.1.1189
+Problem:  if_python: build error due to incompatible pointer types
+Solution: Cast pointer to PyObject* (oreo639).
+
+Patch 9.1.1190
+Problem:  C indentation does not detect multibyte labels
+Solution: Correctly skip over multibyte characters (Anttoni Erkkilä).
+
+Patch 9.1.1191
+Problem:  Test for Patch 9.1.1186 doesn't fail without the patch.
+Solution: Set 'nomodeline' in the test (zeertzjq).
+
+Patch 9.1.1192
+Problem:  Vim crashes with term response debug logging enabled and
+          running in a non-writeable directory
+Solution: Use ch_log() instead of custom termresponse logging function
+          (Hirohito Higashi)
+
+Patch 9.1.1193
+Problem:  Unnecessary use of STRCAT() in au_event_disable().  STRCAT()
+          seeks to the end of new_ei, but here the end is already known.
+Solution: Use STRCPY() and add p_ei_len to new_ei.  Also fix a typo in a
+          comment.  Add a test that 'eventignore' works in :argdo (zeertzjq).
+
+Patch 9.1.1194
+Problem:  filetype: false positive help filetype detection
+Solution: Only detect a file as help if modeline appears either at start
+          of line or is preceded by whitespace (zeertzjq).
+
+Patch 9.1.1195
+Problem:  inside try-block: fn body executed when default arg is
+          undefined
+Solution: When inside a try-block do not execute function body after an
+          error in evaluating a default argument expression (Shane Harper).
+
+Patch 9.1.1196
+Problem:  filetype: config files for container tools are not recognized
+Solution: Detect the ones that aren't detected yet as toml filetype
+          (David Mandelberg).
+
+Patch 9.1.1197
+Problem:  process_next_cpt_value() uses wrong condition
+Solution: Use cfc_has_mode() instead and remove redundant else if branch
+          (glepnir).
+
+Patch 9.1.1198
+Problem:  [security]: potential data loss with zip.vim and special
+          crafted zip files (RyotaK)
+Solution: Use glob '[-]' to protect filenames starting with '-'.
+
+Patch 9.1.1199
+Problem:  Many X11/Wayland desktops support icon themes, and many themes
+          provide a gvim icon, but this icon is ignored for the window
+          itself because it is hardcoded in the source code.
+Solution: Read the icon from the theme instead (Aurelien Gateau).
+
+Patch 9.1.1200
+Problem:  Cmdline pum not cleared for input() completion.
+Solution: Temporary reset RedrawingDisabled in cmdline_pum_cleanup(),
+          like what is done in wildmenu_cleanup() (zeertzjq).
+
+Patch 9.1.1201
+Problem:  'completefuzzycollect' does not handle dictionary correctly
+Solution: Check for ctrl_x_mode_dictionary (glepnir).
+
+Patch 9.1.1202
+Problem:  Missing TabClosedPre autocommand (zoumi)
+Solution: Add the TabClosedPre autcommand (Jim Zhou).
+
+Patch 9.1.1203
+Problem:  matchparen keeps cursor on case label in sh filetype
+          (@categorical, after 9.1.1187).
+Solution: Use :defer so that cursor is always restored, remove checks
+          for older Vims, finish early if Vim does not support :defer
+
+Patch 9.1.1204
+Problem:  MS-Windows: crash when passing long string to expand() with
+          'wildignorecase'.
+Solution: Use the same buflen as unix_expandpath() in dos_expandpath().
+          Remove an unnecessary STRLEN() while at it (zeertzjq).
+
+Patch 9.1.1205
+Problem:  completion: preinserted text not removed when closing pum
+Solution: Delete preinsert text inside in ins_compl_stop() (glepnir).
+
+Patch 9.1.1206
+Problem:  tests: test_filetype fails when a file is a directory
+          (Eisuke Kawashima)
+Solution: When encountering a directory instead of a file, skip that
+          particular filetype test.
+
+Patch 9.1.1207
+Problem:  MS-Windows: build warning in filepath.c (after v9.1.1204).
+Solution: Add type cast (John Marriott).
+
+Patch 9.1.1208
+Problem:  MS-Windows: not correctly restoring alternate screen on Win 10
+          after ssh (Daniel Viberg)
+Solution: Return a bit later in RestoreConsoleBuffer() (Christopher Plewright)
+
+Patch 9.1.1209
+Problem:  colorcolumn not drawn after virtual text lines
+Solution: Show colorcolumn on correct line with virtual text by adding
+          the size of p_extra to virtual column offset (Matthias).
+
+Patch 9.1.1210
+Problem:  translation(ru): missing Russian translation for the new tutor
+Solution: Include new Russian translation, update the Makefile for
+          installing the new translations (RestorerZ).
+
+Patch 9.1.1211
+Problem:  TabClosedPre is triggered just before the tab is being freed,
+          which limited its functionality.
+Solution: Trigger it a bit earlier and also on :tabclose and :tabonly
+          (Jim Zhou).
+
+Patch 9.1.1212
+Problem:  filetype: logrotate'd pacmanlogs are not recognized
+Solution: Also detect pacman.log* files as pacmanlog filetype,
+          remove BufNewFile autocmd (Eisuke Kawashima).
+
+Patch 9.1.1212
+Problem:  too many strlen() calls in edit.c
+Solution: Refactor edit.c and remove strlen() calls (John Marriott).
+
+Patch 9.1.1213
+Problem:  cannot :put while keeping indent (Peter Aronoff)
+Solution: Add the :iput ex command (64-bitman).
+
+Patch 9.1.1214
+Problem:  When searching for "Cur", CamelCase matches like "lCursor" score
+          higher than exact prefix matches like Cursor, which is
+          counter-intuitive (Maxim Kim).
+Solution: Add a 'camelcase' option to matchfuzzy() that lets users disable
+          CamelCase bonuses when needed, making prefix matches rank higher
+          (glepnir).
+
+Patch 9.1.1215
+Problem:  Patch 9.1.1213 has some issues
+Solution: Revert it for now
+
+Patch 9.1.1216
+Problem:  Pasting the '.' register multiple times may work incorrectly
+          when the last insert starts with Ctrl-D and ends with '0'
+          (after 9.1.1212).
+Solution: Restore the missing assignment (zeertzjq).
+
+Patch 9.1.1217
+Problem:  tests: typos in test_matchfuzzy.vim (after 9.1.1214).
+Solution: Fix the typos.  Consistently put the function call on the
+          second line in assertions for camelcase (zeertzjq).
+
+Patch 9.1.1218
+Problem:  missing out-of-memory check in filepath.c
+Solution: Add check for NULL (John Marriott).
+
+Patch 9.1.1219
+Problem:  Strange error with type for matchfuzzy() "camelcase".
+Solution: Show the error "Invalid value for argument camelcase" instead
+          of "Invalid argument: camelcase" (zeertzjq).
+
+Patch 9.1.1220
+Problem:  filetype: uv.lock file not recognized
+Solution: detect uv.lock file as toml filetype (Acaibird).
+
+Patch 9.1.1221
+Problem:  Wrong cursor position and '^' mark when leaving Insert mode
+          just after 'autoindent' and cursor on last char of line.
+Solution: Don't move cursor to NUL when it wasn't moved to the left (zeertzjq)
+
+Patch 9.1.1222
+Problem:  using wrong length for last inserted string
+          (Christ van Willegen, after v9.1.1212)
+Solution: Use the correct length in get_last_insert_save(), make
+          get_last_insert() return a string_T (John Marriott).
+
+Patch 9.1.1223
+Problem:  wrong translation for encoding failures because of using
+          literal "from" and "to" in the resulting error message (RestorerZ)
+Solution: Use separate error messages for errors "from" and "to"
+          encoding errors.
+
+Patch 9.1.1224
+Problem:  cannot :put while keeping indent (Peter Aronoff)
+Solution: Add the :iput ex command (64-bitman).
+
+Patch 9.1.1225
+Problem:  extra NULL check in VIM_CLEAR()
+Solution: Remove the NULL check and rely on the NULL check in vim_free()
+          instead (Hirohito Higashi).
+
+Patch 9.1.1226
+Problem:  "shellcmdline" completion doesn't work with input().
+Solution: Use set_context_for_wildcard_arg().  Fix indent in nextwild()
+          (zeertzjq).
+
+Patch 9.1.1227
+Problem:  no tests for the comment package
+Solution: Add some tests (Maxim Kim).
+
+Patch 9.1.1228
+Problem:  The current_pos.col was incorrectly updated to the length of
+          the matching text. This will cause the next search to start
+          from the wrong position.
+Solution: Current_pos has already been updated in search_str_in_line and
+          does not need to be changed (glepnir).
+
+Patch 9.1.1229
+Problem:  the comment plugin can be improved
+Solution: add comment text objects "ic" and "ac" (Maxim Kim).
+
+Patch 9.1.1230
+Problem:  Ctrl-C closes popup windows that have a filter callback,
+          but does not close popups without a filter callback.
+Solution: Modified popup_do_filter() to also close popups without
+          filter callback when Ctrl-C is pressed (glepnir).
+
+Patch 9.1.1231
+Problem:  filetype: SPA (single page application) JSON files are not
+          recognized (used by pipewire and wireplumber)
+Solution: Detect pipewire and wireplumber configuration files as spajson
+          filetype, include filetype, indent and syntax scripts for this
+          new filetype (David Mandelberg).
+
+Patch 9.1.1232
+Problem:  Vim script is missing the tuple data type
+Solution: Add support for the tuple data type (Yegappan Lakshmanan).
+
+Patch 9.1.1233
+Problem:  Coverity warns about NULL pointer when triggering WinResized
+Solution: Add OOM checks for windows_list like for scroll_dict. Remove
+          void casts that are unnecessary after 9.1.1084 (zeertzjq).
+
+Patch 9.1.1234
+Problem:  Compile error when SIZE_MAX is not defined
+Solution: Define SIZE_MAX (Zoltan Arpadffy).
+
+Patch 9.1.1235
+Problem:  cproto files are outdated
+Solution: regenerate proto files by running make proto (Yegappan Lakshmanan).
+
+Patch 9.1.1236
+Problem:  tests: test_comments leaves swapfiles around
+Solution: use ':bw!' instead of ':close!'
+
+Patch 9.1.1237
+Problem:  Compile error with C89 compiler in term.c (Zoltan Arpadffy)
+Solution: split out LOG_TR macro into 2 different macros. LOG_TR1 that
+          takes only a single argument and LOG_TRN that takes 2
+          arguments. Remove the use of ##__VA_ARGS__ since the macro is
+          now always called with 2 arguments (Hirohito Higashi).
+
+Patch 9.1.1238
+Problem:  With ':set splitkeep=screen', cursor did't restore column
+          correctly when splitting a window on a line longer than the
+          last line on the screen (after v9.1.0707)
+Solution: Restore cursor column in `win_fix_scroll()` since it may be
+          changed in `getvcol()` after 396fd1ec2956 (phanium).
+
+Patch 9.1.1239
+Problem:  if_python: no tuple data type support (after v9.1.1232)
+Solution: Add support for using Vim tuple in the python interface
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1240
+Problem:  Regression with ic/ac text objects and comment plugin
+Solution: Fix regression, update tests (Maxim Kim).
+
+Patch 9.1.1241
+Problem:  wrong preprocessort indentation in term.c
+Solution: update indentation (Hirohito Higashi).
+
+Patch 9.1.1242
+Problem:  Crash when evaluating variable name (after v9.1.0870)
+Solution: Calculate the strlen() directly instead of pointer
+          arithmetics, fix missing assignment to lp->ll_name_end in
+          get_lval() (zeertzjq).
+
+Patch 9.1.1243
+Problem:  Diff mode's inline highlighting is lackluster. It only
+          performs a line-by-line comparison, and calculates a single
+          shortest range within a line that could encompass all the
+          changes. In lines with multiple changes, or those that span
+          multiple lines, this approach tends to end up highlighting
+          much more than necessary.
+Solution: Implement new inline highlighting modes by doing per-character
+          or per-word diff within the diff block, and highlight only the
+          relevant parts, add "inline:simple" to the defaults (which is
+          the old behaviour) (Yee Cheng Chin)
+
+Patch 9.1.1244
+Problem:  part of Patch v9.1.1242 was wrong
+Solution: Revert part of the Patch.
+
+Patch 9.1.1245
+Problem:  need some more tests for curly braces evaluation
+Solution: Add a test for the regression introduced by Patch v9.1.1242
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1246
+Problem:  coverity complains about some changes in v9.1.1243
+Solution: Remove duplicate code in diff_find_changed() (Yee Cheng Chin).
+
+Patch 9.1.1247
+Problem:  fragile setup to get (preferred) keys from key_name_entry
+          (after v9.1.1179)
+Solution: Refactor the code further, fix a bug with "pref_name" key
+          entry introduced in v9.1.1180 (Yee Cheng Chin)
+
+Patch 9.1.1248
+Problem:  compile error when building without FEAT_QUICKFIX
+Solution: Adjust ifdefs in popupwin.c, add CheckFeature quickfix
+          to a few tests (John Marriott, Hirohito Higashi).
+
+Patch 9.1.1249
+Problem:  No test that 'listchars' "eol" doesn't affect "gM".
+Solution: Add a test (zeertzjq).
+
+Patch 9.1.1250
+Problem:  cannot set the maximum popup menu width (Lucas Mior)
+Solution: add the new global option value 'pummaxwidth' (glepnir).
+
+Patch 9.1.1251
+Problem:  if_python: build error with tuples and dynamic python
+          (after v9.1.1239)
+Solution: Fix build error and test failures (Yee Cheng Cin).
+
+Patch 9.1.1252
+Problem:  Typos in code and docs related to 'diffopt' "inline:".
+          (after v9.1.1243)
+Solution: Fix typos and slightly improve the docs (zeertzjq).
+
+Patch 9.1.1253
+Problem:  If win_close() is called with a window that has quickfix stack
+          attached to it, the corresponding quickfix buffer will be
+          closed and freed after the buffer was already closed. At that
+          time curwin->w_buffer points to NULL, which the CHECK_CURBUF
+          will catch and abort if ABORT_ON_ERROR is defined.
+Solution: In wipe_qf_buffer() temporarily point curwin->w_buffer back to
+          curbuf, the window will be closed anyhow, so it shouldn't
+          matter that curbuf->b_nwindows isn't incremented.
+
+Patch 9.1.1254
+Problem:  need more tests for the comment plugin
+Solution: Add a tests for the [gb]:comment_first_col setting (Maxim Kim).
+
+Patch 9.1.1255
+Problem:  missing test condition for 'pummaxwidth' setting, pummaxwidth
+          not effective when width is 32 and height is 10 (after v9.1.1250).
+Solution: Add missing comparison condition in pum_width() (glepnir).
+
+Patch 9.1.1256
+Problem:  if_python: duplicate tuple data entries (after v9.1.1239)
+Solution: clean up duplicates (Yegappan Lakshmanan).
+
+Patch 9.1.1257
+Problem:  Mixing vim_strsize() with mb_ptr2cells() in pum_redraw().
+Solution: Change vim_strsize() to mb_string2cells() (zeertzjq).
+
+Patch 9.1.1258
+Problem:  regexp: max \U and \%U value is limited by INT_MAX but gives a
+          confusing error message
+Solution: Give a better error message when the value reaches INT_MAX
+
+Patch 9.1.1259
+Problem:  some issues with comment package and tailing spaces
+Solution: Correctly capture trailing spaces with the ac/ic text object
+          (Maxim Kim).
+
+Patch 9.1.1260
+Problem:  Hang when filtering buffer with NUL bytes (after 9.1.1050).
+Solution: Don't subtract "written" from "lplen" repeatedly (zeertzjq).
+
+Patch 9.1.1261
+Problem:  No test for 'pummaxwidth' non-truncated items (after v9.1.1250)
+Solution: Add shorter items to Test_pum_maxwidth_multibyte() (zeertzjq).
+
+Patch 9.1.1262
+Problem:  heap-buffer-overflow occurs with narrow 'pummaxwidth' value
+          (after v9.1.1250)
+Solution: Test that st_end points after st pointer (Hirohito Higashi).
+
+Patch 9.1.1263
+Problem:  string length wrong in get_last_inserted_save() (after v9.1.1222).
+Solution: When removing trailing ESC, also decrease the string length
+          (Christ van Willegen).
+
+Patch 9.1.1264
+Problem:  Vim9: error when comparing objects (lifepillar)
+Solution: When comparing object types, compare their classes
+          (Yegappan Lakshmanan)
+
+Patch 9.1.1265
+Problem:  tests: no tests for typing normal char during completion
+Solution: Add a test verifying the default behaviour (see :h
+          popupmenu-completion)
+
+Patch 9.1.1266
+Problem:  MS-Windows: type conversion warnings
+Solution: Cast the variables (Yegappan Lakshmanan).
+
+Patch 9.1.1267
+Problem:  Vim9: no support for type list/dict<object<any>>
+Solution: Add proper support for t_object_any (Yegappan Lakshmanan).
+
+Patch 9.1.1268
+Problem:  filetype: dax files are not recognized
+Solution: Detect "*.dax" as dax filetype, include dax filetype and
+          syntax plugin (Anarion Dunedain).
+
+Patch 9.1.1269
+Problem:  compl_shown_match is updated when starting keyword completion
+          and does not include fuzzy matching.
+Solution: Do not update compl_shown_match when starting keyword
+          completion, since it is the one already selected by the
+          keyword completion direction (glepnir).
+
+Patch 9.1.1270
+Problem:  missing out-of-memory checks in buffer.c
+Solution: Handle out-of-memory situations during allocation (John Marriott).
+
+Patch 9.1.1271
+Problem:  filetype: Power Query files are not recognized
+Solution: Detect '*.pq' as pq filetype, include pq syntax and filetype
+          plugin (Anarion Dunedain).
+
+Patch 9.1.1272
+Problem:  completion: in keyword completion Ctrl_P cannot go back after
+          Ctrl_N
+Solution: in find_compl_when_fuzzy() always return first match of array, after
+          Ctrl_P use compl_shown_match->cp_next instead of compl_first_match.
+          (glepnir)
+
+Patch 9.1.1273
+Problem:  Coverity warns about using uninitialized value (after 9.1.1270).
+Solution: Put an empty string in "buf" when allocation fails (zeertzjq).
+
+Patch 9.1.1274
+Problem:  Vim9: no support for object<type> as variable type
+Solution: Add support for object<type> (Yegappan Lakshmanan).
+
+Patch 9.1.1275
+Problem:  MS-Windows: Not possible to pass additional flags to Make_mvc
+Solution: Introduce $CI_FLAGS and use it to pass additional flags for
+          the Github CI in order to treat size conversion warnings
+          (C4267) as errors (Yegappan Lakshmanan).
+
+Patch 9.1.1276
+Problem:  inline word diff treats multibyte chars as word char
+          (after 9.1.1243)
+Solution: Treat all non-alphanumeric characters as non-word characters
+          (Yee Cheng Chin)
+
+Patch 9.1.1277
+Problem:  tests: trailing comment char in test_popupwin
+Solution: Remove crufty tail comment (Doug Kearns)
+
+Patch 9.1.1278
+Problem:  Vim9: too long functions in vim9type.c
+Solution: Refactor into separate functions (Yegappan Lakshmanan).
+
+Patch 9.1.1279
+Problem:  Vim9: null_object and null_class are no reserved names
+Solution: Add null_object and null_class as reserved names
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1280
+Problem:  trailing additional semicolon in get_matches_in_str()
+          (Hirohito Higashi)
+Solution: Remove it (Satoru Kitaguchi).
+
+Patch 9.1.1281
+Problem:  extra newline output when editing stdin
+Solution: Remove outputting when reading from stdin in non-terminal mode
+          (Abhijit Barik).
+
+Patch 9.1.1282
+Problem:  Build and test failure without job feature (lazypingu).
+Solution: Adjust ifdefs, add CheckFeature job to tests.
+
+Patch 9.1.1283
+Problem:  quickfix and location-list stack is limited to 10 items
+Solution: Add the 'chistory' and 'lhistory' options to configure a
+          larger quickfix/location list stack (64-bitman).
+
+Patch 9.1.1284
+Problem:  not possible to configure the completion menu truncation
+          character
+Solution: Add the "trunc" suboption to the 'fillchars' setting to
+          configure the truncation indicator (glepnir).
+
+Patch 9.1.1285
+Problem:  Vim9: no error message for missing method after "super."
+Solution: Output an error message, add a few more tests (Yegappan Lakshmanan).
+
+Patch 9.1.1286
+Problem:  Help files not detected when 'iskeyword' includes ":".
+Solution: Do not use \< and \> in the pattern (zeertzjq).
+
+Patch 9.1.1287
+Problem:  quickfix code can be further improved (after v9.1.1283)
+Solution: Slightly refactor quickfix.c (Hirohito Higashi).
+
+Patch 9.1.1288
+Problem:  Using wrong window in ll_resize_stack() (after v9.1.1287)
+Solution: Use "wp" instead of "curwin", even though they are always the
+          same value.  Fix typos in documentation (zeertzjq).
+
+Patch 9.1.1289
+Problem:  tests: no test for matchparen plugin with WinScrolled event
+Solution: Add missing test.
+
+Patch 9.1.1290
+Problem:  tests: missing cleanup in test_filetype.vim, wrong name in
+          test_plugin_matchparen
+Solution: Add :bwipe corresponding to :split, rename test case.
+
+Patch 9.1.1291
+Problem:  too many strlen() calls in buffer.c
+Solution: Refactor buffer.c and remove strlen() calls (John Marriott).
+
+Patch 9.1.1292
+Problem:  statusline not correctly evaluated (Peter Kenny, after v9.1.1291)
+Solution: Revert part of Patch v9.1.1291 (Hirohito Higashi).
+
+Patch 9.1.1293
+Problem:  comment plugin does not handle 'exclusive' selection for
+          comment object (@mawkish)
+Solution: Handle special case selection='exclusive' for inline comment
+          object (Maxim Kim).
+
+Patch 9.1.1294
+Problem:  gui tabline menu does not use confirm when closing tabs
+Solution: Use ":confirm tabclose" explicitly (JMcKiern).
+
+Patch 9.1.1295
+Problem:  clientserver: When in insert mode, a :stopinsert command
+          is not correctly processed (user202729)
+Solution: If the :stopinsert command is received while waiting for
+          input, stuff the NOP key into the type-ahead buffer and
+          detect that :stopinsert was used in edit() so that the
+          cursor position is decremented.
+
+Patch 9.1.1296
+Problem:  completion: incorrect truncation logic (after: v9.1.1284)
+Solution: Replace string allocation with direct screen rendering and
+          fix RTL/LTR truncation calculations (glepnir).
+
+Patch 9.1.1297
+Problem:  cursor_correct() calculates a valid cursor position which
+          is later changed by update_topline() and causes Ctrl-D
+          scrolling to be stuck (Daniel Steinberg, after v9.1.0258).
+Solution: Update the valid cursor position before validating topline
+          (Luuk van Baal).
+
+Patch 9.1.1298
+Problem:  define_function() is too long
+Solution: Refactor and split up into smaller functions (Yegappan Lakshmanan).
+
+Patch 9.1.1299
+Problem:  filetype: mbsyncrc files are not recognized
+Solution: Detect isyncrc and "*.mbsyncrc" files as mbsync filetype,
+          include filetype and syntax plugin (Pierrick Guillaume).
+
+Patch 9.1.1300
+Problem:  wrong detection of -inf
+Solution: Correctly compare 4 characters and not 3 (John Marriott).
+
+Patch 9.1.1301
+Problem:  completion: cannot configure completion functions with
+          'complete'
+Solution: Add support for setting completion functions using the f and o
+          flag for 'complete' (Girish Palya)
+
+Patch 9.1.1302
+Problem:  Coverity warns about using uninitialized value
+          (Coverity, Tony Mechelynck, after v9.1.1301)
+Solution: Initialize callback pointer to NULL
+
+Patch 9.1.1303
+Problem:  missing out-of-memory check in linematch.c
+Solution: Return early in case of memory allocation failure, move the
+          pow() calculation ouside of the for() loop (John Marriott).
+
+Patch 9.1.1304
+Problem:  filetype: some man files are not recognized
+          (e.g. 1p (POSIX commands))
+Solution: Update the filetype detection pattern and detect more man
+          files as nroff (Eisuke Kawashima).
+
+Patch 9.1.1305
+Problem:  When switching to another window or tab page while the
+          completion menu is active, the menu stays visible, although it
+          belongs to the previous window/tab page context (Evgeni
+          Chasnovski).
+Solution: Track the window and tab page where completion started. Detect
+          changes in the main editing loop and cancel completion mode if
+          the current window or tab page differs from where completion
+          started.
+
+Patch 9.1.1306
+Problem:  Parts of the popup menu were rendered twice when the popup was
+          at maximum width because the truncation flag was being set too
+          liberally.
+Solution: Make the truncation condition more precise by only setting it
+          when there's exactly one character of space remaining (glepnir).
+
+Patch 9.1.1307
+Problem:  GNU extensions, such as `ifeq` and `wildcard` function, are
+          highlighted in BSDmakefile
+Solution: Detect BSD, GNU, or Microsoft implementation according to
+          filename, user-defined global variables, or file contents.
+
+Patch 9.1.1308
+Problem:  During insert-mode completion, the most relevant match is often
+          the one closest to the cursor—frequently just above the current line.
+          However, both `<C-N>` and `<C-P>` tend to rank candidates from the
+          current buffer that appear above the cursor near the bottom of the
+          completion menu, rather than near the top. This ordering can feel
+          unintuitive, especially when `noselect` is active, as it doesn't
+          prioritize the most contextually relevant suggestions.
+Solution: This change introduces a new sub-option value "nearest" for the
+          'completeopt' setting. When enabled, matches from the current buffer
+          are prioritized based on their proximity to the cursor position,
+          improving the relevance of suggestions during completion
+        (Girish Palya).
+
+Patch 9.1.1309
+Problem:  tests: no test for 'pummaxwidth' with non-truncated "kind".
+Solution: Add a test with "kind" and larger 'pummaxwidth' (zeertzjq).
+
+Patch 9.1.1310
+Problem:  Duplicate check for preinsert effect, particularly for Ctrl_w
+          and Ctrl_U.
+Solution: Remove the specific check for Ctrl_w and Ctrl_U to eliminate
+          redundancy (glepnir).
+
+Patch 9.1.1311
+Problem:  completion: not possible to limit number of matches
+Solution: allow to limit the matches for 'complete' sources by using the
+          "{flag}^{limit}" notation (Girish Palya)
+
+Patch 9.1.1312
+Problem:  tests: Test_backupskip() fails when HOME is defined
+Solution: Unset $HOME temporarily
+
+Patch 9.1.1313
+Problem:  compile warning about uninitialized value
+          (Tony Mechelynck, after v9.1.1311)
+Solution: Initialize variable on declaration
+
+Patch 9.1.1314
+Problem:  max allowed string width too small
+Solution: Increased MAX_ALLOWED_STRING_WIDTH from 6400 to 1MiB
+          (Hirohito Higashi)
+
+Patch 9.1.1315
+Problem:  chain complete does not work when 'cot' includes fuzzy
+          and 'completefuzzycollect' collects wrong next word (Konfekt).
+Solution: Compl_startpos is not set correctly, remove next word check
+          in search_for_fuzzy_match (glepnir).
+
+Patch 9.1.1316
+Problem:  missing memory allocation failure in os_mswin.c
+Solution: Check for memory allocation failure and return early (John Marriott)
+
+Patch 9.1.1317
+Problem:  noisy error when restoring folds from session fails
+Solution: ignore errors silently when sourcing session file (Igor Lacerda).
+
+Patch 9.1.1318
+Problem:  tests: test_format fails (after 9.1.1314).
+Solution: Increase the string size.  Add missing test_format.res in
+          NEW_TESTS_RES (zeertzjq).
+
+Patch 9.1.1319
+Problem:  Various typos in the code, redundant and strange use of
+          :execute in test_ins_complete.vim (after 9.1.1315).
+Solution: Fix typos in the code and in the documentation, use the
+          executed command directly (zeertzjq).
+
+Patch 9.1.1320
+Problem:  filetype: alsoft config files are not recognized
+Solution: Detect alsoft config files as dosini filetype (David Mandelberg).
+
+Patch 9.1.1321
+Problem:  filetype: MS ixx and mpp files are not recognized
+Solution: Detect *.mpp and *.ixx files as c++ filetype (Hampus Avekvist).
+
+Patch 9.1.1322
+Problem:  small delete register cannot paste multi-line correctly
+          (after v8.2.2189)
+Solution: Make this logic handle charwise only (phanium).
+
+Patch 9.1.1323
+Problem:  b:undo_ftplugin not executed when re-using buffer (archy3)
+Solution: Explicitly execute b:undo_ftplugin in buflist_new() when
+          re-using the current buffer.
+
+Patch 9.1.1324
+Problem:  undefined behaviour if X11 connection dies
+Solution: Call setjmp() before the main_loop() and restore x11 state
+          if the X11 connection dies (Foxe Chen).
+
+Patch 9.1.1325
+Problem:  tests: not checking error numbers properly.
+Solution: Add a trailing comma to avoid matching a different error
+          number with the same prefix (zeertzjq).
+
+Patch 9.1.1326
+Problem:  invalid cursor position after 'tagfunc' (gandalf4a).
+Solution: Call check_cursor() after executing the 'tagfunc'.
+
+Patch 9.1.1327
+Problem:  filetype: nroff detection can be improved
+Solution: Improve nroff detection (Eisuke Kawashima)
+
+Patch 9.1.1328
+Problem:  too many strlen() calls in indent.c
+Solution: Refactor indent.c slightly and remove strlen() calls (John Marriott)
+
+Patch 9.1.1329
+Problem:  cannot get information about command line completion
+Solution: Add CmdlineLeavePre autocommand and cmdcomplete_info() Vim
+          script function (Girish Palya)
+
+Patch 9.1.1330
+Problem:  may receive E315 in terminal
+Solution: Call check_cursor() (Hirohito Higashi).
+
+Patch 9.1.1331
+Problem:  Leaking memory with cmdcomplete() (zeertzjq, after v9.1.1329)
+Solution: Free the memory (Girish Palya).
+
+Patch 9.1.1332
+Problem:  Vim9: segfault when using super within a lambda (lifepillar)
+Solution: Inherit the class from the current function (Yegappan Lakshmanan).
+
+Patch 9.1.1333
+Problem:  Coverity: complains about unutilized variable
+Solution: Initialize typval properly
+
+Patch 9.1.1334
+Problem:  Coverity complains about unchecked return value
+Solution: Cast return value to (void)
+
+Patch 9.1.1335
+Problem:  Coverity complains about Null pointer dereferences
+Solution: Before accessing ccline->cmdbuff check that ccline is not NULL
+
+Patch 9.1.1336
+Problem:  comment plugin does not support case-insensitive
+          'commentstring' (char101)
+Solution: Use pattern '\c' to make the regex case-insensitive (Maxim Kim).
+
+Patch 9.1.1337
+Problem:  Undo corrupted with 'completeopt' "preinsert" when switching
+          buffer or window.
+Solution: Do not delete preinsert text when switching buffer or window
+          (zeertzjq).
+
+Patch 9.1.1338
+Problem:  Calling expand() interferes with cmdcomplete_info() (after 9.1.1329)
+Solution: Only clear cmdline_orig when starting/ending cmdline mode (zeertzjq)
+
+Patch 9.1.1339
+Problem:  missing out-of-memory checks for enc_to_utf16() and utf16_to_enc()
+Solution: Add out-of-memory checks and fix a few other minor issues
+          (John Marriott)
+
+Patch 9.1.1340
+Problem:  cannot complete :filetype arguments (Phạm Bình An)
+Solution: Add :filetype ex command completion, add "filetypecmd"
+          completion type for getcompletion()
+
+Patch 9.1.1341
+Problem:  Cannot define completion triggers and act upon it
+Solution: Add the new option 'isexpand' and add the complete_match()
+          function to return the completion matches according to the
+          'isexpand' setting (glepnir)
+
+Patch 9.1.1342
+Problem:  Shebang filetype detection can be improved
+Solution: Improve detection logic (Eisuke Kawashima)
+
+Patch 9.1.1343
+Problem:  filetype: IPython files are not recognized (user202729).
+Solution: Detect *.ipy files as python filetype.
+
+Patch 9.1.1344
+Problem:  double free in f_complete_match() (after v9.1.1341)
+Solution: Remove additional free of trig pointer, correctly free
+          regmatch.regprog and before_cursor in the error case.
+
+Patch 9.1.1345
+Problem:  tests: Test_xxd_color2() test failure dump diff is misleading
+Solution: Ensure the reference dump and the test dump are both processed the
+          same (Drew Vogel).
+
+Patch 9.1.1346
+Problem:  missing out-of-memory check in textformat.c
+Solution: Add out-of-memory check, add small optimizations to
+          internal_format() and same_leader() (John Marriott)
+
+Patch 9.1.1347
+Problem:  small problems with gui_w32.c
+Solution: Fix compile warnings and refactor code (John Marriott)
+
+Patch 9.1.1348
+Problem:  still E315 with the terminal feature (user202729)
+Solution: Call update_topline() in limit_scrollback() (Hirohito Higashi).
+
+Patch 9.1.1349
+Problem:  CmdlineLeavePre may trigger twice (after v9.1.1329)
+Solution: Check that the key was typed, trigger it when it wasn't before
+          (Girish Palya).
+
+Patch 9.1.1350
+Problem:  tests: typo in Test_CmdlineLeavePre_cabbr() (after v9.1.1349)
+Solution: Fix typo, disable failing test on Windows for now (Girish Palya).
+
+Patch 9.1.1351
+Problem:  Return value of getcmdline() inconsistent in CmdlineLeavePre
+          when leaving cmdline in different ways (after v9.1.1329).
+Solution: Trigger CmdlineLeavePre before calling abandon_cmdline() so
+          that getcmdline() can return the command line (zeertzjq).
+
+Patch 9.1.1352
+Problem:  style: inconsistent indent in insexpand.c
+Solution: Fix indentation (Hirohito Higashi).
+
+Patch 9.1.1353
+Problem:  missing change from v9.1.1350
+Solution: Update the test Test_CmdlineTrigger() (Girish Palya).
+
+Patch 9.1.1354
+Problem:  tests: Test_terminalwinscroll_topline() fails on Windows
+Solution: Instead of disabling it in Github Actions runners, disable it
+          for all Windows runs.
+
+Patch 9.1.1355
+Problem:  The pum_redraw function is too complex and difficult to
+          maintain with nested loops and mixed responsibilities handling
+          both RTL and LTR text rendering.
+Solution: Extracted core rendering logic into dedicated helper functions
+          (pum_display_rtl_text, pum_display_ltr_text, pum_draw_scrollbar,
+          pum_process_item) while preserving the original behavior. This
+          improves code readability and maintainability (glepnir).
+
+Patch 9.1.1356
+Problem:  Vim9: crash when unletting variable
+Solution: Fix crash, allow to use :unlet (Hirohito Higashi).
+
+Patch 9.1.1357
+Problem:  Vim incorrectly escapes tags containing "[" in a help buffer
+Solution: Check if the buffer has the "help" filetype set, instead of
+          already being a help buffer (Phạm Bình An).
+
+Patch 9.1.1358
+Problem:  if_lua: compile warnings with gcc15
+Solution: Update function prototypes (lilydjwg).
+
+Patch 9.1.1359
+Problem:  filetype: GNU Radio config files are not recognized.
+Solution: Detect GNU Radio config files as confini filetype.  Only
+          allow '#' as start of comment in confini syntax (zeertzjq).
+
+Patch 9.1.1360
+Problem:  filetype: GNU Radio companion files are not recognized
+Solution: Detect *.grc files as xml or yaml filetype depending on the
+          first line (zeertzjq).
+
+Patch 9.1.1361
+Problem:  [security]: Possible to open more windows into a closing
+          buffer without splitting, bypassing existing "b_locked_split"
+          checks and triggering use-after-free
+Solution: Disallow switching to a closing buffer. Editing a closing
+          buffer (via ":edit", etc.) was fixed in v9.1.0764, but add an
+          error message and check just "b_locked_split", as "b_locked"
+          is necessary only when the buffer shouldn't be wiped, and may
+          be set for buffers that are in-use but not actually closing
+          (Sean Dewar).
+
+Patch 9.1.1362
+Problem:  Vim9: type ignored when adding tuple to instance list var
+          (Lifepillar)
+Solution: When getting the typval of class and object member variables,
+          set the variable type (Yegappan Lakshmanan).
+
+Patch 9.1.1363
+Problem:  style: inconsistent indentation in various files
+Solution: Fix style, updated codestyle test (Naruhiko Nishino).
+
+Patch 9.1.1364
+Problem:  style: more indentation issues
+Solution: Fix indentation style (Yegappan Lakshmanan).
+
+Patch 9.1.1365
+Problem:  MS-Windows: compile warnings and too many strlen() calls  in
+          os_mswin.c
+Solution: Refactor os_mswin.c and fix the warning (John Marriott).
+
+Patch 9.1.1366
+Problem:  v9.1.1364 unintentionally changed sign.c and sound.c
+Solution: Revert those parts, adjust the test (Hirohito Higashi).
+
+Patch 9.1.1367
+Problem:  too many strlen() calls in gui.c
+Solution: Refactor gui.c slightly (John Marriott).
+
+Patch 9.1.1368
+Problem:  GTK3 and GTK4 will drop numeric cursor support.
+Solution: Adopt GTK3 code and use CSS cursor convention (Drew Vogel).
+
+Patch 9.1.1369
+Problem:  configure still using autoconf 2.71
+Solution: Regenerate with autoconf 2.72.
+
+Patch 9.1.1370
+Problem:  CI Tests favor GTK2 over GTK3
+Solution: Install GTK3 dependencies and debug packages for CI workflows,
+          update ASAN suppression list, update required dependency
+          checks for the tests (Drew Vogel).
+
+Patch 9.1.1371
+Problem:  style: indentation issue in insexpand.c
+Solution: Update style (glepnir).
+
+Patch 9.1.1372
+Problem:  style: braces issues in various files
+Solution: Fix style (Hirohito Higashi).
+
+Patch 9.1.1373
+Problem:  Flag checking logic uses a temporary variable and multiple
+          bitwise operations in insexpand.c
+Solution: Consolidate into a single equality check using bitwise OR and
+          comparison (glepnir).
+
+Patch 9.1.1374
+Problem:  Currently, 'smartcase' is respected when completing keywords
+          using <C-N>, <C-P>, <C-X><C-N>, and <C-X><C-P>. However, when
+          a user continues typing and the completion menu is filtered
+          using cached matches, 'smartcase' is not applied. This leads
+          to poor-quality or irrelevant completion suggestions, as shown
+          in the example below.
+Solution: When filtering cached completion items after typing additional
+          characters, apply case-sensitive comparison if 'smartcase' is
+          enabled and the typed pattern includes uppercase characters.
+          This ensures consistent and expected completion behavior
+          (Girish Palya).
+
+Patch 9.1.1375
+Problem:  heap use-after-free possible when autocommands switch away from the
+          quickfix dummy buffer, but leave it open in a window.
+Solution: Close its windows first before attempting the wipe (Sean Dewar).
+
+Patch 9.1.1376
+Problem:  when failing to wipeout a quickfix dummy buffer, it will
+          remain as a dummy buffer, despite being kept.
+Solution: Clear its dummy BF_DUMMY flag in this case (Sean Dewar).
+
+Patch 9.1.1377
+Problem:  Some GTK3 users experienced unexpectedly small windows at
+          startup (after v9.1.1368, @berggeist, Tony Mechelynck)
+Solution: Update window manager hints in gui_mch_open, partly revert
+          v9.1.1370 (Drew Vogel).
+
+Patch 9.1.1378
+Problem:  When 'signcolumn' is set to `number` but a line has a sign
+          without text, the line number disappears (finite-state-machine)
+Solution: Verify that a sign actually contains text before rendering the
+          line number (glepnir).
+
+Patch 9.1.1379
+Problem:  MS-Windows: error when running evim when space in path of Vim
+Solution: Properly parse quoted strings (Miguel Barro)
+
+Patch 9.1.1380
+Problem:  When an autocommand executes for a non-current buffer,
+          'eventignorewin' is only checked from the buffer's last
+          wininfo (overwrites win_ignore in the loop), not from the
+          value of 'eventignorewin' in all windows showing the buffer as
+          described (after v9.1.1084)
+Solution: Fix the check and don't use wininfo, as that may only contain
+          windows that recently showed the buffer. Consider all the
+          buffer's windows in all tabpages (Sean Dewar).
+
+Patch 9.1.1381
+Problem:  Cannot return to the original text after selecting the next
+          item when the currently selected item is the last one.
+Solution: When continuing to move down past the last item, locate the
+          original completion at the head/tail nodes of the completed
+          linked list (glepnir).
+
+Patch 9.1.1382
+Problem:  if_ruby: unused compiler warnings from ruby internals
+Solution: disable -Wunused-parameter for if_ruby internal code (Philip H.).
+
+Patch 9.1.1383
+Problem:  When a space character is used as a trigger in 'isexpand' option
+          it doesn't get recognized because skip_to_option_part() skips
+          spaces after a comma, treating them as option separators
+          rather than option value (after v9.1.1341)
+Solution: Manually set the part to a space character (glepnir).
+
+Patch 9.1.1384
+Problem:  still some problem with the new tutors filetype plugin
+Solution: Refactor code to enable/disable tutor mode into
+          tutor#EnableInteractive() function, include a test
+          (Phạm Bình An).
+
+Patch 9.1.1385
+Problem:  Loop that ensures "w_skipcol" is zero with 'nosmoothscroll'
+          for (half)-page scrolling is inefficient.
+Solution: Calculate the required "count" instead of looping until
+          "w_skipcol" is zero (Luuk van Baal).
+
+Patch 9.1.1386
+Problem:  MS-Windows: some minor problems building on AARCH64
+Solution: Update Make_cyg_ming with aarch64 specific changes,
+          document how to build on aarch64 using msys2 packages.
+
+Patch 9.1.1387
+Problem:  buflist_new() leaks ffname and fails to reuse curbuf when
+          autocommands from buf_freeall change curbuf. Plus, a new
+          buffer is not allocated in this case, despite what the comment
+          above claims.
+Solution: Remove the condition so ffname is not leaked and so a new
+          buffer is allocated like before v8.2.4791. It should not be
+          possible for undo_ftplugin or buf_freeall autocommands to
+          delete the buffer as they set b_locked, but to stay consistent
+          with other uses of buf_freeall, guard against that anyway
+          (Sean Dewar).
+
+Patch 9.1.1388
+Problem:  One-off error in "count" to make "w_skipcol" zero with
+          'nosmoothscroll' page scrolling when last virtual line
+          in a buffer line is exactly the entire window width
+          (Hirohito Higashi).
+Solution: Properly compute the smallest integer value necessary
+          to make "w_skipcol" zero (Luuk van Baal).
+
+Patch 9.1.1389
+Problem:  Cannot get completion startcol when space is not the first
+          trigger character (after v9.1.1383)
+Solution: Detect the next comma followed by a space in the option string
+          and use in next compare loop (glepnir).
+
+Patch 9.1.1390
+Problem:  style: more wrong indentation
+Solution: reformat a few more places (Yegappan Lakshmanan).
+
+Patch 9.1.1391
+Problem:  Vim does not have a tabpanel
+Solution: Include the tabpanel feature (Naruhiko Nishino, thinca).
+
+Patch 9.1.1392
+Problem:  missing Patch number (Tony Mechelynck)
+Solution: add missing Patche number.
+
+Patch 9.1.1393
+Problem:  The check in buf_freeall that restores curwin subtly prevents
+          leaving an unloaded buffer in a window when reusing curbuf, if
+          autocommands switch to a different buffer.
+Solution: Add a test case that covers this. Also ensure splitting isn't
+          possible, as that could do the same (Sean Dewar).
+
+Patch 9.1.1394
+Problem:  tabpanel not correctly redrawn on tabonly
+          (Maxim Kim, after v9.1.1391)
+Solution: Force redraw of the tabpanel, tweak style (Hirohito Higashi).
+
+Patch 9.1.1395
+Problem:  Search_stat not reset when pattern differs in case
+          (tahzibijafar)
+Solution: Use STRNCMP instead of MB_STRNICMP macro.
+
+Patch 9.1.1396
+Problem:  The 'grepformat' option is global option, but it would be
+          useful to have it buffer-local, similar to 'errorformat' and
+          other quickfix related options (Dani Dickstein)
+Solution: Add the necessary code to support global-local 'grepformat',
+          allowing different buffers to parse different grep output
+          formats (glepnir).
+
+Patch 9.1.1397
+Problem:  tabpanel not correctly updated on :tabonly (Maxim Kim)
+Solution: Force a redraw, take 'equalalways' into account (Naruhiko Nishino).
+
+Patch 9.1.1398
+Problem:  When items are combined with user-defined highlight attributes
+          (e.g., strikethrough), trunc inherits these attributes, making
+          the text difficult to read.
+Solution: Trunc now uses the original Pmenu and PmenuSel highlight
+          attributes (glepnir).
+
+Patch 9.1.1399
+Problem:  tests: test_codestyle fails for auto-generated files.
+          While those files are already ignored in Test_source_Files(),
+          the newly added Test_indent_of_source_files() does not filter
+          those out and causes test failures on appveyor.
+Solution: Factor out the generation of all c files into a common function
+          and filter out auto-generated files if_ole.h, iid_ole.c and
+          dlldata.c
+
+Patch 9.1.1400
+Problem:  [security]: use-after-free when evaluating tuple fails
+Solution: Return early in case of an error (Yegappan Lakshmanan).
+
+Patch 9.1.1401
+Problem:  list not materialized in prop_list() (Nickwiz)
+Solution: Materialize list before accessing it.
+
+Patch 9.1.1402
+Problem:  multi-byte mappings not properly stored in session file
+Solution: Unescape the mapping before writing out the mapping, prefer
+          single-byte mapping name if possible (Miguel Barro).
+
+Patch 9.1.1403
+Problem:  expansion of 'tabpanelopt' value adds wrong values
+          (Shane-XB-Qian, after v9.1.1391).
+Solution: Update tabpanelopt expansion function and expand only valid
+          values (Hirohito Higashi).
+
+Patch 9.1.1404
+Problem:  wrong link to Chapter 2 in vim-01-beginner.tutor
+Solution: Fix the link to Chapter 2, add test for links in tutor files
+          (Phạm Bình An).
+
+Patch 9.1.1405
+Problem:  tests: no test for mapping with special keys in session file.
+Solution: Add a special keys to an existing test.  Also test with UTF-8
+          characters containing 0x80 or 0x9b bytes (zeertzjq).
+
+Patch 9.1.1406
+Problem:  crash when importing invalid tuple (Yang LUO, Yanju Chen)
+Solution: Set type to VAR_UNKNOWN, so that it isn't freed
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1407
+Problem:  Can't use getpos('v') in OptionSet when using setbufvar().
+Solution: Don't reset Visual selection when switching to the same
+          buffer (zeertzjq).
+
+Patch 9.1.1408
+Problem:  not easily possible to complete from register content
+Solution: Add register-completion submode using i_CTRL-X_CTRL-R
+          (glepnir).
+
+Patch 9.1.1409
+Problem:  using f-flag in 'complete' conflicts with Neovims filename
+          completion (glepnir, after v9.1.1301).
+Solution: Use upper-case "F" flag for completion functions (Girish Palya).
+
+Patch 9.1.1410
+Problem:  out-of-bounds access with 'completefunc' (csetc)
+Solution: Check if it is safe to advance cpt_sources_index (Girish Palya).
+
+Patch 9.1.1411
+Problem:  crash when calling non-existing function for tabpanel (Yamagi,
+          after v9.1.1391)
+Solution: Check if there was an error and if there was, set tabpanel
+          option to empty to prevent showing errors on every redraw.
+
+Patch 9.1.1412
+Problem:  tests: Test_tabpanel_tabonly() fails on larger screens
+Solution: Re-generate screendump file for 78 column large terminal.
+
+Patch 9.1.1413
+Problem:  spurious CursorHold triggered in GUI on startup
+Solution: Init global did_cursorhold flag to true (Gary Johnson).
+
+Patch 9.1.1414
+Problem:  MS-Windows: compile warnings in os_win32.c
+Solution: Update function declarations, correctly access param arg in
+          set_flag() using (sig_atomic_t) cast (John Marriott).
+
+Patch 9.1.1415
+Problem:  potential use-after free when there is an error in 'tabpanel'
+          option (@char101, after v9.1.1391)
+Solution: Check if p_tpl has been set to null before accessing it again.
+
+Patch 9.1.1416
+Problem:  completion limits not respected when using fuzzy completion
+          (Maxim Kim)
+Solution: Trim completion array (Girish Palya).
+
+Patch 9.1.1417
+Problem:  missing info about register completion in complete_info()
+          (after v9.1.1408)
+Solution: update documentation and mention that register is used as
+          source, add a test (glepnir).
+
+Patch 9.1.1418
+Problem:  configures GUI auto detection favors GTK2
+Solution: make configure favor GTK3 over GTK2 for the GUI
+          when auto detecting the gui toolkit (Drew Vogel).
+
+Patch 9.1.1419
+Problem:  It is difficult to ignore all but some events.
+Solution: Add support for a "-" prefix syntax in '(win)eventignore' that
+          subtracts an event from the ignored set if present (Luuk van Baal).
+
+Patch 9.1.1420
+Problem:  tests: could need some more tests for shebang lines
+Solution: Add more shebang patterns to test_filetype.vim (Eisuke Kawashima).
+
+Patch 9.1.1421
+Problem:  tests: need a test for the new-style tutor.tutor, Patch
+          9.1.1384 broke the expected positions for the signs
+Solution: Update all number keys in tutor.tutor.json to match the
+          correct line numbers in tutor.tutor, replace tabs by spaces,
+          add a screen-dump test to verify it does not regress (Pham Bình An).
+
+Patch 9.1.1422
+Problem:  scheduling of complete function can be improved
+Solution: Call user completion functions earlier when just determining
+          the insertion column (Girish Palya).
+
+Patch 9.1.1423
+Problem:  :tag command not working correctly using Vim9 Script
+Solution: Inject a ':' before the numeric address, to make the command
+          valid in Vim9 context
+
+Patch 9.1.1424
+Problem:  PMenu selection broken with multi-line selection and limits
+          (Maxim Kim)
+Solution: Update completion match index when limiting the completion
+          sources (Girish Palya).
+
+Patch 9.1.1425
+Problem:  tabpanel: there are still some problems with the tabpanel with
+          column handling
+Solution: Fix the problems and refactor Tabpanel feature (Hirohito Higashi).
+
+Patch 9.1.1426
+Problem:  CTRL-X CTRL-R only completes individual words from registers,
+          making it difficult to insert complete register content.
+Solution: Add consecutive CTRL-X CTRL-R support - first press completes
+          words, second press completes full register lines, similar to
+          CTRL-X CTRL-L and CTRL-X CTRL-P behavior (glepnir).
+
+Patch 9.1.1427
+Problem:  rendering artifacts with the tabpanel (char101)
+Solution: Prevent double redraw, use Columns instead of frame width
+          (Hirohito Higashi)
+
+Patch 9.1.1428
+Problem:  Completion: register completion needs cleanup
+Solution: Slightly refactor get_register_completion() (glepnir).
+
+Patch 9.1.1429
+Problem:  dragging outside the tabpanel changes tabpagenr (char101)
+Solution: Set in_tab_line and in_tabpanel variables (Hirohito Higashi).
+
+Patch 9.1.1430
+Problem:  tabpanel may flicker in the GUI
+Solution: Call scroll_start() and scroll_region_reset() (Hirohito Higashi).
+
+Patch 9.1.1431
+Problem:  Hit-Enter Prompt when loading session files
+Solution: Use set+= for 'shortmess' to keep the existing flags (Miguel Barro).
+
+Patch 9.1.1432
+Problem:  GTK GUI: Buffer menu does not handle unicode correctly
+Solution: Get rid of the BMHash() function (SUN Haitao).
+
+Patch 9.1.1433
+Problem:  Unnecessary :if in session where both branches have the same
+          effect (after 9.1.1431).
+Solution: Remove the superfluous :if (zeertzjq).
+
+Patch 9.1.1434
+Problem:  MS-Windows: missing out-of-memory checks in os_win32.c
+Solution: Add out-of-memory checks to os_win32.c (John Marriott).
+
+Patch 9.1.1435
+Problem:  completion: various flaws in fuzzy completion
+Solution: Fix the issues (Girish Palya).
+
+Patch 9.1.1436
+Problem:  GUI control code is displayed on the console on startup
+Solution: Check if Vim is starting up (Hirohito Higashi).
+
+Patch 9.1.1437
+Problem:  MS-Windows: internal compile error in uc_list() with VS 17.14
+          (ibear)
+Solution: Refactor code slightly (Mike Williams).
+
+Patch 9.1.1438
+Problem:  tests: Test_breakindent_list_split() fails (Phạm Bình An)
+Solution: Always reset "&columns" and "&lines" for GUI builds
+          (Aliaksei Budavei).
+
+Patch 9.1.1439
+Problem:  Last diff folds not merged (after v8.1.1922)
+Solution: Loop over all windows in the current tabpage and update all
+          folds (Gary Johnson).
+
+Patch 9.1.1440
+Problem:  too many strlen() calls in os_win32.c
+Solution: Refactor code and remove calls to strlen() (John Marriott).
+
+Patch 9.1.1441
+Problem:  completion: code can be improved
+Solution: Remove reposition_match() and use mergesort_list(),
+          for fuzzy completion, sort by fuzzy score immediately after
+          setting a new leader (Girish Palya).
+
+Patch 9.1.1442
+Problem:  tests: Test_diff_fold_redraw() is insufficient
+          (after v9.1.1439, Christ van Willegen)
+Solution: Improve the test (Gary Johnson).
+
+Patch 9.1.1443
+Problem:  potential buffer underflow in insertchar()
+Solution: Verify that end_len is larger than zero (jinyaoguo).
+
+Patch 9.1.1444
+Problem:  Unused assignment in set_fuzzy_score() (after 9.1.1441).
+Solution: Remove it (zeertzjq).
+
+Patch 9.1.1445
+Problem:  negative matchfuzzy scores although there is a match (Maxim Kim).
+Solution: Reset the score if a match has been found but the score is
+          negative (Girish Palya).
+
+Patch 9.1.1446
+Problem:  filetype: cuda-gdb config files are not recognized
+Solution: Detect .cuda-gdbinit and cuda-gdbinit files as gdb filetype
+          (Wu Zhenyu).
+
+Patch 9.1.1447
+Problem:  completion: crash when backspacing with fuzzy completion
+Solution: Don't dereference compl_first_match when it's NULL (zeertzjq).
+
+Patch 9.1.1448
+Problem:  tabpanel is not displayed correctly when msg_scrolled
+Solution: Remove the msg_scrolled condition (Hirohito Higashi).
+
+Patch 9.1.1449
+Problem:  typo in pum_display()
+Solution: Update the comment, remove empty new lines (glepnir)
+
+Patch 9.1.1450
+Problem:  Session has wrong arglist with :tcd and :arglocal.
+Solution: Also use absolute path for :argadd when there is tabpage-local
+          directory (zeertzjq).
+
+Patch 9.1.1451
+Problem:  tabpanel rendering artifacts when scrolling
+Solution: Update scrolling logic (Hirohito Higashi).
+
+Patch 9.1.1452
+Problem:  completion: redundant check for completion flags
+Solution: Refactor code slightly (glepnir).
+
+Patch 9.1.1453
+Problem:  tests: Test_geometry() may fail (Gary Johnson)
+Solution: Allow a slightly smaller value when checking the number of
+          lines.
+
+Patch 9.1.1454
+Problem:  Missing test case for pum display on a wrapped line.
+Solution: Add a test case to cover pum behavior at line break positions
+          (glepnir).
+
+Patch 9.1.1455
+Problem:  Haiku: dailog objects created with no reference
+Solution: Delete the objects before returning (jinyaoguo)
+
+Patch 9.1.1456
+Problem:  comment plugin fails toggling if 'cms' contains \
+Solution: Escape backslash (Maxim Kim).
+
+Patch 9.1.1457
+Problem:  compile warning with tabpanelopt
+Solution: Declare arg as UNUSED (John Marriott).
+
+Patch 9.1.1458
+Problem:  tabpanel: tabs not properly updated with 'stpl'
+Solution: remember the Column offset per tabpage (Hirohito Higashi).
+
+Patch 9.1.1459
+Problem:  xxd prints color escape sequences for every octet
+          even if the color doesn't change
+Solution: use separate arrays for colors and text and only
+          print escape sequences when the color changes (Emanuel Krollmann).
+
+Patch 9.1.1460
+Problem:  MS-Windows: too many strlen() calls in os_win32.c
+Solution: Refactor code and remove calls to strlen() and wcscat()
+          (John Marriott).
+
+Patch 9.1.1461
+Problem:  tabpanel: tabpanel vanishes with popup menu
+Solution: Remove pum-related test in tabpanel_leftcol(), refactor a few
+          related functions (Hirohito Higashi).
+
+Patch 9.1.1462
+Problem:  missing change from Patch v9.1.1461
+Solution: Change wrong TPL_LCOL macro in a few more places.
+
+Patch 9.1.1463
+Problem:  Integer overflow in getmarklist() after linewise operation.
+Solution: Don't add 1 to MAXCOL (zeertzjq).
+
+Patch 9.1.1464
+Problem:  gv does not work in operator-pending mode (liushapku)
+Solution: remove the check for checkclearop in nv_gv_cmd() (phanium).
+
+Patch 9.1.1465
+Problem:  tabpanel: not correctly drawn with 'equalalways'
+Solution: Call win_equal() (Hirohito Higashi).
+
+Patch 9.1.1466
+Problem:  filetype: not all lex files are recognized
+Solution: Detect *.ll as lex, llvm or lifelines filetype, depending on
+          the content (Eisuke Kawashima).
+
+Patch 9.1.1467
+Problem:  too many strlen() calls
+Solution: Change expand_env() to return string length (John Marriott).
+
+Patch 9.1.1468
+Problem:  filetype: bright(er)script files are not recognized
+Solution: Detect *.bs files as brighterscript filetype and *.brs as
+          brightscript filetype, include filetype plugins (Riley Bruins).
+
+Patch 9.1.1469
+Problem:  potential buffer-underflow with invalid hl_id (mugitya03)
+Solution: Assert that the return-code of syn_get_final_id() if > 0
+
+Patch 9.1.1470
+Problem:  use-after-free with popup callback on error
+          (Brian Carbone, lifepillar)
+Solution: Check if the popup window is valid before accessing it.
+
+Patch 9.1.1471
+Problem:  completion: inconsistent ordering with CTRL-P (zeertzjq).
+Solution: Reset compl_curr_match when using CTRL-P (Girish Palya).
+
+Patch 9.1.1472
+Problem:  if_python: PySequence_Fast_{GET_SIZE,GET_ITEM} removed with
+          python3.14 in stable ABI
+Solution: use PySequence_{Size,GetItem} instead (Zdenek Dohnal)
+
+Patch 9.1.1473
+Problem:  inconsistent range arg for :diffget/diffput
+Solution: Fix the range specification, place the cursor for :diffput and
+          :diffget consistently on the last line (Yee Cheng Chin)
+
+Patch 9.1.1474
+Problem:  missing out-of-memory check in mark.c
+Solution: bail out, if mark_line() returns NULL (John Marriott).
+
+Patch 9.1.1475
+Problem:  completion: regression when "nearest" in 'completeopt'
+Solution: Fix compare function (Girish Palya).
+
+Patch 9.1.1476
+Problem:  missing out-of-memory checks in cmdexpand.c
+Solution: Add missing out-of-memory checks, re-order code (John Marriott).
+
+Patch 9.1.1476
+Problem:  no easy way to deduplicate text
+Solution: Add the :uniq ex command (Hirohito Higashi).
+
+Patch 9.1.1478
+Problem:  Unused assignment in ex_uniq() (after v9.1.1476)
+Solution: Remove the assignment and the wrong comments above (zeertzjq).
+
+Patch 9.1.1479
+Problem:  regression when displaying localized percentage position
+          (after v9.1.1291)
+Solution: Calculate percentage first (Emir SARI).
+
+Patch 9.1.1480
+Problem:  Turkish translation outdated
+Solution: Update Turkish translations, enable disabled test from v9.1.1479
+          (Emir SARI).
+
+Patch 9.1.1481
+Problem:  gcc complains about uninitialized variable
+          (Tony Mechelynck, after v9.1.1476)
+Solution: Initialize variable.
+
+Patch 9.1.1482
+Problem:  Topline is preemptively updated by line() in WinResized
+          autocmd with 'splitkeep' != "cursor".
+Solution: Set `skip_update_topline` when 'splitkeep' != "cursor" (Luuk van Baal)
+
+Patch 9.1.1483
+Problem:  not possible to translation position in buffer
+Solution: use _() macro to mark the output as translatable (Emir SARI)
+
+Patch 9.1.1484
+Problem:  tests: Turkish locale tests fails on Mac (after v9.1.1480).
+Solution: Skip the test Test_pos_percentage_in_turkish_locale() on Mac
+
+Patch 9.1.1485
+Problem:  missing Wayland clipboard support
+Solution: Make it work (Foxe Chen).
+
+Patch 9.1.1486
+Problem:  documentation issues with Wayland (after v9.1.1485)
+Solution: Tweak documentation style. Capitalize the first letter of
+          Wayland (Hirohito Higashi).
+
+Patch 9.1.1487
+Problem:  :cl doesn't invoke :clist (after v9.1.1485)
+Solution: Fix order of definition in ex_cmds.h (Hirohito Higashi).
+
+Patch 9.1.1488
+Problem:  configure: using obsolete macro AC_PROG_GCC_TRADITIONAL
+Solution: Drop it from configure.ac, regenerate auto/configure.
+
+Patch 9.1.1489
+Problem:  terminal: no visual highlight of empty cols when 'listchars'
+          is empty (Yousef Mohammed)
+Solution: Reset wlv.win_attr when column is zero and we are drawing a
+          terminal buffer.
+
+Patch 9.1.1490
+Problem:  'wildchar' does not work in search contexts
+Solution: implement search completion when 'wildchar' is typed (Girish Palya).
+
+Patch 9.1.1491
+Problem:  missing out-of-memory checks in cmdexpand.c
+Solution: Add out-of-memory checks for expand_files_and_dirs(),
+          ExpandUserDefined() and ExpandUserList() (John Marriott).
+
+Patch 9.1.1492
+Problem:  tests: failure when Wayland compositor fails to start
+Solution: Instead of throwing an error causing a failure, throw
+          "Skipped", so that the Vim test suite continues and does not fail.
+
+Patch 9.1.1493
+Problem:  manually comparing positions on buffer (after v9.1.1490)
+Solution: Use the LTOREQ_POS() macro, fix a few other minor style issues
+          (glepnir).
+
+Patch 9.1.1494
+Problem:  runtime(tutor): no French translation for Chapter 2
+Solution: Add and refine French translation of tutor2, update French
+          vimtutor manpage (Damien Lejay)
+
+Patch 9.1.1495
+Problem:  Wayland: uses $XDG_SEAT to determine seat to use
+          (dr0bz, after v9.1.1485)
+Solution: Do not try to determine the seat from $XDG_SEAT, remove the
+          code that checks for this environment variable (Foxe Chen).
+
+Patch 9.1.1496
+Problem:  terminal: still not highlighting empty cells correctly
+          (Yousef Mohammed, after v9.1.1489)
+Solution: Use vcol instead of col.
+
+Patch 9.1.1497
+Problem:  Link error with shm_open() (gcanat, after v9.1.1485).
+Solution: use AC_LINK_IFELSE instead of AC_COMPILE_IFELSE.
+
+Patch 9.1.1498
+Problem:  completion: Functions specified in the 'complete' option did
+          not have the leader string removed when called with findstart = 0,
+          unlike 'omnifunc' behavior
+Solution: Update behaviour and make behaviour consistent (Girish Palya).
+
+Patch 9.1.1499
+Problem:  MS-Windows: no indication of ARM64 architecture
+Solution: Add ARM64 to version output and include in nsis installer
+          (RestorerZ)
+
+Patch 9.1.1500
+Problem:  if_python: typo in python error variable
+Solution: Fix typo (Damien Lejay).
+
+Patch 9.1.1501
+Problem:  filetype: flix files are not recognized
+Solution: Detect *.flix files as flix filetype (0xadk).
+
+Patch 9.1.1502
+Problem:  filetype: quickbms files are not recognized
+Solution: Detect *.bms files as quickbms filetype (0xadk).
+
+Patch 9.1.1503
+Problem:  filetype: haxe files are not recognized
+Solution: Detect *.hx files as haxe filetype (0xadk).
+
+Patch 9.1.1504
+Problem:  filetype: numbat files are not recognized
+Solution: Detect *.nbt files as numbat filetype (0xadk).
+
+Patch 9.1.1505
+Problem:  not possible to return command-line completion type for :ex
+          command
+Solution: Make getcmdcompltype() accept an optional and return the
+          command-line completion for that arg (Shougo Matsushita).
+
+Patch 9.1.1506
+Problem:  tests: missing cleanup test_override('char_avail', 0) in
+          Test_search_cmdline_incsearch_highlight().
+Solution: Add the missing cleanup (zeertzjq).
+
+Patch 9.1.1507
+Problem:  File paths change from symlink to target path after :cd command
+          when editing files through symbolic links
+Solution: Add "~" flag to 'cpoptions' to control symlink resolution (glepnir).
+
+Patch 9.1.1508
+Problem:  String manipulation can be improved in cmdexpand.c
+Solution: Refactor cmdexpand.c to remove calls to STRLEN()/STRMOVE()/STRCAT()
+          (John Marriott).
+
+Patch 9.1.1509
+Problem:  Patch 9.1.1505 was not good
+Solution: Revert "Patch 9.1.1505 for :ex command" and instead add the
+          getcompletiontype() function (Hirohito Higashi).
+
+Patch 9.1.1510
+Problem:  Search completion may use invalid memory (after 9.1.1490).
+Solution: Don't get two line pointers at the same time (zeertzjq).
+
+Patch 9.1.1511
+Problem:  tests: two edit tests change v:testing from 1 to 0.
+Solution: Don't change v:testing in these two tests, since it's already
+          set to 1 in runtest.vim (zeertzjq).
+
+Patch 9.1.1512
+Problem:  completion: can only complete from keyword characters
+Solution: Remove this restriction, allow completion functions when
+          called from i_CTRL-N/i_CTRL-P to be triggered from non-keyword
+          characters (Girish Palya).
+
+Patch 9.1.1513
+Problem:  resizing Vim window causes unexpected internal window width
+          (chdiza, after v9.1.1465)
+Solution: Move the column calculation around (Hirohito Higashi).
+
+Patch 9.1.1514
+Problem:  coverity complains about the use of tmpfile()
+Solution: Use vim_tempname() instead to create anonym file.
+
+Patch 9.1.1515
+Problem:   memcpy() in ExpandRTDir_int() may create unterminated strings
+Solution:  Use vim_snprintf() to construct complete paths safely (glepnir).
+
+Patch 9.1.1516
+Problem:  tests: no test that 'incsearch' is updated after accepting
+          search completion.
+Solution: Add a test case (zeertzjq).
+
+Patch 9.1.1517
+Problem:  filetype: autopkgtest files are not recognized
+Solution: Detect */debian/tests/control files as autopkgtest filetype
+          (James McCoy).
+
+Patch 9.1.1518
+Problem:  getcompletiontype() crashes when no completion is available
+          (after v9.1.1509).
+Solution: Don't call set_expand_context() (zeertzjq).
+
+Patch 9.1.1519
+Problem:  Test_termdebug_decimal_breakpoints() fails with List index out
+          of range, because when adding the second breakpoint, the
+          cursor is still on the very first line
+Solution: Run the program, so that it will break at the very first
+          defined breakpoint and then once we are in the program,
+          set further breakpoints.
+
+Patch 9.1.1520
+Problem:  When using `/` or `?` in command-line mode with 'ignorecase' and
+          'smartcase' enabled, the completion menu could show items that
+          don't actually match any text in the buffer due to case mismatches
+Solution: Instead of validating menu items only against the user-typed
+          pattern, the new logic also checks whether the completed item
+          matches actual buffer content. If needed, it retries the match
+          using a lowercased version of the candidate, respecting
+          smartcase semantics.
+
+Patch 9.1.1521
+Problem:  When 'wildmode' is set to include "noselect", the popup menu (pum)
+          incorrectly retained its scroll position when reopened. This
+          meant that after scrolling down through the menu with `<C-n>`,
+          reopening the menu (e.g., by retyping the command and
+          triggering completion again) would show the menu starting from
+          the previously scrolled position, rather than from the top.
+Solution: Ensure that the popup menu resets its scroll position to the
+          top when reopened (Girish Palya).
+
+Patch 9.1.1522
+Problem:  tests: still some ANSI escape sequences in test messages output
+Solution: Update the cleanup regexp to also handle those ANSI escape
+          sequences: `<esc>|2h` and `<esc>|31H`.
+
+Patch 9.1.1523
+Problem:  tests: test_clipmethod fails in non X11 environment
+Solution: Test that $DISPLAY is available
+
+Patch 9.1.1524
+Problem:  tests: too many imports in the test suite
+Solution: Clean up the imported scripts.
+
+Patch 9.1.1525
+Problem:  tests: testdir is a bit messy
+Solution: Move test scripts into testdir/util/ directory.
+
+Patch 9.1.1526
+Problem:  completion: search completion match may differ in case (techntools)
+Solution: Add "exacttext" to 'wildoptions' value (Girish Palya).
+
+Patch 9.1.1527
+Problem:  Vim9: Crash when using string compound assignment with wrong
+          data type (lacygoill).
+Solution: Verify expected member type (Hirohito Higashi).
+
+Patch 9.1.1528
+Problem:  completion: crash with getcompletion() (zeertzjq)
+Solution: Don't set may_expand_pattern in f_getcompletion(), unset
+          may_expand_pattern() once it is not longer needed (Girish Palya).
+
+Patch 9.1.1529
+Problem:  Win32: the toolbar in the GUI is old and dated
+Solution: Include improved icons from Fatcow (CC by 3.0) (RestorerZ).
+
+Patch 9.1.1530
+Problem:  Missing version change from v9.1.1529
+Solution: Update version.c with latest Patch.
+
+Patch 9.1.1531
+Problem:  confusing error with nested legacy function (lacygoill)
+Solution: Clarify error message E1117 with :def or :func (Hirohito Higashi).
+
+Patch 9.1.1532
+Problem:  termdebug: not enough ways to configure breakpoints
+Solution: Add the termdebug_config['signs'] config setting, rework the
+          termdebug test cases (Dimitry Ishenko).
+
+Patch 9.1.1533
+Problem:  helptoc: does not handle code sections in markdown well (VimWei).
+Solution: Skip over fenced code sections (lacygoill), add a test.
+
+Patch 9.1.1534
+Problem:  unnecessary code in tabpanel.c
+Solution: Remove it (Hirohito Higashi).
+
+Patch 9.1.1535
+Problem:  The maximum search count uses a hard-coded value of 99
+          (Andres Monge, Joschua Kesper)
+Solution: Make it configurable using the 'maxsearchcount' option.
+
+Patch 9.1.1536
+Problem:  tests: test_plugin_comment.vim uses :CheckScreenDump check but
+          doesn't actually use a screen dump.
+Solution: Use :CheckRunVimInTerminal instead, remove a few empty lines.
+
+Patch 9.1.1537
+Problem:  helptoc: some issues when parsing markdown code blocks (VimWei)
+Solution: Assign nextline to curline before starting the next loop
+          iteration; when processing fenced code blocks, flip the
+          skip_fence variable, update the test to be more comprehensive.
+
+Patch 9.1.1539
+Problem:  completion: messages don't respect 'shm' setting
+Solution: Turn off completion messages when 'shortmess' includes "c"
+          (Girish Palya).
+
+Patch 9.1.1540
+Problem:  completion: menu state wrong on interruption (Maxim Kim)
+Solution: Call show_pum() if completion was interrupted (Girish Palya).
+
+Patch 9.1.1541
+Problem:  Vim9: error when last enum value ends with a comma
+Solution: Allow trailing commas in enum values (Yegappan Lakshmanan).
+
+Patch 9.1.1542
+Problem:  Coverity complains about uninitialized variable (Tony Mechelynck)
+Solution: Initialize variables.
+
+Patch 9.1.1543
+Problem:  Wayland: clipboard appears to not be working (Fuad Veliev)
+Solution: Explicitly set selection each time (Foxe Chen).
+
+Patch 9.1.1544
+Problem:  :retab cannot be limited to indentation only
+Solution: add the optional -indentonly parameter (Hirohito Higashi).
+
+Patch 9.1.1545
+Problem:  Typo in os_unix.c
+Solution: Correct the typo (Foxe Chen).
+
+Patch 9.1.1546
+Problem:  Vim9: error with has() and short circuit evaluation
+Solution: Only eval, if ctx_skip is not SKIP_YES (Yegappan Lakshmanan).
+
+Patch 9.1.1547
+Problem:  Wayland: missing ifdef
+Solution: Add #ifdef around ch_log() call (Foxe Chen).
+
+Patch 9.1.1548
+Problem:  filetype: OpenFGA files are not recognized
+Solution: Detect *.fga files as fga filetype, include an fga filetype
+          plugin (Riley Bruins).
+
+Patch 9.1.1549
+Problem:  filetype: pkl files are not recognized
+Solution: Detect *.pkl files as pkl filetype, include a filetype plugin (Riley
+          Bruins).
+
+Patch 9.1.1550
+Problem:  defaults: 'showcmd' is not enabled in non-compatible mode on Unix
+Solution: Always enable 'showcmd' in non-compatible mode, drop it from
+          defaults.vim.
+
+Patch 9.1.1551
+Problem:  [security]: path traversal issue in zip.vim (@ax)
+Solution: Drop leading ../ on write of zipfiles, don't forcefully
+          overwrite existing files.
+
+Patch 9.1.1552
+Problem:  [security]: path traversal issue in tar.vim (@ax)
+Solution: Warn the user for such things, drop leading /, don't
+          forcefully overwrite files when writing temporary files,
+          refactor autoload/tar.vim
+
+Patch 9.1.1553
+Problem:  Vim9: crash when accessing a variable in if condition (lxhillwind)
+Solution: Skip indexing a list/tuple/dict/blob when short-circuiting an
+          if condition check (Yegappan Lakshmanan).
+
+Patch 9.1.1554
+Problem:  Vim crashes during omnifunc completion inside the command-line
+          window ("q:") if the completion item attempts to open an "info"
+          preview window. This leads to a failed assert during execution.
+Solution: Avoid opening preview windows while inside the command-line
+          window to prevent the crash (Girish Palya).
+
+Patch 9.1.1555
+Problem:  completion: repeated insertion and deletion of complete
+          functions
+Solution: Remove unnecessary insertion and deletion of leader text
+          during expansion of function present in 'complete' option
+          (Girish Palya).
+
+Patch 9.1.1556
+Problem:  string handling in cmdexpand.c can be improved
+Solution: Improve string manipulation in cmdexpand.c (John Marriott).
+
+Patch 9.1.1557
+Problem:  not possible to anchor specific lines in difff mode
+Solution: Add support for the anchoring lines in diff mode using the
+          'diffanchor' option (Yee Cheng Chin).
+
+Patch 9.1.1558
+Problem:  str2blob() treats NULL string and empty string differently
+Solution: Treats a NULL string the same as an empty string (zeertzjq).
+
+Patch 9.1.1559
+Problem:  tests: Test_popup_complete_info_01() fails when run alone.
+Solution: Set buffer-local competeopt+=noinsert and add missing cleanup
+          in Test_popup_complete() (zeertzjq).
+
+Patch 9.1.1560
+Problem:  configure: uses $PKG_CONFIG before it is defined
+Solution: Define $PKG_CONFIG earlier in the script (Christoffer Aasted).
+
+Patch 9.1.1561
+Problem:  configure: wayland test can be improved
+Solution: Define $WAYLAND_CFLAGS, simplify the wayland tests
+          (Christoffer Aasted).
+
+Patch 9.1.1562
+Problem:  close button "X" is visible in the non-GUI 'tabline', even
+          when the mouse is disabled
+Solution: Only show the button when 'mouse' contains any of the flags
+          "anvi" (Girish Palya).
+
+Patch 9.1.1563
+Problem:  The ruler disappears after typing the second character during
+          insert mode completion, even when completion messages are
+          suppressed ('shortmess' includes "c"). This makes the UI
+          appear inconsistent.
+Solution: Ensure the ruler is restored during screen redraw when popup
+          completion is active (Girish Palya).
+
+Patch 9.1.1564
+Problem:  Can open a popup window to a closing buffer, leading to the
+          buffer remaining open in the window after it's soon unloaded,
+          causing crashes.
+Solution: Check b_locked_split when opening a popup window to an
+          existing buffer (Sean Dewar).
+
+Patch 9.1.1565
+Problem:  configure: does not consider tiny version for wayland
+Solution: Do not try to enable wayland for a tiny vim version
+          (Christoffer Aasted).
+
+Patch 9.1.1566
+Problem:  self-referenced enum may not get freed
+Solution: Test if it can be freed (Yegappan Lakshmanan).
+
+Patch 9.1.1567
+Problem:  Crash when using inline diff mode (Ilya Grigoriev)
+Solution: Set tp_diffbuf to NULL when skipping a diff block (Yee Cheng Chin).
+
+Patch 9.1.1568
+Problem:  need a few more default highlight groups
+Solution: Add Bold, Italic and BoldItalic default highlight groups
+          (Maxim Kim).
+
+Patch 9.1.1569
+Problem:  tests: Vim9 tests can be improved
+Solution: In Test_has_func_shortcircuit(), move the test functions to a
+          separate script (Yegappan Lakshmanan).
+
+Patch 9.1.1570
+Problem:  Copilot suggested some improvements in cmdexpand.c (after v9.1.1556)
+Solution: Use better variable names and comments (John Marriott).
+
+Patch 9.1.1571
+Problem:  The CmdlineChanged event was firing unnecessarily, even when
+          the command line's content hadn't actually changed.
+Solution: Add a check to compare the command-line buffer's state
+          before and after key processing. The `CmdlineChanged` event
+          now only triggers if the buffer's contents are genuinely
+          different (Girish Palya).
+
+Patch 9.1.1572
+Problem:  expanding $var does not escape whitespace for 'path'
+Solution: Escape whitespace when expanding 'path' option. (Miguel Barro).
+
+Patch 9.1.1573
+Problem:  Memory leak when pressing Ctrl-D in cmdline mode (after 9.1.1571).
+Solution: Free prev_cmdbuff before assigning to it. (zeertzjq).
+
+Patch 9.1.1574
+Problem:  Dead code in mbyte.c
+Solution: Delete the dead wcwidth()/iswprint() code (Damien Lejay).
+
+Patch 9.1.1575
+Problem:  tabpanel not drawn correctly with wrapped lines
+          (utubo, after v9.1.1534)
+Solution: Use Columns as width, not the frame width (Hirohito Higashi).
+
+Patch 9.1.1576
+Problem:  cannot easily trigger wildcard expansion
+Solution: Introduce wildtrigger() function (Girish Palya).
+
+Patch 9.1.1577
+Problem:  Vim9: no generic support yet
+Solution: Add support for generic functions, funcrefs and object/class
+          methods (Yegappan Lakshmanan).
+
+Patch 9.1.1578
+Problem:  configure: comment still mentions autoconf 2.71 to generate
+          the configure script
+Solution: Update the comment to use autoconf 2.72 instead (Yee Chin Cheng).
+
+Patch 9.1.1579
+Problem:  Coverity complains about unchecked return value in
+          common_function() (after v9.1.1577)
+Solution: Check the return value of skip_generic_func_type_args()
+          and return in case of an error (Yegappan Lakshmanan).
+
+Patch 9.1.1580
+Problem:  possible memory leak in vim9type.c
+Solution: Free tuple_types_ga if there was an error in
+          type_type_add_types() (Lidong Yan)
+
+Patch 9.1.1581
+Problem:  possible memory leak in vim9generics.c
+Solution: Free ret_free if ga_grow() fails and before returning
+          (Lidong Yan).
+
+Patch 9.1.1582
+Problem:  style issue in vim9type.c and vim9generics.c
+          (after v9.1.1581 and v9.1.1580)
+Solution: Update Style and place opening brace on a new line.
+
+Patch 9.1.1583
+Problem:  Since Patch 9.1.1199 the gvim window no longer had _NET_WM_ICON
+          nor WM_HINTS icon information, for example when not using a
+          Gnome or KDE desktop (after v9.1.1199)
+Solution: Check if the icon theme as used in Patch 1199 contains a gvim
+          icon. If so, set the window's icon from that. Otherwise
+          use the previous method (Olaf Seibert)
+
+Patch 9.1.1584
+Problem:  using ints as bool
+Solution: Include stdbool.h and start using bool type directly
+          (Hirohito Higashi).
+
+Patch 9.1.1585
+Problem:  Wayland: gvim still needs GVIM_ENABLE_WAYLAND
+Solution: Drop the GVIM_ENABLE_WAYLAND code, always enable both X11 and
+          Wayland GUI support (Christoffer Aasted)
+
+Patch 9.1.1586
+Problem:  Vim9: can define an enum/interface in a function (lacygoill)
+Solution: Give an error when defining an enum or an interface inside a
+          function (Yegappan Lakshmanan).
+
+Patch 9.1.1587
+Problem:  Wayland: timeout not updated before select()
+Solution: Always set timeval struct before select() (Foxe Chen).
+
+Patch 9.1.1588
+Problem:  Vim9: cannot split dict inside command block (lacygoill)
+Solution: Remove the current restriction (Yegappan Lakshmanan).
+
+Patch 9.1.1589
+Problem:  Cannot disable cscope interface using configure, because in
+          feature.h FEAT_CSCOPE will always be enabled for huge builds
+          (chdiza)
+Solution: Don't define FEAT_CSCOPE from configure script but set the
+          ENABLE_CSCOPE flag and check for the presence of that flag in
+          feature.h
+
+Patch 9.1.1590
+Problem:  cannot perform autocompletion
+Solution: Add the 'autocomplete' option value (Girish Palya)
+
+Patch 9.1.1591
+Problem:  VMS support can be improved
+Solution: Merge chagnes from Steven M. Schweda (Zoltan)
+
+Patch 9.1.1592
+Problem:  Vim9: crash with classes and garbage collection
+          (Christian J. Robinson, after v9.1.1566)
+Solution: When getting the references to an object, make sure the object
+          is valid (Yegappan Lakshmanan).
+
+Patch 9.1.1593
+Problem:  Confusing error when compiling incomplete try block (lacygoill)
+Solution: Give better error messages (Hirohito Higashi).
+
+Patch 9.1.1594
+Problem:  completion: search completion throws errors, wrong placement
+          of pum menu with 'imi'=1 (berggeist)
+Solution: Fix those errors (Girish Palya).
+
+Patch 9.1.1595
+Problem:  Wayland: non-portable use of select()
+Solution: Correctly set the timeval struct (Foxe Chen).
+
+Patch 9.1.1596
+Problem:  tests: Test_search_wildmenu_iminsert() depends on help file
+          (after 9.1.1594).
+Solution: Set buffer text using setline() instead of loading help file.
+          Add a test for another bug fixed by 9.1.1594 (zeertzjq).
+
+Patch 9.1.1597
+Problem:  CI reports leaks in libgtk3 library
+Solution: Add libgtk-3 library to leak suppression
+
+Patch 9.1.1598
+Problem:  filetype: waybar config file is not recognized
+Solution: Detect */waybar/config file as jsonc filetype (Furkan Sahin).
+
+Patch 9.1.1599
+Problem:  :bnext doesn't go to unlisted help buffers when cycling
+          through help buffers (after 9.1.0557).
+Solution: Don't check if a help buffer is listed (zeertzjq).
+
+Patch 9.1.1600
+Problem:  diff: using diff anchors with hidden buffers fails silently
+Solution: Give specific error message for diff anchors when using hidden
+          buffers (Yee Cheng Chin).
+
+Patch 9.1.1601
+Problem:  Patch v8.1.0425 was wrong
+Solution: Revert that Patch (Hirohito Higashi).
+
+Patch 9.1.1602
+Problem:  filetype: requirements-*.txt files are not recognized
+Solution: Detect requirements-*.txt files as requirements filetype
+          (Xudong Zheng).
+
+Patch 9.1.1603
+Problem:  completion: cannot use autoloaded funcs in 'complete' F{func}
+          (Maxim Kim)
+Solution: Make it work (Girish Palya).
+
+Patch 9.1.1604
+Problem:  completion: incsearch highlight might be lost after search
+          completion (Hirohito Higashi)
+Solution: Restore incsearch highlight after dismissing pum with Ctrl-E
+          (Girish Palya).
+
+Patch 9.1.1605
+Problem:  Cannot specify scope for chdir()
+Solution: Add optional scope argument (kuuote).
+
+Patch 9.1.1606
+Problem:  filetype: a few more files are not recognized
+Solution: Guess Mail, Info and Terminfo files by its content (lacygoill).
+
+Patch 9.1.1607
+Problem:  :apple command detected as :append (dai475694450)
+Solution: Disallow to define a custom command with lower-case letter,
+          correctly detect :insert/:change/:append ex commands
+          (Hirohito Higashi).
+
+Patch 9.1.1608
+Problem:  No command-line completion for :unsilent {command}.
+Solution: Add missing command arg completion (Doug Kearns).
+
+Patch 9.1.1609
+Problem:  complete: Heap-buffer overflow with complete function (zeertzjq)
+Solution: Do not let startcol become negative (Girish Palya).
+
+Patch 9.1.1610
+Problem:  completion: hang (after 9.1.1471) or E684 (after 9.1.1410)
+          when 'tagfunc' calls complete().
+Solution: Check if complete() has been called immediately after getting
+          matches instead of in the next loop iteration (zeertzjq).
+
+Patch 9.1.1611
+Problem:  possible undefined behaviour in mb_decompose(), when using the
+          same pointer as argument several times
+Solution: Use separate assignments to avoid reading and writing the same
+          object at the same time (Áron Hárnási).
+
+Patch 9.1.1612
+Problem:  Ctrl-G/Ctrl-T does not ignore the end search delimiter (irisjae)
+Solution: Check if the pattern ends with a search delimiter and ignore
+          it, unless it is part of the pattern.
+
+Patch 9.1.1613
+Problem:  tests: test_search leaves a few swapfiles behind
+Solution: Use :bw! instead of :close to close the swapfile at the end of
+          the test.
+
+Patch 9.1.1614
+Problem:  Vim9: possible variable type change when using closure in a
+          for loop (Maxim Kim)
+Solution: Use unwind_locals(..., TRUE) (Yegappan Lakshmanan).
+
+Patch 9.1.1615
+Problem:  diff format erroneously detected (Tomáš Janoušek)
+Solution: Make the regex to detect normal diff format a bit stricter,
+          while at it, fix wrong test content from Patch v9.1.1606.
+
+Patch 9.1.1616
+Problem:  xxd: possible buffer overflow with bitwise output
+          (after v9.1.1459, Xudong Cao)
+Solution: Update LLNE_NO_COLOR macro definition for the max line output.
+
+Patch 9.1.1617
+Problem:  Vim9: some error messages can be improved
+Solution: Improve error messages when parsing generic function type
+          arguments (Yegappan Lakshmanan).
+
+Patch 9.1.1618
+Problem:  completion: incorrect selected index returned from
+          complete_info()
+Solution: Return the index into "items" and restore the previous
+          behaviour (Robert Muir).
+
+Patch 9.1.1619
+Problem:  Incorrect E535 error message (after 9.1.1603).
+Solution: Don't use transchar(), as the character is always printable
+          (zeertzjq).
+
+Patch 9.1.1620
+Problem:  filetype: composer.lock and symfony.lock files not recognized
+Solution: Detect composer.lock and symfony.lock files as json filetype
+          (Dietrich Moerman).
+
+Patch 9.1.1621
+Problem:  When the popup menu (PUM) occupies more than half the screen
+          height, it flickers whenever a character is typed or erased.
+Solution: A complete, non-hacky fix would require removing the
+          CmdlineChanged event from the loop and letting autocompletion
+          manage the process end-to-end. This is because screen redraws
+          after any cmdline change are necessary for other features to
+          work (Girish Palya).
+
+Patch 9.1.1622
+Problem:  Patch v9.1.1432 causes performance regressions
+Solution: Revert "Patch 9.1.1432 unicode correctly" (Yee Cheng Chin).
+
+Patch 9.1.1623
+Problem:  Buffer menu does not handle unicode names correctly
+          (after v9.1.1622)
+Solution: Fix the BMHash() function (Yee Cheng Chin)
+
+Patch 9.1.1624
+Problem:  Cscope not enabled on MacOS
+Solution: Remove #ifdef test for MacOS and always enable FEAT_CSCOPE on
+          Unix (Damien Lejay).
+
+Patch 9.1.1625
+Problem:  Autocompletion slow with include- and tag-completion
+Solution: Refactor ins_compl_interrupted() to also check for timeout,
+          further refactor code to skip outputting message when
+          performing autocompletion (Girish Palya).
+
+Patch 9.1.1626
+Problem:  C-indent does not handle compound literals (@44100hertz, @Jorenar)
+Solution: Detect and handle compound literal and structure
+          initialization (Anttoni Erkkilä).
+
+Patch 9.1.1627
+Problem:  fuzzy-matching can be improved
+Solution: Implement a better fuzzy matching algorithm (Girish Palya).
+
+Patch 9.1.1628
+Problem:  fuzzy.c has a few issues
+Solution: Use Vims memory management, update style (glepnir).
+
+Patch 9.1.1629
+Problem:  Vim9: Not able to use more than 10 type arguments in a generic
+          function
+Solution: Initialize the types after reading all the type arg variable
+          names (Yegappan Lakshmanan).
+
+Patch 9.1.1630
+Problem:  tests: fuzzy buffer name completion test doesn't match
+          successfully (after 9.1.1627).
+Solution: Update pattern to account for the change in case sensitivity.
+          Also mark Test_search_stat_option() as flaky as it can still
+          sometimes fail (zeertzjq).
+
+Patch 9.1.1631
+Problem:  proto files are outdated
+Solution: Regenerate proto files (Yegappan Lakshmanan).
+
+Patch 9.1.1632
+Problem:  memory leak in fuzzy.c
+Solution: Free fuzmatch, add a few minor refactors (glepnir)
+
+Patch 9.1.1633
+Problem:  Search pattern shown incorrectly with negative offset (lkintact)
+Solution: Don't prepend a '+' sign to a negative offset (zeertzjq).
+
+Patch 9.1.1634
+Problem:  Clipboard code can be improved
+Solution: Slightly refactor code (Foxe Chen).
+
+Patch 9.1.1635
+Problem:  tabpanel: cannot drag inactive tabs (char101)
+Solution: use end_visual_mode_keep_button() instead of end_visual_mode()
+          (Naruhiko Nishino).
+
+Patch 9.1.1636
+Problem:  style issues
+Solution: Fix indentation of function parameters exceeding 80 character
+          length (Yegappan Lakshmanan).
+
+Patch 9.1.1637
+Problem:  FEAT_DIFF used in diff.pro
+Solution: Remove it from the diff protocol file (Yegappan Lakshmanan).
+
+Patch 9.1.1638
+Problem:  completion: not possible to delay the autcompletion
+Solution: Add the 'autocompletedelay' option value (Girish Palya).
+
+Patch 9.1.1639
+Problem:  During commandline completiom, popup window placement can be
+          incorrect when 'noselect' is present in 'wildmode'
+          (Shane-XB-Qian)
+Solution: Disable "showtail" feature when 'noselect' is present.
+
+Patch 9.1.1640
+Problem:  Unicode has deprecated some code-points
+Solution: Update the digraph tables to align with the Unicode v16
+          release (David Friant)
+
+Patch 9.1.1641
+Problem:  a few compiler warnings are output
+Solution: Fix compiler warnings (Yegappan Lakshmanan).
+
+Patch 9.1.1642
+Problem:  configure: wrong C99 feature test
+Solution: Update inverted C99 feature test logic (Damien Lejay).
+
+Patch 9.1.1643
+Problem:  tabpanel: mouse code too complicated
+Solution: Refactor code, adjust ifdefs (Hirohito Higashi).
+
+Patch 9.1.1644
+Problem:  configure: doesn't separate CPPFLAGS and CFLAGS
+Solution: Split CPPFLAGS and CFLAGS for pkg-config (Damien Lejay).
+
+Patch 9.1.1645
+Problem:  fuzzy.c can be further improved
+Solution: Fix memory leak and refactor it (glepnir).
+
+Patch 9.1.1646
+Problem:  MS-Windows: completion cannot handle implicit drive letters
+Solution: Consider paths like \folder and /folder as absolute (Miguel Barro).
+
+Patch 9.1.1647
+Problem:  filetype: Cangjie files are not recognized
+Solution: Detect *.cj files as cangjie filetype, include a syntax plugin
+          (WuJunkai2004)
+
+Patch 9.1.1648
+Problem:  MS-Windows: some style issues with Patch v9.1.1646
+Solution: Fix typose and code style issues (zeertzjq).
+
+Patch 9.1.1649
+Problem:  attrs allocation and fuzzy growarray could leak on early returns
+Solution: Ensure proper cleanup of allocated memory on exit paths (glepnir).
+
+Patch 9.1.1650
+Problem:  After scrolling a popup and then using popup_settext() with
+          fewer lines, the popup fails to resize properly because
+          firstline points beyond the new buffer content (lifepillar)
+Solution: In popup_adjust_position(), validate that firstline doesn't
+          exceed buffer line count and reset to 0 (auto-position) if it
+          does (glepnir).
+
+Patch 9.1.1651
+Problem:  Cannot use clientserver over Unix domain socket
+Solution: Implement socketserver functionality (Foxe Chen).
+
+Patch 9.1.1652
+Problem:  Cannot determine non-X11/Wayland clipmethods
+Solution: Add the "gui" value to the 'clipmethod' option (Foxe Chen)
+
+Patch 9.1.1653
+Problem:  Coverity complains about Null pointer dereference (after v9.1.1643)
+Solution: Check that TabPageIdx is not Null.
+
+Patch 9.1.1654
+Problem:  build failure when FEAT_DIFF is not defined (John Marriott)
+Solution: Remove FEAT_DIFF in proto.h; define dummy type for
+          diffline_T and diffline_change_T when FEAT_DIFF is not defined
+
+Patch 9.1.1655
+Problem:  Build-failure in do_mouse() (after v9.1.1653)
+Solution: Add missing closing paren.
+
+Patch 9.1.1656
+Problem:  MS-Windows: Patch v9.1.1652 breaks clipboard
+          (ddad431, after v9.1.1652)
+Solution: Revert the Patch.
+
+Patch 9.1.1657
+Problem:  Autocompletion adds delay (gcanat, char101, after v9.1.1638)
+Solution: Temporarily disable autocomplation (Girish Palya).
+
+Patch 9.1.1658
+Problem:  Missing includes for Wayland headers, when subfolder is used
+          (after v9.1.1644)
+Solution: Add new $WAYLAND_CPPFLAGS (Christoffer Aasted).
+
+Patch 9.1.1659
+Problem:  configure: uses AC_INIT without args
+Solution: Add a comment explaining why AC_INIT has no args (Damien Lejay).
+
+Patch 9.1.1660
+Problem:  Popups without border/padding/title don't flip position when
+          cursor is near bottom of screen, while decorated popups do
+          flip correctly.
+Solution: Use original height instead of truncated height for position
+          inversion check, except for info popups to preserve existing
+          behavior (glepnir).
+
+Patch 9.1.1661
+Problem:  Coverity finds a few issues in clientserver.c
+          (also by Tony Mechelynck)
+Solution: Fix issues and warnings (Foxe Chen).
+
+Patch 9.1.1662
+Problem:  Issues with proto files: missing or inconsistent prototypes.
+Solution: Update ifdefs, move typedefs, fix prototype declaration
+          (Hirohito Higashi).
+
+Patch 9.1.1663
+Problem:  xxd: 9.1.0023 introduced additional dependency
+Solution: Remove non-native z/OS library call (David Seal).
+
+Patch 9.1.1664
+Problem:  configure: can use any autocon
+Solution: Use AC_PREREQ and require 2.71 (Damien Lejay).
+
+Patch 9.1.1665
+Problem:  Outdated comment in eval.c.
+Solution: Remove the comment, which is no longer true after 8.2.1672.
+          Also fix a typo in version9.txt (zeertzjq).
+
+Patch 9.1.1666
+Problem:  no support for terminal primary device attributes
+Solution: Add support for detecting the DA1 response from the terminal,
+          add the v:termda1 variable and the 't_Ms' option for the
+          OSC 52 command format (Foxe Chen).
+
+Patch 9.1.1667
+Problem:  Another outdated comment in eval.c (after 9.1.1665).
+Solution: Remove that comment as well. Add a few more tests for mapnew()
+          that fail without Patch 8.2.1672 (zeertzjq).
+
+Patch 9.1.1668
+Problem:  items() does not work for Blobs
+Solution: Extend items() to support Blob (Yegappan Lakshmanan).
+
+Patch 9.1.1669
+Problem:  Vim script: no support for URI de-/encoding (ubaldot)
+Solution: Add the uri_encode() and uri_decode() functions
+          (Yegappan Lakshmanan)
+
+Patch 9.1.1670
+Problem:  completion: autocomplete breaks second completion (gravndal)
+Solution: Fix the autocomplete bug (Girish Palya).
+
+Patch 9.1.1671
+Problem:  configure: missing comment about AC_CONFIG_SRCDIR
+Solution: Add comment explaining the use of AC_CONFIG_SRCDIR (Damien Lejay).
+
+Patch 9.1.1672
+Problem:  completion: cannot add timeouts for 'cpt' sources
+          (Evgeni Chasnovski)
+Solution: Add the 'autocompletetimeout' and 'completetimeout' options
+          (Girish Palya).
+
+Patch 9.1.1673
+Problem:  if_python: still support for Python 1
+Solution: Drop outdated code (Hirohito Higashi).
+
+Patch 9.1.1674
+Problem:  Patch v9.1.1666 causes problems on kitty (Sami Farin)
+Solution: Remove Ms value from termcodes (Foxe Chen).
+
+Patch 9.1.1675
+Problem:  MS-Windows: Makefiles can be refactored
+Solution: Refactor using a common tools.mak, make some style changes
+          (RestorerZ).
+
+Patch 9.1.1676
+Problem:  completion: long line shown twice (Maxim Kim)
+Solution: Fix the issue, disable an incorrect test (Girish Palya).
+
+Patch 9.1.1677
+Problem:  wrong ifdef in message.c
+Solution: change it to #ifndef MSWIN (Damien Lejay).
+
+Patch 9.1.1678
+Problem:  Amiga: cannot handle large undo files
+Solution: Remove the existing restriction as it was only valid for
+          classic Amiga (Damien Lejay).
+
+Patch 9.1.1679
+Problem:  unclear what key causes CmdlineLeave autocommand
+Solution: Set |v:char| to the key (Girish Palya).
+
+Patch 9.1.1680
+Problem:  MS-Windows: possible buffer-under run in if_cscope
+          cs_pathcomponents() (Murali Aniruddhan)
+Solution: Fix the loop and do not decrement the pointer twice.
+
+Patch 9.1.1681
+Problem:  tests: no test for actually moving cursor when menu is not
+          open with 'autocompletedelay'.
+Solution: Use <Up> first in the test. Also remove two unnecessary <Esc>s
+          in completion timeout test (zeertzjq).
+
+Patch 9.1.1682
+Problem:  tests: Test_wildtrigger_update_screen() creates an unused
+          mapping (after 9.1.1621).
+Solution: Remove the mapping. Also use blank lines more consistently in
+          test_cmdline.vim screendump tests (zeertzjq).
+
+Patch 9.1.1683
+Problem:  xxd: Avoid null dereference in autoskip colorless
+Solution: Verify that colors is not null (Joakim Nohlgård).
+
+Patch 9.1.1684
+Problem:  min()/max() does not handle float data types (ubaldot)
+Solution: Extend min() and max() to every comparable type (LemonBoy).
+
+Patch 9.1.1685
+Problem:  Missing changes from PR 18068
+Solution: Include the missing changes (Girish Palya).
+
+Patch 9.1.1686
+Problem:  if_ruby: unknown pragma when not using gcc
+Solution: only use GCC pragma, when using GCC (Cthulhux).
+
+Patch 9.1.1687
+Problem:  filetype: autoconf filetype not always correct
+Solution: Detect aclocal.m4 as config filetype, detect configure.ac as
+          config filetype, fall back to POSIX m4 (Damien Lejay).
+
+Patch 9.1.1688
+Problem:  potential buffer overrun in bufwrite.c
+Solution: Use a temporary variable (John Marriott).
+
+Patch 9.1.1689
+Problem:  CmdlineChanged not triggered by <Del>
+Solution: Use STRCMP() instead of STRNCMP() (Shougo Matsushita).
+
+Patch 9.1.1690
+Problem:  Missing recursion guard in dos/unix_expandpath()
+Solution: Add guard variables (ashamedbit).
+
+Patch 9.1.1691
+Problem:  over-allocation in ga_concat_strings()
+Solution: Fix ga_concat_strings() and only allocate n-1 separator length
+          bytes (Damien Lejay).
+
+Patch 9.1.1692
+Problem:  global_functions are not constant
+Solution: Place global_functions[] in read-only memory (Damien Lejay).
+
+Patch 9.1.1693
+Problem:  tests: test_filetype fails in shadow dir (after v9.1.9.1.1687)
+Solution: Use a custom test that does not rely on configure.ac
+          being existing in the upper directory tree.
+
+Patch 9.1.1694
+Problem:  filetype: Buck eXtension Lang files are not recognized
+Solution: Detect *.bxl files as bzl filetype. (Jade Lovelace)
+
+Patch 9.1.1695
+Problem:  Need more Vim script specific tests
+Solution: Add more tests (Yegappan Lakshmanan).
+
+Patch 9.1.1696
+Problem:  getwininfo() has logic for getting the tabnr of a local popup
+          window, but due to only breaking from the inner loop, tp is
+          eventually set to NULL, so tabnr is always 0.
+Solution: Break out of both loops, continue to use 0 for global popup
+          windows (Sean Dewar).
+
+Patch 9.1.1697
+Problem:  tests: no test for aclocal.m4 (after v9.1.1693)
+Solution: Add a test that aclocal.m4 is detected as config filetype.
+
+Patch 9.1.1698
+Problem:  Some error numbers are not documented (Restorer)
+Solution: Document missing error numbers (Yegappan Lakshmanan).
+
+Patch 9.1.1699
+Problem:  Fuzzy completion disabled for 'findfunc' and customlist
+Solution: Remove those cases from cmdline_fuzzy_completion_supported()
+          because it is supported (Maxim Kim).
+
+Patch 9.1.1700
+Problem:  a pattern that involves a backref on a different line does not
+          match when 'ignorecase' is set (QiWei, after v9.1.0645)
+Solution: Use MB_STRNICMP when ignorecase is set, fix tests to close
+          swapfiles.
+
+Patch 9.1.1701
+Problem:  tests: failure on CI with GUI and ASAN in test_edit.res
+          (Hirohito Higashi)
+Solution: Disable the test for that specific situation in CI, close
+          swapfiles.
+
+Patch 9.1.1702
+Problem:  tests: test_edit still fails on CI (after v9.1.1701)
+Solution: Fix the skip condition.
+
+Patch 9.1.1703
+Problem:  Cannot react to terminal OSC responses
+Solution: Allow TermResponseAll to be triggered by Terminal OSC
+          responses (Foxe Chen).
+
+Patch 9.1.1704
+Problem:  Cannot determine non-X11/Wayland clipmethods
+Solution: Add the "gui" value to the 'clipmethod' option (Foxe Chen).
+
+Patch 9.1.1705
+Problem:  time.h include is available on all platforms
+Solution: Remove ifdef guards and simply include it in all source files,
+          get rid of double include in spellfile.c (Damien Lejay).
+
+Patch 9.1.1706
+Problem:  MS-Windows: Compile error when building with if_ruby
+          (Christian Robinson, after v9.1.1704)
+Solution: Do not define gettimeofday() if ruby interface is compiled in
+          (Foxe Chen).
+
+Patch 9.1.1707
+Problem:  diff.pro contains #ifdefs
+Solution: Remove unintentionally added ifdefs (Hirohito Higashi).
+
+Patch 9.1.1708
+Problem:  tests: various tests can be improved
+Solution: Use string interpolation to concatenate strings in
+          test_winfixbuf, check for specific errors in assert_fails()
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1709
+Problem:  filetype: kyaml files are not recognized
+Solution: Detect *.kyml files as yaml filetype (Volodymyr Chernetskyi).
+
+Patch 9.1.1710
+Problem:  Compile warnings in clipboard.c (xvim64, after v9.1.1704)
+Solution: Remove returns from void functions (Foxe Chen).
+
+Patch 9.1.1711
+Problem:  Missing type cast in clipboard.c
+          (Yegappan Lakshmanan, after v9.1.1704)
+Solution: Add back the type cast (Foxe Chen).
+
+Patch 9.1.1712
+Problem:  screen not redrawn properly on t_RB response (after v9.1.1703)
+Solution: Call redraw_asap() if necessary (Julio B).
+
+Patch 9.1.1713
+Problem:  filetype: fvwm2m4 files are no longer recognized (after 9.1.1687).
+Solution: Add a special case in m4 filetype detection (zeertzjq).
+
+Patch 9.1.1714
+Problem:  completion: wildmode=longest:full selects wrong item (zeertzjq)
+Solution: Fix issue, refactor ex_getln.c slightly (Girish Palya).
+
+Patch 9.1.1715
+Problem:  Some functions need to be re-ordered
+Solution: Re-order and move functions around favoring mch_*() functions
+          inside os_*.c files, Change scope of dos_expandpath() to
+          global instead of static (Hirohito Higashi).
+
+Patch 9.1.1716
+Problem:  The code inside an ifdef was indented incorrectly.
+Solution: Adjusted the indentation by one level (glepnir).
+
+Patch 9.1.1717
+Problem:  filetype: AWS cli alias file is not recognized
+Solution: Detect .aws/cli/alias as confini filetype (Volodymyr Chernetskyi).
+
+Patch 9.1.1718
+Problem:  filetype: kubectl config file is not recognized
+Solution: Detect .kube/kubectl as yaml filetype (Volodymyr Chernetskyi).
+
+Patch 9.1.1719
+Problem:  socket server code can be improved
+Solution: Refactor code, get rid of gettimeofday() and use ELAPSED_
+          macros (Foxe Chen).
+
+Patch 9.1.1720
+Problem:  Using gettimeofday() for parsing OSC responses
+Solution: Use ELAPSED_ macros instead (Foxe Chen).
+
+Patch 9.1.1721
+Problem:  Defining a global gettimeofday() function causes conflicts if
+          gettimeofday() is already defined.
+Solution: Revert globalized gettimeofday() function (Hirohito Higashi).
+
+Patch 9.1.1722
+Problem:  Compiler may optimize away clearing of crypt key
+Solution: Use sodium_memzero() if available, else use memset() using a
+          volatile function pointer (ashamedbit).
+
+Patch 9.1.1723
+Problem:  Missing ifdefs (after v9.1.1719)
+Solution: Add ifdef ELAPSED_FUNC (Foxe Chen).
+
+Patch 9.1.1724
+Problem:  Compiler warning about ununitialized variable in ex_docmd.
+Solution: Initialize result variable (mityu).
+
+Patch 9.1.1725
+Problem:  Wayland code can be improved
+Solution: Refactor Wayland Clipboard code (Foxe Chen).
+
+Patch 9.1.1726
+Problem:  Patch v9.1.1725 causes problems
+Solution: Revert the Patch for now.
+
+Patch 9.1.1727
+Problem:  Nextstep support still included
+Solution: Deprecate Nextstep code and undef corresponding feature flag.
+
+Patch 9.1.1728
+Problem:  termdebug: cannot evaluate visual selected expression
+Solution: Add support for visual mode, mapped to K by default (bennyyip).
+
+Patch 9.1.1729
+Problem:  CI is not run with clang 21
+Solution: Update CI to v21, fix a few warnings that are uncovered when
+          using clang 21 (Philip H).
+
+Patch 9.1.1730
+Problem:  filetype: vivado journal/log files are not recognized
+Solution: Detect vivado*.{jou,log} as tcl filetype (Wu Zhenyu).
+
+Patch 9.1.1731
+Problem:  Not using const qualifier
+Solution: Mark the opchars array const.
+
+Patch 9.1.1732
+Problem:  filetype: .inc file detection can be improved
+Solution: Update filetype detection for Pascal and BitBake code
+          (Martin Schwan).
+
+Patch 9.1.1733
+Problem:  tests: failure when remote_server() fails
+Solution: Catch E240 error when calling remote_server(), Fix syntax
+          error in test_wayland.vim.
+
+Patch 9.1.1734
+Problem:  Memory leak when allocating match fails
+Solution: Initialize m to NULL and centralize cleanup via goto fail to
+          avoid leaks on early returns (Damien Lejay).
+
+Patch 9.1.1735
+Problem:  Cygwin Makefile still checks for Win XP version
+Solution: Remove check for WINVER >= 0x600 in Make_cyg_ming.mak
+          (Mao-Yining).
+
+Patch 9.1.1736
+Problem:  Cannot detect <F3> using kitty protocol
+Solution: Handle and detect Kitty keys when using the trailing "~" byte.
+
+Patch 9.1.1737
+Problem:  Patch v9.1.1714 introduce a regression for wildmenu (zeertzjq)
+Solution: Restore behavior of "longest" in 'wildmode' (Girish Palya).
+
+Patch 9.1.1738
+Problem:  cmdline-autocompletion breaks history navigation (ddad431)
+Solution: Support history navigation in cmdline autocompletion (Girish
+          Palya).
+
+Patch 9.1.1739
+Problem:  Matches may be listed twice with wildmode=longest,list when
+          "longest" doesn't change command line (after 9.1.1737).
+Solution: Set did_wild_list when trying "list" after "longest" (zeertzjq).
+
+Patch 9.1.1740
+Problem:  Memory leak with wildmode=longest,full and wildoptions=pum
+          (after 9.1.1737).
+Solution: Avoid using showmatches() and WILD_NEXT together.  Also fix
+          wildmode=longest,noselect:full selecting wrong item (zeertzjq).
+
+Patch 9.1.1741
+Problem:  Regression with kitty protocol and trailing byte "u"
+          (chdiza, after v9.1.1736)
+Solution: Check that trailing byte "~" is present.
+
+Patch 9.1.1742
+Problem:  complete: preinsert does not work well with preinsert
+Solution: Make "preinsert" completeopt value work with autocompletion
+          (Girish Palya).
+
+Patch 9.1.1743
+Problem:  Haiku: no full-screen support
+Solution: Add support for toggling full-screen using the keyboard (rymdbar)
+
+Patch 9.1.1744
+Problem:  tests: Test_skip_wildtrigger_hist_navigation() may fail (zeertzjq).
+Solution: Correct test to validate intended behavior (Girish Palya).
+
+Patch 9.1.1745
+Problem:  tabpanel: not properly redraw after wildmenu (ddad431)
+Solution: Mark tabpanel to be redrawn (Hirohito Higashi).
+
+Patch 9.1.1746
+Problem:  Missing Null ptr check in cs_find_common()
+Solution: Return when tmp pointer is null (ashamedbit).
+
+Patch 9.1.1747
+Problem:  completion: redo (.) broken with preinsert and autocompletion
+Solution: Make redo (.) work with preinsert and autocompletion (Girish Palya).
+
+Patch 9.1.1748
+Problem:  macOS: Default scheduler priority too low
+Solution: Explicitly set TASK_DEFAULT_APPLICATION scheduler priority
+          to improve responsiveness (Luna Razzaghipour).
+
+Patch 9.1.1749
+Problem:  leaking memory in cs_find_common() (after v9.1.1746)
+Solution: Also free nummatches before returning.
+
+Patch 9.1.1750
+Problem:  completion: preinserted text highlighed using ComplMatchIns
+Solution: Use highlighting group PreInsert and update the documentation
+          (Girish Palya).
+
+Patch 9.1.1751
+Problem:  potential buffer-overflow in find_pattern_in_path()
+Problem:  Verify ptr p has enough room before adding ins_compl_len().
+
+Patch 9.1.1752
+Problem:  tests: No test when deleting text after autocompletion with
+          preinsert did complete an entry
+Solution: Verify, that after deletion autocompletion does not reinsert
+          the deleted text. Note: the actual issue was fixed with v9.1.1750
+          (Girish Palya).
+
+Patch 9.1.1753
+Problem:  defaults: 'diffopt' option value can be improved
+Solution: Update diffopt defaults to include "indent-heuristic" and
+          "inline:char" (Yee Cheng Chin)
+
+Patch 9.1.1754
+Problem:  :helptags doesn't skip examples with syntax (Evgeni Chasnovski)
+Solution: Check for examples with syntax (zeertzjq).
+
+Patch 9.1.1755
+Problem:  filetype: generic log files are not recognized
+Solution: Detect *.log files as log filetype, include simple log syntax
+          script (Mao-Yining).
+
+Patch 9.1.1756
+Problem:  termdebug: Need a few more user commands
+Solution: Add the :RunOrContinue and the :ToggleBreak user commands
+          (bennyyip)
+
+Patch 9.1.1757
+Problem:  The colorresp plugin causes additional redraws
+          (Linwei, after v9.1.1703)
+Solution: Move the code back into the C core and get rid of the vim
+          plugin (Foxe Chen).
+
+Patch 9.1.1758
+Problem:  Diff mode crashes when adding text property in autocommand
+          (after 9.1.1557).
+Solution: Only restore ML_EMPTY memline flag, ignore the others (zeertzjq).
+
+Patch 9.1.1759
+Problem:  filetype: generic log detection is too disturbing (after v9.1.1755)
+Solution: Revert setting log filetype.
+
+Patch 9.1.1760
+Problem:  wrong proto file for insexpand.pro
+Solution: Update insexpand.pro (Hirohito Higashi).
+
+Patch 9.1.1762
+Problem:  completion: selected item not cleared on backspace when
+          'autocomplete' is set
+Solution: Clear the selected item (Girish Palya).
+
+Patch 9.1.1763
+Problem:  filetype: kitty config files are not recognized
+Solution: Detect */kitty/*.conf as kitty filetype, include a syntax
+          script (Shawon).
+
+Patch 9.1.1764
+Problem:  filetype: CODEOWNERS file not recognized
+Solution: Detect CODEOWNERS file as codeowners filetype, include a
+          syntax and filetype plugin (Jon Parise).
+
+Patch 9.1.1765
+Problem:  f_isnan() and f_isinf() do not correctly initialize rettv type
+Solution: Initialize them with type: VAR_NUMBER and value 0 (Damien Lejay).
+
+Patch 9.1.1766
+Problem:  Vim9: some Vim9 functions do not handle null_string correctly
+          and may crash Vim (kennypete).
+Solution: Check for null_string correctly in the searchpair() and
+          substitute() functions (Yegappan Lakshmanan).
+
+Patch 9.1.1767
+Problem:  Patch v9.1.1765 was wrong
+Solution: Roll back the change, it's correct to have call_func() initialize
+          the type, so that not each function has to do this on its own.
+
+Patch 9.1.1768
+Problem:  Makefile does not uninstall global plugins (after v9.1.1757)
+Solution: Uninstall global plugins before installing them, so that old files
+          are not carried around and loaded when no longer used.
+
+Patch 9.1.1769
+Problem:  completion: "preinsert" insert wrong word with 'smartcase' and
+          'autocomplete'
+Solution: Add compare completed item with the leader (Girish Palya).
+
+Patch 9.1.1770
+Problem:  Vim9: wrong behaviour with trailing comments in command blocks
+          (balki)
+Solution: Correctly skip over trailing comments (Yegappan Lakshmanan).
+
+Patch 9.1.1771
+Problem:  complete: some redraw issues with 'autocomplete'
+Solution: Fix the issues (Girish Palya).
+
+Patch 9.1.1772
+Problem:  completion: inconsistent selection of first item with
+          'autocomplete' (Tomasz N)
+Solution: Check for 'autocomplete' option in ins_compl_new_leader()
+          (Girish Palya).
+
+Patch 9.1.1773
+Problem:  Crash in BufLeave/WinLeave/TabLeave when closing window after
+          BufUnload closes all other windows in the tab page.
+Solution: Avoid duplicate BufLeave/WinLeave events. Trigger TabLeave
+          before removing the buffer (zeertzjq).
+
+Patch 9.1.1774
+Problem:  cannot calculate sha256() of a Blob
+Solution: Change sha256() to accept a Blob or String argument (thinca).
+
+Patch 9.1.1775
+Problem:  filetype: Mamba configuration files are not recognized
+Solution: Detect .mambarc and mambarc as yaml filetype (Samuel Huang).
+
+Patch 9.1.1776
+Problem:  "adding" expansion doesn't work with cfc=keyword.
+Solution: Remove incorrect assignment to compl_cont_status. Don't use
+          fuzzy collection in "adding" status (zeertzjq).
+
+Patch 9.1.1777
+Problem:  Mouse click to open fold doesn't work with utf-8 "foldclose"
+          chars (Balki)
+Solution: Use ScreenLinesUC[off] if it is set (zeertzjq).
+
+Patch 9.1.1778
+Problem:  sha256() treats empty blob and null blob differently
+          (after 9.1.1774).
+Solution: Handle null blob the same as empty blob (zeertzjq).
+
+Patch 9.1.1779
+Problem:  completion: 'autocomplete' cannot be enabled per buffer (Tomasz N)
+Solution: Make 'autocomplete' global or local to buffer (Girish Palya).
+
+Patch 9.1.1780
+Problem:  mbyte contains overlapping list of utf_classes table
+Solution: Update table to contain non-overlapping list (Yuta Yamamoto).
+
+Patch 9.1.1781
+Problem:  some functions could be defined static
+Solution: Change function definitions and make them static
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1782
+Problem:  buffer-listener callbacks may not match buffer content, since
+          they are buffered until the screen is updated.
+Solution: Allow to handle buffer-callbacks un-buffered, meaning to
+          handle those changes as soon as they happen (Paul Ollis).
+
+Patch 9.1.1783
+Problem:  ins_compl_leader() defined too far away from
+          ins_compl_leader_len() (after 9.1.1781).
+Solution: Move ins_compl_leader() just before ins_compl_leader_len(). Add
+          missing "static" to eval0_simple_funccal() definition (zeertzjq).
+
+Patch 9.1.1784
+Problem:  Wayland code can be improved
+Solution: Refactor Wayland Clipboard code (Foxe Chen).
+
+Patch 9.1.1785
+Problem:  typo in comment in change.c (after v9.1.1782)
+Solution: Fix typo in comment in change.c (Christ van Willegen).
+
+Patch 9.1.1786
+Problem:  Compile error with clipboard (lacyggoill, after v9.1.1784)
+Solution: Add $WAYLAND_SRC as dependency for clipboard.c in Makefile
+          (Foxe Chen).
+
+Patch 9.1.1787
+Problem:  filetype: not all Sway config files are recognized
+Solution: Detect files within /sway/config.d/* as swayconfig filetype
+          (Felix Pehla).
+
+Patch 9.1.1788
+Problem:  Vim9: can declare a void variable (Ernie Rael)
+Solution: Disallow such variable declaration (Yegappan Lakshmanan).
+
+Patch 9.1.1789
+Problem:  MS-Windows: using wrong check for bold font (after v9.1.1347)
+Solution: Test if lf.lfWeight == FW_BOLD instead of a simple truthiness
+          test (Shay).
+
+Patch 9.1.1790
+Problem:  completion: Enter does not insert match with "noinsert"
+          (Sergey Vlasov)
+Solution: Check for compl_shown_match instead of compl_selected_item
+          (zeertzjq).
+
+Patch 9.1.1791
+Problem:  type(void) throws an internal error (atitcreate)
+Solution: Return proper error message (Yegappan Lakshmanan).
+
+Patch 9.1.1792
+Problem:  List of changes not protected from changes when processing
+          listeners (after v9.1.1782)
+Solution: Fully lock changes list for listener callbacks (Paul Ollis).
+
+Patch 9.1.1793
+Problem:  Link error when build without channel feature
+          (lindhobe, after v9.1.1774)
+Solution: Remove ifdef FEAT_JOB_CHANNEL around check_for_string_or_blob_arg().
+
+Patch 9.1.1794
+Problem:  configure: terminfo test does not work with musl
+          (T3rm1, after v9.9.1.0837)
+Solution: Include term.h in configure script, add forward declarations,
+          in case headers are not found.
+
+Patch 9.1.1795
+Problem:  Vim9: popup_show() may return void
+Solution: Modify popup_show() to return -1 for an invalid popup window
+          id (Yegappan Lakshmanan).
+
+Patch 9.1.1796
+Problem:  Wrong cursor position with wrapped "after" virtual text and
+         'showbreak' (Ben Jackson)
+Solution: Count size of 'showbreak' in wrapped "after" virtual text in
+          line size (zeertzjq).
+
+Patch 9.1.1797
+Problem:  completion: autocompletion can be improved
+Solution: Add support for "longest" and "preinsert" in 'autocomplete';
+          add preinserted() (Girish Palya)
+
+Patch 9.1.1798
+Problem:  Wrong display with 'smoothscroll' and long wrapped virtual
+          text at EOL.
+Solution: Handle w_skipcol inside long wrapped virtual text at EOL (zeertzjq).
+
+Patch 9.1.1799
+Problem:  completion: crash with autcompletion (Maxim Kim)
+Solution: Rework remove_old_matches (Girish Palya).
+
+Patch 9.1.1800
+Problem:  completion: strange behaviour with 'ac'
+          completeopt=longest,preinsert (zeertzjq)
+Solution: Let preinsert take precedence (Girish Palya).
+
+Patch 9.1.1801
+Problem:  Vim9: misleading error when extending dictionary (lacygoill).
+Solution: Give a proper error message when a Dict type is used with a
+          compound operator (Yegappan Lakshmanan).
+
+Patch 9.1.1802
+Problem:  'nowrap' in a modeline may hide malicious code.
+Solution: Forcibly use '>' as 'listchars' "extends" if 'nowrap' was set
+          from a modeline (zeertzjq).
+
+Patch 9.1.1803
+Problem:  Amiga: build errors
+Solution: Update preprocessor conditionals (Ola Söder).
+
+Patch 9.1.1804
+Problem:  Wrong indentation of nested ifdefs in findfile.c
+Solution: Update indentation (Ola Söder).
+
+Patch 9.1.1805
+Problem:  Amiga: Missing build date in version string
+Solution: Set build date in CFLAGS in Makefile (Ola Söder).
+
+Patch 9.1.1806
+Problem:  Missing PROTO defines
+Solution: Update ifdefs, update Makefile dependencies, updated proto files
+          (Hirohito Higashi).
+
+Patch 9.1.1807
+Problem:  :set doesn't clear local insecure flag like :setlocal does.
+Solution: Also clear the local insecure flag when using :set (zeertzjq).
+
+Patch 9.1.1808
+Problem:  Option insecure flags not copied when splitting window.
+Solution: Move window-local insecure flags to winopt_T and copy them
+          properly (zeertzjq).
+
+Patch 9.1.1809
+Problem:  winclip.pro included in PRO_AUTO
+Solution: Remove it from PRO_AUTO since it is already defined in
+          PRO_MANUAL (Hirohito Higashi).
+
+Patch 9.1.1810
+Problem:  completion: "longest" doesn't work for manual completion when
+          'autocomplete' is on (after 9.1.1800).
+Solution: Only reset compl_get_longest when enabling autocompletion (zeertzjq)
+
+Patch 9.1.1811
+Problem:  Amiga: Initialization of random buffer can be improved
+Solution: Use RANDOM device when available (Ola Söder)
+
+Patch 9.1.1812
+Problem:  completion: flicker with slow LSPs
+Solution: Disable flushing the changed text (Girish Palya).
+
+Patch 9.1.1813
+Problem:  MS-Windows: title bar is always white
+Solution: Set_caption() and set the title bars color to the Normal
+          highlighting background (Mao-Yining)
+
+Patch 9.1.1814
+Problem:  Patch v9.1.1812 causes crashes
+Solution: Revert v9.1.1812
+
+Patch 9.1.1815
+Problem:  file mode changes in os_amiga.pro to 644 (RestorerZ after v9.1.1811)
+Solution: Fix the permissions of proto/os_amiga.pro to 644 (Hirohito Higashi).
+
+Patch 9.1.1816
+Problem:  existing icon files are dated
+Solution: Update and remake those icons using 256 colors (RestorerZ).
+
+Patch 9.1.1817
+Problem:  popup: there are some position logic bugs
+Solution: Refactor position logic and fix a few bugs (Girish Palya).
+
+Patch 9.1.1818
+Problem:  possible crash when calculating topline in diff.c (youngmith)
+Solution: Check for pointer being Null before accessing it.
+
+Patch 9.1.1819
+Problem:  Cannot configure the inner foldlevel indicator for the
+          foldcolumn
+Solution: Add "foldinner" suboption value to the 'fillchar' option
+          (Maria José Solano).
+
+Patch 9.1.1820
+Problem:  completion: some issues with 'acl' when "preinsert" and
+          "longest" is in 'completeopt' (musonius, after v9.1.1638)
+Solution: Fix various issues (see details below) (Girish Palya).
+
+Patch 9.1.1821
+Problem:  filetype: Not all PKL files are recognized
+Solution: Detect *.pcf as pkl filetype, detect using the pkl-lsp://
+          protocol as pkl filetype, include PKL syntax script (Jan Claußen).
+
+Patch 9.1.1822
+Problem:  Makefile still supports Perl < 5.005
+Solution: Remove support for Perl < 5.005, it's long been obsolete
+          (Hirohito Higashi)
+
+Patch 9.1.1823
+Problem:  diff: w_topline may be invalidated
+Solution: Update lnum in diff_set_topline() (Yee Cheng Chin).
+
+Patch 9.1.1824
+Problem:  tests: no test for displaying 'foldcolumn' with Unicode
+          "foldinner" in 'fillchars'.
+Solution: Add a few more test cases.  Also fix misplaced "foldinner"
+          entry in version9.txt (zeertzjq).
+
+Patch 9.1.1825
+Problem:  completion: flicker when LSP server is slow
+Solution: reinsert leader text before invoking user function (Girish Palya).
+
+Patch 9.1.1826
+Problem:  Patch v9.1.1230 causes confusion about Ctrl-C behaviour
+          (kuuote, after v9.1.1230)
+Solution: Revert the behaviour, keep the old behaviour.
+
+Patch 9.1.1827
+Problem:  completion: v9.1.1797 broke Ctrl-Y behaviour
+          (ddad431, after v9.1.1797)
+Solution: Restore correct behaviour (Girish Palya).
+
+Patch 9.1.1828
+Problem:  local variables shadowed by import names
+Solution: Check if a local variable exists before handling imports (thinca).
+
+Patch 9.1.1829
+Problem:  filetype: KerML and SysML files are not recognized
+Solution: Detect *.kerml as kerml filetype, detect *.sysml as sysml
+          filetype, include a kerml and sysml filetype plugin
+          (Daumantas Kavolis).
+
+Patch 9.1.1830
+Problem:  MS-Windows: Dark mode titlebar is not configurable (after v9.1.1813)
+Solution: Revert Patch v9.1.1813
+
+Patch 9.1.1831
+Problem:  vertical separator of 'winfixwidth' windows may remain if they
+          become right-most windows from closing windows to the right.
+Solution: Don't implicitly rely on frame_new_width to fix vseps, as the
+          call may be skipped for 'winfixwidth' windows to preserve
+          their width; do it explicitly in winframe_remove (Sean Dewar).
+
+Patch 9.1.1832
+Problem:  if_perl: contains references to legacy if_perlsfio.{c,pro} and
+          USE_SFIO
+Solution: Remove those references (Hirohito Higashi).
+
+Patch 9.1.1833
+Problem:  completion: fuzzy candidates are not sorted (ddad431)
+Solution: Always sort fuzzy candidates (Girish Palya).
+
+Patch 9.1.1834
+Problem:  MS-Windows: not possible to highlight the title bar
+Solution: Make the title/caption bar configurable by introducing the
+          'go-C' option value which allows to highlight it using the
+          TitleBar and TitleBarNC highlighting groups (Mao-Yining).
+
+Patch 9.1.1835
+Problem:  not possible to style popup borders globally
+Solution: Add the 'pumborder' option (Girish Palya).
+
+Patch 9.1.1836
+Problem:  'cursorlineopt' "screenline" isn't redrawn when moving cursor
+          and then using line("w0") and :retab that does nothing.
+Solution: Call redraw_for_cursorcolumn() when setting a valid w_virtcol
+          (zeertzjq).
+
+Patch 9.1.1837
+Problem:  tests: Test_plugin_evaluate_in_popup() fails on 32bit arch
+          (James McCoy)
+Solution: Instead of evaluating the ptr, let's evaluate just the pointer
+          content, skipping printing the pointer address.
+
+Patch 9.1.1838
+Problem:  proto files out of sync
+Solution: Update proto files (Hirohito Higashi).
+
+Patch 9.1.1839
+Problem:  Window may have wrong height if resized from another tabpage.
+Solution: Improve check for whether a tabline has been added (zeertzjq).
+
+Patch 9.1.1840
+Problem:  Generating prototype files does not work on all platforms
+Solution: Rework prototypes generation using python instead of cproto,
+          enable it in CI to test it for each PR (Hirohito Higashi).
+
+Patch 9.1.1841
+Problem:  Patch 9.1.1840 adds python build dependency (chdizza)
+Solution: Update dependencies (Hirohito Higashi).
+
+Patch 9.1.1842
+Problem:  MS-Windows: build failure when mzscheme is included
+          (dertuxmalwieder, after v9.1.1838)
+Solution: skip specific section when PROTO is defined (Hirohito Higashi).
+
+Patch 9.1.1843
+Problem:  tests: Test_search_stat_option() may fail on slow systems
+Solution: test_search_stat: Extend searchcount() timeout if the test is
+          being re-run due to flakiness (James McCoy).
+
+Patch 9.1.1844
+Problem:  Makefile: dependencies not updated (Hirohito Higashi)
+Solution: Update Dependencies after v9.1.1841.
+
+Patch 9.1.1845
+Problem:  Makefile: Missing dependency on osdef.h
+Solution: Add explicit dependency on auto/osdef.h.
+
+Patch 9.1.1846
+Problem:  Build failure when building without wayland
+          (bennyyip, after v9.1.1844)
+Solution: Update Makefile dependencies again, remove wayland dependencies for
+          clipboard.c.
+
+Patch 9.1.1847
+Problem:  No cmdline completion for :echoconsole, :echowindow and second
+          expression after :echoerr.
+Solution: Set EXPAND_EXPRESSION for :echoconsole and :echowindow, and
+          check for multiple expressions after :echoerr (zeertzjq).
+
+Patch 9.1.1848
+Problem:  A few typos in the code
+Solution: Fix typos (zeertzjq).
+
+Patch 9.1.1849
+Problem:  CTRL-F and CTRL-B don't work in more prompt
+Solution: Make CTRL-F and CTRL-B scroll by a screen down/up
+          (Bjoern Foersterling)
+
+Patch 9.1.1850
+Problem:  completion: not triggered after i_Ctrl-W/i_Ctrl-U
+Solution: Trigger autocomplete when entering Insert mode (Girish Palya).
+
+Patch 9.1.1851
+Problem:  memory leak in heredoc_get()
+Solution: Free "str" if list_append_string() fails (Lidong Yan).
+
+Patch 9.1.1852
+Problem:  vim9class: fix memory leak in parse_member()
+Solution: Free evalarg before returning (Lidong Yan).
+
+Patch 9.1.1853
+Problem:  Ctrl-F and Ctrl-B at more prompt not working with kitty
+          keyboard protocol or modifyOtherKeys (after v9.1.1849).
+Solution: Call merge_modifyOtherKeys() in get_keystroke() (zeertzjq).
+
+Patch 9.1.1854
+Problem:  unnecessary code in optionstr.c
+Solution: Remove it (Hirohito Higashi).
+
+Patch 9.1.1855
+Problem:  Makefile: using non-portable syntax (Jonathan Schleifer)
+Solution: Remove duplicate parenthesis.
+
+Patch 9.1.1856
+Problem:  cannot style popup window (border, shadow, etc)
+Solution: Extend the 'completepopup' option with additional properties
+          (Girish Palya).
+
+Patch 9.1.1857
+Problem:  Missing clipboard provider support (lilydjwg)
+Solution: Add clipboard provider feature (Foxe Chen).
+
+Patch 9.1.1858
+Problem:  v:register not reset after Visual mode command (laktak).
+Solution: Reset v:register if Visual mode was active before
+          do_pending_operator() (zeertzjq).
+
+Patch 9.1.1859
+Problem:  completion: whitespace not cleared with 'ai'
+Solution: Remove spaces added by 'autoindent' when autocomplete is set
+          and restore did_ai in ins_compl_start() (Maxim Kim)
+
+Patch 9.1.1860
+Problem:  clipboard register "+" enabled with cplipboard provider feature
+          (BenYip, after v9.1.1857)
+Solution: Don't make clipboard provider enable plus register on UNIX
+          (Foxe Chen).
+
+Patch 9.1.1861
+Problem:  Amiga: Locating runtime directory and rc files can be
+          simplified.
+Solution: Use assigns since it's simpler and more in line with
+          how other Amiga applications work (Ola Söder).
+
+Patch 9.1.1862
+Problem:  Wrong ifdefs for clipboard provider (after v9.1.1857)
+Solution: Update ifdefs (Foxe Chen).
+
+Patch 9.1.1863
+Problem:  Cannot test for working "+" register
+Solution: Add a few more feature tests (Foxe Chen).
+
+Patch 9.1.1864
+Problem:  tests: Clipboard provider feature test failure
+Solution: Check in the test that the + clipboard register is available,
+          fix compile warning (Foxe Chen)
+
+Patch 9.1.1865
+Problem:  tests: test_codestyle does not notice lines containing only a tab
+Solution: Fix the whitespace issue in eval.txt, update test_codestyle to
+          notice such issues (Hirohito Higashi).
+
+Patch 9.1.1866
+Problem:  HAVE_STRCSPN define is unused
+Solution: Remove all HAVE_STRCSPN defines (Ola Söder).
+
+Patch 9.1.1867
+Problem:  HAVE_STDARG_H still defined (after v7.4.1216)
+Solution: Remove all remaining occurrences of HAVE_STDARG_H (Ola Söder).
+
+Patch 9.1.1868
+Problem:  v:register is wrong in v_: command (after 9.1.1858).
+Solution: Don't reset v:register for OP_COLON (zeertzjq).
+
+Patch 9.1.1869
+Problem:  tests: test failures with Python 3.14 and test_python3
+Solution: Adjust the expected error message (Yee Cheng Chin).
+
+Patch 9.1.1870
+Problem:  :Tutor may not work as expected
+Solution: set buftype=nowrite instead of nofile (Phạm Bình An).
+
+Patch 9.1.1871
+Problem:  Wrong 'showcmd' in the command-line window.
+Solution: Clear 'showcmd' when entering cmdwin (zeertzjq).
+
+Patch 9.1.1872
+Problem:  Cmdline history not updated when mapping both <Up> and <CR>.
+Solution: Consider the command typed when in Cmdline mode and there is
+          no pending input (zeertzjq).
+
+Patch 9.1.1873
+Problem:  Clipboard provider feature broke clipboard support (Yee Cheng Chin)
+Solution: Revert clipboard changes (Foxe Chen).
+
+Patch 9.1.1874
+Problem:  PMenuShadow overrides highlighting attributes (Maxim Kim)
+Solution: Use hl_combine_attr() to combine popup attribute with shadow
+          attribute (Girish Palya).
+
+Patch 9.1.1875
+Problem:  username parsing bug in netrw plugin when using remote adding
+          feature
+Solution: Allow any characters except for "@" (Václav Kobera), add a
+          test for the netrw plugin.
+
+Patch 9.1.1876
+Problem:  pre-inserted text not exposed in complete_info()
+Solution: Add the pre-inserted text to the complete_info() Vim script
+          function (Girish Palya).
+
+Patch 9.1.1877
+Problem:  cindent: wrong indentation after an array declaration
+Solution: check if the filetype if javascript before matching the syntax
+          (Anttoni Erkkilä).
+
+Patch 9.1.1878
+Problem:  filetype: Soy files are not recognized
+Solution: Detect *.soy files as soy filetype, include a soy filetype plugin
+          (Riley Bruins).
+
+Patch 9.1.1879
+Problem:  Crash when using a lambda funcref with :defer
+Solution: De-reference the partial correctly after invoking the deferred
+          functions (Yegappan Lakshmanan).
+
+Patch 9.1.1880
+Problem:  Allocation error with complete_info() (after v9.1.1876)
+Solution: Make sure length is positive (kuuote).
+
+Patch 9.1.1881
+Problem:  tests: test_popupwin fails after c8eeda9b due to syntax
+          highlighting change
+Solution: Regenerate terminal dumps Test_popup_setbuf*dump (Yee Cheng Chin).
+
+Patch 9.1.1882
+Problem:  Vim9: Not able to use a lambda with :defer (Maxim Kim)
+Solution: Add support for this (Yegappan Lakshmanan).
+
+Patch 9.1.1883
+Problem:  Wrong display with 'smoothscroll' when FEAT_DIFF is disabled.
+Solution: Use plines_correct_topline() (zeertzjq).
+
+Patch 9.1.1884
+Problem:  :defer an empty lambda causes a crash
+          (Maxim Kim, after v9.1.1882)
+Solution: Check for missing arguments (Yegappan Lakshmanan).
+
+Patch 9.1.1885
+Problem:  Wrong restored cursor position when re-entering a buffer
+          previously viewed in a window after making changes to the same
+          buffer in another window.
+Solution: Adjust per-window "last cursor" positions on buffer changes
+          (zeertzjq).
+
+Patch 9.1.1886
+Problem:  filetype: Android aconfig files are not recognized
+Solution: Detect *.aconfig files as pbtxt filetype (Bruno Belanyi).
+
+Patch 9.1.1887
+Problem:  string handling in strings.c can be improved
+Solution: Refactor strings.c and remove calls to STRLEN() (John Marriott).
+
+Patch 9.1.1888
+Problem:  Wrong display with cpo+=$, matchparen and wrapped line.
+Solution: Use old cursor line height when scrolling with cpo+=$. Also
+          fix wrong redraw in non-current window (zeertzjq).
+
+Patch 9.1.1889
+Problem:  filetype: not all AppleScript files are recognized
+Solution: Detect *.applescript files as applescript filetype (Samuel Huang).
+
+Patch 9.1.1890
+Problem:  %P in 'statusline' doesn't behave as documented
+          (after 9.1.1479).
+Solution: Make the percentage 3-chars wide when not translated (zeertzjq).
+
+Patch 9.1.1891
+Problem:  In visual mode, g<End> does not move to the last non-blank
+          character when the end of a line is on the same line as the
+          cursor (after v9.0.1753).
+Solution: Move the cursor back by one position if it lands after the
+          line (varsidry).
+
+Patch 9.1.1892
+Problem:  A plugin does not know when startup scripts were already
+          triggered. This is useful to determine if a function is
+          called inside vimrc or after (like when sourcing 'plugin/' files).
+Solution:  Add the v:vim_did_init variable (Evgeni Chasnovski).
+
+Patch 9.1.1893
+Problem:  ICCF charity will dissolve
+Solution: Update references to Kuwasha
+
+Patch 9.1.1894
+Problem:  global_runtime_dir appends /after directory when using XDG
+          configuration directory (Marius Gedminas).
+Solution: Do not append /after to RUNTIME_GLOBAL_AFTER.
+
+Patch 9.1.1895
+Problem:  OSC terminal response hard to detect
+Solution: Add the <OSC> and <xOSC> pseudo keys (Foxe Chen).
+
+Patch 9.1.1896
+Problem:  tests: Patch v9.1.1895 breaks CI, by failing screen dump tests
+        test_listlbr_utf8, test_diffmode and test_cmdline
+Solution: Revert it
+
+Patch 9.1.1897
+Problem:  Mac: Build failure on Mac OS X 10.6 due to the use of generics
+          for the sound feature.
+Solution: Use the simple, non-generic Objective-C version (Luke Lollard).
+
+Patch 9.1.1898
+Problem:  tabpanel: inconsistent use of cmdline and message area with
+          tabpanel
+Solution: Reduce the cmdline and message area by the horizontal size of
+          the tabpanel (Hirohito Higashi).
+
+Patch 9.1.1899
+Problem:  tabpanel: getcmdscreenpos() wrong when tabpanel is shown
+Solution: Adjust f_getcmdscreenpos() and add cmdline_col_off
+          (Hirohito Higashi).
+
+Patch 9.1.1900
+Problem:  tabpanel: wrong condition after v9.1.1898
+Solution: Update condition (Hirohito Higashi).
+
+Patch 9.1.1901
+Problem:  tests: test_vim9_generics fails when built without the job or
+          channel feature (lazypingu)
+Solution: Skip test if job/channel feature is not available.
+
+Patch 9.1.1902
+Problem:  GTK fails to compile with !FEAT_PROP_POPUP
+Solution: Correct syntax under #ifdef (Drew Vogel).
+
+Patch 9.1.1903
+Problem:  GTK naming still reflects GTK1 support
+Solution: Rename to avoid confusion (Drew Vogel).
+
+Patch 9.1.1904
+Problem:  Code still supports GTK2 versions older than 2.4.
+Solution: Drop support for GTK2 < 2.4 (Drew Vogel).
+
+Patch 9.1.1905
+Problem:  tabpanel: truncates terminal output (hokorobi)
+Solution: Use topframe->fr_width, not Columns (which includes the
+          tabpanel width) (Hirohito Higashi)
+
+Patch 9.1.1906
+Problem:  filetype: not all Ruby files are recognized
+Solution: Detect *.rbi and Brewfile as ruby filetype (botantony).
+
+Patch 9.1.1907
+Problem:  xterm: no support for mouse buttons 8 and 9
+Solution: Add support for terminals with xterm-like mouse functionality
+          (notuxic).
+
+Patch 9.1.1908
+Problem:  tests: test_crash.vim times out in CI ASAN builds
+Solution: Increase timeout for ASAN or Valgrind runs.
+
+Patch 9.1.1909
+Problem:  filetype: .mom files recognized as nroff files
+Solution: Detect *.mom files as groff filetype instead (Callum Andrew).
+
+Patch 9.1.1910
+Problem:  tests: test failures in Test_term_gettitle() in CI
+Solution: CI: Allow for title buffering in Test_term_gettitle()
+          (Aliaksei Budavei).
+
+Patch 9.1.1911
+Problem:  build failure on Solaris Sparc with gcc 5 (idgn23, after v9.1.1736)
+Solution: Correctly initialize the key_name variable.
+
+Patch 9.1.1912
+Problem:  tests: test_plugin_comment fails, because it depends on nroff
+          filetype for .mom file (after v9.1.1909)
+Solution: Explicitly set filetype to nroff.
+
+Patch 9.1.1913
+Problem:  Error message with :unlet! and non-existing dictionary item
+          (Coacher)
+Solution: Set GLV_QUIET when using unlet with bang attribute.
+
+Patch 9.1.1914
+Problem:  runtime(netrw): LocalBrowseCheck() wipes unnamed buffers when
+          g:netrw_fastbrowse=0 (Carlos Falgueras García)
+Solution: Check that bufname() is not empty.
+
+Patch 9.1.1915
+Problem:  :breaklist accepts unprocessed arguments.
+Solution: Remove EX_EXTRA flag from the Ex command definition (Doug Kearns).
+
+Patch 9.1.1916
+Problem:  WinEnter autocommand may confuse Vim when closing tabpage (hokorobi)
+Solution: Verify that curwin did not change in close_others().
+
+Patch 9.1.1917
+Problem:  Vim9: incorrect type inference with mkdir() (dezza)
+Solution: Before compiling a RHS expression in an assignment, save the
+          new local variable contents (Yegappan Lakshmanan).
+
+Patch 9.1.1918
+Problem:  completion: crash with fuzzy completion (Christian Brabandt)
+Solution: When completion candidates are gathered from a different
+          window, and when completing `<c-p>`, linked list should be
+          sorted only after all items are collected (Girish Palya).
+
+Patch 9.1.1919
+Problem:  tabpanel: cannot handle mouse clicks in command line
+          (char101, after v9.1.1898)
+Solution: Update the condition that checks if the mouse pointer is on
+          the command line (Hirohito Higashi).
+
+Patch 9.1.1920
+Problem:  tests: not enough testing for wildtrigger() pum redrawing.
+Solution: Also test redrawing when leaving cmdline mode (zeertzjq).
+
+Patch 9.1.1921
+Problem:  xdiff: included xdiff code is outdated because it is based on
+          git 2.40.0
+Solution: Sync with xdiff from git 2.52 (Yee Cheng Chin).
+
+Patch 9.1.1922
+Problem:  Wrong virtcol('$') with virtual text at EOL (rickhowe).
+Solution: Also add 1 to end virtcol when there is virtual text (zeertzjq).
+
+Patch 9.1.1923
+Problem:  When assigning to @. in a :let command an incorrect "E15"
+          error is emitted.
+Solution: Emit the correct "E354" error. (Doug Kearns).
+
+Patch 9.1.1924
+Problem:  'commentstring' requires the +folding feature but is used in
+          contexts other than folding.
+Solution: Remove the +folding feature guards from 'commentstring' and
+          make it available in all builds (Doug Kearns).
+
+Patch 9.1.1925
+Problem:  make depend does not add osdef.h for the dependencies (Drew Vogel)
+Solution: Move ifdef PROTO (Hirohito Higashi).
+
+Patch 9.1.1926
+Problem:  xdiff: Coverity warning with MAX_CNT/UINT_MAX usage
+          (after v9.1.1921)
+Solution: Replace XDL_MIN macro to a manual check (Yee Cheng Chin).
+
+Patch 9.1.1927
+Problem:  Wayland: clipboard code too complex
+Solution: Simplify clipboard related code around W23/W24 (Foxe Chen).
+
+Patch 9.1.1928
+Problem:  xxd: exit_with_usage() can be simplified
+Solution: Clean up exit_with_usage() formatting slightly (Stefan Haubenthal).
+
+Patch 9.1.1929
+Problem:  completion: spell completion wrong with fuzzy
+Solution: Disable fuzzy sort for spell completion (Maxim Kim).
+
+Patch 9.1.1930
+Problem:  completion: 'completefuzzycollect' option is too obscure
+Solution: Deprecate the option, but don't error out for existing scripts,
+          behave like 'completefuzzycollect' is set when fuzzy
+          completion is enabled (Girish Palya).
+
+Patch 9.1.1931
+Problem:  completion: wrong item selected with fuzzy and noinsert
+          (Evgeni Chasnovski)
+Solution: Reset selected item after fuzzy sort (Girish Palya).
+
+Patch 9.1.1932
+Problem:  OSC terminal response hard to detect
+Solution: Add the <OSC> and <xOSC> pseudo keys (Foxe Chen).
+
+Patch 9.1.1933
+Problem:  completion: complete_match() Vim script function and
+          'isexpand' option are not that useful and confusing
+          (after v9.1.1341)
+Solution: Remove function and option and clean up code and documentation
+        (Girish Palya).
+
+Patch 9.1.1934
+Problem:  filetype: not all starlark files are recognized
+Solution: Detect *.sky files as starlark filetype (Bruno Belanyi).
+
+Patch 9.1.1935
+Problem:  filetype: not all Erlang files are recognized
+Solution: Detect *.app.src and rebar.config files as erlang filetype
+          (John Parise).
+
+Patch 9.1.1936
+Problem:  filetype: Erlang lexical files are not recognized
+Solution: Detect *.xrl files as leex filetype, include syntax and
+          filetype plugins (Jon Parise).
+
+Patch 9.1.1937
+Problem:  tests: Test_matchfuzzy_initialized() fails
+Solution: Send a dummy key (Corey Hickey)
+
+Patch 9.1.1938
+Problem:  tests: excessive wait in Test_matchfuzzy_initialized
+Solution: Use term_wait() instead of the TermWait() wrapper (Corey Hickey).
+
+Patch 9.1.1939
+Problem:  tests: test_matchfuzzy() leaves swapfiles behind
+Solution: Close loaded buffers using "%bw".
+
+Patch 9.1.1940
+Problem:  clipboard registers "+" and "*" synced without "autoselect"
+Solution: Remove code that explicitly syncs those clipboard registers
+          (Corey Hickey).
+
+Patch 9.1.1941
+Problem:  tests: Test_execute_register() leaves swapfile behind
+Solution: Use :bw instead of :close to close the buffer completely.
+
+Patch 9.1.1942
+Problem:  Assignment to read-only registers @: and @% is allowed during
+          compilation.
+Solution: Abort compilation and emit an E354 error when assigning to
+          these registers (Doug Kearns).
+
+Patch 9.1.1943
+Problem:  Memory leak with :breakadd expr
+Solution: Free debug_oldval and debug_newval before assigning to them.
+          Verify the existing (though confusing) :breakadd expr behavior
+          (zeertzjq).
+
+Patch 9.1.1944
+Problem:  gewininfo() does not return if statusline is visible
+Solution: Add status_height to the dict items returned by
+          getwininfo() (Hirohito Higashi).
+
+Patch 9.1.1945
+Problem:  tests: Test_getbufwintabinfo() leaves swapfiles behind
+Solution: Close all open buffers using %bw!
+
+Patch 9.1.1946
+Problem:  Cannot open the help in the current window
+Solution: Promote the example from tips.txt to a proper package and
+          include the helpcurwin package, add tests for it (Peter Kenny).
+
+Patch 9.1.1947
+Problem:  [security]: Windows: Vim may execute commands from current
+          directory (Simon Zuckerbraun)
+Solution: Set the $NoDefaultCurrentDirectoryInExePath before running
+          external commands.
+
+Patch 9.1.1948
+Problem:  Windows: Vim always adds the current directory to search path.
+          This should only happen when using cmd.exe as 'shell'. For
+          example, powershell won't run binaries from the current
+          directory.
+Solution: Only add current directory to system path, when using cmd.exe
+          as 'shell'.
+
+Patch 9.1.1949
+Problem:  :stag does not use 'swichtbuf' option, though the
+          documentation states differently (Christian Brabandt)
+Solution: Respect 'switchbuf' option (Yegappan Lakshmanan).
+
+Patch 9.1.1950
+Problem:  tests: Test_tagjump.vim leaves swapfiles behind
+Solution: Close open buffers using :bw! instead of :close!
+
+Patch 9.1.1951
+Problem:  tests: Test_windows_external_cmd_in_cwd() is only run in huge
+          builds (after 9.1.1947).
+Solution: Move it to test_system.vim so that it is run in normal builds.
+
+Patch 9.1.1952
+Problem:  tests: need better tests for tf files
+Solution: Add better filetype test for terraform/tf filetype
+
+Patch 9.1.1953
+Problem:  gui_mch_set_titlebar_colors() doesn't need to be called when
+          'go+=C' is not set.
+Solution: Switch the default value to false.
+
+Patch 9.1.1954
+Problem:  Setting a byte in a blob, accepts values outside 0-255
+Solution: When setting a byte in a blob, check for valid values
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1955
+Problem:  sort() does not handle large numbers correctly
+          (Igbanam Ogbuluijah)
+Solution: Don't truncate the return value of tv_get_number_chk()
+          (Yegappan Lakshmanan).
+
+Patch 9.1.1956
+Problem:  tests: test_sort.vim leaves swapfiles behind
+Solution: Close open buffers using :bw! instead of :close!
+
+Patch 9.1.1957
+Problem:  filetype: bpftrace files are not recognized
+Solution: Detect *.bt files as btftrace filetype,
+          include a btftrace filetype plugin (Stanislaw Gruszka).
+
+Patch 9.1.1958
+Problem:  Wrong display when scrolling with 'scrolloff' and calling
+          sign_unplace() and setline() in CursorMoved (after 8.2.3204).
+Solution: Still scroll for changed lines below the top area when the top
+          is scrolled down (zeertzjq).
+
+Patch 9.1.1959
+Problem:  Outputting long strings using :echowindow wraps one character
+          per line and display in reverse order (Hirohito Higashi)
+Solution: Use full width for :echowindow, reset msg_col after wrapping,
+          and increment lnum correctly when creating new lines (glepnir).
+
+Patch 9.1.1960
+Problem:  When the popup menu is displayed above the cursor and the
+          selected item has no room below for the info popup,
+          popup_adjust_position() places the popup in the available
+          space above. The calculation added some extra lines, causing
+          the popup to be misaligned.
+Solution: For info popups, undo that extra spacing so the popup stays
+          aligned with the selected item (glepnir).
+
+Patch 9.1.1961
+Problem:  :0tab behaves like :tab for :stag when 'switchbuf' contains
+          "newtab" (after 9.1.1949).
+Solution: Don't override cmod_tab if it's already non-zero (zeertzjq).
+
+Patch 9.1.1962
+Problem:  filetype: Erlang application resource files are not recognized
+Solution: Add content-based filetype detection for application resource
+          files matching extension '*.app' (Doug Kearns).
+
+Patch 9.1.1963
+Problem:  diff: missing diff size limit for xdiff
+Solution: Impose file size limit for internal diff (xdiff)
+          (Yee Cheng Chin).
+
+Patch 9.1.1964
+Problem:  Wrong display when using setline() at hit-enter prompt
+         (after 8.2.3204).
+Solution: Only skip scrolling for changed lines in top area if it's
+          scrolled down due to w_topline change. Also add more testing
+          for what 8.2.3204 fixed (zeertzjq).
+
+Patch 9.1.1965
+Problem:  When exiting at the end of the more prompt (at the hit enter
+          prompt) by hitting q the recording mode will be started.
+          (Jakub Łuczyński)
+Solution: Don't add the q key to the typeahead buffer
+          in the function wait_return (Bjoern Foersterling)
+
+Patch 9.1.1966
+Problem:  MS-Windows: dark mode in gui is not supported
+Solution: Inplement the 'd' flag in 'guioptions' (Mao-Yining).
+
+Patch 9.1.1967
+Problem:  if_python: 64bit numbers truncated
+Solution: cast python result to long long (lsq).
+
+Patch 9.1.1968
+Problem:  tests: test_python3.vim leaves swapfiles behind
+Solution: Close open buffers using :bw! instead of :close!
+
+Patch 9.1.1969
+Problem:  Wrong cursor position after formatting with long 'formatprg'.
+Solution: Don't show hit-enter prompt when there are stuffed characters.
+
+Patch 9.1.1970
+Problem:  visual end column returns wrong value after block edit
+Solution: update visual end column after block insert (phanium).
+
+Patch 9.1.1971
+Problem:  Crash when buffer gets deleted inside charconvert during save
+Solution: Check for `b_saving` inside `can_unload_buffer()`, so we don’t try to
+          unload a buffer while it’s still being saved (glepnir).
+
+Patch 9.1.1971
+Problem:  crash with invalid positional argument 0 in printf()
+Solution: Reject positional arguments <= 0.
+
+Patch 9.1.1972
+Problem:  No way to access the clipboard without X11/Wayland.
+Solution: Add the clipboard provider feature (Foxe Chen).
+
+Patch 9.1.1973
+Problem:  some minor problems with clipboard provider code
+          (after v9.1.1972)
+Solution: Fix minor issues (Foxe Chen)
+
+Patch 9.1.1974
+Problem:  tests: missing cleanup in Test_bwipe_during_save().
+Solution: Reset &charconvert.
+
+Patch 9.1.1975
+Problem:  blob2str() may call strcpy with a NULL pointer
+Solution: Check for NULL before calling STRNCPY().
+
+Patch 9.1.1976
+Problem:  When using listeners, there is no way to run callbacks at
+          specific points in the redraw cycle.
+Solution: Add redraw_listener_add() and redraw_listener_remove() and
+          allow specifying callbacks for redraw start and end (Foxe Chen).
+
+Patch 9.1.1977
+Problem:  MS-Windows: missing dependency on optiondefs.h in Mingw and
+          Cygwin Makefile (Mao-Yining)
+Solution: Update $INCL variable.
+
+Patch 9.1.1978
+Problem:  tests: Test_smoothscroll_number() may fail because of 'showcmd'
+Solution: Send redraw command (Hirohito Higashi).
+
+Patch 9.1.1979
+Problem:  :helpclose incorrectly accepts a range and a count.
+Solution: Remove EX_COUNT and EX_RANGE from the command definition
+          (Doug Kearns).
+
+Patch 9.1.1980
+Problem:  filetype: N-Quads files are not recognized
+Solution: Detect *.nq files as nq filetype.
+
+Patch 9.1.1981
+Problem:  tests: test suite may stop on error in gen_opt_test.vim
+Solution: Use a different output file for log files (Muraoka Taro).
+
+Patch 9.1.1982
+Problem:  Use after free with redraw_listener_add() (after: v9.1.1976)
+Solution: Copy Callbacks into listener struct (Foxe Chen).
+
+Patch 9.1.1983
+Problem:  Vim9: class_name definition can be improved
+Solution: Use string_T to store class_name, avoid using STRLEN() calls,
+          simplify code, remove unused definition of struct
+          oc_newmember_S (John Marriott).
+
+Patch 9.1.1984
+Problem:  terminal OSC52 support to access the clipboard can be improved
+Solution: Include and package the optional osc52 package, note: this
+          requires a Vim with clipboard provider feature (Foxe Chen).
+
+Patch 9.1.1985
+Problem:  tests: test_sound.vim fails when run locally on Windows
+Solution: Skip Test_play_silent in Windows non-GUI environments.
+
+Patch 9.1.1986
+Problem:  clipboard provider does not work when redirecting messages
+          (BenYip, after v9.1.1972)
+Solution: Adjust ifdefs in ex_redir().
+
+Patch 9.1.1987
+Problem:  assert_equal() prepends unnecessary ':' when typed (after 9.0.1758).
+Solution: Don't change a NULL stacktrace to an empty string (zeertzjq).
+
+Patch 9.1.1988
+Problem:  osc52 package can be further improved (after v9.1.1984).
+Solution: Improve plugin, update test and check for clipboard_provider
+          feature (Foxe Chen).
+
+Patch 9.1.1989
+Problem:  Vim intro screen shows register message (after v9.1.1893)
+Solution: Remove the register message, registering is no longer useful
+          and possible.
+
+Patch 9.1.1990
+Problem:  tests: Test_term_gettty() fails when using conpty on Windows,
+          CI uses winpty, so this test passes.
+Solution: Skip the test Test_term_gettty(). Since conpty communicates
+          via anonymous pipes, there is no name that can be obtained
+          with term_gettty() (Muraoka Taro)
+
+Patch 9.1.1991
+Problem:  :setlocal changes effective global 'omnifunc' (Maxim Kim)
+Solution: Don't change global callback when using :setlocal (zeertzjq).
+
+Patch 9.1.1992
+Problem:  Vim9: heap buffer overflow with COMPAREANY instruction
+Solution: Verify the type and error out in case of different types (Foxe Chen)
+
+Patch 9.1.1993
+Problem:  MS-Windows: compile error because of implicit size conversions
+          (after v9.1.1983)
+Solution: Change type casts
+
+Patch 9.1.1994
+Problem:  More deterministic synchronisation can be established between
+          processes running test cases and collecting visual effects to
+          a screendump file for future verification by anticipating
+          the availability of known parts of such a file and asserting
+          the location of the cursor.
+Solution: Provide a convenience test function that waits a specified
+          time for cursor positioning (Aliaksei Budavei).
+
+Patch 9.1.1995
+Problem:  Data races between test buffers are currently addressed by
+          relying on arbitrary execution delays or blissfully dismissed.
+Solution: Prefer more deterministic synchronisation between test buffers
+          for test cases that generate screendump files with expected
+          results (Aliaksei Budavei).
+
+Patch 9.1.1996
+Problem:  tests: test_cmdline.vim leaves swapfiles behind
+Solution: Close open buffers using :bw! instead of :close!
+
+Patch 9.1.1997
+Problem:  Missing out-of-memory check in vim9class.c in calls to
+          vim_strnsave().
+Solution: Refactor is_duplicate_variable() and is_duplicate_enum() and
+          make use of string_T struct instead (John Marriott).
+
+Patch 9.1.1998
+Problem:  Not enough tests for :setlocal omnifunc (after 9.1.1991).
+Solution: Move the last :new after :setlocal. Also test with 'complete'
+          (zeertzjq).
+
+Patch 9.1.1999
+Problem:  clipboard provider does not respect 'clipboard' option
+          (Satoru Kitaguchi, after v9.1.1972)
+Solution: Make clipboard provider register respect "unnamed/unnamedplus"
+          from the 'clipboard' option value.
+
+Patch 9.1.2000
+Problem:  Vim9: class and object member names are stored as char_u *
+          pointer requiring repeated strlen() calls and making it harder
+          to use length-aware string operations consistently.
+Solution: Store ocm_name as a string_T instead of char_u * (John Marriott).
+
+Patch 9.1.2001
+Problem:  After :botright copen and closing the quikfix window, the
+          cursor ends up in the wrong window. The problem is fr_child
+          always points to the first (leftmost for FR_ROW, topmost for
+          FR_COL) child frame. When do :vsplit, the new window is
+          created on the left, and frame_insert() updates the parent's
+          fr_child to point to this new left window.
+Solution: Create a snapshot before open the quickfix window and restore
+          it when close it (glepnir).
+
+Patch 9.1.2002
+Problem:  Vim9: heap-use-after-free when when accessing protect class
+          member (Foxe Chen)
+Solution: Set cl->class_type_list and return directly, add tests for
+          using protected class method and variable from another class
+          (Yegappan Lakshmanan).
+
+Patch 9.1.2003
+Problem:  tests: Test_glob_symlinks may fail on Windows with UCRT
+          runtime
+Solution: Comment out the code, do not use _wstat().
+
+Patch 9.1.2004
+Problem:  MS-Windows: If a directory with a single character name is
+          included in the PATH environment variable without a trailing
+          path separator, executable() will not be able to find the
+          executable file under it.
+Solution: The second argument of the after_pathsep() function is now
+          passed the next pointer where a path separator may exist
+          (Muraoka Taro).
+
+Patch 9.1.2005
+Problem:  MS-Windows: Missing fullscreen support for GUI version
+Solution: Add "s" flag to guioptions (Mao-Yining)
+
+Patch 9.1.2006
+Problem:  ANSI escape colors are not displayed correctly in
+          non-termguicolors in vim (cli) on Windows. The red and blue
+          channels seem to be swapped.
+Cause:    When converting VTerm ANSI index colors to cterm colors in
+          terminal.c, the Windows case equivalent to NR-16 (:help
+          cterm-colors) is ignored.
+Solution: Created and used a table to convert ANSI indexed colors to
+          cterm's NR-16 representation (Windows only). This table
+          corresponds to the inverse conversion of cterm_ansi_idx in
+          term.c. The values in both tables are exactly the same, but
+          the meanings are opposite, so they are separate tables
+          (Muraoka Taro).
+
+Patch 9.1.2007
+Problem:    bpftrace files are not recognized from the hashbang line.
+Solution:   Add a hashbang check (Stanislaw Gruszka).
+
+Patch 9.1.2008
+Problem:  filetype: hylo files are not recognized
+Solution: Detect *.hylo files as hylo filetype (Ambrus Tóth).
+
+Patch 9.1.2009
+Problem:  tests: "Xm4" test directory may not be deleted
+Solution: Use "R" flag with mkdir() call to have the directory
+          recursively deleted at the end of function Test_m4_format()
+          (Muraoka Taro).
+
+Patch 9.1.2010
+Problem:  Missing out-of-memory checks in vim9class.c (after v9.1.2000).
+Solution: Return FAIL early (John Marriott).
+
+Patch 9.1.2011
+Problem:  crash when unreferencing gtk icon theme
+          (noamhalevy-wq, after v9.1.1583)
+Solution: Remove the g_object_unref() call.
+
+Patch 9.1.2012
+Problem:  Vim9: cannot initialize class member with protected var
+Solution: Allow this to work if this happens within the same class
+          (Foxe Chen).
+
+Patch 9.1.2013
+Problem:  tests: When opening a conpty terminal, if process startup
+          fails, it will silently exit.  As a result, the
+          Test_terminal_shell_option in test_terminal3.vim failed in
+          conpty.
+Solution: Make conpty fail with an error messages in the same way as winpty
+          (Muraoka Taro).
+
+Patch 9.1.2014
+Problem:  clipboard: clipboard register corrupted with clipboard
+          provider (Satoru Kitaguchi and mikoto2000 after v9.1.1972)
+Solution: Only adjust clipboard register points to the unnamed register
+          (Foxe Chen).
+
+Patch 9.1.2015
+Problem:  blob2string() stopped after an empty line
+Solution: Specifically check for empty content (Foxe Chen).
+
+Patch 9.1.2016
+Problem:  At "if(0) do if(0); while(0); else", else should be aligned
+          with outer if, but is aligned with inner if.
+Solution: In function find_match, ignore "if" and "else" inside a
+          do-while loop, when looking for "if". (Anttoni Erkkilä).
+
+Patch 9.1.2017
+Problem:  getregionpos() depends on 'linebreak' setting
+Solution: Reset linebreak setting temporarily (McAuley Penney).
+
+Patch 9.1.2018
+Problem:  proto: ops.pro outdated (after v9.1.2017)
+Solution: Regenerate the ops.pro proto file (Tao).
+
+Patch 9.1.2019
+Problem:  When virtualedit is set to all, the cursor is supposed to be
+          permitted to reside anywhere, including on the virtual space
+          beyond the end of the buffer's text. Switching modes triggered
+          a routine that "fixed" a cursor that was past the end of the
+          line by shifting it back to the last actual character in the
+          line and compensating with a virtual column offset. While
+          visually identical, this re-encoding changed the underlying
+          byte index, causing position-reporting functions to return
+          inconsistent values after a mode change.
+Solution: Skip this coordinate adjustment when virtual editing is fully
+          enabled. By treating the line terminator as a valid, stable
+          position, the cursor’s internal representation remains
+          unchanged when entering or exiting Visual mode, ensuring
+          consistent coordinate reporting. Add a regression test to
+          check this functionality (McAuley Penney).
+
+Patch 9.1.2020
+Problem:  tests: test_virtualedit.vim leaves swapfiles behind
+Solution: Close open buffers using :bw! instead of :close!
+
+Patch 9.1.2021
+Problem:  filetype: fluent files are not recognized
+Solution: Detect *.ftl files as fluent filetype (ners).
+
+Patch 9.1.2022
+Problem:  Compilation issues on Windows when VIM
+          is compiled with OLE enabled, as "if_ole.cpp" cannot compile
+          due to the keyword conflict (after v9.1.2012).
+Solution: Rename the member variable of `exarg` from `class` to `ea_class`.
+          (Wei Tang)
+
+Patch 9.1.2023
+Problem:  A BufAdd autocommand may cause alist_add() to use freed
+          memory, this is caused by the w_locked variable unset too
+          early (henices)
+Solution: In trigger_undo_ftplugin() only set w_locked to false, if it
+          was false when calling the function.
+
+Patch 9.1.2024
+Problem:  'fsync' option cannot be set per buffer
+Solution: Make 'fsync' option global-local (glepnir).
+
+Patch 9.1.2025
+Problem:  Conpty terminal process may not start.
+Solution: Do not close the input handle at EOF when conpty is in use
+          (Muraoka Taro).
+
+Patch 9.1.2026
+Problem:  tests: Patch 9.1.2019 not tested properly.
+Solution: Add missing :exe (zeertzjq).
+
+Patch 9.1.2027
+Problem:  filetype: bicep filetype used for 2 bicep file types
+Solution: Detect *.bicepparam files as bicep-param filetype, include
+          new bicep-params and bicep filetype plugin (Scott McKendry).
+
+Patch 9.1.2028
+Problem:  Buffer overflow in buf_write() when converting incomplete
+          multi-byte characters (Kevin Goodsell)
+Solution: Make the buffer slightly larger.
+
+Patch 9.1.2029
+Problem:  tests: the test_vim9_class.vim testfile is too long
+Solution: Split out the interface related test cases into a new
+          test file test_vim9_interface.vim (Yegappan Lakshmanan).
+
+Patch 9.1.2030
+Problem:  inefficient use of ga_concat()
+Solution: Use ga_concat_len() when length is known (John Marriott).
+
+Patch 9.1.2031
+Problem:  Makefile: cannot run make installinks twice
+Solution: Change "ln -s" to "ln -sf" to force creation of the symlinks
+          (Thomas Petazzoni).
+
+Patch 9.1.2032
+Problem:  Vim9: error when using class member in Lambda
+Solution: Compare against uf_defclass variable (Foxe Chen).
+
+Patch 9.1.2033
+Problem:  tests: Test_terminal_cwd in test_terminal.vim fails flaky
+          in the Windows ConPTY terminal.
+Solution: In ConPTY, the timeout is extended to 1msec when reading a
+          channel associated with a job that is about to finish.  This
+          allows Vim to read the last output of a process in a pseudo
+          console. Add comments to make the reasoning clear (Muraoka Taro).
+
+Patch 9.1.2034
+Problem:  filetype: Fennel fnml files are not recognized (Alexei Mozaidze)
+Solution: Detect *.fnml files as fennel filetype.
+
+Patch 9.1.2035
+Problem:  filetype: Fennel fnlm files are not recognized
+          (Alexei Mozaidze, after v9.1.2034)
+Solution: Detect *.fnlm files as fennel filetype, revert detecting
+          *.fnml files
+
+Patch 9.1.2036
+Problem:  if_ruby: build error with ruby 4.0 (Mamoru Tasaka)
+Solution: Always define rb_check_typeddata (EnumDev).
+
+Patch 9.1.2037
+Problem:  undo: cursor position not correctly restored
+Solution: Do not override the saved cursor position (altermo).
+
+Patch 9.1.2038
+Problem:  tests: test_marks.vim leaves swapfiles behind
+Solution: Close open buffers using :bw! instead of :close!
+
+Patch 9.1.2039
+Problem:  if_ruby: crash when using Ruby/dyn 4.0 (after v9.1.2036)
+Solution: Fix Ruby 4.0 dynamic builds correctly by inlining
+          rb_check_typeddata (Yee Cheng Chin)
+
+Patch 9.1.2040
+Problem:  :tlnumenu incorrectly accepts a range.
+Solution: Remove EX_RANGE and EX_ZEROR from the command definition and
+          use ADDR_NONE (Doug Kearns).
+
+Patch 9.1.2041
+Problem:  tests: test_menu.vim leaves swapfiles behind
+Solution: Close open buffers using :bw! instead of :close!
+
+Patch 9.1.2042
+Problem:  filetype: systemd quadlet files are not recognized
+Solution: Detect additional patterns as systemd filetype (Ac5000).
+
+Patch 9.1.2043
+Problem:  filetype: kos files are not reconized
+Solution: Detect *.kos files as kos filetype (Chris Dragan).
+
+Patch 9.1.2044
+Problem:  Inefficient use of ga_concat()
+Solution: Use ga_concat_len() when the length is already known to avoid
+          use of strlen() (John Marriott).
+
+Patch 9.1.2045
+Problem:  Mac: Build failure with Mac OS X 10.6
+          (Sergey Fedorov, after: v9.1.1748)
+Solution: Add ifdefs MAC_OS_X_VERSION_10_7 around the code that sets the
+          scheduler priority.
+
+Patch 9.1.2046
+Problem:  MS-Windows: compile warnings in os_win32.c,
+          acp_to_enc() requires char_u* but others require char*
+          (John Marriott, after v9.1.2013)
+Solution: Cast the variables (Mao-Yining).
+
+Patch 9.1.2047
+Problem:  MS-Windows: style issue in gui_w32.c
+Solution: Fix indentation, drop unnecessary braces (Mao-Yining).
+
+Patch 9.1.2048
+Problem:  Pressing backspace in ConPTY on Windows deletes an entire
+          word, not just a single character. This is the same as
+          pressing Alt + backspace in cmd.exe.
+Solution: When using ConPTY on Windows, the `VTERM_KEY_BACKSPACE` key is
+          now sent when the Backspace key or Ctrl+H is detected (Muraoka Taro)
+
+Patch 9.1.2049
+Problem:  Vim9: unexpected E1209 error
+Solution: Fix error message (Hirohito Higashi).
+
+Patch 9.1.2050
+Problem:  tests: Test_cd_completion() may fail depending on the contents
+          of the root directory of the current drive on Windows.
+          readdir() may return a directory that cannot "cd" to, causing
+          this test to fail. An example of such a directory is
+          "System Volume Information" which only admin can "cd" to.
+Solution: When determining the directory to use for testing, use the
+          directory that we actually "cd" to successfully.
+          In addition, directories with '$' in their names are also
+          excluded, as they are considered environment variables during
+          completion and do not work as expected (Muraoka Taro).
+
+Patch 9.1.2051
+Problem:  Test_cd_completion test fails in Appveyor. In Appveyor, a path
+          containing spaces was selected as the test target. But the
+          comparison failed because spaces were not taken into account
+          (after v9.1.2050)
+Solution: Escape spaces in paths for comparison (Muraoka Taro).
+
+Patch 9.1.2052
+Problem:  Compile error when disabling linebreak feature
+Solution: Adjust ifdefs (Matthias Rader).
+
+Patch 9.1.2053
+Problem:  If another find.exe derived from findutils is installed on
+          Windows, unintended behavior will occur. If MSYS2 is installed and
+          prioritized over the system path, then find.exe derived from
+          findutils will be launched during build, resulting in an
+          unintended warning message.
+Solution: Specify the absolute path including SYSTEMROOT to launch
+          find.exe (Muraoka Taro).
+
+Patch 9.1.2054
+Problem:  Can't unpack tuple from imported function (Mao-Yining)
+Solution: Support multi-variable assignment from a tuple returned by an
+          imported function (Yegappan Lakshmanan).
+
+Patch 9.1.2055
+Problem:  Division by zero in :file after failing to wipe buffer
+          (after 8.2.4631).
+Solution: Still call buf_clear_file() when failing to wipe buffer (zeertzjq).
+
+Patch 9.1.2056
+Problem:  tests: inconsistent indent and line breaking in Test_maparg().
+Solution: Consistently use spaces-only indent. Reorder fields to group
+          similar ones together and break lines at consistent positions.
+          Remove a mapping when it is no longer used (zeertzjq).
+
+Patch 9.1.2057
+Problem:  Copying to clipboard register broken with 'go-P' (Coacher)
+Solution: Verify that clip_plus is available (Foxe Chen).
+
+Patch 9.1.2058
+Problem:  b_locked_split is not checked for :sbuffer, which allows
+          autocommands to leave windows open to freed buffers.
+Solution: In do_buffer_ext, check just before possibly splitting, after
+          handling 'switchbuf'. Leave win_split to handle the check for
+          curbuf (Sean Dewar).
+
+Patch 9.1.2059
+Problem:  filetype: Nickel files are not recognized
+Solution: Detect *.ncl files as nickel filetype (Hoang Nguyen)
+
+Patch 9.1.2060
+Problem:  filetype: Rasi include files are not recognized
+Solution: Detect *.rasinc as rasi filetype (Hoang Nguyen).
+
+Patch 9.1.2061
+Problem:  filetype: Koka files are not recognized
+Solution: Detect *.kk files as koka filetype (Hoang Nguyen).
+
+Patch 9.1.2062
+Problem:  filetype: djot files are not recognized
+Solution: Detect *.dj and *.djot files as djot filetype (Hoang Nguyen).
+
+Patch 9.1.2063
+Problem:  A few typos in the code and runtime files
+Solution: Fix those (zeertzjq).
+
+Patch 9.1.2064
+Problem:  completion: segfault during file name completion
+Solution: Initialize compl_num_bests (Girish Palya).
+
+Patch 9.1.2065
+Problem:  When building GvimExt with MinGW, some DLLs are still linked
+          even if STATIC_STDCPLUS=yes is set.
+Solution: Following the Vim core, make some libraries explicitly
+          statically linked.  The order of libraries is important, and
+          gcc_eh must be placed before winpthread (Muraoka Taro).
+
+Patch 9.1.2066
+Problem:  :wqall! doesn't close a terminal buffer like :qall! does
+          (after 8.0.1525).
+Solution: Check eap->forceit (zeertzjq).
+
+Patch 9.1.2067
+Problem:  shadow variable warning in menu.c
+Solution: Rename the variable (John Marriott).
+
+Patch 9.1.2068
+Problem:  :bdelete/bunload/bwipeout may attempt to switch to a closing
+          buffer, which fails. (after 9.1.2058)
+Solution: Don't consider switching to closing buffers (Sean Dewar).
+
+Patch 9.1.2069
+Problem:  when shortmess doesn't have 'S', backward search wrap doesn't
+          show the "W" before count. forward search works fine but
+          backward fails because the position check logic is backwards -
+          it checks if cursor < pos instead of using the existing
+          wrapped flag.
+Solution: Use sia->sa_wrapped flag that searchit() already sets
+          correctly (glepnir).
+
+Patch 9.1.2070
+Problem:  Autocomplete breaks ":help" when 'dict' points to a large file
+          (lxhillwind)
+Solution: Reset autocompletion timer expiry flag (Girish Palya).
+
+Patch 9.1.2071
+Problem:  tests: test_ins_complete.vim leaves swapfiles behind
+Solution: Close open buffers using :bw! instead of :close!
+
+Patch 9.1.2072
+Problem:  Socket server has some small issues
+Solution: Fix issues (Foxe Chen).
+
+Patch 9.1.2073
+Problem:  auto/configure needs to be regenerated (after v9.1.2072)
+Solution: Run make autoconf and update the configure script.
+
+Patch 9.1.2074
+Problem:  Compile error with Motif GUI (Tony Mechelynck, after v9.1.2072)
+Solution: Add ifdef FEAT_GUI_GTK
+
+Patch 9.1.2075
+Problem:  tests: wrong change to test_ins_complete.vim
+          (zeertzjq, after v9.1.2071)
+Solution: Revert unintentional changes.
+
+Patch 9.1.2076
+Problem:  tests: When running the MinGW test, an error occurs after
+          generating opt_test.vim.
+Solution: Rewrite the error detection in cmd.exe syntax (Muraoka Taro).
+
+Patch 9.1.2077
+Problem:  Vim9: type issue when appending item to a list (Peter Kenny)
+Solution: When adding a new item at the end of a list in vim9script, use
+          the proper item type (Yegappan Lakshmanan).
+
+Patch 9.1.2078
+Problem:  A few more typos in various files
+Solution: Fix those (zeertzjq, antonkesy).
+
+Patch 9.1.2079
+Problem:  use-after-free with 'quickfixtextfunc' wiping buffer (henices)
+Solution: Evaluate 'quickfixtextfunc' with textlock enabled.
+
+Patch 9.1.2080
+Problem:  W23/W24 messsage appears on :reg (Coacher)
+Solution: Silence message when using :reg command (Foxe Chen).
+
+Patch 9.1.2081
+Problem:  MS-Windows: "#ifdef FEAT_GUI" exists within "ifdef
+          FEAT_GUI_MSWIN", which is confusing when reading the code.
+          FEAT_GUI is always defined if FEAT_GUI_MSWIN is defined (see
+          vim.h).  Therefore, this check and the else block are unnecessary.
+Solution: Removed unnecessary "#ifdef FEAT_GUI" (Muraoka Taro).
+
+Patch 9.1.2082
+Problem:  modeless auto-select not working (Coacher)
+Solution: Add support for modeless autoselect (Foxe Chen).
+
+Patch 9.1.2083
+Problem:  style: wrong indentation of nested ifdefs
+Solution: Fix indentation (Hirohito Higashi).
+
+Patch 9.1.2084
+Problem:  Compile error when build with job feature (after v9.1.2077)
+Solution: Add ifdefs (John Marriott).
+
+Patch 9.1.2085
+Problem:  Use-after-free in winframe_remove() (henices)
+Solution: Set window_layout_locked() inside winframe_remove()
+          and check that writing diff files is disallowed when the
+          window layout is locked.
+
+Patch 9.1.2086
+Problem:  memory leak when not evaluating (just parsing) invalid literal
+          dict.
+Solution: Always clear the key's typval (Sean Dewar)
+
+Patch 9.1.2087
+Problem:  Crash when using :tabonly in BufUnload.
+Solution: Set curbuf when setting curwin->w_buffer. Don't wipe out a
+          buffer if there are no other buffers. Don't decrement
+          b_nwindows if it was 0 before buf_freeall() (zeertzjq).
+
+Patch 9.1.2088
+Problem:  Redundant NULL checks in find_pattern_in_path().
+Solution: Remove the NULL checks. Also fix typos in test_diffmode.vim
+          (zeertzjq).
+
+Patch 9.1.2089
+Problem:  Wayland: Clipboard not working with external programs on
+          Wayland (devsnek)
+Solution: Simplify the Wayland offer logic and drop offering the special
+          mime type (Foxe Chen).
+
+Patch 9.1.2090
+Problem:  Last buffer not freed with EXITFREE (after 9.1.2087).
+Solution: Free the last buffer when inside free_all_mem() (zeertzjq).
+
+Patch 9.1.2091
+Problem:  Ruby headers define HAVE_FSYNC, which leaks into Vim sources
+          on Windows and changes conditional compilation of buf_T. This
+          causes struct layout mismatches in if_ruby.c and results in a
+          different offset for the b_p_bl property, making Vim::Buffer
+          access fail (after v9.1.2024)
+Solution: Undefine HAVE_FSYNC after including the Ruby headers.
+
+Patch 9.1.2092
+Problem:  Cannot detect kitty foreground/background color
+Solution: Update builtin termcap entries (Mateo Gjika).
+
+Patch 9.1.2093
+Problem:  heap-use-after-free when wiping buffer in TabClosedPre.
+Solution: Check window_layout_locked() when closing window(s) in another
+          tabpage (zeertzjq).
+
+Patch 9.1.2094
+Problem:  filetype: tiger files are not recognized
+Solution: Detect *.tig files as tiger filetype (Christian Clason).
+
+Patch 9.1.2095
+Problem:  :wqall! doesn't quit when using :quit in BufWritePost
+          (after 8.0.1190).
+Solution: Restore old value of "exiting" when calling not_exiting()
+          instead of always resetting it to FALSE (zeertzjq).
+
+Patch 9.1.2096
+Problem:  Vim9: truthiness issue with objects (kennypete)
+Solution: Return true for an non-null object (Yegappan Lakshmanan).
+
+Patch 9.1.2097
+Problem:  TabClosedPre may be triggered twice for the same tab page when
+          closing another tab page in BufWinLeave (after 9.1.1211).
+Solution: Store whether TabClosedPre was triggered in tabpage_T (zeertzjq).
+
+Patch 9.1.2098
+Problem:  Crash with 'wildmenu' when typing Ctrl-Y after Ctrl-A
+          (after 9.1.1714) (fizz-is-on-the-way).
+Solution: Check if there are matches before applying one (zeertzjq).
+
+Patch 9.1.2099
+Problem:  Depending on the worker's environment, the line endings in
+          ja.sjis.po may differ from those in the source ja.po.
+Solution: By setting standard input and output to binary mode, the line
+          endings for input and output will match (Muraoka Taro)
+
+Patch 9.1.2100
+Problem:  filetype: tiltfiles are not recognized
+Solution: Detect Tiltfiles.* and *.tiltfiles as tiltfile filetype (Luis Davim)
+
+Patch 9.1.2101
+Problem:  Vim9: more truthiness issues (kennypete)
+Solution: Class, enum and typealias cannot be used with the falsy
+          operator (Yegappan Lakshmanan).
+
+Patch 9.1.2102
+Problem:  foldtext not reversed and cut off in 'rightleft' mode (bfredl)
+Solution: Fix the rightleft redrawing logic (Sergey Vlasov).
+
+Patch 9.1.2103
+Problem:  tests: test_fold.vim leaves swapfiles behind
+Solution: Close open buffer using :bw! instead of :close!
+
+Patch 9.1.2104
+Problem:  readdirex() might be slow (Mao-Yining)
+Solution: Avoid double slash in path concatenation in create_readdirex_item()
+          (Yasuhiro Matsumoto).
+
+Patch 9.1.2105
+Problem:  Not enough tests for using plain_vgetc().
+Solution: Add tests for using plain_vgetc() during various commands (zeertzjq)
+
+Patch 9.1.2106
+Problem:  Vim9: class, enum and type alias can be used as value in an
+          expression (kennypete)
+Solution: Abort expression evaluation if class, enum or type alias is
+          used in an expression (Yegappan Lakshmanan).
+
+Patch 9.1.2107
+Problem:  :normal may change cmdline history if the keys don't
+          explicitly leave Cmdline mode (after 9.1.1872).
+Solution: Check ex_normal_busy (zeertzjq).
+
+Patch 9.1.2108
+Problem:  Test_foldtextresult_rightleft() does not restore 'columns'
+          (after v9.1.2102)
+Solution: Save and restore the value of 'columns' (zeertzjq).
+
+Patch 9.1.2109
+Problem:  filetype: NetLinx fires are not recognized
+Solution: Detect *.axs and *.axi as netlinx filetype (kb).
+
+Patch 9.1.2110
+Problem:  filetype: skhd files are not recognized
+Solution: Detect .skhdrc and skhdrc as skhd filetype, include a syntax and
+          filetype plugin, add syntax tests (Kiyoon Kim).
+
+Patch 9.1.2111
+Problem:  Vim9: no error for elseif/else after else
+Solution: Report an error (Hirohito Higashi).
+
+Patch 9.1.2112
+Problem:  long statusline may crash if using singlebyte encoding
+          (fizz-is-on-the-way)
+Solution: Drop the non-mbyte codepath and always use the mbyte code (zeertzjq)
+
+Patch 9.1.2113
+Problem:  potential NULL pointer dereference issues (EpheraXun)
+Solution: Check returned pointer to be non NULL (Yasuhiro Matsumoto).
+
+Patch 9.1.2114
+Problem:  modeless selection not copied to * register when P in
+          guioptions (Coacher)
+Solution: Make the "P" flag override the "a" and "A" flag (Foxe Chen).
+
+Patch 9.1.2115
+Problem:  CI: wrong preprocessor indentation (after v9.1.2114)
+Solution: Update indentation (Yasuhiro Matsumoto).
+
+Patch 9.1.2116
+Problem:  crash when using 'tagfunc' (Rodrigo Queipo)
+Solution: Do not add the user_data to the 'info' dictionary when called
+          for insert mode completion (the TAG_INS_COMP flag is set).
+          Completion should not depend on the state of a previous tag
+          jump (Yasuhiro Matsumoto).
+
+Patch 9.1.2117
+Problem:  unnecessary braces in terminal.c
+          (Christ van Willegen, after v9.1.2113)
+Solution: Remove braces.
+
+Patch 9.1.2118
+Problem:  'cursorline' and part of 'statusline' are missing after
+          :diffput to an empty buffer.
+Solution: Make sure the cursor doesn't go beyond the last line after
+          :diffput (zeertzjq).
+
+Patch 9.1.2119
+Problem:  tests: Test_language_cmd fails on OpenBSD because the test
+          uses an invalid locale name and expects the command to produce
+          an error. OpenBSD accepts (almost) any locale name as valid by
+          design, so the :lang command succeeds and the test fails.
+Solution: Slightly update the "bad" locale name to make it something
+          that OpenBSD considers invalid by adding a dot (but not ending
+          with ".UTF-8"). Maintain the original two underscores in the
+          name because that ensures Windows will also see it as invalid
+          (Kevin Goodsell).
+
+Patch 9.1.2120
+Problem:  blob2str() does not restore trailing newline
+Solution: Append empty string (thinca).
+
+Patch 9.1.2121
+Problem:  Vim9: type issue when modifying a variable using :legacy
+          (kennypete)
+Solution: In a vim9 script, when modifying a variable using the legacy
+          command, check the type (Yegappan Lakshmanan).
+
+Patch 9.1.2122
+Problem:  Vim9: Negating a float doesn't result in a boolean (kennypete)
+Solution: Make it return a boolean (Yegappan Lakshmanan).
+
+Patch 9.1.2123
+Problem:  using NOT with a float returns a float in legacy vim script
+          (kennypete)
+Solution: Return a number instead of a float (Yegappan Lakshmanan).
+
+Patch 9.1.2124
+Problem:  blob2str() does not handle UTF-16 encoding (Hirohito Higashi)
+Solution: Refactor the code and fix remaining issues, see below
+          (Yasuhiro Matsumoto).
+
+Patch 9.1.2125
+Problem:  MS-Windows: DirectX rendering can be improved
+Solution: Use lpDx advance, fix vertical text shift and correct
+          font-size calculations (Yasuhiro Matsumoto).
+
+Patch 9.1.2126
+Problem:  vim --version used single column for feature list
+          (Ben Knoble, after v9.1.1898)
+Solution: Restore old behaviour and assume 80 columns, making sure the feature
+          list is shown in several columns (Ben Knoble, Hirohito Higashi).
+
+Patch 9.1.2127
+Problem:  MS-Windows: DirectX renders font too small in comparison to
+          the GDI rendering (Linwei, after v9.1.2125)
+Solution: Implement proper font clipping (Yasuhiro Matsumoto).
+
+Patch 9.1.2128
+Problem:  heap UAF if autocommands from reloading a file changed outside
+          of Vim wipe its buffer.
+Solution: Validate the bufref after buf_reload (Sean Dewar).
 
  vim:tw=78:ts=8:noet:ft=help:norl:fdm=manual:nofoldenable