changeset 33973:6df74244a717

runtime(doc): Create Changelog until v9.0.2175 (#13728) Commit: https://github.com/vim/vim/commit/5872bcb6e8dfc15d7a5c0aaaf94d8029f3a1fa3f Author: Christian Brabandt <cb@256bit.org> Date: Tue Dec 19 20:10:43 2023 +0100 runtime(doc): Create Changelog until v9.0.2175 (https://github.com/vim/vim/issues/13728) Patch list created using: ``` git log --grep='^patch' --reverse --pretty='format:%D%gs%n%b' "v9.0.0000~1"..master |sed -e '/^Signed-off-by:.*/d' -e '/^\(closes\|fixes\)/d' -e 's/^tag: v/Patch /' ``` and then post-processed using vim. Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Tue, 19 Dec 2023 20:15:04 +0100
parents 93b19f3e34b8
children 730a3ddebdd2
files runtime/doc/version9.txt
diffstat 1 files changed, 9589 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt*  For Vim version 9.0.  Last change: 2023 Aug 09
+*version9.txt*  For Vim version 9.0.  Last change: 2023 Dec 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -31755,9 +31755,9593 @@ Options: ~
 'smoothscroll'		scroll by screen lines when 'wrap' is set
 'splitkeep'		determines scroll behavior for split windows
 
-
-Patches						*patches-9.1*
--------
-
+==============================================================================
+PATCHES						*patches-9.1* *bug-fixes-9.1*
+						*patches-after-9.0*
+
+The list of patches that got included since 9.0.0.  This includes all the new
+features, but does not include runtime file changes (syntax, indent, ftplugin,
+documentation, etc.)
+
+Patch 9.0.0001
+Problem:    Travis CI is no longer used.
+Solution:   Delete the Travis CI configuration. (Hugo Osvaldo Barrera,
+            closes #10636)
+
+Patch 9.0.0002
+Problem:    Map functionality outside of map.c.
+Solution:   Move f_hasmapto() to map.c.  Rename a function. (closes #10611)
+
+Patch 9.0.0003
+Problem:    Functions are global while they could be local.
+Solution:   Add "static".  Add a few tests. (Yegappan Lakshmanan,
+            closes #10612)
+
+Patch 9.0.0004
+Problem:    Plural messages not translated properly.
+Solution:   Use ngettext() in a few more places. (Matvey Tarasov,
+            closes #10606)
+
+Patch 9.0.0005
+Problem:    Hare files are not recognized.
+Solution:   Add a filetype pattern. (Hugo Osvaldo Barrera, closes #10630)
+
+Patch 9.0.0006
+Problem:    Not all Visual Basic files are recognized.
+Solution:   Change detection of *.cls files. (Doug Kearns)
+
+Patch 9.0.0007
+Problem:    No support for double, dotted and dashed underlines.
+Solution:   Add the termcap entries and highlight modes. (closes #9553)
+
+Patch 9.0.0008
+Problem:    Cannot specify the variable name for "xxd -i".
+Solution:   Add the "-name" argument. (David Gow, closes #10599)
+
+Patch 9.0.0009
+Problem:    Going past the end of a menu item with only modifier.
+Solution:   Check for NUL.
+
+Patch 9.0.0010
+Problem:    Returning 0 for has('patch-9.0.0') is inconsistent.
+Solution:   Make it return 1. (closes #10640)
+
+Patch 9.0.0011
+Problem:    Reading beyond the end of the line with put command.
+Solution:   Adjust the end mark position.
+
+Patch 9.0.0012
+Problem:    Signature files not detected properly.
+Solution:   Add a function to better detect signature files. (Doug Kearns)
+
+Patch 9.0.0013
+Problem:    Reproducing memory access errors can be difficult.
+Solution:   When testing, copy each line to allocated memory, so that valgrind
+            can detect accessing memory before and/or after it.  Fix uncovered
+            problems.
+
+Patch 9.0.0014
+Problem:    Missing part of the test override change.
+Solution:   Add the missing part.
+
+Patch 9.0.0015
+Problem:    With EXITFREE defined terminal menus are not cleared.
+Solution:   Also clear terminal menus. Remove condition that is always true.
+            (closes #10641)
+
+Patch 9.0.0016
+Problem:    Comparing line pointer for 'breakindent' is not reliable.
+Solution:   Make a copy of the line.
+
+Patch 9.0.0017
+Problem:    Accessing memory beyond the end of the line.
+Solution:   Stop Visual mode when closing a window.
+
+Patch 9.0.0018
+Problem:    Going over the end of the typahead.
+Solution:   Put a NUL after the typeahead.
+
+Patch 9.0.0019
+Problem:    Timers test not run where possible.
+Solution:   Adjust platform checks. (closes #10645)
+
+Patch 9.0.0020
+Problem:    With some completion reading past end of string.
+Solution:   Check the length of the string.
+
+Patch 9.0.0021
+Problem:    Invalid memory access when adding word with a control character to
+            the internal spell word list.
+Solution:   Disallow adding a word with control characters or a trailing
+            slash.
+
+Patch 9.0.0022
+Problem:    Spell test fails.
+Solution:   Expect new error is given.
+
+Patch 9.0.0023
+Problem:    On Solaris timer_create() exists but does not work.
+Solution:   Adjust the configure check to run the test program.
+            (closes #10647)
+
+Patch 9.0.0024
+Problem:    May access part of typeahead buf that isn't filled.
+Solution:   Check length of typeahead.
+
+Patch 9.0.0025
+Problem:    Accessing beyond allocated memory when using the cmdline window in
+            Ex mode.
+Solution:   Use "*" instead of "'<,'>" for Visual mode.
+
+Patch 9.0.0026
+Problem:    Accessing freed memory with diff put.
+Solution:   Bail out when diff pointer is no longer valid.
+
+Patch 9.0.0027
+Problem:    The command line test is getting quite big.
+Solution:   Move command line window tests to a separate file.
+
+Patch 9.0.0028
+Problem:    MS-Windows: tests fail if there is a stray "runtime" directory.
+Solution:   Only use a "runtime" directory if it contains "defaults.vim".
+
+Patch 9.0.0029
+Problem:    The bitmaps/vim.ico file is not in the distribution.
+Solution:   Add it back to the distribution.  Adjust the build rules to have
+            it end up in the right place.
+
+Patch 9.0.0030
+Problem:    Matchfuzzy test depends on path of current directory.
+Solution:   Use fnamemodify() to remove the path. (Robin Becker,
+            closes #10650)
+
+Patch 9.0.0031
+Problem:    <cmod> of user command does not have correct verbose value.
+Solution:   Use the value from the command modifier. (closes #10651)
+
+Patch 9.0.0032
+Problem:    In the quickfix window 'cursorline' overrules QuickFixLine
+            highlighting.
+Solution:   Combine the attributes.  Add a test. (closes #10654)
+
+Patch 9.0.0033
+Problem:    On a Belgian keyboard CTRL-[ does not work.
+Solution:   Handle GDK_KEY_dead_circumflex. (Anton Sharonov, closes #10658)
+
+Patch 9.0.0034
+Problem:    Spell tests do not always clear the word list.
+Solution:   Clear the word list in TearDown(). (closes #10659)
+
+Patch 9.0.0035
+Problem:    Spell dump may go beyond end of an array.
+Solution:   Limit the word length.
+
+Patch 9.0.0036
+Problem:    'fillchars' cannot have window-local values.
+Solution:   Make 'fillchars' global-local. (closes #5206)
+
+Patch 9.0.0037
+Problem:    Build error.
+Solution:   Add missing change.
+
+Patch 9.0.0038
+Problem:    'listchars' test fails.
+Solution:   Use window-local value after setting the global value
+
+Patch 9.0.0039
+Problem:    Not all systems have GDK_KEY_dead_circumflex. (Hisashi T Fujinaka)
+Solution:   Add an #ifdef.
+
+Patch 9.0.0040
+Problem:    Use of set_chars_option() is confusing.
+Solution:   Add "apply" argument to store the result or not.  Merge similar
+            code.
+
+Patch 9.0.0041
+Problem:    A couple of filetype patterns do not have "*" before "/etc".
+Solution:   Add the star. (Jonas Strittmatter, closes #10662)
+
+Patch 9.0.0042
+Problem:    Missing change for filetype detection.
+Solution:   Include change to detect guile from shebang line.
+
+Patch 9.0.0043
+Problem:    Insufficient testing for bracket commands.
+Solution:   Add a few more tests. (closes #10668)
+
+Patch 9.0.0044
+Problem:    Typos in comments, wrapping lines.
+Solution:   Adjust comments.  Wrap lines.
+
+Patch 9.0.0045
+Problem:    Reading past end of completion with a long line and 'infercase'
+            set.
+Solution:   Allocate the string if needed.
+
+Patch 9.0.0046
+Problem:    Reading past end of completion with duplicate match.
+Solution:   Check string length
+
+Patch 9.0.0047
+Problem:    Using freed memory with recursive substitute.
+Solution:   Always make a copy for reg_prev_sub.
+
+Patch 9.0.0048
+Problem:    Cursor in wrong column with mouse click after concealed text.
+Solution:   Store the text column when drawing text.
+
+Patch 9.0.0049
+Problem:    Csv and tsv files are not recognized.
+Solution:   Add patterns fo csv and tsv files. (Leandro Lourenci,
+            closes #10680)
+
+Patch 9.0.0050
+Problem:    Split else-of is confusing.
+Solution:   Join the lines. (closes #10696)
+
+Patch 9.0.0051
+Problem:    Using CTRL-C wih :append may hang Vim.
+Solution:   Reset got_int. (closes #10729, closes #10728)
+
+Patch 9.0.0052
+Problem:    "zG" may throw an error if invalid character follows.
+Solution:   Pass the word length to valid_spell_word(). (Ken Takata,
+            closes #10737)
+
+Patch 9.0.0053
+Problem:    E1281 not tested with the old regexp engine.
+Solution:   Loop over the values of 'regexp'. (Dominique Pellé, closes #10695)
+
+Patch 9.0.0054
+Problem:    Compiler warning for size_t to int conversion.
+Solution:   Add type cast. (Mike Williams, closes #10741)
+
+Patch 9.0.0055
+Problem:    Bitbake files are not detected.
+Solution:   Add bitbake filetype detection by file name and contents. (Gregory
+            Anders, closes #10697)
+
+Patch 9.0.0056
+Problem:    Wrong line number reported when :cexpr fails in :def function.
+Solution:   Set line_number before executing :cexpr. (closes #10735)
+
+Patch 9.0.0057
+Problem:    has('patch-xxx') returns true.
+Solution:   Check for digit. (closes #10751)
+
+Patch 9.0.0058
+Problem:    Win32: cannot test low level events.
+Solution:   Add "sendevent" to test_gui_event(). (Yegappan Lakshmanan,
+            closes #10679)
+
+Patch 9.0.0059
+Problem:    Test file has wrong name.
+Solution:   Rename the file.  Various small fixes. (closes #10674)
+
+Patch 9.0.0060
+Problem:    Accessing uninitialized memory when completing long line.
+Solution:   Terminate string with NUL.
+
+Patch 9.0.0061
+Problem:    ml_get error with nested autocommand.
+Solution:   Also check line numbers for a nested autocommand. (closes #10761)
+
+Patch 9.0.0062
+Problem:    Compiler warnings for signed/unsigned char.
+Solution:   Add type casts. (John Marriott)
+
+Patch 9.0.0063
+Problem:    Too many type casts for dict_get functions.
+Solution:   Change the key argument from "char_u *" to "char *".
+
+Patch 9.0.0064
+Problem:    Confusing error when using "q:" in command line window.
+Solution:   Check for the situation and give a better error message.
+            (closes #10756)
+
+Patch 9.0.0065
+Problem:    Cross-compiling doesn't work because of timer_create check.
+Solution:   Use AC_CACHE_CHECK(). (Richard Purdie, closes #10777)
+
+Patch 9.0.0066
+Problem:    Switching window uneccarily when getting buffer options.
+Solution:   Do not switch window when getting buffer options. (closes #10767)
+
+Patch 9.0.0067
+Problem:    Cannot show virtual text.
+Solution:   Initial changes for virtual text support, using text properties.
+
+Patch 9.0.0068
+Problem:    Build fails with tiny features.
+Solution:   Add #ifdef.
+
+Patch 9.0.0069
+Problem:    Leaking memory when using text prop with inserted text.
+Solution:   Clear the growarray with text.
+
+Patch 9.0.0070
+Problem:    Using utfc_ptr2char_len() when length is negative.
+Solution:   Check value of length. (closes #10760)
+
+Patch 9.0.0071
+Problem:    Command overlaps with printed text in scrollback.
+Solution:   Clear until end-of-line and use correct message chunk.
+            (closes #10765, closes #10764)
+
+Patch 9.0.0072
+Problem:    Compiler warning for uninitialized variable.
+Solution:   Initialize it. (John Marriott)
+
+Patch 9.0.0073
+Problem:    Too many files recognized as bsdl.
+Solution:   Use pattern "*.bsd" instead of "*bsd". (Martin Tournoij,
+            closes #10783)
+
+Patch 9.0.0074
+Problem:    Coverity warns for double free.
+Solution:   Reset cts_text_prop_count when freeing cts_text_props.
+
+Patch 9.0.0075
+Problem:    Some compilers warn for using an uninitialized variable. (Tony
+            Mechelynck)
+Solution:   Initialize the variable.
+
+Patch 9.0.0076
+Problem:    No test for what patch 8.1.1424 fixes.
+Solution:   Add a test. (closes #10789)
+
+Patch 9.0.0077
+Problem:    When switching window in autocmd the restored cursor position may
+            be wrong.
+Solution:   Do not restore the cursor if it was not set. (closes #10775)
+
+Patch 9.0.0078
+Problem:    Star register is changed when deleting and both "unnamed" and
+            "unnamedplus" are in 'clipboard'.
+Solution:   Make the use of the star register work as documented. (Ernie Rael,
+            closes #10669)
+
+Patch 9.0.0079
+Problem:    Error in autoload script not reported for 'foldexpr'.
+Solution:   Reset "emsg_off" when auto-loading a script. (closes #10685)
+
+Patch 9.0.0080
+Problem:    Compiler warning for size_t to int conversion.
+Solution:   Add type casts. (Mike Williams, closes #10795)
+
+Patch 9.0.0081
+Problem:    Command line completion of user command may have duplicates.
+            (Dani Dickstein)
+Solution:   Skip global user command if an identical buffer-local one is
+            defined. (closes #10797)
+
+Patch 9.0.0082
+Problem:    Cannot interrupt global command from command line.
+Solution:   Reset got_int in another place. (closes #10739)
+
+Patch 9.0.0083
+Problem:    ModeChanged event not triggered when leaving the cmdline window.
+Solution:   Call may_trigger_modechanged(). (closes #10791)
+
+Patch 9.0.0084
+Problem:    Using "terraform" filetype for .tfvars file is bad.
+Solution:   use "terraform-vars", so that different completion and other
+            mechanisms can be used. (Radek Simko, closes #10755)
+
+Patch 9.0.0085
+Problem:    ":write" fails after ":file name" and the ":edit".
+Solution:   Reset BF_NOTEDITED when using ":edit". (closes #10790)
+
+Patch 9.0.0086
+Problem:    Tabline is not redrawn when entering command line.
+Solution:   Set "redraw_tabline". (closes #10771)
+
+Patch 9.0.0087
+Problem:    MS-Windows: CTRL-[ on Belgian keyboard does not work like Esc.
+Solution:   Figure out what the key code means. (Anton Sharonov,
+            closes #10687, closes #10454)
+
+Patch 9.0.0088
+Problem:    Pattern for detecting bitbake files is not sufficient.
+Solution:   Adjust the pattern. (Gregory Anders, closes #10743)
+
+Patch 9.0.0089
+Problem:    Fuzzy argument completion doesn't work for shell commands.
+Solution:   Check for cmdidx not being CMD_bang. (Yegappan Lakshmanan,
+            closes #10769)
+
+Patch 9.0.0090
+Problem:    No error when assigning bool to a string option with setwinvar().
+Solution:   Give an error (closes #10766)
+
+Patch 9.0.0091
+Problem:    Duplicate error number.
+Solution:   Use unique error number.
+
+Patch 9.0.0092
+Problem:    Plugins cannot change v:completed_item.
+Solution:   Make v:completed_item writeable. (Shougo Matsushita,
+            closes #10801)
+
+Patch 9.0.0093
+Problem:    Sway config files are recognized as i3config.
+Solution:   Recognize swayconfig separately. (James Eapen, closes #10672)
+
+Patch 9.0.0094
+Problem:    Cursor restored unexpected with nested autocommand.
+Solution:   Do not restore the cursor when it was moved intentionally.
+            (closes #10780)
+
+Patch 9.0.0095
+Problem:    Conditions are always true.
+Solution:   Remove useless conditions. (closes #10802)
+
+Patch 9.0.0096
+Problem:    Flag "new_value_alloced" is always true.
+Solution:   Remove "new_value_alloced". (closes #10792)
+
+Patch 9.0.0097
+Problem:    Long quickfix line is truncated for :clist.
+Solution:   Allocate a buffer if needed.
+
+Patch 9.0.0098
+Problem:    missing include file in timer_create configure check.
+Solution:   Inlucde stdlib.h.
+
+Patch 9.0.0099
+Problem:    Scrollback can be wrong after redrawing the command line.
+Solution:   Clear unfinished scrollback when redrawing. (closes #10807)
+
+Patch 9.0.0100
+Problem:    Get hit-enter prompt for system() when '!' is in 'guioptions'.
+Solution:   Do not call wait_return() when not redrawing. (closes #3327)
+
+Patch 9.0.0101
+Problem:    Invalid memory access in diff mode with "dp" and undo.
+Solution:   Make sure the line number does not go below one.
+
+Patch 9.0.0102
+Problem:    Reading past end of line with insert mode completion.
+Solution:   Check text length.
+
+Patch 9.0.0103
+Problem:    If running configure with cached results -lrt may be missing.
+Solution:   Use two cache variables, one without and one with -lrt.
+            (closes #10799)  Swap checks to avoid adding -lrt unnecessarily.
+
+Patch 9.0.0104
+Problem:    Going beyond allocated memory when evaluating string constant.
+Solution:   Properly skip over <Key> form.
+
+Patch 9.0.0105
+Problem:    Illegal memory access when pattern starts with illegal byte.
+Solution:   Do not match a character with an illegal byte.
+
+Patch 9.0.0106
+Problem:    Illegal byte regexp test doesn't fail when fix is reversed.
+Solution:   Make sure illegal bytes end up in sourced script file.
+
+Patch 9.0.0107
+Problem:    Condition always has the same value.
+Solution:   Remove the condition.
+
+Patch 9.0.0108
+Problem:    Configure check for timer_create may give wrong error.
+Solution:   Give a warning instead of an error.
+
+Patch 9.0.0109
+Problem:    Writing over the end of a buffer on stack when making list of
+            spell suggestions.
+Solution:   Make sure suggested word is not too long. (closes #10812)
+
+Patch 9.0.0110
+Problem:    Help tag generation picks up words in code examples.
+Solution:   Skip over examples. (Carlo Teubner, closes #10813)
+
+Patch 9.0.0111
+Problem:    "nocombine" is missing from synIDattr().
+Solution:   Add "nocombine". (Muni Tanjim, closes #10816)
+
+Patch 9.0.0112
+Problem:    MS-Windows: test fails because file already exists.
+Solution:   Wait a little while until the file is gone.
+
+Patch 9.0.0113
+Problem:    has() is not strict about parsing the patch version.
+Solution:   Check the version more strictly. (Ken Takata, closes #10752)
+
+Patch 9.0.0114
+Problem:    The command line takes up space even when not used.
+Solution:   Allow for 'cmdheight' to be set to zero. (Shougo Matsushita,
+            closes #10675, closes #940)
+
+Patch 9.0.0115
+Problem:    When 'cmdheight' is zero pressing ':' may scroll a window.
+Solution:   Add the made_cmdheight_nonzero flag and set 'scrolloff' to zero.
+
+Patch 9.0.0116
+Problem:    Virtual text not displayed if 'signcolumn' is "yes".
+Solution:   Set c_extra and c_final to NUL.
+
+Patch 9.0.0117
+Problem:    Text of removed textprop with text is not freed.
+Solution:   Free the text when the property is removed.  Reduce the array size
+            to ignore NULLs at the end.
+
+Patch 9.0.0118
+Problem:    No test for what patch 9.0.0155 fixes.
+Solution:   Add a test. Fix typos.  (closes #10822)
+
+Patch 9.0.0119
+Problem:    Tiny chance that creating a backup file fails.
+Solution:   Check for EEXIST error. (Ken Takata, closes #10821)
+
+Patch 9.0.0120
+Problem:    MS-Windows GUI: cannot use AltGr + Space.
+Solution:   Check for VK_MENU instead of VK_LMENU. (Anton Sharonov,
+            closes #10820, closes #10753)
+
+Patch 9.0.0121
+Problem:    Cannot put virtual text after or below a line.
+Solution:   Add "text_align" and "text_wrap" arguments.
+
+Patch 9.0.0122
+Problem:    Breakindent test fails.
+Solution:   Fix condition.
+
+Patch 9.0.0123
+Problem:    Cannot build with small features.
+Solution:   Add #ifdef.
+
+Patch 9.0.0124
+Problem:    Code has more indent than needed.
+Solution:   Use continue and return statements. (closes #10824)
+
+Patch 9.0.0125
+Problem:    Cursor positioned wrong with virtual text after the line.
+Solution:   Clear cts_with_trailing.
+
+Patch 9.0.0126
+Problem:    Expanding file names fails in directory with more than 255
+            entries.
+Solution:   Use an int instead of char_u to count. (John Drouhard,
+            closes #10818)
+
+Patch 9.0.0127
+Problem:    Unused variable.
+Solution:   Remove the variable. (closes #10829)
+
+Patch 9.0.0128
+Problem:    Coverity complains about possible double free.
+Solution:   Clear the pointer to avoid warnings.
+
+Patch 9.0.0129
+Problem:    Compiler warning for int/size_t usage.
+Solution:   Add a type cast. (Mike Williams, closes #10830)
+
+Patch 9.0.0130
+Problem:    Cursor position wrong when inserting around virtual text.
+Solution:   Update the cursor position properly.
+
+Patch 9.0.0131
+Problem:    Virtual text with Tab is not displayed correctly.
+Solution:   Change any Tab to a space.
+
+Patch 9.0.0132
+Problem:    Multi-byte characters in virtual text not handled correctly.
+Solution:   Count screen cells instead of bytes.
+
+Patch 9.0.0133
+Problem:    Virtual text after line moves to joined line. (Yegappan
+            Lakshmanan)
+Solution:   When joining lines only keep virtual text after the last line.
+
+Patch 9.0.0134
+Problem:    No test for text property with column zero.
+Solution:   Add a test.  Add message to assert for no open popups.
+
+Patch 9.0.0135
+Problem:    Comment about tabpage line above the wrong code.
+Solution:   Move the comment. (closes #10836)
+
+Patch 9.0.0136
+Problem:    After CTRL-Left-mouse click a mouse scroll also has CTRL.
+Solution:   Reset orig_mouse_code also for wheel events. (closes #10840)
+
+Patch 9.0.0137
+Problem:    Debugger test may fail when $CWD is very long.
+Solution:   Skip the test if the directory name is too long. (James McCoy,
+            closes #10837)
+
+Patch 9.0.0138
+Problem:    Not enough characters accepted for 'spellfile'.
+Solution:   Add vim_is_fname_char() and use it for 'spellfile'.
+
+Patch 9.0.0139
+Problem:    Truncating virtual text after a line not implemented.
+            Cursor positioning wrong with Newline in the text.
+Solution:   Implement truncating.  Disallow control characters in the text.
+            (closes #10842)
+
+Patch 9.0.0140
+Problem:    execute() does not use the "legacy" command modifier.
+Solution:   pass the command modifier in sticky_cmdmod_flags. (Kota Kato,
+            closes #10845)
+
+Patch 9.0.0141
+Problem:    "delmenu" does not remove autocmmands. Running menu test function
+            alone fails.
+Solution:   Delete autocommands Make sure there is at least one menu.
+            (closes #10848)
+
+Patch 9.0.0142
+Problem:    Crash when adding and removing virtual text. (Ben Jackson)
+Solution:   Check that the text of the text property still exists.
+
+Patch 9.0.0143
+Problem:    Cursor positioned after virtual text in empty line.
+Solution:   Keep cursor in the first column. (closes #10786)
+
+Patch 9.0.0144
+Problem:    Text property cannot override 'cursorline' highlight.
+Solution:   Add the "override" flag to prop_type_add(). (closes #5533,
+            closes #8225).
+
+Patch 9.0.0145
+Problem:    Substitute that joins lines drops text properties.
+Solution:   Move text properties of the last line to the new line.
+
+Patch 9.0.0146
+Problem:    Missing part of change for "override" flag.
+Solution:   Add the missing change.
+
+Patch 9.0.0147
+Problem:    Cursor positioned wrong after two text properties with virtual
+            text and "below" alignment. (Tim Pope)
+Solution:   Do not stop after a text property using MAXCOL. (closes #10849)
+
+Patch 9.0.0148
+Problem:    A "below" aligned text property gets 'showbreak' displayed.
+Solution:   Do not use 'showbreak' before or in virtual text. (issue #10851)
+
+Patch 9.0.0149
+Problem:    Test for fuzzy completion fails sometimes.
+Solution:   Use a more specific file name to minimize the chance of matching a
+            random directory name. (closes #10854)
+
+Patch 9.0.0150
+Problem:    Error for using #{ in an expression is a bit confusing.
+Solution:   Mention that this error is only given for an expression.
+            Avoid giving the error more than once. (closes #10855)
+
+Patch 9.0.0151
+Problem:    A "below" aligned text property does not work with 'nowrap'.
+Solution:   Start a new screen line to display the virtual text.
+            (closes #10851)
+
+Patch 9.0.0152
+Problem:    Warning for unused argument in small build.
+Solution:   Add "UNUSED".
+
+Patch 9.0.0153
+Problem:    No fold and sign column for virtual text with "below" align and
+            'nowrap'.
+Solution:   Go back to draw state WL_START when moving to the next line.
+            (closes #10851)
+
+Patch 9.0.0154
+Problem:    Text properties wrong after splitting a line.
+Solution:   Check for text properties after the line. (closes #10857)
+
+Patch 9.0.0155
+
+Patch 9.0.0156
+Problem:    Giving E1170 only in an expression is confusing.
+Solution:   Give E1170 for any "#{ comment". (closes #10855)
+
+Patch 9.0.0157
+Problem:    'showbreak' displayed below truncated "after" text prop.
+Solution:   Suppress 'showbreak' when "after" prop doesn't wrap.
+
+Patch 9.0.0158
+Problem:    With 'nowrap' "below" property not displayed correctly.
+Solution:   Adjust virtual text with 'nowrap', do not truncate.
+
+Patch 9.0.0159
+Problem:    Cannot build with small features.
+Solution:   Check for E1170 only with FEAT_EVAL.
+
+Patch 9.0.0160
+Problem:    Some diff mode tests fail.
+Solution:   Only advance "ptr" when a text property follows.
+
+Patch 9.0.0161
+Problem:    Warning for uninitialized variable. (Tony Mechelynck)
+Solution:   Initialize line_attr_save.
+
+Patch 9.0.0162
+Problem:    Text property "below" gets indent if 'breakindent' is set. (Tim
+            Pope)
+Solution:   Do not put indent before text property. (closes #10859)
+
+Patch 9.0.0163
+Problem:    Text property not adjusted for text inserted with "p".
+Solution:   Adjust column and length of text properties.
+
+Patch 9.0.0164
+Problem:    Using freed memory with put command.
+Solution:   Get byte offset before replacing the line.
+
+Patch 9.0.0165
+Problem:    Looking up a text property type by ID is slow.
+Solution:   Keep an array of property types sorted on ID.
+
+Patch 9.0.0166
+Problem:    When using text properties the line text length is computed twice.
+Solution:   If the text lenght was already computed don't do it again.
+
+Patch 9.0.0167
+Problem:    Checking for text properties could be a bit more efficient.
+Solution:   Return early when there are no text properties.  Update TODO
+            items.
+
+Patch 9.0.0168
+Problem:    Cursor positioned wrong with two virtual text properties close
+            together. (Ben Jackson)
+Solution:   Add the original size, not the computed one. (closes #10864)
+
+Patch 9.0.0169
+Problem:    Insufficient testing for line2byte() with text properties.
+Solution:   Add tests with a lot of text.
+
+Patch 9.0.0170
+Problem:    Various minor code formatting issues.
+Solution:   Improve code formatting.
+
+Patch 9.0.0171
+Problem:    Quickfix line highlight is overruled by 'cursorline'.
+Solution:   Reverse the combination of attributes. (closes #10654)
+
+Patch 9.0.0172
+Problem:    Trying to allocate zero bytes.
+Solution:   Do not allocate the proptype array when there are none.
+            (closes #10867)
+
+Patch 9.0.0173
+Problem:    Assert fails only on MS-Windows.
+Solution:   Disable the assert for now.
+
+Patch 9.0.0174
+Problem:    No error for using "#{ comment" in a compiled function.
+Solution:   Make error checking for "#{" consistent. (closes #10855)
+
+Patch 9.0.0175
+Problem:    Spell checking for capital not working with trailing space.
+Solution:   Do not calculate cap_col at the end of the line. (Christian
+            Brabandt, closes #10870, issue #10838)
+
+Patch 9.0.0176
+Problem:    Checking character options is duplicated and incomplete.
+Solution:   Move checking to check_chars_options(). (closes #10863)
+
+Patch 9.0.0177
+Problem:    Cursor position wrong with 'virtualedit' and mouse click after end
+            of the line. (Hermann Mayer)
+Solution:   Do not use ScreenCols[] when 'virtualedit' is active.
+            (closes #10868)
+
+Patch 9.0.0178
+Problem:    Cursor position wrong with virtual text before Tab.
+Solution:   Use the byte length, not the cell with, to compare the column.
+            Correct tab size after text prop. (closes #10866)
+
+Patch 9.0.0179
+Problem:    Cursor position wrong with wrapping virtual text in empty line.
+Solution:   Adjust handling of an empty line. (closes #10875)
+
+Patch 9.0.0180
+Problem:    Stray logfile appears when running tests.
+Solution:   Remove ch_logfile() calls.
+
+Patch 9.0.0181
+Problem:    Textprop test with line2byte() fails on MS-Windows.
+Solution:   Fix updating chuncks in ml_delete_int().
+
+Patch 9.0.0182
+Problem:    Quarto files are not recognized.
+Solution:   Recognize quarto files by the extension. (Jonas Strittmatter,
+            closes #10880)
+
+Patch 9.0.0183
+Problem:    Extra space after virtual text when 'linebreak' is set.
+Solution:   Do not count virtual text when getting linebreak value.
+            (closes #10884)
+
+Patch 9.0.0184
+Problem:    Virtual text prop highlight continues after truncation.
+Solution:   Recompute the length of attributes.
+
+Patch 9.0.0185
+Problem:    Virtual text does not show if tehre is a text prop at same
+            position. (Ben Jackson)
+Solution:   Fix the sorting of properties. (closes #10879)
+
+Patch 9.0.0186
+Problem:    Virtual text without highlighting does not show. (Ben Jackson)
+Solution:   Use a text property when it has highlighting or when it has text.
+            (closes #10878)
+
+Patch 9.0.0187
+Problem:    Command line height changes when maximizing window height.
+Solution:   Do not change the command line height. (closes #10885)
+
+Patch 9.0.0188
+Problem:    Strange effects when using virtual text with "text_align" and
+            non-zero column. (Martin Tournoij)
+Solution:   Give an error. (closes #10888)
+
+Patch 9.0.0189
+Problem:    Invalid memory access for text prop without highlight.
+Solution:   Check for a valid highlight ID.
+
+Patch 9.0.0190
+Problem:    The way 'cmdheight' can be made zero is inconsistent.
+Solution:   Only make 'cmdheight' zero when setting it explicitly, not when
+            resizing windows. (closes #10890)
+
+Patch 9.0.0191
+Problem:    Messages test fails; window size incorrect when 'cmdheight' is
+            made smaller.
+Solution:   Properly cleanup after test with cmdheight zero.  Resize windows
+            correctly when 'cmdheight' gets smaller.
+
+Patch 9.0.0192
+Problem:    Possible invalid memory access when 'cmdheight' is zero. (Martin
+            Tournoij)
+Solution:   Avoid going over the end of w_lines[] when w_height is Rows.
+            (closes #10882)
+
+Patch 9.0.0193
+Problem:    Search and match highlight interfere with virtual text highlight.
+            (Ben Jackson)
+Solution:   Check for match highlight after text properties.  Reset and
+            restore search highlight when showing virtual text.
+            (closes #10892)
+
+Patch 9.0.0194
+Problem:    Cursor displayed in wrong position after removing text prop. (Ben
+            Jackson)
+Solution:   Invalidate the cursor position. (closes #10898)
+
+Patch 9.0.0195
+Problem:    Metafun files are not recogized.
+Solution:   Add filetype detection patterns.
+
+Patch 9.0.0196
+Problem:    Finding value in list may require a for loop.
+Solution:   Add indexof(). (Yegappan Lakshmanan, closes #10903)
+
+Patch 9.0.0197
+Problem:    Astro files are not detected.
+Solution:   Add a pattern to match Astro files. (Emilia Zapata, closes #10904)
+
+Patch 9.0.0198
+Problem:    ml_get error when switching buffer in Visual mode.
+Solution:   End Visual mode when switching buffer. (closes #10902)
+
+Patch 9.0.0199
+Problem:    Cursor position wrong with two right-aligned virtual texts.
+Solution:   Add the padding for right-alignment. (issue #10906)
+
+Patch 9.0.0200
+Problem:    cursor in a wrong positoin if 'wrap' is off and using two right
+            aligned text props in one line.
+Solution:   Count an extra line for a right aligned text property after a
+            below or right aligned text property. (issue #10909)
+
+Patch 9.0.0201
+Problem:    CursorLine highlight overrules virtual text highlight.
+Solution:   Let extra attribute overrule line attribute. (closes #10909)
+
+Patch 9.0.0202
+Problem:    Code and help for indexof() is not ideal.
+Solution:   Refactor the code, improve the help. (Yegappan Lakshmanan,
+            closes #10908)
+
+Patch 9.0.0203
+Problem:    Confusing variable name.
+Solution:   Use "prim_aep" instead of "spell_aep".
+
+Patch 9.0.0204
+Problem:    indexof() may leak memory.
+Solution:   Free allocated values. (Yegappan Lakshmanan, closes #10916)
+
+Patch 9.0.0205
+Problem:    Cursor in wrong position when inserting after virtual text. (Ben
+            Jackson)
+Solution:   Put the cursor after the virtual text, where the text will be
+            inserted. (closes #10914)
+
+Patch 9.0.0206
+Problem:    Redraw flags are not named specifically.
+Solution:   Prefix "UPD_" to the flags, for UPDate_screen().
+
+Patch 9.0.0207
+Problem:    Stacktrace not shown when debugging.
+Solution:   Set msg_scroll in msg_source(). (closes #10917)
+
+Patch 9.0.0208
+Problem:    The override flag has no effect for virtual text. (Ben Jackson)
+Solution:   Make the override flag work. (closes #10915)
+
+Patch 9.0.0209
+Problem:    Build error with small features.
+Solution:   Add #ifdef.
+
+Patch 9.0.0210
+Problem:    'list' mode does not work properly with virtual text.
+Solution:   Show the "$" at the right position. (closes #10913)
+
+Patch 9.0.0211
+Problem:    Invalid memory access when compiling :lockvar.
+Solution:   Don't read past the end of the line.
+
+Patch 9.0.0212
+Problem:    Invalid memory access when compiling :unlet.
+Solution:   Don't read past the end of the line.
+
+Patch 9.0.0213
+Problem:    Using freed memory with error in assert argument.
+Solution:   Make a copy of the error.
+
+Patch 9.0.0214
+Problem:    Splitting a line may duplicate virtual text. (Ben Jackson)
+Solution:   Don't duplicate a text property with virtual text. Make
+            auto-indenting work better. (closes #10919)
+
+Patch 9.0.0215
+Problem:    Not passing APC_INDENT flag.
+Solution:   Pass the flag where it's needed.
+
+Patch 9.0.0216
+Problem:    Undo earlier test sometimes fails on MS-Windows.
+Solution:   Use another file name.
+
+Patch 9.0.0217
+Problem:    'shellslash' works differently when sourcing a script again.
+Solution:   Use the name from the script item. (closes #10920)
+
+Patch 9.0.0218
+Problem:    Reading before the start of the line.
+Solution:   When displaying "$" check the column is not negative.
+
+Patch 9.0.0219
+Problem:    Cannot make a funcref with "s:func" in a def function in legacy
+            script.
+Solution:   Allow for using a lower case function name after "s:". (Kota Kato,
+            closes #10926)
+
+Patch 9.0.0220
+Problem:    Invalid memory access with for loop over NULL string.
+Solution:   Make sure mb_ptr2len() consistently returns zero for NUL.
+
+Patch 9.0.0221
+Problem:    Accessing freed memory if compiling nested function fails.
+Solution:   Mess up the variable name so that it won't be found.
+
+Patch 9.0.0222
+Problem:    No good reason why text objects are only in larger builds.
+Solution:   Graduate +textobjects.
+
+Patch 9.0.0223
+Problem:    Typo in diffmode test.
+Solution:   Fix the typo. (closes #10932)
+
+Patch 9.0.0224
+Problem:    Using NULL pointer when skipping compiled code.
+Solution:   Check for skipping.
+
+Patch 9.0.0225
+Problem:    Using freed memory with multiple line breaks in expression.
+Solution:   Free eval_tofree later.
+
+Patch 9.0.0226
+Problem:    job_start() test may fail under valgrind.
+Solution:   Wait until the job is running.
+
+Patch 9.0.0227
+Problem:    Cannot read error message when abort() is called.
+Solution:   Output a newline before calling abort().
+
+Patch 9.0.0228
+Problem:    Crash when pattern looks below the last line.
+Solution:   Consider invalid lines to be empty. (closes #10938)
+
+Patch 9.0.0229
+Problem:    Vim9: error message for missing type is not clear.
+Solution:   Mention the context. (issue #10944)
+
+Patch 9.0.0230
+Problem:    No error for comma missing in list in :def function.
+Solution:   Check for missing comma. (closes #10943)
+
+Patch 9.0.0231
+Problem:    Expanding "**" may loop forever with directory links.
+Solution:   Check for being interrupted. (closes #10946)
+
+Patch 9.0.0232
+Problem:    Test with BufNewFile autocmd is flaky.
+Solution:   Use another file name.
+
+Patch 9.0.0233
+Problem:    Removing multiple text properties takes many calls.
+Solution:   Pass a list to prop_remove(). (Ben Jackson, closes #10945)
+
+Patch 9.0.0234
+Problem:    Cannot make difference between the end of :normal and a character
+            in its argument.
+Solution:   Add the "typebuf_was_empty" flag. (closes #10950)
+
+Patch 9.0.0235
+Problem:    'autoshelldir' does not work with chunked respose.
+Solution:   Collect chunks before parsing OSC 7. (closes #10949)
+
+Patch 9.0.0236
+Problem:    Popup menu not removed when 'wildmenu' reset while it is visible.
+Solution:   Do not check p_wmnu, only pum_visible(). (closes #10953)
+
+Patch 9.0.0237
+Problem:    Mac: cannot build if dispatch.h is not available.
+Solution:   Add #ifdef. (Evan Miller, closes #10954)
+
+Patch 9.0.0238
+Problem:    Shift-Tab shows matches on cmdline when 'wildmenu' is off.
+Solution:   Only show matches when 'wildmode' contains "list". (closes #10951)
+
+Patch 9.0.0239
+Problem:    Build failure without the +wildmenu feature.
+Solution:   Move parenthesis.
+
+Patch 9.0.0240
+Problem:    Crash when using ":mkspell" with an empty .dic file.
+Solution:   Check for an empty word tree.
+
+Patch 9.0.0241
+Problem:    "make install" does not install shared syntax file. (James McCoy)
+Solution:   Install and uninstall the shared syntax files. (closes #10956)
+
+Patch 9.0.0242
+Problem:    "make install" still fails. (Wilhelm Payne)
+Solution:   Also add the directory to installrtbase. (Dominique Pellé)
+
+Patch 9.0.0243
+Problem:    Text properties "below" sort differently on MS-Windows.
+Solution:   Use the ID as a tie breaker. (closes #10958)
+
+Patch 9.0.0244
+Problem:    Cannot easily get the list of sourced scripts.
+Solution:   Add the getscriptinfo() function. (Yegappan Lakshmanan,
+            closes #10957)
+
+Patch 9.0.0245
+Problem:    Mechanism to prevent recursive screen updating is incomplete.
+Solution:   Add "redraw_not_allowed" and set it in build_stl_str_hl().
+            (issue #10952)
+
+Patch 9.0.0246
+Problem:    Using freed memory when 'tagfunc' deletes the buffer.
+Solution:   Make a copy of the tag name.
+
+Patch 9.0.0247
+Problem:    Cannot add padding to virtual text without highlight.
+Solution:   Add the "text_padding_left" argument. (issue #10906)
+
+Patch 9.0.0248
+Problem:    Duplicate code in finding a script in the execution stack.
+Solution:   Reduce duplicate code. (closes #10961)
+
+Patch 9.0.0249
+Problem:    No test for what 9.0.0234 fixes.
+Solution:   Add a test. (issue #10950)
+
+Patch 9.0.0250
+Problem:    Slightly inconsistent error messages.
+Solution:   Make it "Using a Float". (closes #10959)
+
+Patch 9.0.0251
+Problem:    Test output shows up in git.
+Solution:   Ignore the "failed" directory. (Yao-Ching Huang, closes #10969)
+
+Patch 9.0.0252
+Problem:    Cursor in wrong place after virtual text.
+Solution:   Do not change the length of a virtual text property.
+            (closes #10964)
+
+Patch 9.0.0253
+Problem:    A symlink to an autoload script results in two entries in the list
+            of scripts, items expected in one are actually in the other.
+Solution:   Have one script item refer to the actually sourced one.
+            (closes #10960)
+
+Patch 9.0.0254
+Problem:    Typo in function name.
+Solution:   Rename the function. (closes #10971)
+
+Patch 9.0.0255
+Problem:    Build failure without the eval feature.
+Solution:   Add #ifdef.
+
+Patch 9.0.0256
+Problem:    Compiler warning for uninitialized variables.
+Solution:   Initilize the variables.
+
+Patch 9.0.0257
+Problem:    "->" in ":scriptnames" output not tested yet.
+Solution:   Add a check.
+
+Patch 9.0.0258
+Problem:    MS-Windows installer skips syntax/shared.
+Solution:   Use "File /r" in the installer script. (Ken Takata, closes #10972)
+
+Patch 9.0.0259
+Problem:    Crash with mouse click when not initialized.
+Solution:   Check TabPageIdxs[] is not NULL.
+
+Patch 9.0.0260
+Problem:    Using freed memory when using 'quickfixtextfunc' recursively.
+Solution:   Do not allow for recursion.
+
+Patch 9.0.0261
+Problem:    bufload() reads a file even if the name is not a file name. (Cyker
+            Way)
+Solution:   Do not read the file when the buffer name is not a file name.
+            (closes #10975)
+
+Patch 9.0.0262
+Problem:    Build failure without the +quickfix feature.
+Solution:   Add #ifdef.
+
+Patch 9.0.0263
+Problem:    Too many #ifdefs.
+Solution:   Make some functions always available.
+
+Patch 9.0.0264
+Problem:    CI still runs on Ubuntu 18.04.
+Solution:   Run CI on Ubuntu 20.04. (closes #10582)
+
+Patch 9.0.0265
+Problem:    No good reason why the "gf" command is not in the tiny version.
+Solution:   Graduate the file_in_path feature.
+
+Patch 9.0.0266
+Problem:    Compiler warning for unused argument.
+Solution:   Add UNUSED.
+
+Patch 9.0.0267
+Problem:    Coverity workflow still uses Ubuntu 18.04.
+Solution:   Use Ubuntu 20.04
+
+Patch 9.0.0268
+Problem:    Build error without the +eval feature.
+Solution:   Remove #ifdef.
+
+Patch 9.0.0269
+Problem:    getscriptinfo() does not include the version.  Cannot select
+            entries by script name.
+Solution:   Add the "version" item and the "name" argument. (Yegappan
+            Lakshmanan, closes #10962)
+
+Patch 9.0.0270
+Problem:    Some values of 'path' and 'tags' do not work in the tiny version.
+Solution:   Graduate the +path_extra feature.
+
+Patch 9.0.0271
+Problem:    Using INIT() in non-header files.
+Solution:   Remove INIT(). (closes #10981)
+
+Patch 9.0.0272
+Problem:    BufReadCmd not triggered when loading a "nofile" buffer. (Maxim
+            Kim)
+Solution:   Call readfile() but bail out before reading a file.
+            (closes #10983)
+
+Patch 9.0.0273
+Problem:    Konsole termresponse not recognized.
+Solution:   Handle Konsole like libvterm, set 'ttymouse' to "sgr".
+            (closes #10990)
+
+Patch 9.0.0274
+Problem:    Netrw plugin does not show remote files.
+Solution:   Do read a file when 'buftype' is "acwrite". (closes #10983)
+
+Patch 9.0.0275
+Problem:    BufEnter not triggered when using ":edit" in "nofile" buffer.
+Solution:   Let readfile() return NOTDONE. (closes #10986)
+
+Patch 9.0.0276
+Problem:    'buftype' values not sufficiently tested.
+Solution:   Add and extend tests with 'buftype' values. (closes #10988)
+
+Patch 9.0.0277
+Problem:    Coverity CI: update-alternatives not needed with Ubuntu 20.04.
+Solution:   Remove update-alternatives for Lua. (closes #10987)
+
+Patch 9.0.0278
+Problem:    The +wildignore feature is nearly always available.
+Solution:   Graduate +wildignore for consistency.
+
+Patch 9.0.0279
+Problem:    The tiny version has the popup menu but not 'wildmenu'.
+Solution:   Graduate the wildmenu feature.
+
+Patch 9.0.0280
+Problem:    The builtin termcap list depends on the version.
+Solution:   Always include all termcap entries.  Remove duplicate lines.
+
+Patch 9.0.0281
+Problem:    Build failure without the +eval feature.
+Solution:   Add #ifdef.
+
+Patch 9.0.0282
+Problem:    A nested timout stops the previous timeout.
+Solution:   Ignore any nested timeout.
+
+Patch 9.0.0283
+Problem:    Cannot complete "syn list @cluster".
+Solution:   Recognize and handle "list @". (Björn Linse, closes #10990)
+
+Patch 9.0.0284
+Problem:    Using static buffer for multiple completion functions.
+Solution:   Use one buffer in expand_T.
+
+Patch 9.0.0285
+Problem:    It is not easy to change the command line from a plugin.
+Solution:   Add setcmdline(). (Shougo Matsushita, closes #10869)
+
+Patch 9.0.0286
+Problem:    Using freed memory when location list changed in autocmd.
+Solution:   Return QF_ABORT and handle it. (Yegappan Lakshmanan,
+            closes #10993)
+
+Patch 9.0.0287
+Problem:    Irix systems no longer exist.
+Solution:   Remove references to Irix. (Yegappan Lakshmanan, closes #10994)
+
+Patch 9.0.0288
+Problem:    When 'cmdheight' is zero some messages are not displayed.
+Solution:   Use a popup notification window.
+
+Patch 9.0.0289
+Problem:    Invalid memory write.
+Solution:   Do not put NUL in a static string.
+
+Patch 9.0.0290
+Problem:    Compiler warning for variable set but not used.
+Solution:   Add #ifdef.
+
+Patch 9.0.0291
+Problem:    Test failing.
+Solution:   Run test with cmdheight=0 last.
+
+Patch 9.0.0292
+Problem:    Test causes another test to fail.
+Solution:   Redraw to remove the popup window
+
+Patch 9.0.0293
+Problem:    Messages window not hidden when starting a command line.
+Solution:   Hide the messages window. (closes #10996)
+
+Patch 9.0.0294
+Problem:    Crash when 'cmdheight' is 0 and popup_clear() used.
+Solution:   Reset "message_win" when the message popup is cleared.  Close the
+            popup when 'cmdheight' is non-zero.  Add a screendump test.
+
+Patch 9.0.0295
+Problem:    GUI drop files test sometimes fails.
+Solution:   Mark the test as flaky.
+
+Patch 9.0.0296
+Problem:    Message in popup is shortened unnecessary.
+Solution:   Do not use 'showcmd' and 'ruler' for a message in the popup.
+            Set the timer when unhiding the message popup.
+
+Patch 9.0.0297
+Problem:    Cursor position wrong after right aligned virtual text. (Iizuka
+            Masashi)
+Solution:   Take the width of the column offset into account. (closes #10997)
+            Also fix virtual text positioning.
+
+Patch 9.0.0298
+Problem:    Compiler warning for size_t to int conversion.
+Solution:   Add a type cast. (Wilhelm Payne, closes #11000)
+
+Patch 9.0.0299
+Problem:    Error messages for setcmdline() could be better.
+Solution:   Use more specific error messages. (Yegappan Lakshmanan,
+            closes #10995)
+
+Patch 9.0.0300
+Problem:    'cpoptions' tests are flaky.
+Solution:   Use a different file name for each test.
+
+Patch 9.0.0301
+Problem:    The message window popup is delayed after an error message.
+Solution:   Do not set emsg_on_display when using the message window.
+
+Patch 9.0.0302
+Problem:    CI for Coverity is bothered by deprecation warnings.
+Solution:   Ignore deprecation warnings. (closes #11002)
+
+Patch 9.0.0303
+Problem:    It is not easy to get information about a script.
+Solution:   Make getscriptinf() return the version.  When selecting a specific
+            script return functions and variables. (Yegappan Lakshmanan,
+            closes #10991)
+
+Patch 9.0.0304
+Problem:    WinScrolled is not triggered when only skipcol changes.
+Solution:   Add w_last_skipcol and use it. (closes #10998)
+
+Patch 9.0.0305
+Problem:    CI lists useless deprecation warnings.
+Solution:   Ignore deprecation warnings. (closes #11003)
+
+Patch 9.0.0306
+Problem:    Buffer write message is two lines in message popup window.
+Solution:   Overwrite message if "msg_scroll" is off.
+
+Patch 9.0.0307
+Problem:    :echomsg doesn't work properly with cmdheight=0.
+Solution:   Improve scrolling and displaying.
+
+Patch 9.0.0308
+Problem:    When cmdheight is zero the attention prompt doesn't show.
+Solution:   Do not use the message window for a prompt.
+
+Patch 9.0.0309
+Problem:    Invalid memory access when cmdheight is zero.
+Solution:   Check index in w_lines is smaller than Rows.
+
+Patch 9.0.0310
+Problem:    Output of :messages dissappears when cmdheight is zero.
+Solution:   Do not use the messages window for :messages.  Make Esc close the
+            messages window.
+
+Patch 9.0.0311
+Problem:    Test for hit-Enter prompt fails.
+Solution:   Only reset cmdline_row when 'cmdheight' is zero.
+
+Patch 9.0.0312
+Problem:    Test for cmdheight zero fails.
+Solution:   Do not close the messages window for CTRL-C.
+
+Patch 9.0.0313
+Problem:    Using common name in tests leads to flaky tests.
+Solution:   Rename files and directories to be more specific.
+
+Patch 9.0.0314
+Problem:    VDM files are not recognized.
+Solution:   Add patterns for VDM files. (Alessandro Pezzoni, closes #11004)
+
+Patch 9.0.0315
+Problem:    Shell command is displayed in message window.
+Solution:   Do not echo the shell command in the message window.
+
+Patch 9.0.0316
+Problem:    Screen flickers when 'cmdheight' is zero.
+Solution:   Redraw over existing text instead of clearing.
+
+Patch 9.0.0317
+Problem:    When updating the whole screen a popup may not be redrawn.
+Solution:   Mark the screen and windows for redraw also when not clearing.
+            Also mark popup windows for redraw.
+
+Patch 9.0.0318
+Problem:    Clearing screen causes flicker.
+Solution:   Do not clear but redraw in more cases.  Add () to "wait_return".
+
+Patch 9.0.0319
+Problem:    Godot shader files are not recognized.
+Solution:   Add patterns for "gdshader". (Maxim Kim, closes #11006)
+
+Patch 9.0.0320
+Problem:    Command line type of CmdlineChange differs from getcmdtype().
+Solution:   Use the same type. (closes #11005)
+
+Patch 9.0.0321
+Problem:    Cannot use the message popup window directly.
+Solution:   Add ":echowindow".
+
+Patch 9.0.0322
+Problem:    Crash when no errors and 'quickfixtextfunc' is set.
+Solution:   Do not handle errors if there aren't any.
+
+Patch 9.0.0323
+Problem:    Using common name in tests leads to flaky tests.
+Solution:   Rename files and directories to be more specific.
+
+Patch 9.0.0324
+Problem:    MS-Windows: resolve() test fails.
+Solution:   Revert renaming the directory.
+
+Patch 9.0.0325
+Problem:    MS-Windows: completion test fails.
+Solution:   Adjust directory prefix.
+
+Patch 9.0.0326
+Problem:    Some changes for cmdheight=0 are not needed.
+Solution:   Revert resize behavior if height is greater than the available
+            space. (Shougo Matsushita, closes #11008)
+
+Patch 9.0.0327
+Problem:    items() does not work on a list. (Sergey Vlasov)
+Solution:   Make items() work on a list. (closes #11013)
+
+Patch 9.0.0328
+Problem:    OLD_DIGRAPHS is unused.
+Solution:   Remove OLD_DIGRAPHS.  Also drop HPUX_DIGRAPHS.
+
+Patch 9.0.0329
+Problem:    ":highlight" hangs when 'cmdheight' is zero.
+Solution:   Add to msg_col when using the message window. (closes #11014)
+
+Patch 9.0.0330
+Problem:    Method tests fail.
+Solution:   Adjust for change of items().
+
+Patch 9.0.0331
+Problem:    Cannot use items() on a string.
+Solution:   Make items() work on a string. (closes #11016)
+
+Patch 9.0.0332
+Problem:    Overwrite check may block BufWriteCmd.
+Solution:   Do not use overwrite check when 'buftype' is "acwrite".
+            (closes #11011)
+
+Patch 9.0.0333
+Problem:    Method test fails.
+Solution:   Adjust test for items() now working on string.
+
+Patch 9.0.0334
+Problem:    Test does not properly clean up.
+Solution:   Fix typo in argument of delete(). (Dominique Pellé, closes #11010)
+
+Patch 9.0.0335
+Problem:    Checks for Dictionary argument often give a vague error message.
+Solution:   Give a useful error message. (Yegappan Lakshmanan, closes #11009)
+
+Patch 9.0.0336
+Problem:    Tests are flaky because of using a common file name.
+Solution:   Rename files and directories to be more unique.
+
+Patch 9.0.0337
+Problem:    Flicker when resetting cmdline_row after updating the screen.
+Solution:   Do not update cmdline_row. (issue #11017)
+
+Patch 9.0.0338
+Problem:    Return value of list_append_list() not always checked.
+Solution:   Check return value and handle failure.
+
+Patch 9.0.0339
+Problem:    No check if the return value of XChangeGC() is NULL.
+Solution:   Only use the return value when it is not NULL. (closes #11020)
+
+Patch 9.0.0340
+Problem:    The 'cmdheight' zero support causes too much trouble.
+Solution:   Revert support for 'cmdheight' being zero.
+
+Patch 9.0.0341
+Problem:    mapset() does not restore <Nop> mapping properly.
+Solution:   Use an empty string for <Nop>. (closes #11022)
+
+Patch 9.0.0342
+Problem:    ":wincmd =" equalizes in two directions.
+Solution:   Make ":vertical wincmd =" equalize vertically only and
+            ":horizontal wincmd =" equalize horizontally only.
+
+Patch 9.0.0343
+Problem:    ColorScheme autocommand triggered when colorscheme is not found.
+            (Romain Lafourcade)
+Solution:   Only trigger ColorScheme when loading the colorscheme succeeds.
+            (closes #11024)
+
+Patch 9.0.0344
+Problem:    MS-Windows: background color wrong in Console.
+Solution:   Figure out the default console background color. (Yasuhiro
+            Matsumoto, issue #10310)
+
+Patch 9.0.0345
+Problem:    Error message for list argument could be clearer.
+Solution:   Include the argument number. (Yegappan Lakshmanan, closes #11027)
+
+Patch 9.0.0346
+Problem:    :horizontal modifier not fully supported.
+Solution:   Also use :horizontal for completion and user commands.
+            (closes #11025)
+
+Patch 9.0.0347
+Problem:    MS-Windows: cannot set cursor shape in Windows Terminal.
+Solution:   Make cursor shape work with Windows Terminal. (Ken Takata,
+            closes #11028, closes #6576)
+
+Patch 9.0.0348
+Problem:    MS-Windows: GUI mouse move event test is flaky.
+Solution:   Wait for a little while for the first move event.
+
+Patch 9.0.0349
+Problem:    Filetype of *.sil files not well detected.
+Solution:   Inspect the file contents to guess the filetype.
+
+Patch 9.0.0350
+Problem:    :echowindow does not work in a compiled function.
+Solution:   Handle the expression at compile time.
+
+Patch 9.0.0351
+Problem:    Message window may obscure the command line.
+Solution:   Reduce the maximum height of the message window.
+
+Patch 9.0.0352
+Problem:    using :echowindow in a timer clears part of message
+Solution:   Do not use msg_clr_eos().
+
+Patch 9.0.0353
+Problem:    Missing entry in switch.
+Solution:   Add ISN_ECHOWINDOW.
+
+Patch 9.0.0354
+Problem:    MS-Windows: starting a python server for test sometimes fails.
+Solution:   Increase the waiting time for the port.
+
+Patch 9.0.0355
+Problem:    Check for uppercase char in autoload name is wrong, it checks the
+            name of the script.
+Solution:   Remove the check. (closes #11031)
+
+Patch 9.0.0356
+Problem:    :echowindow sets the in_echowindow flag too early.
+Solution:   Set in_echowindow only when outputting the text. (Yasuhiro
+            Matsumoto, closes #11033)
+
+Patch 9.0.0357
+Problem:    'linebreak' interferes with text property highlight if there is
+            syntax highlighting.
+Solution:   Check the text prop attributes after combining with syntax
+            attributes. (closes #11035)
+
+Patch 9.0.0358
+Problem:    'breakindent' does not indent non-lists with
+            "breakindentopt=list:-1".
+Solution:   Adjust indent computation. (Maxim Kim, closes #11038)
+
+Patch 9.0.0359
+Problem:    Error message for wrong argument type is not specific.
+Solution:   Include more information in the error. (Yegappan Lakshmanan,
+            closes #11037)
+
+Patch 9.0.0360
+Problem:    Crash when invalid line number on :for is ignored.
+Solution:   Do not check breakpoint for non-existing line.
+
+Patch 9.0.0361
+Problem:    Removing a listener may result in a memory leak and remove
+            subsequent listerns.
+Solution:   Init the "prev" pointer only once. (Yegappan Lakshmanan,
+            closes #11039)
+
+Patch 9.0.0362
+Problem:    Expanding ":e %" does not work for remote files.
+Solution:   If the "%" or "#" file does not exist add the expansion anyway.
+
+Patch 9.0.0363
+Problem:    Common names in test files causes tests to be flaky.
+Solution:   Use more specific names.
+
+Patch 9.0.0364
+Problem:    Clang static analyzer gives warnings.
+Solution:   Avoid the warnings. (Yegappan Lakshmanan, closes #11043)
+
+Patch 9.0.0365
+Problem:    File name used in test is unusual.
+Solution:   Rename it. (Dominique Pellé, closes #11044)
+
+Patch 9.0.0366
+Problem:    Cannot use import->Func() in lambda. (Israel Chauca Fuentes)
+Solution:   Adjust how an expression in a lambda is parsed. (closes #11042)
+
+Patch 9.0.0367
+Problem:    Coverity complains about dropping sign of character.
+Solution:   Add explicit type cast.
+
+Patch 9.0.0368
+Problem:    Old Coverity warning for using NULL pointer.
+Solution:   Bail out if dictionary allocation fails.
+
+Patch 9.0.0369
+Problem:    A failing flaky test doesn't mention the time.
+Solution:   Add the time for debugging.  Improve error message.
+
+Patch 9.0.0370
+Problem:    Cleaning up afterwards can make a function messy.
+Solution:   Add the :defer command.
+
+Patch 9.0.0371
+Problem:    Compiler warning for uninitialized variable.
+Solution:   Initialize the variable. (John Marriott)
+
+Patch 9.0.0372
+Problem:    MS-Windows: "%T" time format does not appear to work.
+Solution:   Use "%H:%M:%S" instead.
+
+Patch 9.0.0373
+Problem:    Coverity warns for NULL check and unused return value.
+Solution:   Remove the NULL check, it was already checked earlier.  Add (void)
+            to ignore the return value.
+
+Patch 9.0.0374
+Problem:    Coverity still complains about dropping sign of character.
+Solution:   Add intermediate variable.
+
+Patch 9.0.0375
+Problem:    The footer feature is unused.
+Solution:   Remove FEAT_FOOTER and code.
+
+Patch 9.0.0376
+Problem:    Clang warns for dead assignments.
+Solution:   Adjust the code. (Yegappan Lakshmanan, closes #11048)
+
+Patch 9.0.0377
+Problem:    Argument assignment does not work.
+Solution:   Skip over "=".
+
+Patch 9.0.0378
+Problem:    Compiler warning for uninitialized variable. (Tony Mechelynck)
+Solution:   Initialize it.
+
+Patch 9.0.0379
+Problem:    Cleaning up after writefile() is a hassle.
+Solution:   Add the 'D' flag to defer deleting the written file.  Very useful
+            in tests.
+
+Patch 9.0.0380
+Problem:    Deleting files in tests is a hassle.
+Solution:   Use the new 'D' flag of writefile().
+
+
+Problem:    Deleting files in tests is a hassle.
+Solution:   Use the new 'D' flag of writefile().
+
+Patch 9.0.0381
+Problem:    Writefile test leaves files behind.
+Solution:   Fix the file names of files to be deleted. (Dominique Pellé,
+            closes #11056)
+
+Patch 9.0.0382
+Problem:    Freeing the wrong string on failure.
+Solution:   Adjust the argument.  Reorder the code.
+
+Patch 9.0.0383
+Problem:    Coverity complains about unused value.
+Solution:   Use the value.
+
+Patch 9.0.0384
+Problem:    Covertity still complains about using return value of getc().
+Solution:   Check for EOF.
+
+Patch 9.0.0385
+Problem:    GUI: when CTRL-D is mapped in Insert mode it gets inserted.
+            (Yasuhiro Matsumoto)
+Solution:   Also recognize modifier starting with CSI. (closes #11057)
+
+Patch 9.0.0386
+Problem:    Some code blocks are nested too deep.
+Solution:   Bail out earlier. (Yegappan Lakshmanan, closes #11058)
+
+Patch 9.0.0387
+Problem:    repeating a <ScriptCmd> mapping does not use the right script
+            context.
+Solution:   When using a mapping put <SID>{sid}; in the redo buffer.
+            (closes #11049)
+
+Patch 9.0.0388
+Problem:    The do_arg_all() function is too long.
+Solution:   Split the function in smaller parts. (Yegappan Lakshmanan,
+            closes #11062)
+
+Patch 9.0.0389
+Problem:    Crash when 'tagfunc' closes the window.
+Solution:   Bail out when the window was closed.
+
+Patch 9.0.0390
+Problem:    Cannot use a partial with :defer.
+Solution:   Add the partial arguments before the other arguments.  Disallow
+            using a dictionary.
+
+Patch 9.0.0391
+Problem:    Using separate delete() call instead of writefile() 'D' flag.
+Solution:   Use the writefile 'D' flag.
+
+Patch 9.0.0392
+Problem:    Inverted condition is a bit confusing.
+Solution:   Remove the "!" and swap the blocks. (Ken Takata)
+
+Patch 9.0.0393
+Problem:    Signals test often fails on FreeBSD.
+Solution:   Use separate files for Suspend and Resume. (Ken Takata,
+            closes #11065)
+
+Patch 9.0.0394
+Problem:    Cygwin: multibyte characters may be broken in terminal window.
+Solution:   Adjust how to read and write on the channel. (Ken Takata,
+            closes #11063)
+
+Patch 9.0.0395
+Problem:    Clang warnings for function prototypes.
+Solution:   Remove incomplete function prototypes. (closes #11068)
+
+Patch 9.0.0396
+Problem:    :findrepl does not escape '&' and '~' properly.
+Solution:   Escape depending on the value of 'magic'. (closes #11067)
+
+Patch 9.0.0397
+Problem:    :defer not tested with exceptions and ":qa!".
+Solution:   Test :defer works when exceptions are thrown and when ":qa!" is
+            used.  Invoke the deferred calls on exit.
+
+Patch 9.0.0398
+Problem:    Members of funccall_T are inconsistently named.
+Solution:   Use the "fc_" prefix for all members.
+
+Patch 9.0.0399
+Problem:    Using :defer in expression funcref not tested.
+Solution:   Add a test.  Fix uncovered problems.
+
+Patch 9.0.0400
+Problem:    GUI test sometimes hangs on CI.
+Solution:   Delete a test file explicitly. (Ken Takata, closes #11072)
+
+Patch 9.0.0401
+Problem:    CI uses older clang version.
+Solution:   Switch from clang 14 to 15. (closes #11066)
+
+Patch 9.0.0402
+Problem:    Javascript module files are not recoginzed.
+Solution:   Recognize "*.jsm" files as Javascript. (Brett Holman,
+            closes #11069)
+
+Patch 9.0.0403
+Problem:    'equalalways' may be off when 'laststatus' is zero.
+Solution:   call last_status() before win_equal(). (Luuk van Baal,
+            closes #11070)
+
+Patch 9.0.0404
+Problem:    Crash when passing invalid arguments to assert_fails().
+Solution:   Check for NULL string.
+
+Patch 9.0.0405
+Problem:    Arguments in a partial not used by a :def function.
+Solution:   Put the partial arguments on the stack.
+
+Patch 9.0.0406
+Problem:    Deferred functions not invoked when partial func exits.
+Solution:   Create a funccall_T when calling a :def function.
+
+Patch 9.0.0407
+Problem:    matchstr() does match column offset. (Yasuhiro Matsumoto)
+Solution:   Accept line number zero. (closes #10938)
+
+Patch 9.0.0408
+Problem:    GUI test sometimes fails on MS-Windows.
+Solution:   Make sure Vim is the foreground window. (Ken Takata, closes #11077)
+
+Patch 9.0.0409
+Problem:    #{g:x} was seen as a curly-braces expression.
+Solution:   Do never see #{} as a curly-braces expression. (closes #11075)
+
+Patch 9.0.0410
+Problem:    Struct member cts_lnum is unused.
+Solution:   Delete it.
+
+Patch 9.0.0411
+Problem:    Only created files can be cleaned up with one call.
+Solution:   Add flags to mkdir() to delete with a deferred function.
+            Expand the writefile() name to a full path to handle changing
+            directory.
+
+Patch 9.0.0412
+Problem:    Compiler warning for unused argument.
+Solution:   Add UNUSED.
+
+Patch 9.0.0413
+Problem:    ASAN reports a memory leak.
+Solution:   Free the string received from the server. (Ken Takata,
+            closes #11080)
+
+Patch 9.0.0414
+Problem:    matchstr() still does not match column offset when done after a
+            text search.
+Solution:   Only use the line number for a multi-line search.  Fix the test.
+            (closes #10938)
+
+Patch 9.0.0415
+Problem:    On MS-Windows some tests are flaky.
+Solution:   Add sleeps, disable swapfile, mark test as flaky. (Ken Takata,
+            closes #11082)
+
+Patch 9.0.0416
+Problem:    ml_get error when appending lines in popup window.
+Solution:   Only update w_topline when w_buffer matches curbuf.
+            (closes #11074)
+
+Patch 9.0.0417
+Problem:    Jsonnet files are not recognized.
+Solution:   Add a pattern for Jsonnet files. (Cezary Drożak, closes #11073,
+            closes #11081)
+
+Patch 9.0.0418
+Problem:    Manually deleting temp test files.
+Solution:   Use the 'D' flag of writefile() and mkdir().
+
+Patch 9.0.0419
+Problem:    The :defer command does not check the function argument count and
+            types.
+Solution:   Check the function arguments when adding a deferred function.
+
+Patch 9.0.0420
+Problem:    Function went missing.
+Solution:   Add the function back.
+
+Patch 9.0.0421
+Problem:    MS-Windows makefiles are inconsistently named.
+Solution:   Use consistent names. (Ken Takata, closes #11088)
+
+Patch 9.0.0422
+Problem:    Not enough testing of the :all command.
+Solution:   Add more testing. (Yegappan Lakshmanan, closes #11091)
+
+Patch 9.0.0423
+Problem:    "for" and "while" not recognized after :vim9cmd and :legacy.
+            (Emanuele Torre)
+Solution:   Recognize all the command modifiers. (closes #11087)
+            Add a test to check the list of modifiers.
+
+Patch 9.0.0424
+Problem:    gitattributes files are not recognized.
+Solution:   Add patterns to match gitattributes files. (closes #11085)
+
+Patch 9.0.0425
+Problem:    Autocmd test is a bit flaky on MS-Windows.
+Solution:   Add a bit more sleeping. (Ken Takata, closes #11095)
+
+Patch 9.0.0426
+Problem:    Failed flaky tests reports only start time.
+Solution:   Also report the end time.
+
+Patch 9.0.0427
+Problem:    Drupal theme files are not recognized.
+Solution:   Use php filetype for Drupl theme files.  Remove trailing spaces.
+            (Rodrigo Aguilera, closes #11096)
+
+Patch 9.0.0428
+Problem:    Autocmd test uses common file name.
+Solution:   Use unique name to reduce flakiness.
+
+Patch 9.0.0429
+Problem:    Not all keys are tested for the MS-Windows GUI.
+Solution:   Add more key codes to the list. (Yegappan Lakshmanan,
+            closes #11097)
+
+Patch 9.0.0430
+Problem:    Cannot use repeat() with a blob.
+Solution:   Implement blob repeat. (closes #11090)
+
+Patch 9.0.0431
+Problem:    Current mode shows in message window.
+Solution:   Reset in_echowindow before redrawing. (issue #11094)
+
+Patch 9.0.0432
+Problem:    Crash when using for loop variable in closure.
+Solution:   Check that the variable wasn't deleted. (issue #11094)
+
+Patch 9.0.0433
+Problem:    Coverity warns for not checking allocation failure.
+Solution:   Check that allocating a list or blob succeeded.
+
+Patch 9.0.0434
+Problem:    gitignore files are not recognized.
+Solution:   Add patterns for the gitignore filetype. (closes #11102)
+
+Patch 9.0.0435
+Problem:    Compiler warning for uninitialized variable.
+Solution:   Initialize it.
+
+Patch 9.0.0436
+Problem:    CI: running tests in parallel causes flakiness.
+Solution:   Reorganize the MS-Windows runs. (Ken Takata, closes #11101)
+
+Patch 9.0.0437
+Problem:    No error when a custom completion function returns something else
+            than the expected list.
+Solution:   Give an error. (closes #11100)
+
+Patch 9.0.0438
+Problem:    Cannot put virtual text above a line.
+Solution:   Add the "above" value for "text_align".
+
+Patch 9.0.0439
+Problem:    Cursor wrong if inserting before line with virtual text above.
+Solution:   Add the width of the "above" virtual text to the cursor position.
+            (issue #11084)
+
+Patch 9.0.0440
+Problem:    Crash when using mkdir() with "R" flag in compiled function.
+Solution:   Reserve a variable for deferred function calls.  Handle more than
+            one argument.
+
+Patch 9.0.0441
+Problem:    Closure in for loop test fails on some systems.
+Solution:   Do not wait for the ruler to show up. (issue #11106)
+
+Patch 9.0.0442
+Problem:    Virtual text "above" doesn't handel line numbers.
+Solution:   Take the left column offset into account. (issue #11084)
+            Also make padding work.
+
+Patch 9.0.0443
+Problem:    Blueprint files are not recognized.
+Solution:   Add a pattern for blueprint files. (Gabriele Musco, closes #11107)
+
+Patch 9.0.0444
+Problem:    Trying to declare g:variable gives confusing error.
+Solution:   Give a better error message. (closes #11108)
+
+Patch 9.0.0445
+Problem:    When opening/closing window text moves up/down.
+Solution:   Add the 'splitscroll' option.  When off text will keep its
+            position as much as possible.
+
+Patch 9.0.0446
+Problem:    Message window may be positioned too low.
+Solution:   Compute cmdline_row before computing the position.
+
+Patch 9.0.0447
+Problem:    Using :echowin while at the hit-enter prompt causes problems.
+Solution:   Do not prompt for :echowin.  Postpone showing the message window.
+            Start the timer when the window is displayed.
+
+Patch 9.0.0448
+Problem:    SubRip files are not recognized.
+Solution:   Add a pattern for SubRip. (closes #11113)
+
+Patch 9.0.0449
+Problem:    There is no easy way to translate a string with a key code into a
+            readable string.
+Solution:   Add the keytrans() function. (closes #11114)
+
+Patch 9.0.0450
+Problem:    Return value of argument check functions is inconsistent.
+Solution:   Return OK/FAIL instead of TRUE/FALSE. (closes #11112)
+
+Patch 9.0.0451
+Problem:    Virtual text "above" does not work with 'nowrap'.
+Solution:   Do wrap the line after. (closes #11084)
+
+Patch 9.0.0452
+Problem:    Visual highlighting extends into virtual text prop.
+Solution:   Do not highlight what isn't actually selected.  Fix ordering of
+            stored text props.
+
+Patch 9.0.0453
+Problem:    On an AZERTY keyboard digit keys get the shift modifier.
+Solution:   Remove the shift modifier from digit keys. (closes #11109)
+
+Patch 9.0.0454
+Problem:    Incorrect color for modeless selection with GTK.
+Solution:   Use simple inversion instead of XOR. (closes #11111)
+
+Patch 9.0.0455
+Problem:    A few problems with 'splitscroll'.
+Solution:   Fix 'splitscroll' problems. (Luuk van Baal, closes #11117)
+
+Patch 9.0.0456
+Problem:    Function called at debug prompt is also debugged.
+Solution:   Reset the debug level while entering the debug command.
+            (closes #11118)
+
+Patch 9.0.0457
+Problem:    Substitute prompt does not highlight an empty match.
+Solution:   Highlight at least one character.
+
+Patch 9.0.0458
+Problem:    Splitting a line with a text prop "above" moves it to a new line
+            below.
+Solution:   Keep an "above" text prop above the first line.
+
+Patch 9.0.0459
+Problem:    Vim9: block in for loop doesn't behave like a code block.
+Solution:   Use a new block ID for each loop at the script level.
+
+Patch 9.0.0460
+Problem:    Loop variable can't be found.
+Solution:   Adjust block_id of the loop variable each round.
+
+Patch 9.0.0461
+Problem:    'scroll' is not always updated.
+Solution:   Call win_init_size() at the right place.
+
+Patch 9.0.0462
+Problem:    ASAN warning for integer overflow.
+Solution:   Check for tp_col to be MAXCOL.
+
+Patch 9.0.0463
+Problem:    Command line test leaves directory behind.
+Solution:   Use the "R" flag on the first mkdir(). (Dominique Pellé,
+            closes #11127)
+
+Patch 9.0.0464
+Problem:    With virtual text "above" indenting doesn't work well.
+Solution:   Ignore text properties while adjusting indent. (issue #11084)
+
+Patch 9.0.0465
+Problem:    Cursor moves when cmdwin is closed when 'splitscroll' is off.
+Solution:   Temporarily set 'splitscroll' when jumping back to the original
+            window. (closes #11128)
+
+Patch 9.0.0466
+Problem:    Virtual text wrong after adding line break after line.
+Solution:   Pass an "eol" flag to where text properties are adjusted.
+            (closes #11131)
+
+Patch 9.0.0467
+Problem:    Build failure.
+Solution:   Add missing change.
+
+Patch 9.0.0468
+Problem:    Exectution stack underflow without the +eval feature. (Dominique
+            Pellé)
+Solution:   Add to execution stack without FEAT_EVAL. (closes #11135)
+
+Patch 9.0.0469
+Problem:    Cursor moves if cmdwin is closed when 'splitscroll' is off.
+Solution:   Skip win_fix_cursor if called when cmdwin is open or closing.
+            (Luuk van Baal, closes #11134)
+
+Patch 9.0.0470
+Problem:    In a :def function all closures in a loop get the same variables.
+Solution:   When in a loop and a closure refers to a variable declared in the
+            loop, prepare for making a copy of variables for each closure.
+
+Patch 9.0.0471
+Problem:    No test for what patch 9.0.0469 fixes.
+Solution:   Add a test. (closes #11140)
+
+Patch 9.0.0472
+Problem:    Virtual text "below" doesn't show in list mode.
+Solution:   Reset lcs_eol_one when displaying text property.
+
+Patch 9.0.0473
+Problem:    fullcommand() only works for the current script version.
+Solution:   Add an optional argument for the script version.
+
+Patch 9.0.0474
+Problem:    fullcommand() test failure.
+Solution:   Update function table.
+
+Patch 9.0.0475
+Problem:    Not using deferred delete in tests.
+Solution:   Use deferred delete more often.
+
+Patch 9.0.0476
+Problem:    Varargs does not work for replacement function of substitute().
+Solution:   Check the varargs flag of the function. (closes #11142)
+
+Patch 9.0.0477
+Problem:    Missing dependency may cause crashes on incomplete build.
+Solution:   Add dependency.
+
+Patch 9.0.0478
+Problem:    Test for 'splitscroll' takes too much time.
+Solution:   Only test some of the combinations. (Luuk van Baal, closes #11139)
+
+Patch 9.0.0479
+Problem:    In a :def function all closures in a loop get the same variables.
+Solution:   Use a separate list of variables for LOADOUTER and SAVEOUTER.
+
+Patch 9.0.0480
+Problem:    Cannot use a :def varargs function with substitute().
+Solution:   Use has_varargs(). (closes #11146)
+
+Patch 9.0.0481
+Problem:    In a :def function all closures in a loop get the same variables.
+Solution:   Use a separate list of variables for LOADOUTER and STOREOUTER.
+            Not copied at end of loop yet.
+
+Patch 9.0.0482
+Problem:    "g0" moves to wrong location with virtual text "above".
+Solution:   Compensate for the extra columns. (closes #11141)  Also fix "g$"
+
+Patch 9.0.0483
+Problem:    Illegal memory access when replacing in virtualedit mode.
+Solution:   Check for replacing NUL after Tab.
+
+Patch 9.0.0484
+Problem:    In a :def function all closures in a loop get the same variables.
+Solution:   Add ENDLOOP at break, continue and return if needed.
+
+Patch 9.0.0485
+Problem:    In a :def function all closures in a loop get the same variables.
+Solution:   Make a copy of loop variables used in a closure.
+
+Patch 9.0.0486
+Problem:    Text scrolled with 'nosplitscroll', autocmd win opened and help
+            window closed.
+Solution:   Skip win_fix_scroll() in more situations. (Luuk van Baal,
+            closes #11150)
+
+Patch 9.0.0487
+Problem:    Using freed memory with combination of closures.
+Solution:   Do not use a partial after it has been freed through the
+            funcstack.
+
+Patch 9.0.0488
+Problem:    Cursor in wrong position with virtual text "above" and
+            'showbreak'.
+Solution:   Take the first character column into account. (closes #11149)
+
+Patch 9.0.0489
+Problem:    Using "end_lnum" with virtual text causes problems.
+Solution:   Disallow using "end_lnum" with virtual text. (closes #11151)
+            Also disallow "end_col" and "length".
+
+Patch 9.0.0490
+Problem:    Using freed memory with cmdwin and BufEnter autocmd.
+Solution:   Make sure pointer to b_p_iminsert is still valid.
+
+Patch 9.0.0491
+Problem:    No good reason to build without the float feature.
+Solution:   Remove configure check for float and "#ifdef FEAT_FLOAT".
+
+Patch 9.0.0492
+Problem:    Cmdwin test fails on MS-Windows.
+Solution:   Skip test on MS-Windows.
+
+Patch 9.0.0493
+Problem:    Perl test fails.
+Solution:   Remove remaining FEAT_EVAL.
+
+Patch 9.0.0494
+Problem:    Small build misses float function declaraitons.
+Solution:   Adjust #ifdefs.
+
+Patch 9.0.0495
+Problem:    Closure doesn't work properly in nested loop.
+Solution:   Save variables up to the outer loop.
+
+Patch 9.0.0496
+Problem:    No good reason to keep supporting Windows-XP.
+Solution:   Drop Windows-XP support. (Ken Takata, closes #11089)
+
+Patch 9.0.0497
+Problem:    LyRiCs files are not recognized.
+Solution:   Add a pattern to detect LyRiCs files. (closes #11155)
+
+Patch 9.0.0498
+Problem:    Various small issues.
+Solution:   Various small fixes.
+
+Patch 9.0.0499
+Problem:    In :def function list created after const is locked.
+Solution:   Reset v_lock. (closes #11154)
+
+Patch 9.0.0500
+Problem:    When quitting the cmdline window with CTRL-C it remains visible.
+Solution:   Redraw to avoid confusion. Adjust the error message.
+            (closes #11152)  Adjust the cursor position after CTRL-C.
+
+Patch 9.0.0501
+Problem:    Warning for using uninitialized value in mouse test.
+Solution:   Clear ScreenCols when allocating it. (Dominique Pellé)
+
+Patch 9.0.0502
+Problem:    A closure in a nested loop in a :def function does not work.
+Solution:   Use an array of loopvars, one per loop level.
+
+Patch 9.0.0503
+Problem:    Build failure.
+Solution:   Add missing changes.
+
+Patch 9.0.0504
+Problem:    still a Build failure.
+Solution:   Add another missing changes.  Avoid compiler warning.
+
+Patch 9.0.0505
+Problem:    Various problems with 'nosplitscroll'.
+Solution:   Fix 'nosplitscroll' problems. (Luuk van Baal, closes #11166)
+
+Patch 9.0.0506
+Problem:    Line number argument for :badd does not work.
+Solution:   Set the last cursor position in the new buffer. (closes #11161)
+
+Patch 9.0.0507
+Problem:    Command line cleared when using :redrawstatus in CmdlineChanged
+            autocommand event.
+Solution:   Postpone the redraw. (closes #11162)
+
+Patch 9.0.0508
+Problem:    When the channel test fails there is no clue why.
+Solution:   Add info about the job status. (Ken Takata, closes #11175)
+
+Patch 9.0.0509
+Problem:    Confusing error for "saveas" command with "nofile" buffer.
+Solution:   Give a clearer error message. (closes #11171)
+
+Patch 9.0.0510
+Problem:    Chatito files are not recognized.
+Solution:   Add a pattern for Chatito files. (closes #11174)
+
+Patch 9.0.0511
+Problem:    Unnecessary scrolling for message of only one line.
+Solution:   Only set msg_scroll when needed. (closes #11178)
+
+Patch 9.0.0512
+Problem:    Cannot redraw the status lines when editing a command.
+Solution:   Only postpone the redraw when messages have scrolled.
+            (closes #11170)
+
+Patch 9.0.0513
+Problem:    May not be able to use a pattern ad the debug prompt.
+Solution:   Temporarily disable the timeout. (closes #11164)
+
+Patch 9.0.0514
+Problem:    Terminal test sometimes hangs.
+Solution:   Add a bit more information to the test output. (issue #11179)
+
+Patch 9.0.0515
+Problem:    Virtual text highlight starts too early when 'number' is set.
+Solution:   Set column offset when wrapping. (issue #11138)
+
+Patch 9.0.0516
+Problem:    Virtual text "above" highlights gap after it.
+Solution:   Do not highlight the gap. (closes #11138)
+
+Patch 9.0.0517
+Problem:    When at the command line :redrawstatus does not work well.
+Solution:   Only update the statuslines instead of the screen. (closes #11180)
+
+Patch 9.0.0518
+Problem:    Virtual text highlight starts too early with 'nowrap' and 'number'
+            set.
+Solution:   Add the offset to the attribute skip count. (issue #11138)
+
+Patch 9.0.0519
+Problem:    The win_line() function is much too long.
+Solution:   Move the code to draw the line number to a separate function.
+
+Patch 9.0.0520
+Problem:    Declaring a loop variable at the start of a block is clumsy.
+Solution:   Declare the variable inside the loop in a few places to see if
+            this works.
+
+Patch 9.0.0521
+Problem:    Compiler warns for unused argument in small version.
+Solution:   Add UNUSED.
+
+Patch 9.0.0522
+Problem:    Build fails on Appveyor.
+Solution:   Select Visual Studio 2015 for the build tools.
+
+Patch 9.0.0523
+Problem:    more compiler warnings for arguments in small version
+Solution:   Adjust #ifdefs.
+
+Patch 9.0.0524
+Problem:    Build instructions for MS-Windows are outdated.
+Solution:   Remove instructions for old MSVC versions.
+
+Patch 9.0.0525
+Problem:    Manually deleting temp test files.
+Solution:   Add the 'D' flag to writefile().
+
+Patch 9.0.0526
+Problem:    MS-Windows: still some support for XP and old compilers.
+Solution:   Remove XP support and mention of old compilers. (Ken Takata,
+            closes #11183)
+
+Patch 9.0.0527
+Problem:    Long sign text may overflow buffer.
+Solution:   Use a larger buffer.  Prevent for overflow.
+
+Patch 9.0.0528
+Problem:    MS-Windows: no batch files for more recent MSVC versions.
+Solution:   Add batch files for 2017, 2019 and 2022. (Ken Takata,
+            closes #11184)
+
+Patch 9.0.0529
+Problem:    Appveyor setup contains outdated lines.
+Solution:   Remove outdated lines. (Ken Takata, closes #11182)
+
+Patch 9.0.0530
+Problem:    Using freed memory when autocmd changes mark.
+Solution:   Copy the mark before editing another buffer.
+
+Patch 9.0.0531
+Problem:    The win_line() function is much too long.
+Solution:   Move code to separate functions.
+
+Patch 9.0.0532
+Problem:    Edit test is flaky when run under valgrind.
+Solution:   Send some text to the terminal to trigger a redraw.
+
+Patch 9.0.0533
+Problem:    The win_line() function is much too long.
+Solution:   Move code to separate functions.
+
+Patch 9.0.0534
+Problem:    Line number is displayed at virtual text "above".
+Solution:   Show the line number at the text line.
+
+Patch 9.0.0535
+Problem:    Closure gets wrong value in for loop with two loop variables.
+Solution:   Correctly compute the number of loop variables to clear.
+
+Patch 9.0.0536
+Problem:    CI: codecov action update available.
+Solution:   Update Codecov 3.1.0 to 3.3.1. (closes #11188)
+
+Patch 9.0.0537
+Problem:    The do_set() function is much too long.
+Solution:   Move setting of a string option to a separate function.
+
+Patch 9.0.0538
+Problem:    Manually deleting test temp files.
+Solution:   Add the 'D' flag to writefile().
+
+Patch 9.0.0539
+Problem:    Long message test can be flaky.
+Solution:   Wait for more prompt instead of ruler.
+
+Patch 9.0.0540
+Problem:    Assigning stack variable to argument confuses Coverity.
+Solution:   Use a local pointer, also makes the code simpler.
+
+Patch 9.0.0541
+Problem:    Terminal pwd test fails with a very long path name.
+Solution:   Join two lines.
+
+Patch 9.0.0542
+Problem:    MSVC build still has support for 2012 edition.
+Solution:   Drop MSVC 2012 support. (Ken Takata, closes #11191)
+
+Patch 9.0.0543
+Problem:    Insufficient testing for assert and test functions.
+Solution:   Add a few more tests. (Yegappan Lakshmanan, closes #11190)
+
+Patch 9.0.0544
+Problem:    Minor issues with setting a string option.
+Solution:   Adjust the code, add a test. (closes #11192)
+
+Patch 9.0.0545
+Problem:    When a test is slow and CI times out there is no time info.
+Solution:   Add the elapsed time to the "Executing" message.
+
+Patch 9.0.0546
+Problem:    Supporting Ruby 1.8 makes code complicated.
+Solution:   Drop Ruby 1.8 support, it is ancient. (Ken Takata, closes #11195)
+
+Patch 9.0.0547
+Problem:    Looping over empty out_loop[] entries.
+Solution:   Store the array size.
+
+Patch 9.0.0548
+Problem:    reduce() with a compiled lambda could be faster.
+Solution:   Call eval_expr_typval() instead of call_func() directly.
+
+Patch 9.0.0549
+Problem:    Duplicated code in calling a :def function.
+Solution:   Simplify the code.
+
+Patch 9.0.0550
+Problem:    Crash when closing a tabpage and buffer is NULL.
+Solution:   Adjust how autocommands are triggered when closing a window.
+            (closes #11198, closes #11197)
+
+Patch 9.0.0551
+Problem:    Mode message is delayed when :echowin was used. (Maxim Kim)
+Solution:   Save and restore msg_didout in :echowin. (closes #11193)
+
+Patch 9.0.0552
+Problem:    Crash when using NUL in buffer that uses :source.
+Solution:   Don't get a next line when skipping over NL.
+
+Patch 9.0.0553
+Problem:    No error for "|" after "{" in lamda.
+Solution:   Check for invalid "|". (closes #11199)
+
+Patch 9.0.0554
+Problem:    Using freed memory when command follows lambda.
+Solution:   Don't free what is still in use. (closes #11201)
+
+Patch 9.0.0555
+Problem:    Scrolling with 'nosplitscroll' in callback changing curwin.
+Solution:   Invalidate w_cline_row in the right place. (Luuk van Baal,
+            closes #11185)
+
+Patch 9.0.0556
+Problem:    Leaking memory with nested functions.
+Solution:   Free saved pointer.
+
+Patch 9.0.0557
+Problem:    Valgrind reports possibly leaked memory.
+Solution:   Move the problematic test function to the "fails" test file to
+            avoid obscuring real memory leaks.
+
+Patch 9.0.0558
+Problem:    Coverity warns for possibly using NULL pointer.
+Solution:   Only use "evalarg" when not NULL.
+
+Patch 9.0.0559
+Problem:    Timer test may get stuck at hit-enter prompt.
+Solution:   Feed some more characters.
+
+Patch 9.0.0560
+Problem:    Elapsed time since testing started is not visible.
+Solution:   Show the elapsed time while running tests.
+
+Patch 9.0.0561
+Problem:    When a test gets stuck it just hangs forever.
+Solution:   Set a timeout of 30 seconds.
+
+Patch 9.0.0562
+Problem:    HSL playlist files are not recognized.
+Solution:   Add a pattern to recognize HSL palylist files. (Benoît Ryder,
+            closes #11204)
+
+Patch 9.0.0563
+Problem:    Timer_info() test fails.
+Solution:   Ignore test timeout timer.  Don't use test_null_job() when not
+            available.
+
+Patch 9.0.0564
+Problem:    A few tests keep failing on MacOS M1.
+Solution:   Add a test check CheckNotMacM1.  Fix timer tests.
+
+Patch 9.0.0565
+Problem:    Cscope test causes problems when code for test timeout timer is
+            included (even when commented out).
+Solution:   Disable part of the cscope test for now.
+
+Patch 9.0.0566
+Problem:    Nim files are not recognized.
+Solution:   Add patterns for Nim files. (Nbiba Bedis, closes #11205)
+
+Patch 9.0.0567
+Problem:    'completeopt' "longest" is not used for complete().
+Solution:   Also use "longest" for complete(). (Bjorn Linse, closes #11206)
+
+Patch 9.0.0568
+Problem:    Autocmd code is indented more than needed.
+Solution:   Break out sooner. (Yegappan Lakshmanan, closes #11208)
+            Also in user function code.
+
+Patch 9.0.0569
+Problem:    Cannot easily get out when using "vim file | grep word".
+Solution:   Without changes let CTRL-C exit Vim.  Otherwise give a message on
+            stderr. (closes #11209)
+
+Patch 9.0.0570
+Problem:    CI for Windows is still using codecov action 3.1.0.
+Solution:   Use action 3.1.1. (closes #11212)
+
+Patch 9.0.0571
+Problem:    MS-Windows: CTRL-C can make Vim exit.
+Solution:   Check the not-a-term argument.
+
+Patch 9.0.0572
+Problem:    Insert complete tests leave a mapping behind.
+Solution:   Use a buffer-local mapping. (closes #11211)
+
+Patch 9.0.0573
+Problem:    Outdated dependencies go unnoticed.
+Solution:   Use github Dependabot. (closes #11213)
+
+Patch 9.0.0574
+Problem:    Timer garbage collect test hangs on Mac M1.
+Solution:   Properly check for Mac M1 and skip the test.
+
+Patch 9.0.0575
+Problem:    The getchar() function behaves strangely with bracketed paste.
+Solution:   Do not handle paste-start in getchar(). (issue #11172)
+
+Patch 9.0.0576
+Problem:    Unused loop variables.
+Solution:   Use a while loop instead. (closes #11214)
+
+Patch 9.0.0577
+Problem:    Buffer underflow with unexpected :finally.
+Solution:   Check CSF_TRY can be found.
+
+Patch 9.0.0578
+Problem:    One timer test fails on Mac M1.
+Solution:   Skip the test on Mac M1.
+
+Patch 9.0.0579
+Problem:    Using freed memory when 'tagfunc' wipes out buffer that holds
+            'complete'.
+Solution:   Make a copy of the option.  Make sure cursor position is valid.
+
+Patch 9.0.0580
+Problem:    No CI running for MacOS on M1.
+Solution:   Add a cirrus CI task. (closes #11203)
+
+Patch 9.0.0581
+Problem:    Adding a character for incsearch fails at end of line.
+Solution:   Only check cursor line number.
+
+Patch 9.0.0582
+Problem:    Channel cwd test fails on Cirrus CI.
+Solution:   Also remove /private from the expected directory.
+
+Patch 9.0.0583
+Problem:    Only recognizing .m3u8 files is inconsistent.
+Solution:   Also matc .m3u files. (issue #11204)
+
+Patch 9.0.0584
+Problem:    Cscope test with wrong executable name fails.
+Solution:   Use /bin/sh to execute the command. (Yegappan Lakshmanan)
+
+Patch 9.0.0585
+Problem:    When long message test fails the error message is not visible.
+Solution:   Dump more lines.
+
+Patch 9.0.0586
+Problem:    Missing change in test.
+Solution:   Add the test change.
+
+Patch 9.0.0587
+Problem:    Unicode tables are outdated.
+Solution:   Update to Unicode release 15. (Christian Brabandt, closes #11220)
+
+Patch 9.0.0588
+Problem:    MorphOS build is broken.
+Solution:   Add "-lm" to LDFLAGS and "-noixemul" to CFLAGS. (Ola Söder,
+            closes #11222)
+
+Patch 9.0.0589
+Problem:    On AmigaOS4 the pid is available but the task address is used.
+Solution:   Use getpid().  (Ola Söder, closes #11224)
+
+Patch 9.0.0590
+Problem:    After exiting Insert mode spelling is not checked in the next
+            line.
+Solution:   When spelling is enabled redraw the next line after exiting Insert
+            mode in case the spell highlight needs updating.
+
+Patch 9.0.0591
+Problem:    Message window popup shows on only one tab page. (Naruhiko
+            Nishino)
+Solution:   Show the message window popup on all tab pages. (closes #11231)
+
+Patch 9.0.0592
+Problem:    Display not cleared when scrolling back in messages, a background
+            color is set and t_ut is empty.
+Solution:   Clear to the end of the display if needed. (closes #8973)
+
+Patch 9.0.0593
+Problem:    CI actions have too many permissions.
+Solution:   Restrict permissions to what is required. (closes #11223)
+
+Patch 9.0.0594
+Problem:    Makefile error message causes a shell error.
+Solution:   Put the message in single quotes. (closes #11232)
+
+Patch 9.0.0595
+Problem:    Extra newline in messages after a verbose shell message.
+Solution:   Output the newline with msg_putchar_attr(). (closes #11233)
+            Make it possible to filter a screendump before comparing it.
+
+Patch 9.0.0596
+Problem:    CI on Mac M1 has the channel feature disabled.
+Solution:   Include the channel feature.
+
+Patch 9.0.0597
+Problem:    Cannot close a tab page with the middle mouse button.
+Solution:   Support closing a tab page with the middle mouse button, like many
+            other programs. (closes #10746)
+
+Patch 9.0.0598
+Problem:    Using negative array index with negative width window.
+Solution:   Make sure the window width does not become negative.
+
+Patch 9.0.0599
+Problem:    Latexmkrc files are not recognized.
+Solution:   Use Perl filetype for latexmkrc files. (closes #11241)
+
+Patch 9.0.0600
+Problem:    GYP files are not recognized.
+Solution:   Recognize GYP files. (closes #11242)
+
+Patch 9.0.0601
+Problem:    Too much indent.
+Solution:   Return out early from a funtion. (Yegappan Lakshmanan,
+            close #11238)
+
+Patch 9.0.0602
+Problem:    New TypeScript extensions are not recognized.
+Solution:   Recognize .mts and .cts files. (closes #11237)
+
+Patch 9.0.0603
+Problem:    With 'nosplitscroll' folds are not handled correctly.
+Solution:   Take care of closed folds when moving the cursor. (Luuk van Baal,
+            closes #11234)
+
+Patch 9.0.0604
+Problem:    Luacheckrc file is not recognized.
+Solution:   Use lua filetype for luacheckrc. (closes #11236)
+
+Patch 9.0.0605
+Problem:    Dump file missing.
+Solution:   Add the missing dump file. (issue #11234)
+
+Patch 9.0.0606
+Problem:    system() opens a terminal window when using the GUI and "!" is in
+            'guioptions'.
+Solution:   Do not use a terminal window when the SHELL_SILENT flag is used.
+            (closes #11202)
+
+Patch 9.0.0607
+Problem:    Verbose echo message test fails on Mac OS.
+Solution:   Skip the test on Mac OS.
+
+Patch 9.0.0608
+Problem:    With spell checking, deleting a full stop at the end of a line
+            does not update SpellCap at the start of the next line.
+Solution:   Update the next line when characters have been deleted.  Also when
+            using undo.
+
+Patch 9.0.0609
+Problem:    Blockedit test fails because of wrong indent.
+Solution:   Adjust the expected text temporarily
+
+Patch 9.0.0610
+Problem:    Global interrupt test fails when run under valgrind.
+Solution:   Use TermWait().
+
+Patch 9.0.0611
+Problem:    Tests delete files with a separate delete() call.
+Solution:   Use deferred delete.
+
+Patch 9.0.0612
+Problem:    Blockedit test passes with wrong result.
+Solution:   Add a "vim9script" line to make indenting work.
+
+Patch 9.0.0613
+Problem:    Running source tests leaves file behind.
+Solution:   Add the "D" flag to writefile(). (Dominique Pellé, closes #11243)
+            Also do this for other writefile() calls and drop delete().
+
+Patch 9.0.0614
+Problem:    SpellFileMissing autocmd may delete buffer.
+Solution:   Disallow deleting the current buffer to avoid using freed memory.
+
+Patch 9.0.0615
+Problem:    Using reduce() on a list from range() is a bit slow.
+Solution:   Avoid materializing the list.
+
+Patch 9.0.0616
+Problem:    Spell test fails because error message changed.
+Solution:   Adjust expected error message.
+
+Patch 9.0.0617
+Problem:    Calling function for reduce() has too much overhead.
+Solution:   Only call clear_tv() when needed.
+
+Patch 9.0.0618
+Problem:    Calling function for reduce() has too much overhead.
+Solution:   Do not create a funccall_T every time.
+
+Patch 9.0.0619
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0620
+Problem:    matchaddpos() can only add up to 8 matches.
+Solution:   Allocate the array of positions. (closes #11248)
+
+Patch 9.0.0621
+Problem:    Filetype test leaves file behind.
+Solution:   Add deferred delete flag to writefile(). (Dominique Pellé,
+            closes #11249)
+
+Patch 9.0.0622
+Problem:    matchaddpos() can get slow when adding many matches.
+Solution:   Update the next available match ID when manually picking an ID and
+            remove check if the available ID can be used. (idea by Rick Howe)
+
+Patch 9.0.0623
+Problem:    Error for modifying a const is not detected at compile time.
+Solution:   Add TTFLAG_CONST and check for it in add() and extend().
+
+Patch 9.0.0624
+Problem:    Leaking argument type array.
+Solution:   Add allocated memory to type_gap.
+
+Patch 9.0.0625
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0626
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0627
+Problem:    "const" and "final" both make the type a constant. (Daniel
+            Steinberg)
+Solution:   Only have "const" make the type a constant.
+
+Patch 9.0.0628
+Problem:    Coverity warns for not checking return value.
+Solution:   Check the return value and simplify the code.
+
+Patch 9.0.0629
+Problem:    Get an error for using const only when executing.
+Solution:   Check for const at compile time for filter(), map(), remove(),
+            reverse(), sort() and uniq().
+
+Patch 9.0.0630
+Problem:    In Vim9 script a numbered function cannot be called.
+Solution:   Do not require "g:" before a numbered function name.
+            (closes #11254)
+
+Patch 9.0.0631
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0632
+Problem:    Calling a function from an "expr" option has too much overhead.
+Solution:   Add call_simple_func() and use it for 'foldexpr'
+
+Patch 9.0.0633
+Problem:    FEAT_TITLE was removed but is still used.
+Solution:   Remove FEAT_TITLE. (Naruhiko Nishino, closes #11256)
+
+Patch 9.0.0634
+Problem:    Evaluating "expr" options has more overhead than needed.
+Solution:   Use call_simple_func() for 'foldtext', 'includeexpr', 'printexpr',
+            "expr" of 'spellsuggest', 'diffexpr', 'patchexpr', 'balloonexpr',
+            'formatexpr', 'indentexpr' and 'charconvert'.
+
+Patch 9.0.0635
+Problem:    Build error and compiler warnings.
+Solution:   Add missing change.  Add type casts.
+
+Patch 9.0.0636
+Problem:    Underline color does not work in terminals that don't send a
+            termresponse.
+Solution:   Do output t_8u if it was set explicitly. (closes #11253)
+
+Patch 9.0.0637
+Problem:    Syntax of commands in Vim9 script depends on +eval feature.
+Solution:   Use same syntax with and without the +eval feature.
+
+Patch 9.0.0638
+Problem:    Popup menu highlight wrong on top of preview popup. (Yegappan
+            Lakshmanan)
+Solution:   Also check for the popup menu in screen_line().
+
+Patch 9.0.0639
+Problem:    Checking for popup in screen_char() is too late, the attribute has
+            already been changed.
+Solution:   Move check for popup to where screen_char() is called.
+
+Patch 9.0.0640
+Problem:    Cannot scroll by screen line if a line wraps.
+Solution:   Add the 'smoothscroll' option.  Only works for CTRL-E and CTRL-Y
+            so far.
+
+Patch 9.0.0641
+Problem:    Missing part of the new option code.
+Solution:   Add missing WV_SMS.
+
+Patch 9.0.0642
+Problem:    Breakindent test fails.
+Solution:   Correct logic for resetting need_showbreak.
+
+Patch 9.0.0643
+Problem:    Smoothscroll test fails.
+Solution:   Check if skipcol changed.
+
+Patch 9.0.0644
+Problem:    'smoothscroll' is not copied to a new window on :split.
+Solution:   Copy the option value.  Add a test.
+
+Patch 9.0.0645
+Problem:    CTRL-Y does not stop at line 1. (John Marriott)
+Solution:   Stop at line 1 when 'smoothscroll' is not set. (closes #11261)
+
+Patch 9.0.0646
+Problem:    with 'smoothscroll' set CTRL-E does not work properly when
+            'foldmethod' is set to "indent". (Yee Cheng Chin)
+Solution:   Merge the code for scroling with folds and 'smoothscroll'.
+            (closes #11262)
+
+Patch 9.0.0647
+Problem:    The 'splitscroll' option is not a good name.
+Solution:   Rename 'splitscroll' to 'splitkeep' and make it a string option,
+            also supporting "topline". (Luuk van Baal, closes #11258)
+
+Patch 9.0.0648
+Problem:    When using powershell input redirection does not work.
+Solution:   Use a different shell command for powershell. (Yegappan
+            Lakshmanan, closes #11257)
+
+Patch 9.0.0649
+Problem:    No indication when the first line is broken for 'smoothscroll'.
+Solution:   Show "<<<" in the first line.
+
+Patch 9.0.0650
+Problem:    Some tests are failing.
+Solution:   Adjust for "<<<" showing up.
+
+Patch 9.0.0651
+Problem:    Build fails without the +conceal feature.
+Solution:   Rename called function.
+
+Patch 9.0.0652
+Problem:    'smoothscroll' not tested with 'number' and "n" in 'cpo'.
+Solution:   Add tests, fix uncovered problem.
+
+Patch 9.0.0653
+Problem:    BS and DEL do not work properly in an interacive shell. (Gary
+            Johnson)
+Solution:   Adjust the length for replaced codes.
+
+Patch 9.0.0654
+Problem:    Breakindent test fails.
+Solution:   Temporarily accept wrong result.
+
+Patch 9.0.0655
+Problem:    passing modifier codes to a shell running in the GUI. (Gary
+            Johnson)
+Solution:   Include modifier codes into the key and drop the modifiers.
+
+Patch 9.0.0656
+Problem:    Cannot specify another character to use instead of '@' at the end
+            of the window.
+Solution:   Add "lastline" to 'fillchars'. (Martin Tournoij, closes #11264,
+            closes #10963)
+
+Patch 9.0.0657
+Problem:    Too many #ifdefs.
+Solution:   Graduate the +cmdwin feature.  Now the tiny and small builds are
+            equal, drop the small build.  (Martin Tournoij, closes #11268)
+
+Patch 9.0.0658
+Problem:    Tiny build fails on Mac OS.
+Solution:   Define FEAT_CLIPBOARD only for normal build.
+
+Patch 9.0.0659
+Problem:    Wrong type of comment in SetSyn() function.
+Solution:   Use Vim9 comment. (closes #11278)
+
+Patch 9.0.0660
+Problem:    Mapping with CTRL keys does not work in the GUI.
+Solution:   Recognize CSI next to K_SPECIAL. (closes #11275, closes #11270)
+
+Patch 9.0.0661
+Problem:    Multi-byte "lastline" item in 'fillchars' does not work properly
+            when the window is two columns wide.
+Solution:   Compute the text length correctly. (closes #11280)
+
+Patch 9.0.0662
+Problem:    Concealed characters do not work correctly.
+Solution:   Subtract boguscols instead of adding them. (closes #11273)
+
+Patch 9.0.0663
+Problem:    Tests check for +cmdwin feature which is always present.
+Solution:   Remove the checks. (closes #11287)
+
+Patch 9.0.0664
+Problem:    Bad redrawing with spell checking, using "C" and "$" in 'cpo'.
+Solution:   Do not redraw the next line when "$" is in 'cpo'. (closes #11285)
+
+Patch 9.0.0665
+Problem:    Setting 'cmdheight' has no effect if last window was resized.
+Solution:   Do apply 'cmdheight' when told to.  Use the frame height instead
+            of the cmdline_row.  (closes #11286)
+
+Patch 9.0.0666
+Problem:    Spacing-combining characters handled as composing, causing text to
+            take more space than expected.
+Solution:   Handle characters marked with "Mc" not as composing.
+            (closes #11282
+
+Patch 9.0.0667
+Problem:    ml_get error when 'splitkeep' is "screen". (Marius Gedminas)
+Solution:   Check the botline is not too large. (Luuk van Baal,
+            closes #11293, closes #11292)
+
+Patch 9.0.0668
+Problem:    CI on Mac M1 only uses clang
+Solution:   Also run with gcc. (closes #11263)
+
+Patch 9.0.0669
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0670
+Problem:    No space for command line when there is a tabline.
+Solution:   Correct computation of where the command line should be.
+            (closes #11295)
+
+Patch 9.0.0671
+Problem:    Negative topline using CTRL-Y with 'smoothscroll' and 'diff'.
+            (Ernie Rael)
+Solution:   Only use 'smoothscroll' when 'wrap' is set.
+
+Patch 9.0.0672
+Problem:    Cursor line only partly shows with 'smoothscroll' and 'scrolloff'
+            zero.
+Solution:   Do not use 'smoothscroll' when adjusting the bottom of the window.
+            (closes #11269)
+
+Patch 9.0.0673
+Problem:    First line not scrolled properly with 'smoothscroll' and
+            'scrolloff' zero and using "k".
+Solution:   Make sure the cursor position is visible.
+
+Patch 9.0.0674
+Problem:    Build error with tiny version.
+Solution:   Use PLINES_NOFILL macro.
+
+Patch 9.0.0675
+Problem:    Search test screendump is outdated.
+Solution:   Update the screendump for improved display.
+
+Patch 9.0.0676
+Problem:    CI on Mac M1 with gcc actually uses clang.
+Solution:   Remove the gcc task. (Ozaki Kiichi, closes #11297)
+
+Patch 9.0.0677
+Problem:    Breakindent test accepts wrong result.
+Solution:   Fix the number column and adjust the expected text.
+
+Patch 9.0.0678
+Problem:    Using exclamation marks on :function.
+Solution:   Use :func and :endfunc as usual.
+
+Patch 9.0.0679
+Problem:    Tests failing with 'smoothscroll', 'number' and "n" in 'cpo'.
+Solution:   Do not count number column in topline if columns are skipped.
+
+Patch 9.0.0680
+Problem:    Tests failing with 'breakindent', 'number' and "n" in 'cpo'.
+Solution:   Do count the number column in topline if 'breakindent' is set.
+
+Patch 9.0.0681
+Problem:    "<<<" shows for 'smoothscroll' even when 'showbreak is set.
+Solution:   When 'showbreak' is set do not display "<<<".
+
+Patch 9.0.0682
+Problem:    Crash when popup with deleted timer is closed. (Igbanam
+            Ogbuluijah)
+Solution:   Check the timer still exists. (closes #11301)
+
+Patch 9.0.0683
+Problem:    Cannot specify a time for :echowindow.
+Solution:   A count can be used to specify the display time. Add
+            popup_findecho().
+
+Patch 9.0.0684
+Problem:    Skipped :exe command fails compilation on MS-Windows.
+Solution:   Adjust return value when skipping.
+
+Patch 9.0.0685
+Problem:    FORTIFY_SOURCE causes a crash in Vim9 script.
+Solution:   Use a pointer to the first char. (Yee Cheng Chin, closes #11302)
+
+Patch 9.0.0686
+Problem:    The right ALT key does not work on some MS-Windows keyboards.
+Solution:   Adjust the modifiers based on GetKeyState(). (Anoton Sharonov,
+            closes #11300)
+
+Patch 9.0.0687
+Problem:    "export def" does not work in a nested block.
+Solution:   Do not handle "export" with a separate function but in the same
+            command stack. (closes #11304)
+
+Patch 9.0.0688
+Problem:    Debugger does not display the whole command.
+Solution:   Set ea.cmd before checking for a breakpoint.
+
+Patch 9.0.0689
+Problem:    Compiler warning for unused function.
+Solution:   Add #ifdef. (John Marriott)
+
+Patch 9.0.0690
+Problem:    Buffer size for expanding tab not correctly computed.
+Solution:   Correctly use size of end character.
+
+Patch 9.0.0691
+Problem:    lalloc(0) error in listchars test.
+Solution:   Skip generating text for tab if tab_len is zero.
+
+Patch 9.0.0692
+Problem:    PoE filter files are not recognized.
+Solution:   Add a pattern to detect PoE filter files. (closes #11305)
+
+Patch 9.0.0693
+Problem:    browse() first argument cannot be a bool.
+Solution:   Use tv_get_bool_chk() instead of tv_get_number_chk().
+            (closes #11308)
+
+Patch 9.0.0694
+Problem:    No native sound support on Mac OS.
+Solution:   Add sound support for Mac OS. (Yee Cheng Chin, closes #11274)
+
+Patch 9.0.0695
+Problem:    Failing check for dictionary type for const any.
+Solution:   Check for any type properly. (closes #11310)
+
+Patch 9.0.0696
+Problem:    It is unclear if the +rightleft and +arabic features are actively
+            being used.
+Solution:   Disable the features, await feedback.
+
+Patch 9.0.0697
+Problem:    Cursor in wrong position with Visual substitute.
+Solution:   When restoring 'linebreak' mark the virtual column as invalid.
+            (closes #11309, closes #11311)
+
+Patch 9.0.0698
+Problem:    VisVim is outdated, does not work with current Visual Studio.
+Solution:   Remove VisVim. (Martin Tournoij)
+
+Patch 9.0.0699
+Problem:    Tiny build fails.
+Solution:   Add #ifdef.
+
+Patch 9.0.0700
+Problem:    There is no real need for a "big" build.
+Solution:   Move common features to "normal" build, less often used features
+            to the "huge" build. (Martin Tournoij, closes #11283)
+
+Patch 9.0.0701
+Problem:    With 'smoothscroll' the cursor position s not adjusted in a long
+            line.
+Solution:   Move the cursor further up or down in the line.
+
+Patch 9.0.0702
+Problem:    Incomplete testing cursor position after change with 'linebreak'
+            set.
+Solution:   Add a test and move test cases together. (closes #11313)
+
+Patch 9.0.0703
+Problem:    Failing check for argument type for const any.
+Solution:   Check for any type properly. (closes #11316)
+
+Patch 9.0.0704
+Problem:    CI runs "tiny" and "small" builds, which are the same.
+Solution:   Remove the "small" build. (Naruhiko Nishino, closes #11315)
+
+Patch 9.0.0705
+Problem:    Virtual text truncation does not take padding into account.
+Solution:   Subtract the padding from the available space. (closes #11318)
+
+Patch 9.0.0706
+Problem:    :help in a narrow window always opens at the top.
+Solution:   Respect 'splitbelow'. (closes #11319)
+
+Patch 9.0.0707
+Problem:    With 'smoothscroll' and 'scrolloff' non-zero the cursor position
+            is not properly adjusted in a long line.
+Solution:   Move the cursor further up or down in the line.
+
+Patch 9.0.0708
+Problem:    :confirm does not work properly for a terminal buffer.
+Solution:   Handle :confirm for a terminal buffer differently.  (Yee Cheng
+            Chin, closes #11312)
+
+Patch 9.0.0709
+Problem:    Virtual text "after" not correct with 'nowrap'.
+Solution:   Do not display "after" text prop on the next line when 'wrap' is
+            off.
+
+Patch 9.0.0710
+Problem:    Quitting/unloading/hiding a terminal buffer does not always work
+            properly.
+Solution:   Avoid that ":q!" leaves an empty buffer behind.  ":bunload!" also
+            kills the job and unloads the buffer.  ":hide" does not unload the
+            buffer. (Yee Cheng Chin, closes #11323)
+
+Patch 9.0.0711
+Problem:    SubStation Alpha files are not recognized.
+Solution:   Add patterns for SubStation Alpha files. (closes #11332)
+
+Patch 9.0.0712
+Problem:    Wrong column when calling setcursorcharpos() with zero lnum.
+Solution:   Set the line number before calling buf_charidx_to_byteidx().
+            (closes #11329)
+
+Patch 9.0.0713
+Problem:    <amatch> of MenuPopup event is expanded like a file name.
+Solution:   Do not expand <amatch> for MenuPopup. (closes #11328)
+
+Patch 9.0.0714
+Problem:    With 'nowrap' two virtual text below not displayed correctly.
+Solution:   Set text_prop_follows before continuing.  Correct for number
+            column. (closes #11333)
+
+Patch 9.0.0715
+Problem:    Wrong argument for append() gives two error messages.
+Solution:   When getting an error for a number argument don't try using it as
+            a string. (closes #11335)
+
+Patch 9.0.0716
+Problem:    With 'nowrap' virtual text "after" does not scroll left.
+Solution:   Skip part of the virtual text that is left of the window.
+            (closes #11320)  Fix going beyond the last column of the window.
+
+Patch 9.0.0717
+Problem:    Compiler warning for unused variable in tiny build.
+Solution:   Add #ifdefs.
+
+Patch 9.0.0718
+Problem:    Extra empty line between two virtual text "below" when 'wrap' and
+            'number' are set.
+Solution:   Reset "before" when there is no text in the screen line.
+            (closes #11334)
+
+Patch 9.0.0719
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0720
+Problem:    MS-Windows GUI may have pixel dust from antialiasing.
+Solution:   When a character changes also redraw the next one. (issue #8532)
+
+Patch 9.0.0721
+Problem:    Virtual text "above" with padding not displayed correctly.
+Solution:   Take padding into account when truncating. (closes #11340)
+
+Patch 9.0.0722
+Problem:    Virtual text "after" does not show with 'list' set.
+Solution:   Do not break out of the loop when another text prop follows.
+            (closes #11337)
+
+Patch 9.0.0723
+Problem:    Extra empty line below virtual text when 'list' is set.
+Solution:   Do not reset lcs_eol_one but set text_prop_follows. (closes #11339)
+
+Patch 9.0.0724
+Problem:    Closure in compiled function gets same variable in block.
+Solution:   At the end of a block to not always reset the variable count.
+            (issue #11094)
+
+Patch 9.0.0725
+Problem:    Virtual text "after" wraps to next line even when 'wrap' is off
+            and 'list' is set.
+Solution:   Do not use the minimum width when 'wrap' is off. (issue #11336)
+
+Patch 9.0.0726
+Problem:    Looping over list of lists and changing the list contents works in
+            Vim9 script, not in a compiled function.
+Solution:   Mark the loop variable final instead of const. (closes #11347)
+
+Patch 9.0.0727
+Problem:    Help in the repository differs from patched version too much.
+Solution:   Make a patch for a few help files.
+
+Patch 9.0.0728
+Problem:    extend() test fails.
+Solution:   Item is final, not const.
+
+Patch 9.0.0729
+Problem:    The rightleft and arabic features are disabled.
+Solution:   Re-enable the features, some users want to use the functionality.
+
+Patch 9.0.0730
+Problem:    Startup test fails with right-left feature.
+Solution:   Do not delete test file too early.
+
+Patch 9.0.0731
+Problem:    clang-tidy configuration files are not recognized.
+Solution:   Recognize clang-tidy files as yaml. (closes #11350)
+
+Patch 9.0.0732
+Problem:    No check for white space before and after "=<<". (Doug Kearns)
+Solution:   Check for white space in Vim9 script. (closes #11351)
+
+Patch 9.0.0733
+Problem:    Use of strftime() is not safe.
+Solution:   Check the return value of strftime().  Use a larger buffer and
+            correctly pass the available space. (Dominique Pellé, closes
+            #11348)
+
+Patch 9.0.0734
+Problem:    Cursor position invalid when scrolling with 'smoothscroll' set.
+            (Ernie Rael)
+Solution:   Add w_valid_skipcol and clear flags when it changes.  Adjust
+            w_skipcol after moving the cursor.
+
+Patch 9.0.0735
+Problem:    Breakindent and scrolloff tests fail.
+Solution:   Temporarily skip the assertions.
+
+Patch 9.0.0736
+Problem:    Quickfix listing does not handle very long messages.
+Solution:   Use a growarray instead of a fixed size buffer. (Yegappan
+            Lakshmanan, closes #11357)
+
+Patch 9.0.0737
+Problem:    Lisp word only recognized when a space follows.
+Solution:   Also match a word at the end of a line.  Rename the test.  Use a
+            compiled function to avoid backslashes.
+
+Patch 9.0.0738
+Problem:    Cannot suppress completion "scanning" messages.
+Solution:   Add the "C" flag in 'shortmess'. (Bjorn Linse, closes #11354)
+
+Patch 9.0.0739
+Problem:    Mouse column not correctly used for popup_setpos.
+Solution:   Adjust off-by-one error and handle Visual line selection properly.
+            (Yee Cheng Chin, closes #11356)
+
+Patch 9.0.0740
+Problem:    prop_add_list() gives multiple errors for invalid argument.
+Solution:   Only give one error message.
+
+Patch 9.0.0741
+Problem:    Cannot specify an ID for each item with prop_add_list(). (Sergey
+            Vlasov)
+Solution:   Add an optional fifth number to the item. (closes #11360)
+
+Patch 9.0.0742
+Problem:    Reading past end of the line when compiling a function with
+            errors.
+Solution:   Do not return an invalid pointer.  Fix skipping redirection.
+
+Patch 9.0.0743
+Problem:    Starting cscope on Unix does not quote the arguments correctly.
+            (Gary Johnson)
+Solution:   Move the final quote after the arguments.
+
+Patch 9.0.0744
+Problem:    In script in autoload dir exported variable is not found. (Doug
+            Kearns)
+Solution:   Find the variable with the "script#" prefix. (closes #11361)
+
+Patch 9.0.0745
+Problem:    Wrong cursor position when using "gj" and "gk" in a long line.
+Solution:   Adjust computations for the cursor position and skipcol. Re-enable
+            tests that pass now, disable failing breakindent test.
+
+Patch 9.0.0746
+Problem:    Breakindent test cases are commented out.
+Solution:   Adjust expected result to slightly different behavior.  Correct
+            computations for cursor position.
+
+Patch 9.0.0747
+Problem:    Too many #ifdefs.
+Solution:   Gradudate the +cmdline_info feature. (Martin Tournoij,
+            closes #11330)
+
+Patch 9.0.0748
+Problem:    Kitty may send key without modifiers with CSI u code.
+Solution:   Handle CSI u code without modifiers. (Trygve Aaberge,
+            closes #11364)
+
+Patch 9.0.0749
+Problem:    Alloc/free of buffer for each quickfix entry is inefficient.
+Solution:   Use a shared grow array. (Yegappan Lakshmanan, closes #11365)
+
+Patch 9.0.0750
+Problem:    Crash when popup closed in callback. (Maxim Kim)
+Solution:   In syntax_end_parsing() check that syn_block is valid.
+
+Patch 9.0.0751
+Problem:    'scrolloff' does not work well with 'smoothscroll'.
+Solution:   Make positioning the cursor a bit better.  Rename functions.
+
+Patch 9.0.0752
+Problem:    Rprofile files are not recognized.
+Solution:   Recognize Rprofile files as "r". (closes #11369)
+
+Patch 9.0.0753
+Problem:    Some Ex commands are not in the help index.
+Solution:   Add the missing commands.  Add a script to check all Ex commands
+            are in the help index. (Yee Cheng Chin, closes #11371)
+
+Patch 9.0.0754
+Problem:    'indentexpr' overrules lisp indenting in one situation.
+Solution:   Add "else" to keep the lisp indent. (issue #11327)
+
+Patch 9.0.0755
+Problem:    Huge build on macos always fails on CI.
+Solution:   Temporarily disable the perl interface.
+
+Patch 9.0.0756
+Problem:    No autocmd event for changing text in a terminal window.
+Solution:   Add TextChangedT. (Shougo Matsushita, closes #11366)
+
+Patch 9.0.0757
+Problem:    Line number not visisble with 'smoothscroll', 'nu' and 'rnu'.
+Solution:   Put the ">>>" after the line number instead of on top.
+
+Patch 9.0.0758
+Problem:    "precedes" from 'listchars' overwritten by <<< for 'smoothscroll'.
+Solution:   Keep the "precedes" character.
+
+Patch 9.0.0759
+Problem:    Huge build on macos does not use Perl.
+Solution:   Re-enable the Perl interface using "dynamic". (closes #11375)
+
+Patch 9.0.0760
+Problem:    Display test for 'listchars' "precedes" fails.
+Solution:   Correct the expected result.
+
+Patch 9.0.0761
+Problem:    Cannot use 'indentexpr' for Lisp indenting.
+Solution:   Add the 'lispoptions' option.
+
+Patch 9.0.0762
+Problem:    Build failure.
+Solution:   Add missing change.
+
+Patch 9.0.0763
+Problem:    MS-Windows: warning for using int for size_t.
+Solution:   Declare variable as size_t.
+
+Patch 9.0.0764
+Problem:    Indent and option tests fail.
+Solution:   Change OP_INDENT.  Add entry to options test table.
+
+Patch 9.0.0765
+Problem:    With a Visual block a put command column may go negative.
+Solution:   Check that the column does not become negative.
+
+Patch 9.0.0766
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0767
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0768
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0769
+Problem:    Too many delete() calls in tests.
+Solution:   Use deferred delete where possible.
+
+Patch 9.0.0770
+Problem:    Quickfix commands may keep memory allocated.
+Solution:   Free memory when it's a bit much. (Yegappan Lakshmanan,
+            closes #11379)
+
+Patch 9.0.0771
+Problem:    Cannot always tell the difference beween tex and rexx files.
+Solution:   Recognize tex by a leading backslash. (Martin Tournoij,
+            closes #11380)
+
+Patch 9.0.0772
+Problem:    The libvterm code is outdated.
+Solution:   Include libvterm changes from revision 790 to 801.
+
+Patch 9.0.0773
+Problem:    Huge build on macos uses dynamic Perl.
+Solution:   Use built-in Perl, uninstall the brew one. (closes #11382)
+
+Patch 9.0.0774
+Problem:    The libvterm code is outdated.
+Solution:   Include libvterm changes from revision 802 to 817.  Revert some
+            changes made for C89.
+
+Patch 9.0.0775
+Problem:    MS-Windows: mouse scrolling not supported in the console.
+Solution:   Add event handling for mouse scroll events. (Christopher
+            Plewright, closes #11374)
+
+Patch 9.0.0776
+Problem:    MSVC can't have field name "small".
+Solution:   Rename small to smallfont.
+
+Patch 9.0.0777
+Problem:    Code is indented too much.
+Solution:   Use an early return. (Yegappan Lakshmanan, closes #11386)
+
+Patch 9.0.0778
+Problem:    Indexing of unknown const type fails during compilation.
+Solution:   Check for "any" properly. (closes #11389)
+
+Patch 9.0.0779
+Problem:    lsl and lm3 file extensions are not recognized.
+Solution:   Add *.lsl and *.lm3 patterns. (Doug Kearns, closes #11384)
+
+Patch 9.0.0780
+Problem:    'scroll' value computed in unexpected location.
+Solution:   Compute 'scroll' when the window height is changed. (Luuk van
+            Baal, closes #11387)
+
+Patch 9.0.0781
+Problem:    Workaround to rename "small" to "smallfont" is clumsy.
+Solution:   Undefine "small" after including windows.h. (Ken Takata)
+
+Patch 9.0.0782
+Problem:    OpenVPN files are not recognized.
+Solution:   Add patterns for OpenVPN files. (closes #11391)
+
+Patch 9.0.0783
+Problem:    ":!" doesn't do anything but does update the previous command.
+Solution:   Do not have ":!" change the previous command. (Martin Tournoij,
+            closes #11372)
+
+Patch 9.0.0784
+Problem:    Text prop "above" not displayed correctly with 'number' and "n" in
+            'cpo'.
+Solution:   Draw the line number column until the line text is reached.
+
+Patch 9.0.0785
+Problem:    Memory leak with empty shell command.
+Solution:   Free the allocated memory when bailing out.
+
+Patch 9.0.0786
+Problem:    User command does not get number from :tab modifier.
+Solution:   Include the number. (closes #11393, closes #6801)
+
+Patch 9.0.0787
+Problem:    MS-Windows: mouse scrolling in terminal misbehaves without dll.
+Solution:   Add #ifdef as a temporary solution. (Christopher Plewright,
+            closes #11392)
+
+Patch 9.0.0788
+Problem:    ModeChanged autocmd not executed when Visual mode is ended with
+            CTRL-C.
+Solution:   Do not trigger the autocmd when got_int is set. (closes #11394)
+
+Patch 9.0.0789
+Problem:    Dummy buffer ends up in a window.
+Solution:   Disallow navigating to a dummy buffer.
+
+Patch 9.0.0790
+Problem:    Test for dummy buffer does not always produce the E86 error.
+Solution:   Do not check if the error is produced.
+
+Patch 9.0.0791
+Problem:    At the hit-Enter prompt the End and Home keys may not work.
+Solution:   Use the special "@" code for End and Home, like it was done for
+            the cursor keys in patch 8.2.2246. (Trygve Aaberge, closes #11396)
+
+Patch 9.0.0792
+Problem:    MS-Windows: compiler complains about unused function.
+Solution:   Add #ifdef. (John Marriott)
+
+Patch 9.0.0793
+Problem:    MS-Windows: mouse scroll events only work with the dll.
+Solution:   Accept CSI codes for MS-Windows without the GUI. (Christopher
+            Plewright, closes #11401)
+
+Patch 9.0.0794
+Problem:    There is no way to find out if an escape sequence with
+            modifyOtherKeys has been seen.
+Solution:   Add a notice with ":verbose map".
+
+Patch 9.0.0795
+Problem:    readblob() always reads the whole file.
+Solution:   Add arguments to read part of the file. (Ken Takata,
+            closes #11402)
+
+Patch 9.0.0796
+Problem:    Mapping test fails in some situations.
+Solution:   Find the line with the verbose information.
+
+Patch 9.0.0797
+Problem:    Order of assert function arguments is reverted.
+Solution:   Swap the arguments. (closes #11399)
+
+Patch 9.0.0798
+Problem:    Clang format configuration files are not recognized.
+Solution:   Use yaml for Clang format configuration files. (Marwin Glaser,
+            closes #11398)
+
+Patch 9.0.0799
+Problem:    In compiled function ->() on next line not recognized.
+Solution:   Also check for "(". (closes #11405)
+
+Patch 9.0.0800
+Problem:    Compiler complains about repeated typedef.
+Solution:   Remove one typedef.
+
+Patch 9.0.0801
+Problem:    The modifyOtherKeys flag is set when it should not.
+Solution:   Do not handle special key codes with a modifer value above 16 as a
+            modifyOtherKeys value. (issue #11403)
+
+Patch 9.0.0802
+Problem:    MS-Windows: cannot map console mouse scroll events.
+Solution:   Change CSI to K_SPECIAL when checking for a mapping. (Christopher
+            Plewright, closes #11410)
+
+Patch 9.0.0803
+Problem:    readblob() cannot read from character device.
+Solution:   Use S_ISCHR() to not check the size. (Ken Takata, closes #11407)
+
+Patch 9.0.0804
+Problem:    Crash when trying to divice the largest negative number by -1.
+Solution:   Handle this case specifically.
+
+Patch 9.0.0805
+Problem:    Filetype autocmd may cause freed memory access.
+Solution:   Set the quickfix-busy flag while filling the buffer.
+
+Patch 9.0.0806
+Problem:    'langmap' works differently when there are modifiers.
+Solution:   Only apply 'langmap' to a character where modifiers have no
+            effect. (closes #11395, closes #11404)
+
+Patch 9.0.0807
+Problem:    With 'smoothscroll' typing "0" may not go to the first column.
+Solution:   Recompute w_cline_height when needed.  Do not scroll up when it
+            would move the cursor.
+
+Patch 9.0.0808
+Problem:    jsonnet filetype detection has a typo.
+Solution:   Change "libjsonnet" to "libsonnet". (Maxime Brunet, closes #11412)
+
+Patch 9.0.0809
+Problem:    Test for job writing to buffer fails.
+Solution:   Correct w_topline when deleting a buffer line.
+
+Patch 9.0.0810
+Problem:    readblob() returns empty when trying to read too much.
+Solution:   Return what is available.
+
+Patch 9.0.0811
+Problem:    Error if :echowin is preceded by a command modifier.
+Solution:   Do not give an error for range when there is a modifier.
+            (closes #11414)
+
+Patch 9.0.0812
+Problem:    GUI mouse scrollwheel mappings don't work.
+Solution:   Add check for "gui.in_use". (Christopher Plewright, closes #11418)
+
+Patch 9.0.0813
+Problem:    Kitty terminal is not recognized.
+Solution:   Recognize Kitty by the termresponse and then do not set
+            seenModifyOtherKeys, since Kitty doesn't support that.
+            (issue #11413)
+
+Patch 9.0.0814
+Problem:    Aws config files are not recognized.
+Solution:   Use "confini" for aws config files. (Justin M. Keyes,
+            closes #11416)
+
+Patch 9.0.0815
+Problem:    ":!" does not switch to the alternate screen.
+Solution:   For ":!" don't clear the previous command. (closes #11420,
+            closes #11409) 
+
+Patch 9.0.0816
+Problem:    CTRL-Z at end of file is always dropped.
+Solution:   Add the 'endoffile' option, like the 'endofline' option.
+            (closes #11408, closes #11397) 
+
+Patch 9.0.0817
+Problem:    Build error.
+Solution:   correct variable name. 
+
+Patch 9.0.0818
+Problem:    "!ls" does not work.
+Solution:   Do not free memory that is in use. 
+
+Patch 9.0.0819
+Problem:    Still a build error, tests are failing.
+Solution:   Correct recent changes. Add missing init for 'eof'.
+
+Patch 9.0.0820
+Problem:    Memory leak with empty shell command.
+Solution:   Free the empty string.
+
+Patch 9.0.0821
+Problem:    Memory leak with empty shell command.
+Solution:   Free the empty string.
+
+Patch 9.0.0822
+Problem:    Crash when dragging the statusline with a mapping.
+Solution:   Check for valid window pointer. (issue #11427)
+
+Patch 9.0.0823
+Problem:    Mouse drag test fails.
+Solution:   Only reset the mouse click flag when actually switching to another
+            tab page.  Disable test that keeps failing.
+
+Patch 9.0.0824
+Problem:    Crash when using win_move_separator() in other tab page.
+Solution:   Check for valid window in current tab page.
+            (closes #11479, closes #11427)
+
+Patch 9.0.0825
+Problem:    Cannot drag an entry in the tabpage line.
+Solution:   Clear dragwin instead of got_click. (closes #11483,
+            closes #11482)
+
+Patch 9.0.0826
+Problem:    If 'endofline' is set the CTRL-Z may be written in the wrong
+            place.
+Solution:   Write CTRL-Z at the end of the file.  Update the help to explain
+            the possibilities better. (Ken Takata, closes #11486)
+
+Patch 9.0.0827
+Problem:    The <Home> key in tmux doesn't work when 'term' is set to "xterm".
+            (Dominique Pellé)
+Solution:   Only use '@' in a termcap key entry for "1" when ";" follows.
+            (closes #11429)
+
+Patch 9.0.0828
+Problem:    Various typos.
+Solution:   Correct typos. (closes #11432)
+
+Patch 9.0.0829
+Problem:    Wrong counts in macro comment.
+Solution:   Update the value counts. (closes #11480)
+
+Patch 9.0.0830
+Problem:    Compiling with Perl on Mac 12 fails.
+Solution:   Suppress infinite warnings. (closes #11499)
+
+Patch 9.0.0831
+Problem:    Compiler warning for redefining HAVE_DUP.
+Solution:   Undefine HAVE_DUP if needed. (Ozaki Kiichi, closes #11484)
+
+Patch 9.0.0832
+Problem:    Deprecation warning causes build failure.
+Solution:   Suppress deprecation warning. (closes #11503)
+
+Patch 9.0.0833
+Problem:    Mac: no +sound feature in huge build.
+Solution:   Enable +sound in Mac huge build. (closes #11497)
+
+Patch 9.0.0834
+Problem:    Warning for missing return type.
+Solution:   Add "int". (San James, closes #11496)
+
+Patch 9.0.0835
+Problem:    The window title is not redrawn when 'endoffile' changes.
+Solution:   redraw the window title when 'endoffile' is changed. (Ken Takata,
+            closes #11488)
+
+Patch 9.0.0836
+Problem:    Wrong error when using extend() with funcref.
+Solution:   Better check the variable type. (closes #11468, closes #11455)
+
+Patch 9.0.0837
+Problem:    append() reports failure when not appending anything.
+Solution:   Only report failure when appending something. (closes #11498)
+
+Patch 9.0.0838
+Problem:    Compiler warnings for unused variables.
+Solution:   Addjust #ifdef and remove unused variables. (John Marriott)
+
+Patch 9.0.0839
+Problem:    Test may fail depending on sequence of events.
+Solution:   Accept error codes in either order. (Yee Cheng Chin,
+            closes #11510)
+
+Patch 9.0.0840
+Problem:    Cannot change a slice of a const list. (Takumi KAGIYAMA)
+Solution:   Remove the const flag from the slice type. (closes #11490)
+
+Patch 9.0.0841
+Problem:    deletebufline() does not always return 1 on failure.
+Solution:   Refactor the code to make it work more predictable. (closes #11511)
+
+Patch 9.0.0842
+Problem:    Unicode range for Apple SF symbols is outdated.
+Solution:   Update to SF Symbols 4. (Yee Cheng Chin, closes #11474)
+
+Patch 9.0.0843
+Problem:    VHS tape files are not recognized.
+Solution:   Add a filetype pattern. (Carlos Alexandro Becker, closes #11452)
+
+Patch 9.0.0844
+Problem:    Handling 'statusline' errors is spread out.
+Solution:   Pass the option name to the lower levels so the option can be
+            reset there when an error is encountered. (Luuk van Baal,
+            closes #11467)
+
+Patch 9.0.0845
+Problem:    Shell command with just space gives strange error.
+Solution:   Skip white space at start of the argument. (Christian Brabandt,
+            Shane-XB-Qian, closes #11515, closes #11495)
+
+Patch 9.0.0846
+Problem:    Using assert_fails() may cause hit-enter prompt.
+Solution:   Set no_wait_return. (closes #11522)
+
+Patch 9.0.0847
+Problem:    CI: not totally clear what MS-Windows version is used.
+Solution:   Show the Windows version. (Ken Takata, closes #11524)
+
+Patch 9.0.0848
+Problem:    Help item for --log argument is not aligned nicely.
+Solution:   Add a Tab. (Ken Takata, closes #11521)
+
+Patch 9.0.0849
+Problem:    Terminal mouse test is a bit flaky.
+Solution:   Add WaitFor() calls. (James McCoy closes #11519)  Tune wait times
+            to reduce flakiness.
+
+Patch 9.0.0850
+Problem:    MS-Windows Terminal has unstable color control.
+Solution:   Do not try to read the old command prompt colortable, use modern
+            VT sequences. (Christopher Plewright, closes #11450,
+            closes #11373)
+
+Patch 9.0.0851
+Problem:    Terminal mouse test is still flaky.
+Solution:   Also use WaitForAssert().
+
+Patch 9.0.0852
+Problem:    Crypt test is skipped if xxd is not found.
+Solution:   Find xxd where it was supposed to be build.
+
+Patch 9.0.0853
+Problem:    Terminal mouse test is still flaky on MacOS M1.
+Solution:   Also wait for the file to have some contents.
+
+Patch 9.0.0854
+Problem:    No proper test for what 9.0.0846 fixes.
+Solution:   Run test in a terminal so that the hit-enter prompt can show up.
+            (closes #11523)
+
+Patch 9.0.0855
+Problem:    Comment not located above the code it refers to.
+Solution:   Move the comment. (closes #11527)
+
+Patch 9.0.0856
+Problem:    MS-Windows: executable not found when running individual test.
+Solution:   Also look for vimd.exe. (Christopher Plewright, closes #11525)
+
+Patch 9.0.0857
+Problem:    Selecting MSVC 2017 does not set $PLATFORM.
+Solution:   Use $VSCMD_ARG_TGT_ARCH. (Ken Takata, closes #11485)
+
+Patch 9.0.0858
+Problem:    "!!sort" in a closed fold sorts too many lines.
+Solution:   Round to end of fold after adding the line count. (closes #11487)
+
+Patch 9.0.0859
+Problem:    Compiler warning for unused variable.
+Solution:   Add #ifdef.
+
+Patch 9.0.0860
+Problem:    MS-Windows: windres fails with clang 15.0.4.
+Solution:   Use llvm-windres. (John Marriott)
+
+Patch 9.0.0861
+Problem:    Solution for "!!sort" in closed fold is not optimal.
+Solution:   Use a different range instead of the subtle difference in handling
+            a range with an offset. (issue #11487)
+
+Patch 9.0.0862
+Problem:    Default value of 'endoffile' is wrong.
+Solution:   The default must be 'noendoffile'.
+
+Patch 9.0.0863
+Problem:    col() and charcol() only work for the current window.
+Solution:   Add an optional winid argument. (Yegappan Lakshmanan,
+            closes #11466, closes #11461)
+
+Patch 9.0.0864
+Problem:    Crash when using "!!" without a previous shell command.
+Solution:   Check "prevcmd" is not NULL. (closes #11487)
+
+Patch 9.0.0865
+Problem:    Duplicate arguments are not always detected.
+Solution:   Expand to full path before comparing arguments. (Nir Lichtman,
+            closes #11505, closes #9402)
+
+Patch 9.0.0866
+Problem:    No test for what patch 8.2.2207 fixes.
+Solution:   Add a test case. (closes #11531)
+
+Patch 9.0.0867
+Problem:    Wildmenu redrawing code is spread out.
+Solution:   Refactor to move code together. (closes #11528)
+
+Patch 9.0.0868
+Problem:    MS-Windows: after Vim exits console resizing does not work
+            properly.
+Solution:   Restore screen behavior checks for various WT and VTP
+            combinations. (Christopher Plewright, closes #11526,
+            closes #11507)
+
+Patch 9.0.0869
+Problem:    Bogus error when string used after :elseif.
+Solution:   Do not consider a double quote the start of a comment.
+            (closes #11534)
+
+Patch 9.0.0870
+Problem:    Get E967 when using text property in quickfix window. (Sergey
+            Vlasov)
+Solution:   Do not add an extra NUL and compute the text length correctly.
+            (closes #11513)
+
+Patch 9.0.0871
+Problem:    Using freed memory when clearing augroup at more prompt.
+Solution:   Delay clearing augroup until it's safe. (closes #11441)
+
+Patch 9.0.0872
+Problem:    Code is indented more than needed.
+Solution:   Return early. (Yegappan Lakshmanan, closes #11538)
+
+Patch 9.0.0873
+Problem:    Using freed memory when executing mapclear at the more prompt.
+Solution:   Do not clear mappings while listing them. (closes #11438)
+
+Patch 9.0.0874
+Problem:    Using freed memory when executing unmenu at the more prompt.
+Solution:   Do not clear menus while listing them. (closes #11439)
+
+Patch 9.0.0875
+Problem:    Using freed memory when executing delfunc at the more prompt.
+Solution:   Check function list not changed in another place. (closes #11437)
+
+Patch 9.0.0876
+Problem:    Code is indented more than needed.
+Solution:   Split ExpandEscape() in two. (Yegappan Lakshmanan, closes #11539)
+
+Patch 9.0.0877
+Problem:    Using freed memory with :comclear while listing commands.
+Solution:   Bail out when the command list has changed. (closes #11440)
+
+Patch 9.0.0878
+Problem:    Coverity warns for dead code.
+Solution:   Remove the dead code.
+
+Patch 9.0.0879
+Problem:    Unnecessary nesting in makefile.
+Solution:   Join "else" and "ifeq". (Ken Takata, closes #11547)
+
+Patch 9.0.0880
+Problem:    Preprocessor indenting is off.
+Solution:   Adjust preprocessor indentation. (Ken Takata, closes #11546)
+
+Patch 9.0.0881
+Problem:    Cannot get the currently showing mouse shape.
+Solution:   Add getmouseshape().
+
+Patch 9.0.0882
+Problem:    Using freed memory after SpellFileMissing autocmd uses bwipe.
+Solution:   Bail out if the window no longer exists.
+
+Patch 9.0.0883
+Problem:    A silent mapping may cause dots on the command line.
+Solution:   Don't show dots for completion if they are not going to be removed
+            again. (closes #11501)
+
+Patch 9.0.0884
+Problem:    Mouse shape remains in op-pending mode after failed change.
+Solution:   Reset finish_op and restore it. (closes #11545)
+
+Patch 9.0.0885
+Problem:    Informational message has an error message number.
+Solution:   Use a message without an error number. (closes #11530)
+
+Patch 9.0.0886
+Problem:    Horizontal mouse scroll only works in the GUI.
+Solution:   Make horizontal mouse scroll also work in a terminal.
+            (Christopher Plewright, closes #11448)
+
+Patch 9.0.0887
+Problem:    Cannot easily try out what codes various keys produce.
+Solution:   Add a script to gather key code information, with an initial list
+            of codes to compare with.
+
+Patch 9.0.0888
+Problem:    MS-Windows GUI: CTRL-] does not work on Swiss keyboard.
+Solution:   Check the key code and don't consider it as a dead key. (Aedin
+            Louis Xavier, closes #11556)
+
+Patch 9.0.0889
+Problem:    Keycode check script has a few flaws.
+Solution:   Sort on terminal name.  Ignore XTGETTCAP responses.  Check for
+            version and status response.  Update entries.
+
+Patch 9.0.0890
+Problem:    No test for what patch 9.0.0827 fixes.
+Solution:   Add a test (still doesn't fail when fix is reverted).
+
+Patch 9.0.0891
+Problem:    Virtual text below after match has wrong highlight.
+Solution:   Restore search_attr only after the virtual text.
+            (closes #11446)
+
+Patch 9.0.0892
+Problem:    May redraw when not needed, causing slow scrolling.
+Solution:   Do not redraw when w_skipcol doesn't change.  When w_skipcol
+            changes only redraw from the top. (issue #11559)
+
+Patch 9.0.0893
+Problem:    'smoothscroll' cursor calculations wrong when 'number' is set.
+Solution:   Correct the code that computes the width. (closes #11492)
+
+Patch 9.0.0894
+Problem:    Virtual text property highlight ignores window background.
+Solution:   Combine text prop attribute with win_attr into extra_attr.
+            (closes #11462)
+
+Patch 9.0.0895
+Problem:    File renamed twice in test; missing feature check.
+Solution:   Remove a rename() call.  Add check for cryptv feature.
+            (closes #11564)
+
+Patch 9.0.0896
+Problem:    Test for home key fails when 'term' is "tmux".
+Solution:   Only save termcap entries that exist.  Adjust code for xHome to
+            what xterm uses. (closes #11566)
+
+Patch 9.0.0897
+Problem:    Clinical Quality Language files are not recognized.
+Solution:   Add the "*.cql" pattern. (Matthew Gramigna, closes #11452)
+
+Patch 9.0.0898
+Problem:    With 'smoothscroll' cursor is one screen line too far down. (Ernie
+            Rael)
+Solution:   Add a test that currently has the wrong result so that a fix can
+            be made. (issue #11436)
+
+Patch 9.0.0899
+Problem:    The builtin terminals are in one long list.
+Solution:   Refactor into multiple lists and an index of the lists.
+
+Patch 9.0.0900
+Problem:    Cursor moves too far with 'smoothscroll'.
+Solution:   Only move as far as really needed. (Yee Cheng Chin, closes #11504)
+
+Patch 9.0.0901
+Problem:    Setting w_leftcol and handling side effects is confusing.
+Solution:   Use a function to set w_leftcol() and handle side effects.
+
+Patch 9.0.0902
+Problem:    Some mouse scroll code is not in a good place.
+Solution:   Refactor the code. (Christopher Plewright, closes #11561)
+
+Patch 9.0.0903
+Problem:    Key code checker doesn't check modifyOtherKeys resource.
+Solution:   Request the modifyOtherKeys resource value.  Drop resource DCS
+            responses.
+
+Patch 9.0.0904
+Problem:    Various comment and indent flaws.
+Solution:   Improve comments and indenting.
+
+Patch 9.0.0905
+Problem:    Virtual text after the line wraps when 'wrap' is off.
+Solution:   Only set text_prop_follows when wrapping. (closes #11463)
+
+Patch 9.0.0906
+Problem:    Mouse scroll code is not optimal.
+Solution:   Properly organise Normal mode, Insert mode and common code.
+            (Christopher Plewright, closes #11572)
+
+Patch 9.0.0907
+Problem:    Restoring window after WinScrolled may fail.
+Solution:   Lock the window layout when triggering WinScrolled.
+
+Patch 9.0.0908
+Problem:    With 'smoothscroll' cursor may end up in wrong position.
+Solution:   Correct the computation of screen lines. (Yee Cheng Chin,
+            closes #11502)
+
+Patch 9.0.0909
+Problem:    Error message for layout change does not match action.
+Solution:   Pass the command to where the error is given. (closes #11573)
+
+Patch 9.0.0910
+Problem:    Setting lines in another buffer may not work well.
+Solution:   Make sure the buffer being changed has a window. (issue #11558)
+
+Patch 9.0.0911
+Problem:    With 'smoothscroll' set mouse click position may be wrong.
+Solution:   Adjust computations for w_skipcol. (Yee Cheng Chin, closes #11514)
+
+Patch 9.0.0912
+Problem:    libvterm with modifyOtherKeys level 2 does not match xterm.
+Solution:   Adjust key code escape sequences to be the same as what xterm
+            sends in modifyOtherKeys level 2 mode.  Check the value of
+            no_reduce_keys before using it.
+
+Patch 9.0.0913
+Problem:    Only a change in the current window triggers the WinScrolled
+            event.
+Solution:   Trigger WinScrolled if any window scrolled or changed size.
+            (issue #11576)
+
+Patch 9.0.0914
+Problem:    deletebufline() may move marks in the wrong window.
+Solution:   Find a window for the buffer being changed. (closes #11583)
+
+Patch 9.0.0915
+Problem:    WinScrolled may trigger immediately when defined.
+Solution:   Initialize the fields in all windows. (closes #11582)
+
+Patch 9.0.0916
+Problem:    getbufline() is inefficient for getting a single line.
+Solution:   Add getbufoneline().
+
+Patch 9.0.0917
+Problem:    The WinScrolled autocommand event is not enough.
+Solution:   Add WinResized and provide information about what changed.
+            (closes #11576)
+
+Patch 9.0.0918
+Problem:    MS-Windows: modifier keys do not work with mouse scroll events.
+Solution:   Use K_SPECIAL instead of CSI for the modifier keys. (Christopher
+            Plewright, closes #11587)
+
+Patch 9.0.0919
+Problem:    Build failure with tiny features.
+Solution:   Adjust #ifdef's.
+
+Patch 9.0.0920
+Problem:    Cannot find an import prefixed with "s:". (Doug Kearns)
+Solution:   Skip over the "s:". (closes #11585)
+
+Patch 9.0.0921
+Problem:    Missing defined(PROTO) in #ifdef.
+Solution:   Adjust #ifdef so that proto works with different features.
+            Clean up some preprocessor indenting.
+
+Patch 9.0.0922
+Problem:    Mermaid files are not recognized.
+Solution:   Add patterns for Mermaid. (Crag MacEachern)
+
+Patch 9.0.0923
+Problem:    Second SIGWINCH signal may be ignored.
+Solution:   When set_shellsize() is busy when called then run the inner code
+            again when it's done.  (issue #424)
+
+Patch 9.0.0924
+Problem:    The first termcap entry of a builtin termcap is not used.
+Solution:   Remove increment that was previously skipping the KS_NAME entry.
+
+Patch 9.0.0925
+Problem:    Two conditions are always false.
+Solution:   Remove the conditions.  Update return value types to make clear
+            what could be returned. (closes #11593)
+
+Patch 9.0.0926
+Problem:    Coverity warns for not using return value of dict_add().
+Solution:   When dict_add() fails then don't call hash_remove().
+
+Patch 9.0.0927
+Problem:    Coverity warns for using a NULL pointer.
+Solution:   Check for memory allocaion failure.
+
+Patch 9.0.0928
+Problem:    Using Ruby LDFLAGS may cause build problems.
+Solution:   Do not add Ruby LDFLAGS to Vim's LDFLAGS. (Zdenek Dohnal,
+            closes #11592)
+
+Patch 9.0.0929
+Problem:    Build failure with tiny version. (Tony Mechelynck)
+Solution:   Add #ifdef.
+
+Patch 9.0.0930
+Problem:    Cannot debug the Kitty keyboard protocol with TermDebug.
+Solution:   Add Kitty keyboard protocol support to the libvterm fork.
+            Recognize the escape sequences that the protocol generates.  Add
+            the 'keyprotocol' option to allow the user to specify for which
+            terminal what protocol is to be used, instead of hard-coding this.
+            Add recognizing the kitty keyboard protocol status.
+
+Patch 9.0.0931
+Problem:    MS-Windows: mouse column limited to 223.
+Solution:   Use two bytes for each mouse coordinate.  Add the mouse position
+            to scroll events. (Christopher Plewright, closes #11597)
+
+Patch 9.0.0932
+Problem:    Oblivion files are not recognized.
+Solution:   Recognize Oblivion files and alike as "obse". (closes #11540)
+
+Patch 9.0.0933
+Problem:    Kitty shows "already at oldest change" on startup.
+Solution:   When receiving the keyboard protocol state return the ignore key.
+            (closes #11601)
+
+Patch 9.0.0934
+Problem:    Various code formatting issues.
+Solution:   Improve code formatting.
+
+Patch 9.0.0935
+Problem:    When using dash it may not be recognize as filetype "sh".
+Solution:   Add checks for "dash". (Eisuke Kawashima,closes #11600)
+
+Patch 9.0.0936
+Problem:    Wrong type for "isunnamed" returned by getreginfo().
+Solution:   Use VAR_BOOL instead of VAR_SPECIAL. (closes #11598)
+
+Patch 9.0.0937
+Problem:    Forked repositories send out useless email.
+Solution:   When Coverity fails to run just ignore it. (Shane-XB-Qian,
+            closes #11604)
+
+Patch 9.0.0938
+Problem:    MS-Windows: debug executable not found when running test.
+Solution:   Look for vimd.exe. (Christopher Plewright, closes #11602)
+
+Patch 9.0.0939
+Problem:    Still using simplified mappings when using the kitty keyboard
+            protocol.
+Solution:   Use the kitty_protocol_state value to decide whether to use
+            simplified mappings.  Improve how seenModifyOtherKeys is set and
+            reset.
+
+Patch 9.0.0940
+Problem:    Crash when typing a letter in a terminal window. (Shane-XB-Qian)
+Solution:   Use the "vterm" variable instead of getting the terminal pointer
+            from the current buffer.  (closes #11608)
+
+Patch 9.0.0941
+Problem:    CI failures in sound dummy.
+Solution:   Temporarily disable building sound dummy. (closes #11610)
+
+Patch 9.0.0942
+Problem:    Workflow Description Language files are not recognized.
+Solution:   Add a pattern for the "wdl" filetype. (Matt Dunford,
+            closes #11611)
+
+Patch 9.0.0943
+Problem:    Pretending to go out of Insert mode when Esc is received has side
+            effects.
+Solution:   When the kitty keyboard protocol is enabled expect Esc to always
+            be the start of an escape sequence.
+
+Patch 9.0.0944
+Problem:    'cursorline' causes virtual text highlight to continue.
+Solution:   Save and restore line_attr. (closes #11588)
+
+Patch 9.0.0945
+Problem:    Failures in the cursorline test.
+Solution:   Reset extra_attr only after a text property.
+
+Patch 9.0.0946
+Problem:    CI: Error in Coverity flow is not reported.
+Solution:   Use another way to avoid errors in a forked repository. (Ken
+            Takata, closes #11609)
+
+Patch 9.0.0947
+Problem:    Invalid memory access in substitute with function that goes to
+            another file.
+Solution:   Check for text locked in CTRL-W gf.
+
+Patch 9.0.0948
+Problem:    'ttyfast' is set for arbitrary terminals.
+Solution:   Always set 'ttyfast'. (closes #11549)
+
+Patch 9.0.0949
+Problem:    Crash when unletting a variable while listing variables.
+Solution:   Disallow changing a hashtable while going over the entries.
+            (closes #11435)
+
+Patch 9.0.0950
+Problem:    The pattern "\_s\zs" matches at EOL.
+Solution:   Make the pattern "\_s\zs" match at the start of the next line.
+            (closes #11617)
+
+Patch 9.0.0951
+Problem:    Trying every character position for a match is inefficient.
+Solution:   Use the start position of the match ignoring "\zs".
+
+Patch 9.0.0952
+Problem:    Eclipse preference files are not recognized.
+Solution:   Add a pattern to use "jproperties" for Eclipse preference files.
+            (closes #11618)
+
+Patch 9.0.0953
+Problem:    Part of making search more efficient is missing.
+Solution:   Add the change in searchit().
+
+Patch 9.0.0954
+Problem:    Cannot detect whether modifyOtherKeys is enabled.
+Solution:   Use XTQMODKEYS introduced by xterm version 377 to request the
+            modifyOtherKeys level.  Update the keycode check results.
+
+Patch 9.0.0955
+Problem:    Libvterm does not support the XTQMODKEYS request.
+Solution:   Implement the XTQMODKEYS request and response.  Update the keycode
+            check results.
+
+Patch 9.0.0956
+Problem:    Terminal tests fail when using key with modifier.
+Solution:   Use the modifyOtherKeys encoding when using RunVimInTerminal().
+
+Patch 9.0.0957
+Problem:    Tests fail without the terminal feature.
+Solution:   Move functions to another utility script.
+
+Patch 9.0.0958
+Problem:    Messages test is flaky.
+Solution:   Add a short delay.
+
+Patch 9.0.0959
+Problem:    Error when using the "File Settings / Text Width" menu.
+Solution:   Use str2nr(). (closes #11624)
+
+Patch 9.0.0960
+Problem:    Error when using the "Tools / Spelling / Find More Languages"
+            menu.
+Solution:   Remove "<SID>".  Reset "g:menutrans_set_lang_to" when 'encoding'
+            changes. (closes #11625)
+
+Patch 9.0.0961
+Problem:    Using deletebufline() may jump to another window.
+Solution:   Do not use a window where the buffer was only in the past.
+            (closes #11594)
+
+Patch 9.0.0962
+Problem:    Virtual text below cannot be placed below empty lines.
+Solution:   Add one character. (James Alvarado, closes #11606, closes #11520)
+
+Patch 9.0.0963
+Problem:    Function name does not match autocmd event name.
+Solution:   Rename "optionsset" to "optionset". (closes #11630)
+
+Patch 9.0.0964
+Problem:    Status line of other window not redrawn when dragging it when
+            'splitkeep' is set to "screen".
+Solution:   Set w_redr_status earlier. (Luuk van Baal, closes #11635,
+            closes #11632)
+
+Patch 9.0.0965
+Problem:    Using one window for executing autocommands is insufficient.
+Solution:   Use up to five windows for executing autocommands.
+
+Patch 9.0.0966
+Problem:    Some compilers don't allow a declaration after a label.
+Solution:   Move the declaration to the start of the block. (John Marriott)
+
+Patch 9.0.0967
+Problem:    Leaking memory from autocmd windows.
+Solution:   Free window when auc_win is not NULL.
+
+Patch 9.0.0968
+Problem:    GUI mouse event test is a bit flaky.
+Solution:   Mark the test case as flaky.  Move test function failure checks to
+            a separate test function.
+
+Patch 9.0.0969
+Problem:    Matchparen highlight is not updated when switching buffers.
+Solution:   Listen to the BufLeave and the BufWinEnter autocmd events.
+            (closes #11626)
+
+Patch 9.0.0970
+Problem:    Coverity warns for uninitialized variable.
+Solution:   Initialize "ren_ret".
+
+Patch 9.0.0971
+Problem:    Escape sequences not recognized without the termresponse feature.
+Solution:   Recognize escape sequences to avoid display mess up.
+
+Patch 9.0.0972
+Problem:    Build failure on some systems.
+Solution:   Adjust #ifdefs related to the termresponse feature.
+
+Patch 9.0.0973
+Problem:    Kitty keyboard protocol key not decoded when it has an unsupported
+            modifier, such as NumLock.
+Solution:   Accept a key with any modifier. (closes #11638)
+
+Patch 9.0.0974
+Problem:    Even when Esc is encoded a timeout is used.
+Solution:   Use K_ESC when an encoded Esc is found.
+
+Patch 9.0.0975
+Problem:    Virtual text below an empty line is misplaced when 'number' is
+            set.
+Solution:   Adjust the computations. (closes #11629)
+
+Patch 9.0.0976
+Problem:    Enabling the kitty keyboard protocol uses push/pop.
+Solution:   Use the start/stop codes to avoid unpredictable behavior.
+
+Patch 9.0.0977
+Problem:    It is not easy to see what client-server commands are doing.
+Solution:   Add channel log messages if ch_log() is available.  Move the
+            channel logging and make it available with the +eval feature.
+
+Patch 9.0.0978
+Problem:    Build errors without the +channel feature. (John Marriott)
+Solution:   Adjust #ifdefs.
+
+Patch 9.0.0979
+Problem:    ch_log() text can be hard to find in the log file.
+Solution:   Prepend "ch_log()" to the text.
+
+Patch 9.0.0980
+Problem:    The keyboard state response may end up in a shell command.
+Solution:   Only request the keyboard protocol state when the typeahead is
+            empty, no more commands are following and not exiting.  Add the
+            t_RK termcap entry for this.
+
+Patch 9.0.0981
+Problem:    Build error in tiny version.
+Solution:   Add #ifdef.
+
+Patch 9.0.0982
+Problem:    'cursorline' not drawn before virtual text below.
+Solution:   Add the 'cursorline' attribute to the empty space. (closes #11647)
+
+Patch 9.0.0983
+Problem:    Stray characters displayed when starting the GUI.
+Solution:   Add t_RK to the list of terminal options.
+
+Patch 9.0.0984
+Problem:    GUI: remote_foreground() does not always work. (Ron Aaron)
+Solution:   For GTK use gtk_window_set_keep_above(). (issue #11641)
+
+Patch 9.0.0985
+Problem:    When using kitty keyboard protocol function keys may not work.
+            (Kovid Goyal)
+Solution:   Recognize CSI ending in [ABCDEFHPQRS] also when the termcap
+            entries are not specified. (closes #11648)
+
+Patch 9.0.0986
+Problem:    Build failure with tiny version.
+Solution:   Add #ifdef.
+
+Patch 9.0.0987
+Problem:    File missing from list of distributed files.
+Solution:   Add logfile.pro to list of distributed files.
+
+Patch 9.0.0988
+Problem:    Using feedkeys() does not show up in a channel log.
+Solution:   Add ch_log() calls and clean up the code.
+
+Patch 9.0.0989
+Problem:    Popupwin test is more flaky on MacOS.
+Solution:   Use a longer wait time.
+
+Patch 9.0.0990
+Problem:    Callback name argument is changed by setqflist().
+Solution:   Use the expanded function name for the callback, do not store it
+            in the argument. (closes #11653)
+
+Patch 9.0.0991
+Problem:    Crash when reading help index with various options set. (Marius
+            Gedminas)
+Solution:   Do not set wlv.c_extra to NUL when wlv.p_extra is NULL.
+            (closes #11651)
+
+Patch 9.0.0992
+Problem:    Vim9 script: get E1096 when comment follows return.
+Solution:   Adjust condition for return without expression. (closes #11654)
+
+Patch 9.0.0993
+Problem:    Display errors when adding or removing text property type.
+Solution:   Perform a full redraw.  Only use text properties for which the
+            type is defined. (closes #11655)
+
+Patch 9.0.0994
+Problem:    Tests for empty prop type name fail.
+Solution:   Correct the error number.
+
+Patch 9.0.0995
+Problem:    Padding before virtual text below is highlighted when 'number' and
+            'nowrap' are set.
+Solution:   Save and restore n_attr_skip. (closes #11643)
+
+Patch 9.0.0996
+Problem:    If 'keyprotocol' is empty "xterm" still uses modifyOtherKeys.
+Solution:   Remove t_TI, t_RK and t_TE from the "xterm" builtin termcap and
+            let the default value of 'keyprotocol' add those.
+
+Patch 9.0.0997
+Problem:    Coverity warns for dead code.
+Solution:   Don't use ASCII_ISUPPER() for a negative value.
+
+Patch 9.0.0998
+Problem:    "gk" may reset skipcol when not needed.
+Solution:   Only reset skipcol if the cursor column is less.
+
+Patch 9.0.0999
+Problem:    Memory may leak.
+Solution:   Free the sound callback function name if it was allocated.
+
+Patch 9.0.1000
+Problem:    With 'smoothscroll' skipcol may be reset unnecessarily.
+Solution:   Check the line does actually fit in the window.
+
+Patch 9.0.1001
+Problem:    Classes are not documented or implemented yet.
+Solution:   Make the first steps at documenting Vim9 objects, classes and
+            interfaces.  Make initial choices for the syntax.  Add a skeleton
+            implementation.  Add "public" and "this" in the command table.
+
+Patch 9.0.1002
+Problem:    Command list test fails.
+Solution:   Add commands added to the list.
+
+Patch 9.0.1003
+Problem:    Tiny build fails.
+Solution:   Remove #ifdef from error message.
+
+Patch 9.0.1004
+Problem:    Suspend test sometimes fails on MacOS.
+Solution:   Wait a short while for terminal responses.
+
+Patch 9.0.1005
+Problem:    A failed test may leave a swap file behind.
+Solution:   Delete the swap file to avoid another test to fail.  Use another
+            file name.
+
+Patch 9.0.1006
+Problem:    Suspend test still sometimes fails on MacOS.
+Solution:   Wait a little while for terminal responses.
+
+Patch 9.0.1007
+Problem:    There is no way to get a list of swap file names.
+Solution:   Add the swapfilelist() function.  Use it in the test script to
+            clean up.  Remove deleting individual swap files.
+
+Patch 9.0.1008
+Problem:    Test for swapfilelist() fails on MS-Windows.
+Solution:   Only check the tail of the path.  Mark a test as flaky.
+
+Patch 9.0.1009
+Problem:    Test for catch after interrupt is flaky on MS-Windows.
+Solution:   Mark the test as flaky.
+
+Patch 9.0.1010
+Problem:    Stray warnings for existing swap files.
+Solution:   Wipe out the buffer until it has no name and no swap file.
+
+Patch 9.0.1011
+Problem:    ml_get error when using screenpos().
+Solution:   Give an error for the line number. (closes #11661)
+
+Patch 9.0.1012
+Problem:    Tests may get stuck in buffer with swap file.
+Solution:   Bail out when bwipe! doesn't get another buffer.
+
+Patch 9.0.1013
+Problem:    Suspend test often fails on Mac OS.
+Solution:   Make t_RP empty.
+
+Patch 9.0.1014
+Problem:    Zir files are not recognized.
+Solution:   Add a pattern for Zir files. (closes #11664)
+
+Patch 9.0.1015
+Problem:    Without /dev/urandom srand() seed is too predictable.
+Solution:   Use micro seconds and XOR with process ID. (Yasuhiro Matsumoto,
+            closes #11656)
+
+Patch 9.0.1016
+Problem:    screenpos() does not count filler lines for diff mode.
+Solution:   Add filler lines. (closes 11658)
+
+Patch 9.0.1017
+Problem:    Test for srand() fails on MS-Windows.
+Solution:   Do not expect the same result a second time.
+
+Patch 9.0.1018
+Problem:    Suspend test still fails on Mac OS.
+Solution:   Make 'keyprotocol' empty.
+
+Patch 9.0.1019
+Problem:    'smoothscroll' and virtual text above don't work together.
+            (Yee Cheng Chin)
+Solution:   Skip virtual text above when w_skipcol is non-zero.
+            (closes #11665)
+
+Patch 9.0.1020
+Problem:    Tests call GetSwapFileList() before it is defined.
+Solution:   Move the call to after defining the function. (Christopher
+            Plewright)
+
+Patch 9.0.1021
+Problem:    Test trips over g:name.
+Solution:   Delete g:name after using it.
+
+Patch 9.0.1022
+Problem:    Suspend test fails on Mac OS when suspending Vim.
+Solution:   Make 'keyprotocol' empty.
+
+Patch 9.0.1023
+Problem:    MS-Windows: dynamic loading of libsodium doesn't work.
+Solution:   Add "randombytes_random". (Ken Takata, closes #11667)
+
+Patch 9.0.1024
+Problem:    CI doesn't use the latest FreeBSD version.
+Solution:   Go from 12.3 to 12.4. (closes #11423)
+
+Patch 9.0.1025
+Problem:    WinScrolled is not triggered when filler lines change.
+Solution:   Add "topfill" to the values that WinScrolled triggers on.
+            (closes #11668)
+
+Patch 9.0.1026
+Problem:    type of w_last_topfill is wrong.
+Solution:   Use "int" instead of "linenr_T". (closes #11670)
+
+Patch 9.0.1027
+Problem:    LGTM is soon shutting down.
+Solution:   Remove LGTM from CI. (closes #11671)
+
+Patch 9.0.1028
+Problem:    Mouse shape test is flaky, especially on Mac OS.
+Solution:   Instead of starting all timers at the same time, start the next
+            one in the callback of the previous one. (Yee Cheng Chin,
+            closes #11673)  Also use "bwipe!" instead of "close!" to avoid
+            swap files remaining.
+
+Patch 9.0.1029
+Problem:    Autoload directory missing from distribution.
+Solution:   Add the autoload/zig directory to the list of distributed files.
+
+Patch 9.0.1030
+Problem:    Using freed memory with the cmdline popup menu.
+Solution:   Clear the popup menu when clearing the matches. (closes #11677)
+
+Patch 9.0.1031
+Problem:    Vim9 class is not implemented yet.
+Solution:   Add very basic class support.
+
+Patch 9.0.1032
+Problem:    Test fails when terminal feature is missing.
+Solution:   Use CheckRunVimInTerminal.
+
+Patch 9.0.1033
+Problem:    Tiny build fails because of conflicting typedef.
+Solution:   Remove one typedef.
+
+Patch 9.0.1034
+Problem:    Reporting swap file when windows are split.
+Solution:   Close extra windows after running a test.
+
+Patch 9.0.1035
+Problem:    Object members are not being marked as used, garbage collection
+            may free them.
+Solution:   Mark object members as used.  Fix reference counting.
+
+Patch 9.0.1036
+Problem:    Undo misbehaves when writing from an insert mode mapping.
+Solution:   Sync undo when writing. (closes #11674)
+
+Patch 9.0.1037
+Problem:    lalloc(0) error for a class without members.
+Solution:   Don't allocate room for members if there aren't any.
+            Don't create the class if there was an error.
+
+Patch 9.0.1038
+Problem:    Function name does not match what it is used for.
+Solution:   Include the modifier in the name. (closes #11679)
+
+Patch 9.0.1039
+Problem:    Using a <Cmd> mapping CmdlineChanged may be triggered twice.
+Solution:   Count the number of times CmdlineChanged is triggered and avoid
+            doing it twice. (closes #116820
+
+Patch 9.0.1040
+Problem:    Test for <Cmd> mapping with CmdlineChanged fails.
+Solution:   Put back the check for the cmdline length not changing.
+
+Patch 9.0.1041
+Problem:    Cannot define a method in a class.
+Solution:   Implement defining an object method.  Make calling an object
+            method work.
+
+Patch 9.0.1042
+Problem:    ASAN gives false alarm about array access.
+Solution:   Use an intermediate pointer.
+
+Patch 9.0.1043
+Problem:    Macro has confusing name and is duplicated.
+Solution:   Use one macro with an understandable name. (closes #11686)
+
+Patch 9.0.1044
+Problem:    Setting window height using Python may cause errors.
+Solution:   When setting "curwin" also set "curbuf". (closes #11687)
+
+Patch 9.0.1045
+Problem:    In a class object members cannot be initialized.
+Solution:   Support initializing object members. Make "dissassemble" work on
+            an object method.
+
+Patch 9.0.1046
+Problem:    Class method disassemble test fails on MS-Windows.
+Solution:   Do not match with a specific size.
+
+Patch 9.0.1047
+Problem:    Matchparen is slow.
+Solution:   Actually use the position where the match started, not the
+            position where the search started. (closes #11644)
+
+Patch 9.0.1048
+Problem:    With "screenline" in 'culopt' cursorline highlight is wrong.
+Solution:   Apply the priority logic also when "screenline is in 'culopt'.
+            (closes #11696)
+
+Patch 9.0.1049
+Problem:    Crash when opening a very small terminal window.
+Solution:   Instead of crashing fix the cursor position. (closes #11697)
+
+Patch 9.0.1050
+Problem:    Using freed memory when assigning to variable twice.
+Solution:   Make copy of the list type. (closes #11691)
+
+Patch 9.0.1051
+Problem:    After a failed CTRL-W ] next command splits window.
+Solution:   Reset postponed_split. (Rob Pilling, closes #11698)
+
+Patch 9.0.1052
+Problem:    Using freed memory on exit when EXITFREE is defined.
+Solution:   Make a deep copy of the type.  Make sure TTFLAG_STATIC is not set
+            in the copy.
+
+Patch 9.0.1053
+Problem:    Default constructor arguments are not optional.
+Solution:   Use "= v:none" to make constructor arguments optional.
+
+Patch 9.0.1054
+Problem:    Object member can't get type from initializer.
+Solution:   If there is no type specified try to use the type of the
+            initializer.  Check for a valid type.
+
+Patch 9.0.1055
+Problem:    Coverity warns for using uninitialized memory.
+Solution:   Clear the "lhs" field earlier.
+
+Patch 9.0.1056
+Problem:    Leaking memory when disassembling an object method.
+Solution:   Free the typval of the class.
+
+Patch 9.0.1057
+Problem:    Conflict between supercollider and scala filetype detection.
+Solution:   Do not check for "Class : Method", it can appear in both
+            filetypes. (Chris Kipp, closes #11699)
+
+Patch 9.0.1058
+Problem:    String value of class and object do not have useful information.
+Solution:   Add the class name and for the object the member values.
+
+Patch 9.0.1059
+Problem:    Build failure with some compilers that can't handle a
+            declaration directly after a "case" statement.
+Solution:   Add a block to put the declarations in.
+
+Patch 9.0.1060
+problem:    Private and public object members are not implemented yet.
+Solution:   Implement private and public object members.
+
+Patch 9.0.1061
+Problem:    Cannot display 'showcmd' somewhere else.
+Solution:   Add the 'showcmdloc' option. (Luuk van Baal, closes #11684)
+
+Patch 9.0.1062
+Problem:    Some test function names do not match what they are doing.
+Solution:   Leave out user data for the test that is called "NoUserData".
+            (closes #11703)
+
+Patch 9.0.1063
+Problem:    When using Kitty a shell command may mess up the key protocol
+            state.
+Solution:   Output t_te before t_TE.  If t_te switches between the main and
+            the alternate screen then deactivating the key protocol by t_TE
+            should happen after switching screen. (issue #11705)
+
+Patch 9.0.1064
+Problem:    Code for making 'shortmess' temporarily empty is repeated.
+Solution:   Add functions for making 'shortmess' empty and restoring it.
+            (Christian Brabandt, closes #11709)
+
+Patch 9.0.1065
+Problem:    A shell command switching screens may still have a problem with
+            the kitty keyboard protocol.
+Solution:   Disable the kitty keyboard protocol both in the current and the
+            alternate screen, if there are indications it might be needed.
+            (issue #11705)  Also fix naming.
+
+Patch 9.0.1066
+Problem:    Test function name is wrong.
+Solution:   Rename to what is actually being tested. (closes #11712)
+
+Patch 9.0.1067
+Problem:    In diff mode virtual text is highlighted incorrectly. (Rick Howe)
+Solution:   Do not use diff attributes for virtual text. (closes #11714)
+
+Patch 9.0.1068
+Problem:    No information about whether requesting term codes has an effect.
+Solution:   Add ch_log() calls to report the effect of term code responses.
+            Avoid deleting an entry and then adding back the same one.
+
+Patch 9.0.1069
+Problem:    Diff mode highlight fails for special characters.
+Solution:   Adjust condition for setting "diff_hlf".
+
+Patch 9.0.1070
+Problem:    Reading beyond array size.
+Solution:   Only use name[0] and name[1], do not use "name" as a string.
+
+Patch 9.0.1071
+Problem:    Codecov action version is too specific.
+Solution:   Only use "v3" to automatically use the latest stable version.
+            (closes #11720)
+
+Patch 9.0.1072
+Problem:    screenpos() column result in fold may be too small.
+Solution:   Add space of 'number', sign column, etc. (closes #11715)
+
+Patch 9.0.1073
+Problem:    Using "xterm-kitty" for 'term' causes problems.
+Solution:   Remove the "xterm-" part when 'term' is set from $TERM.  Detect a
+            few kitty-specific properties based on the version response
+            instead of the terminal name.
+
+Patch 9.0.1074
+Problem:    Class members are not supported yet.
+Solution:   Add initial support for class members.
+
+Patch 9.0.1075
+Problem:    build fails if the compiler doesn't allow for a declaration right
+            after "case".
+Solution:   Add a block.
+
+Patch 9.0.1076
+Problem:    ASAN complains about NULL argument.
+Solution:   Skip memmove() when there is nothing to move.
+
+Patch 9.0.1077
+Problem:    Can add text property with negative ID before virtual text
+            property.
+Solution:   Remember that a text property with a negative ID was used and give
+            an appropriate error message. (closes #11725)
+            Fix index computation.
+
+Patch 9.0.1078
+Problem:    With the +vartabs feature indent folding may use wrong 'tabstop'.
+Solution:   Use the "buf" argument instead of "curbuf".
+
+Patch 9.0.1079
+Problem:    Leaking memory when defining a user command fails.
+Solution:   Free "compl_arg" when needed. (closes #11726)
+
+Patch 9.0.1080
+Problem:    The "kitty" terminfo entry is not widespread, resulting in the
+            kitty terminal not working properly.
+Solution:   Go back to using "xterm-kitty" and avoid the problems it causes in
+            another way.
+
+Patch 9.0.1081
+Problem:    Using "->" with split lines does not always work.
+Solution:   Avoid trying to get another line. (closes #11723)
+
+Patch 9.0.1082
+Problem:    Some jsonc files are not recognized.
+Solution:   Add patterns for jsonc and move some from json to jsonc.
+            (closes #11711)
+
+Patch 9.0.1083
+Problem:    Empty and comment lines in a class cause an error.
+Solution:   Skip empty and comment lines. (closes #11734)
+
+Patch 9.0.1084
+Problem:    Code handling low level MS-Windows events cannot be tested.
+Solution:   Add test_mswin_event() and tests using it. (Christopher Plewright,
+            closes #11622)
+
+Patch 9.0.1085
+Problem:    Compiler warns for uninitialized variable.
+Solution:   Initialize the variable.  Remove unused function. (John Marriott)
+
+Patch 9.0.1086
+Problem:    Display wrong in Windows terminal after exiting Vim.
+Solution:   Apply screen restore fix for Windows 11 also to Windows 10 builds.
+            (Christopher Plewright, closes #11713, closes #11706)
+
+Patch 9.0.1087
+Problem:    Autocommand test sometimes fails.
+Solution:   Add a short delay. (James McCoy, closes #11737)
+
+Patch 9.0.1088
+Problem:    Clang warns for unused variable.
+Solution:   Adjust #ifdef. (John Marriott)
+
+Patch 9.0.1089
+Problem:    unnessary assignment
+Solution:   Remove the assignment. (Luuk van Baal, closes #1136)
+
+Patch 9.0.1090
+Problem:    FHIR Shorthand files are not recognized.
+Solution:   Add a pattern to detect FSH files. (Matthew Gramigna,
+            closes #11738)
+
+Patch 9.0.1091
+Problem:    Assignment to non-existing member causes a crash. (Yegappan
+            Lakshmanan)
+Solution:   Give an error message and bail out when a member cannot be found.
+
+Patch 9.0.1092
+Problem:    Search error message doesn't show used pattern.
+Solution:   Pass the actually used pattern to where the error message is
+            given. (Rob Pilling, closes #11742)
+
+Patch 9.0.1093
+Problem:    Using freed memory of object member. (Yegappan Lakshmanan)
+Solution:   Make a copy of the object member when getting it.
+
+Patch 9.0.1094
+Problem:    Compiler warning when HAS_MESSAGE_WINDOW is not defined.
+Solution:   Add UNUSED.
+
+Patch 9.0.1095
+Problem:    Using freed memory when declaration fails. (Yegappan Lakshmanan)
+Solution:   After unreferencing an object set the reference to NULL.
+
+Patch 9.0.1096
+Problem:    Reallocating hashtab when the size didn't change.
+Solution:   Bail out when the hashtab is already the desired size.
+
+Patch 9.0.1097
+Problem:    Tests are failing.
+Solution:   Do clean up a hashtab when at the initial size.
+
+Patch 9.0.1098
+Problem:    Code uses too much indent.
+Solution:   Use an early return. (Yegappan Lakshmanan, closes #11747)
+
+Patch 9.0.1099
+Problem:    Trying to resize a hashtab may cause a problem.
+Solution:   Do not try to resize a hashtab before adding an item.
+
+Patch 9.0.1100
+Problem:    A hashtab with many removed items is not cleaned up.
+Solution:   Re-hash a hashtab even when the size didn't change if too many
+            items were removed.
+
+Patch 9.0.1101
+Problem:    Unused global variable.
+Solution:   Remove the variable. (closes #11752)
+
+Patch 9.0.1102
+Problem:    Complicated use of #ifdef.
+Solution:   Simplify #ifdef use. (Ken Takata, closes #11745)
+
+Patch 9.0.1103
+Problem:    jq files are not recognized.
+Solution:   Add detection of Jq files. (David McDonald, closes #11743)
+
+Patch 9.0.1104
+Problem:    Invalid memory access when checking function argument types.
+Solution:   Do not check beyond the number of arguments. (closes #11755)
+
+Patch 9.0.1105
+Problem:    Code is indented too much.
+Solution:   Use an early return. (Yegappan Lakshmanan, closes #11756)
+
+Patch 9.0.1106
+Problem:    Not all postfix files are recognized.
+Solution:   Recognize main.cf.proto files. (closes #11732)
+
+Patch 9.0.1107
+Problem:    Float constant not recognized as float.
+Solution:   Check the vartype instead of comparing with t_float.
+            (closes #11754)
+
+Patch 9.0.1108
+Problem:    Type error when using "any" type and adding a number to a float.
+Solution:   Accept both a number and a float. (closes #11753)
+
+Patch 9.0.1109
+Problem:    Leaking allocated type.
+Solution:   Reset the "static" flag in the allocated type copy.
+
+Patch 9.0.1110
+Problem:    Build fails on Mac OS X 10.4/10.5 .
+Solution:   Check if the dispatch/dispatch.h header exists. (Evan Miller,
+            closes #11746)
+
+Patch 9.0.1111
+Problem:    Termcap entries for RGB colors are not set automatically.
+Solution:   Always set the termcap entries when +termguicolors is enabled.
+
+Patch 9.0.1112
+Problem:    test_mswin_event() can hang.
+Solution:   Add the "execute" argument to process events right away.
+            (Christopher Plewright, closes #11760)
+
+Patch 9.0.1113
+Problem:    Users cannot easily try out a PR.
+Solution:   Add an "artifacts" section to the AppVeyor CI config. (Christian
+            Brabandt, closes #11762)
+
+Patch 9.0.1114
+Problem:    CI does not use the latest Python version.
+Solution:   Switch from Python 3.10 to 3.11. (closes #11761)
+
+Patch 9.0.1115
+Problem:    Code is indented more than needed.
+Solution:   Use an early return to reduce indenting. (Yegappan Lakshmanan,
+            closes #11758)
+
+Patch 9.0.1116
+Problem:    Compiler may complain about an unused function.
+Solution:   Add #ifdef. (John Marriott)
+
+Patch 9.0.1117
+Problem:    Terminfo entries for bracketed paste are not used.
+Solution:   Use the newly added terminfo entries for bracketed paste.
+            Correct mixup of output strings and key codes.
+
+Patch 9.0.1118
+Problem:    Sporadic test failures when using a terminal window.
+Solution:   Adjust waiting times. (James McCoy, closes #11763)
+
+Patch 9.0.1119
+Problem:    Type of arguments not checked when calling a partial.
+Solution:   Give an error for a wrong argument type. (closes #11753)
+
+Patch 9.0.1120
+Problem:    Tex filetype detection not sufficiently tested.
+Solution:   Add more test cases for "tex" detection. (Jonas Strittmatter,
+            closes #11765)
+
+Patch 9.0.1121
+Problem:    Cursor positioning and display problems with 'smoothscroll' and
+            using "zt", "zb" or "zz".
+Solution:   Adjust computations and conditions. (Yee Cheng Chin,
+            closes #11764)
+
+Patch 9.0.1122
+Problem:    Class member access is not fully tested yet.
+Solution:   Add more tests.
+
+Patch 9.0.1123
+Problem:    Class function not implemented yet.
+Solution:   Implement defining and calling a class function.
+
+Patch 9.0.1124
+Problem:    Virtual text at a column position is truncated at the window edge.
+            (Yegappan Lakshmanan)
+Solution:   Do not truncated virtual text that is placed at a column.
+
+Patch 9.0.1125
+Problem:    Memory leak when using class functions.
+Solution:   Clear and free the array with class functions.
+
+Patch 9.0.1126
+Problem:    Bracketed paste can be enabled when pasted text is not recognized.
+Solution:   Output t_BE only when t_PS and t_PE are set.
+
+Patch 9.0.1127
+Problem:    No error if function argument shadows class member.
+Solution:   Give an error for shadowing a class member.
+
+Patch 9.0.1128
+Problem:    Build failure.
+Solution:   Add type cast.  Add missing error messages.
+
+Patch 9.0.1129
+Problem:    Sporadic Test_range() failure.
+Solution:   Clear typeahead.  Move to a separate function. (issue #22771)
+
+Patch 9.0.1130
+Problem:    Unexpected output when autoloading a script for an interactive
+            operation.
+Solution:   Reset "KeyTyped" while loading a script and when handling a nested
+            function. (closes #11773)
+
+Patch 9.0.1131
+Problem:    Build failure without the +eval feature.
+Solution:   Move code inside #ifdef.
+
+Patch 9.0.1132
+Problem:    Code is indented more than needed.
+Solution:   Use an early return to reduce indentation. (Yegappan Lakshmanan,
+            closes #11769)
+
+Patch 9.0.1133
+Problem:    Error message names do not match the items.
+Solution:   Add "_str" when the text contains "%s".
+
+Patch 9.0.1134
+Problem:    Comparing objects uses identity instead of equality.
+Solution:   Compare the object values.
+
+Patch 9.0.1135
+Problem:    Missing function argument.
+Solution:   Add ignore case flag.
+
+Patch 9.0.1136
+Problem:    Memory leak when getting class member type from expr.
+Solution:   Clear the expression result.
+
+Patch 9.0.1137
+Problem:    Some conditions are always false.
+Solution:   Remove the useless conditions. (closes #11776)
+
+Patch 9.0.1138
+Problem:    Crash when expecting varargs but it is something else.
+Solution:   Only use the member when the type is a list. (closes #11774)
+
+Patch 9.0.1139
+Problem:    Cannot create a new object in a compiled function.
+Solution:   Compile the instructins to create a new object.
+
+Patch 9.0.1140
+Problem:    Cannot call an object method in a compiled function.
+Solution:   Compile the instructins to invoke an object method.
+
+Patch 9.0.1141
+Problem:    'cursorcolumn' and 'colorcolumn' wrong after concealing and
+            wrapping line.
+Solution:   Reset "wlv.vcol_off" after each screen line. (Alexey Radkov,
+            closes #11777)
+
+Patch 9.0.1142
+Problem:    Crash and/or memory leak when redefining function after error.
+Solution:   Clear pointer after making a copy.  Clear arrays on failure.
+            (closes #11774)
+
+Patch 9.0.1143
+Problem:    Invalid memory access with bad 'statusline' value.
+Solution:   Avoid going over the NUL at the end.
+
+Patch 9.0.1144
+Problem:    Reading beyond text.
+Solution:   Add strlen_maxlen() and use it.
+
+Patch 9.0.1145
+Problem:    Invalid memory access with recursive substitute expression.
+Solution:   Check the return value of vim_regsub().
+
+Patch 9.0.1146
+Problem:    MS-Windows: various special keys and modifiers are not mappable.
+Solution:   Adjust the handling of keys with modifiers. (Christian Plewright,
+            closes #11768)
+
+Patch 9.0.1147
+Problem:    Cannot access a class member in a compiled function.
+Solution:   Implement looking up a class member.
+
+Patch 9.0.1148
+Problem:    Cmdline test fails in the GUI.
+Solution:   Skip the test when running in the GUI.
+
+Patch 9.0.1149
+Problem:    Class members may be garbage collected.
+Solution:   Mark class members as being in use.
+
+Patch 9.0.1150
+Problem:    :interface is not implemented yet.
+Solution:   Implement the basics of :interface.
+
+Patch 9.0.1151
+Problem:    Build failure.
+Solution:   Add missing part of :interface change.
+
+Patch 9.0.1152
+Problem:    Class "implements" argument not implemented.
+Solution:   Implement "implements" argument.  Add basic checks for when a
+            class implements an interface.
+
+Patch 9.0.1153
+Problem:    Build error with some compilers.
+Solution:   Clear pointer the right way.
+
+Patch 9.0.1154
+Problem:    Coverity warns for dead code.
+Solution:   Remove condition that is always true.
+
+Patch 9.0.1155
+Problem:    Cannot use a class as a type.
+Solution:   Accept a class and interface name as a type.
+
+Patch 9.0.1156
+Problem:    Tests fail because of a different error message.
+Solution:   Don't give an error if a type name can't be found.
+
+Patch 9.0.1157
+Problem:    "implements" only handles one interface name.
+Solution:   Handle a comma separated list of names.  Check for duplicate
+            names.
+
+Patch 9.0.1158
+Problem:    Code is indented more than necessary.
+Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
+            closes #11787)
+
+Patch 9.0.1159
+Problem:    Extends argument for class not implemented yet.
+Solution:   Basic implementation of "extends".
+
+Patch 9.0.1160
+Problem:    ASAN error for ufunc_T allocated with wrong size.
+Solution:   Make sure the size can always fit the struct.
+
+Patch 9.0.1161
+Problem:    Coverity warns for using strcpy().
+Solution:   Call a function to set the function name.
+
+Patch 9.0.1162
+Problem:    Configure does not handle all FORTIFY_SOURCE variants.
+Solution:   Also handle Fedora's default FORTIFY_SOURCE flags. (Zdenek Dohnal,
+            closes #11794)
+
+Patch 9.0.1163
+Problem:    Compiler warning for implicit size_t/int conversion.
+Solution:   Add a type cast. (Mike Williams, closes #11795)
+
+Patch 9.0.1164
+Problem:    Evaluating string expression advances function line.
+Solution:   Disable function lines while parsing a string expression.
+            (Hirohito Higashi, closes #11796)
+
+Patch 9.0.1165
+Problem:    Tests using IPv6 sometimes fail.
+Solution:   Use getaddrinfo() and use try/catch. (James McCoy,
+            closes #11783)
+
+Patch 9.0.1166
+Problem:    Code is indented more than necessary.
+Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
+            closes #11792)
+
+Patch 9.0.1167
+Problem:    EditorConfig files do not have their own filetype.
+Solution:   Add the "editorconfig" filetype. (Gregory Anders, closes #11779)
+
+Patch 9.0.1168
+Problem:    Code to enable/disable mouse is not from terminfo/termcap.
+Solution:   Request the "XM" entry and use it to set 'ttymouse' if possible.
+
+Patch 9.0.1169
+Problem:    Some key+modifier tests fail on some AppVeyor images.
+Solution:   Adjust the tests for key movements and fix the revealed bugs.
+            (Christopher Plewright, closes #11798)
+
+Patch 9.0.1170
+Problem:    LGTM badge no longer works.
+Solution:   Remove the LGTM badge. (closes #11799)
+
+Patch 9.0.1171
+Problem:    Screen is not redrawn after using setcellwidths().
+Solution:   Redraw the screen when the cell widths have changed. (Yasuhiro
+            Matsumoto, closes #11800)
+
+Patch 9.0.1172
+Problem:    When 'selection' is "exclusive" then "1v" is one char short.
+Solution:   Add one character when 'selection' is "exclusive. (closes #11791)
+
+Patch 9.0.1173
+Problem:    Compiler warning for unused variable on non-Unix systems.
+Solution:   Move #ifdef. (John Marriott)
+
+Patch 9.0.1174
+Problem:    Smali files are not recognized.
+Solution:   Add a pattern for Smali files. (Amaan Qureshi, closes #11801)
+
+Patch 9.0.1175
+Problem:    The set_ref_in_item() function is too long.
+Solution:   Use a separate function for more complicated types. (Yegappan
+            Lakshmanan, closes #11802)
+
+Patch 9.0.1176
+Problem:    smithy files are not recognized.
+Solution:   Add a pattern for Smithy files. (Chris Kipp, closes #11804)
+
+Patch 9.0.1177
+Problem:    AppVeyor uses some older tools.
+Solution:   Switch to Visual Studio 2022 and Python 3.11. (Christopher
+            Plewright, closes #11793)
+
+Patch 9.0.1178
+Problem:    A child class cannot override functions from a base class.
+Solution:   Allow overriding and implement "super".
+
+Patch 9.0.1179
+Problem:    Not all errors around inheritance are tested.
+Solution:   Add more tests.  Fix uncovered problems.
+
+Patch 9.0.1180
+Problem:    Compiler warnings without the +job feature.
+Solution:   Adjust #ifdefs. (John Marriott)
+
+Patch 9.0.1181
+Problem:    Class inheritance and typing insufficiently tested.
+Solution:   Add more tests.  Implement missing behavior.
+
+Patch 9.0.1182
+Problem:    go checksum files are not recognized.
+Solution:   Add the name of go checksum files. (Amaan Qureshi, closes #11803)
+
+Patch 9.0.1183
+Problem:    Code is indented more than necessary.
+Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
+            closes #11805)
+
+Patch 9.0.1184
+Problem:    Interface of an object is not recognized when checking type.
+Solution:   Use the interface implemented by an object.
+
+Patch 9.0.1185
+Problem:    Using class from imported script not tested.
+Solution:   Add tests.  Implement what is missing.
+
+Patch 9.0.1186
+Problem:    Imported class does not work when used twice in a line.
+Solution:   Fix the type parsing.
+
+Patch 9.0.1187
+Problem:    Test for using imported class fails.
+Solution:   Skip over rest of type.
+
+Patch 9.0.1188
+Problem:    Return value of type() for class and object unclear.
+Solution:   Add v:t_object and v:t_class.
+
+Patch 9.0.1189
+Problem:    Invalid memory access with folding and using "L".
+Solution:   Prevent the cursor from moving to line zero.
+
+Patch 9.0.1190
+Problem:    AppVeyor runs much slower with MSVC 2022.
+Solution:   Go back to MSVC 2015. (Christopher Plewright, closes #11810)
+
+Patch 9.0.1191
+Problem:    Some Bazel files are not recognized.
+Solution:   Add an extra Bazel pattern. (Keith Smily, closes #11807)
+
+Patch 9.0.1192
+Problem:    No error when class function argument shadows a member.
+Solution:   Check for shadowing.
+
+Patch 9.0.1193
+Problem:    Cannot map <Esc> when using the Kitty key protocol.
+Solution:   Add a non-simplified mapping for K_ESC. (closes #11811)
+
+Patch 9.0.1194
+Problem:    Compiler warning for comparing pointer with int.
+Solution:   Change NULL to zero.
+
+Patch 9.0.1195
+Problem:    Restoring KeyTyped when building statusline not tested.
+Solution:   Add a test.  Clean up and fix other tests. (closes #11815)
+
+Patch 9.0.1196
+Problem:    Code is indented more than necessary.
+Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
+            closes #11813)
+
+Patch 9.0.1197
+Problem:    Dump file missing from patch.
+Solution:   Add missing dump file.
+
+Patch 9.0.1198
+Problem:    Abstract class not supported yet.
+Solution:   Implement abstract class and add tests.
+
+Patch 9.0.1199
+Problem:    Crash when using kitty and using a mapping with <Esc>.
+Solution:   Do not try setting did_simplify when it is NULL. (closes #11817)
+
+Patch 9.0.1200
+Problem:    AppVeyor builds with an old Python version.
+Solution:   Switch from Python 3.8 to 3.11. (Christopher Plewright,
+            closes #11814)
+
+Patch 9.0.1201
+Problem:    Assignment with operator doesn't work in object method.
+Solution:   Handle loading the object member. (closes #11820)  Add a few more
+            tests.
+
+Patch 9.0.1202
+Problem:    Crash when iterating over list of objects.
+Solution:   Do not make a copy of tt_member for object or class.
+            (closes #11823)
+
+Patch 9.0.1203
+Problem:    Return type of values() is always list<any>.
+Solution:   Use the member type if possible. (issue #11822)
+
+Patch 9.0.1204
+Problem:    Expression compiled the wrong way after using an object.
+Solution:   Generate constants before getting the type.
+
+Patch 9.0.1205
+Problem:    Crash when handling class that extends another class with more
+            than one object members.
+Solution:   Correct pointer computations. (closes #11824)
+
+Patch 9.0.1206
+Problem:    Testing with Python on AppVeyor does not work properly.
+Solution:   Fix typo.  Move most lines to the .bat file. (Christopher
+            Plewright, closes #11828)
+
+Patch 9.0.1207
+Problem:    Error when object type is expected but getting "any".
+Solution:   When actual type is "any" use a runtime type check.
+            (closes #11826)
+
+Patch 9.0.1208
+Problem:    Code is indented more than necessary.
+Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
+            closes #11819)
+
+Patch 9.0.1209
+Problem:    Getting interface member does not always work.
+Solution:   Convert the index on the interface to the index on the object.
+            (closes #11825)
+
+Patch 9.0.1210
+Problem:    Compiler complains about declaration after label.
+Solution:   Move declaration to beginning of block (John Marriott)
+
+Patch 9.0.1211
+Problem:    Storing value in interface member does not always work.
+Solution:   Convert the index on the interface to the index on the object.
+
+Patch 9.0.1212
+Problem:    Cannot read back what setcellwidths() has done.
+Solution:   Add getcellwidths(). (Kota Kato, closes #11837)
+
+Patch 9.0.1213
+Problem:    Adding a line below the last one does not expand fold.
+Solution:   Do not skip mark_adjust() when adding lines below the last one.
+            (Brandon Simmons, closes #11832, closes #10698)
+
+Patch 9.0.1214
+Problem:    File left behind after running tests.
+Solution:   Delete the file. (Dominique Pellé, closes #11839)
+
+Patch 9.0.1215
+Problem:    Using isalpha() adds dependency on current locale.
+Solution:   Do not use isalpha() for recognizing a URL or the end of an Ex
+            command. (closes #11835)
+
+Patch 9.0.1216
+Problem:    Coverity warns for ignoring return value.
+Solution:   Break out of loop if function fails.
+
+Patch 9.0.1217
+Problem:    Using an object member in a closure doesn't work.
+Solution:   Initialize lv_loop_depth. (closes #11840)
+
+Patch 9.0.1218
+Problem:    Completion includes functions that don't work.
+Solution:   Skip functions that are not implemented. (Kota Kato,
+            closes #11845)
+
+Patch 9.0.1219
+Problem:    Handling of FORTIFY_SOURCE flags doesn't match Fedora usage.
+Solution:   Adjust the "sed" patterns. (Zdenek Dohnal, closes #11847)
+
+Patch 9.0.1220
+Problem:    Termcap/terminfo entries do not indicate where modifiers might
+            appear.
+Solution:   Add ";*" for function keys where modifiers are likely to be used.
+
+Patch 9.0.1221
+Problem:    Code is indented more than necessary.
+Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
+            closes #11833)
+
+Patch 9.0.1222
+Problem:    Terminal tests are flaky on MacOS.
+Solution:   Add TermWait() calls. (Yegappan Lakshmanan, closes #11852)
+
+Patch 9.0.1223
+Problem:    Cannot use setcellwidths() below 0x100.
+Solution:   Also accept characters between 0x80 and 0x100. (Ken Takata,
+            closes #11834)
+
+Patch 9.0.1224
+Problem:    Cannot call a :def function with a number for a float argument.
+Solution:   Accept a number as well, convert it to a float.
+
+Patch 9.0.1225
+Problem:    Reading past the end of a line when formatting text.
+Solution:   Check for not going over the end of the line.
+
+Patch 9.0.1226
+Problem:    Spurious empty line when using text propertie and virtual text.
+Solution:   Do not set "text_prop_follows" when the other text property is not
+            virtual text. (closes #11846)
+
+Patch 9.0.1227
+Problem:    No cmdline completion for :runtime.
+Solution:   Add completion for :runtime. (closes #11853, closes #11447)
+            Improve the resulting matches.
+
+Patch 9.0.1228
+Problem:    Fuzzy menu completion is only tested in the GUI.
+Solution:   Make fuzzy menu completion test work without GUI.
+            (closes #11861)
+
+Patch 9.0.1229
+Problem:    Cap'n Proto files are not recognized.
+Solution:   Add a pattern and the "capnp" filetype. (Amaan Qureshi,
+            closes #11862)
+
+Patch 9.0.1230
+Problem:    Apache thrift files are not recognized.
+Solution:   Add a pattern for thrift files. (Amaan Qureshi, closes #11859)
+
+Patch 9.0.1231
+Problem:    Completion of :runtime does not handle {where} argument.
+Solution:   Parse the {where} argument. (closes #11863)
+
+Patch 9.0.1232
+Problem:    ColorTable saving and restoring does not work properly.
+Solution:   Restore ColorTable[16] usage. (Christopher Plewright,
+            closes #11836)
+
+Patch 9.0.1233
+Problem:    search() loops forever if "skip" is TRUE for all matches.
+Solution:   Keep the position of the first match.
+
+Patch 9.0.1234
+Problem:    The code style has to be checked manually.
+Solution:   Add basic code style checks in a test.  Fix or avoid uncovered
+            problems.
+
+Patch 9.0.1235
+Problem:    MS-Windows console: not flushing termguicolors.
+Solution:   Flush termguicolors. (Christopher Plewright, closes #11871)
+
+Patch 9.0.1236
+Problem:    Code in same_leader() can be simplified.
+Solution:   Simplify code that is executed only once. (closes #11867)
+
+Patch 9.0.1237
+Problem:    Code is indented more than necessary.
+Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
+            closes #11858)
+
+Patch 9.0.1238
+Problem:    :runtime completion can be further improved.
+Solution:   Also complete the {where} argument values and adjust the
+            completion for that. (closes #11874)
+
+Patch 9.0.1239
+Problem:    Cannot have a line break before an object member access.
+Solution:   Check for "." in next line. (closes #11864)
+
+Patch 9.0.1240
+Problem:    Cannot access a private object member in a lambda defined inside
+            the class.
+Solution:   Go up the context stack to find the class. (closes #11866)
+
+Patch 9.0.1241
+Problem:    Coverity warns for not checking function return value.
+Solution:   Explicitly ignore the return value.
+
+Patch 9.0.1242
+Problem:    Code for :runtime completion is not consistent.
+Solution:   Make code for cmdline expansion more consistent. (closes #11875)
+
+Patch 9.0.1243
+Problem:    :setglobal cannot use script-local function for "expr" option.
+Solution:   Use the pointer to the option value properly. (closes #11883)
+
+Patch 9.0.1244
+Problem:    Cursor briefly displayed in a wrong position when pressing Esc in
+            Insert mode after autoindent was used.
+Solution:   Do not adjust the cursor position for assumed deleted white space
+            if text is following.  (closes #11877)
+
+Patch 9.0.1245
+Problem:    Code is indented more than necessary.
+Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
+            closes #11879)
+
+Patch 9.0.1246
+Problem:    Code is indented more than necessary.
+Solution:   Use an early return where it makes sense. (Yegappan Lakshmanan,
+            closes #11887)
+
+Patch 9.0.1247
+Problem:    Divide by zero with 'smoothscroll' set and a narrow window.
+Solution:   Bail out when the window is too narrow.
+
+Patch 9.0.1248
+Problem:    Cannot export an interface. (Ernie Rael)
+Solution:   Add the EX_EXPORT flag to :interface. (closes #11884)
+
+Patch 9.0.1249
+Problem:    Cannot export an abstract class. (Ernie Rael)
+Solution:   Add the EX_EXPORT flag to :abstract. (closes #11884)
+
+Patch 9.0.1250
+Problem:    Cannot use an object method with :defer. (Ernie Rael)
+Solution:   Find the object method and generate code to call it.
+            (closes #11886)
+
+Patch 9.0.1251
+Problem:    Checking returned value of ga_grow() is inconsistent.
+Solution:   Check for FAIL instaed of "not OK". (Yegappan Lakshmanan,
+            closes #11897)
+
+Patch 9.0.1252
+Problem:    MS-Windows: scrollback cropped off on Vim exit.
+Solution:   Don't call SetConsoleScreenBufferInfoEx when using the alternate
+            screen buffer. (Christopher Plewright, closes #11882)
+
+Patch 9.0.1253
+Problem:    CI adds repository unnecessarily.
+Solution:   Remove the line from the workflow. (closes #11900)
+
+Patch 9.0.1254
+Problem:    Calling a method on an interface does not work.
+Solution:   At runtime figure out what method to call. (closes #11901)
+
+Patch 9.0.1255
+Problem:    Changing 'virtualedit' does not have immediate effect.
+Solution:   Correct how is checked for a changed value. (closes #11878)
+
+Patch 9.0.1256
+Problem:    NetworkManager connection files are not recognized.
+Solution:   Add a pattern for NetworkManager connection files. (closes #11893)
+
+Patch 9.0.1257
+Problem:    Code style is not check in test scripts.
+Solution:   Add basic code style check for test files.
+
+Patch 9.0.1258
+Problem:    Code style test fails.
+Solution:   Adjust test files.
+
+Patch 9.0.1259
+Problem:    Diffmode test fails.
+Solution:   Adjust expected result for adjusted indenting.
+
+Patch 9.0.1260
+Problem:    Coverity warns for possible NULL pointer usage.
+Solution:   Change the condition.
+
+Patch 9.0.1261
+Problem:    Elsa files are not recognized.
+Solution:   Add a pattern for Elsa files. (Amaan Qureshi, closes #11908)
+
+Patch 9.0.1262
+Problem:    The did_set_string_option function is too long.
+Solution:   Split off functionality to individual functions.  (Yegappan
+            Lakshmanan, Lewis Russell, closes #11904)
+
+Patch 9.0.1263
+Problem:    KDL files are not recognized.
+Solution:   Add a pattern for KDL files. (Amaan Qureshi, closes #11898)
+
+Patch 9.0.1264
+Problem:    Motif: compiler warning for unused argument.
+Solution:   Add "UNUSED".
+
+Patch 9.0.1265
+Problem:    Using an interface method may give a compilation error.
+Solution:   Do not try to compile the body of a method of an interface.
+            (closes #11885)
+
+Patch 9.0.1266
+Problem:    Error for space before ": type" is inconsistent.
+Solution:   Give E1059 in more places. (closes #11868)
+
+Patch 9.0.1267
+Problem:    The did_set_string_option function is too long.
+Solution:   Further cleanup of handling string options.  (Yegappan Lakshmanan,
+            Lewis Russell, closes #11920)
+
+Patch 9.0.1268
+Problem:    .clangd and .stylelintrc files don't get a filetype.
+Solution:   Use yaml for .clangd and json for .stylelintrc files. (Mark
+            Skelton, closes #11916)
+
+Patch 9.0.1269
+Problem:    Channel test often fails on Mac OS.
+Solution:   Increase the wait time from one to 15 milliseconds. (D. Ben
+            Knoble, closes #11894)
+
+Patch 9.0.1270
+Problem:    Crash when using search stat in narrow screen.
+Solution:   Check length of message. (closes #11921)
+
+Patch 9.0.1271
+Problem:    Using sizeof() and subtract array size is tricky.
+Solution:   Use offsetof() instead. (closes #11926)
+
+Patch 9.0.1272
+Problem:    Typo in pattern for filetype detection.
+Solution:   Fix the typo. (closes #11924)
+
+Patch 9.0.1273
+Problem:    "1v" may select block with wrong size. (Evgeni Chasnovski)
+Solution:   Compute "curswant" in the right line. (closes #11925)
+
+Patch 9.0.1274
+Problem:    FIRRTL files are not recognized.
+Solution:   Add a pattern for FIRRTL files. (Amaan Qureshi, closes #11931)
+
+Patch 9.0.1275
+Problem:    The code for setting options is too complicated.
+Solution:   Refactor the do_set() function. (Yegappan Lakshmanan, Lewis
+            Russell, closes #11932)
+
+Patch 9.0.1276
+Problem:    Some mappings with Meta and Shift do not work.
+Solution:   Apply the Shift modifier to the key. (issue #11913)
+
+Patch 9.0.1277
+Problem:    Cursor may move with autocmd in Visual mode.
+Solution:   Restore "VIsual_active" before calling check_cursor().
+            (closes #11939)
+
+Patch 9.0.1278
+Problem:    go.work.sum files are not recognized.
+Solution:   Recognize go.work.sum files as the gosum filetype. (Amaan Qureshi,
+            closes #11940)
+
+Patch 9.0.1279
+Problem:    Display shows lines scrolled down erroneously. (Yishai Lerner)
+Solution:   Do not change "wl_lnum" at index zero. (closes #11938)
+
+Patch 9.0.1280
+Problem:    Inssufficient testing for what 9.0.1265 fixes.
+Solution:   Add a couple of test cases. (issue #11885)
+
+Patch 9.0.1281
+Problem:    Cadence files are not recognized.
+Solution:   Recognize Cadence files. (Janez Podhostnik, closes #11951)
+
+Patch 9.0.1282
+Problem:    Ron files are not recognized.
+Solution:   Recognize Ron files. (Amaan Qureshi, closes #11948)
+
+Patch 9.0.1283
+Problem:    The code for setting options is too complicated.
+Solution:   Refactor the do_set() function. (Yegappan Lakshmanan, Lewis
+            Russell, closes #11945)
+
+Patch 9.0.1284
+Problem:    Compiler warnings for uninitialized variables. (Tony Mechelynck)
+Solution:   Add variable initializations.
+
+Patch 9.0.1285
+Problem:    Various small problems.
+Solution:   Adjust white space and comments.
+
+Patch 9.0.1286
+Problem:    Coverity warns for using a NULL pointer.
+Solution:   Bail out whan "varp" is NULL.
+
+Patch 9.0.1287
+Problem:    With the Kitty key protocl Esc with NumLock cannot be mapped.
+Solution:   Also use K_ESC when there is a modifier. (closes #11811)
+
+Patch 9.0.1288
+Problem:    FunC files are not recognized.
+Solution:   Recognize FunC files. (Amaan Qureshi, closes #11949)
+
+Patch 9.0.1289
+Problem:    A newer version of clang can be used for CI.
+Solution:   Switch from clang-15 to clang-16. (closes #11577)
+
+Patch 9.0.1290
+Problem:    CTRL-N and -P on cmdline don't trigger CmdlineChanged.
+Solution:   Jump to cmdline_changed instead of cmdline_not_changed.
+            (closes #11956)
+
+Patch 9.0.1291
+Problem:    Move language files are not recognized.
+Solution:   Recognize Move language files. (Amaan Qureshi, closes #11947)
+
+Patch 9.0.1292
+Problem:    :defer may call the wrong method for an object. (Ernie Rael)
+Solution:   When en object is from a class that extends or implements, figure
+            out the method to call at runtime. (closes #11910)
+
+Patch 9.0.1293
+Problem:    The set_num_option() is too long.
+Solution:   Move code to separate functions. (Yegappan Lakshmanan,
+            closes #11954)
+
+Patch 9.0.1294
+Problem:    The set_bool_option() function is too long.
+Solution:   Move code to separate functions. (Yegappan Lakshmanan,
+            closes #11964)
+
+Patch 9.0.1295
+Problem:    The option initialization function is too long.
+Solution:   Move code to separate functions. (Yegappan Lakshmanan,
+            closes #11966)
+
+Patch 9.0.1296
+Problem:    Calling an object method with arguments does not work. (Ernie
+            Rael)
+Solution:   Take the argument count into account when looking up the object.
+            (closes #11911)
+
+Patch 9.0.1297
+Problem:    Wrong value for $LC_CTYPE makes the environ test fail.
+Solution:   Unset $LC_CTYPE when running tests. (closes #11963)
+
+Patch 9.0.1298
+Problem:    Inserting a register on the command line does not trigger
+            incsearch or update hlsearch.
+Solution:   Have cmdline_insert_reg() return CMDLINE_CHANGED when appropriate
+            and handle it correctly. (Ken Takata, closes #11960)
+
+Patch 9.0.1299
+Problem:    Change for triggering incsearch not sufficiently tested.
+Solution:   Add a test case.  Simplify the code. (closes #11971)
+
+Patch 9.0.1300
+Problem:    'statusline' only supports one "%=" item.
+Solution:   Add support for multiple "%=" items. (TJ DeVries, Yegappan
+            Lakshmanan, closes #11970, closes #11965)
+
+Patch 9.0.1301
+Problem:    Virtual text below empty line not displayed.
+Solution:   Adjust flags and computations. (closes #11959)
+
+Patch 9.0.1302
+Problem:    On a Belgian keyboard CTRL-] does not work.
+Solution:   Translate CTRL-$ into CTRL-]. (closes #11831)
+
+Patch 9.0.1303
+Problem:    Motif: scrollbar width/height wrong when maximized.
+Solution:   Set the width/height when creating the scrollbar. (closes #11946)
+
+Patch 9.0.1304
+Problem:    "$" for 'list' option displayed in wrong position when there are
+            text properties.
+Solution:   Adjust logic for order of displayed items. (closes #11959)
+
+Patch 9.0.1305
+Problem:    Cursor in wrong line with virtual text above.
+Solution:   Count extra line for text property above/below. (closes #11959)
+
+Patch 9.0.1306
+Problem:    No regression test for solved problem of #11959.
+Solution:   Add a test, also with 'list' set. (closes #11959)
+
+Patch 9.0.1307
+Problem:    Setting 'formatoptions' with :let doesn't check for errors.
+Solution:   Pass "errbuf" to set_string_option(). (Yegappan Lakshmanan,
+            closes #11974, closes #11972)
+
+Patch 9.0.1308
+Problem:    The code for setting options is too complicated.
+Solution:   Refactor the code for setting options. (Yegappan Lakshmanan,
+            closes #11989)
+
+Patch 9.0.1309
+Problem:    Scrolling two lines with even line count and 'scrolloff' set.
+Solution:   Adjust how the topline is computed. (closes #10545)
+
+Patch 9.0.1310
+Problem:    'splitkeep' test has failures.
+Solution:   Adjust expected cursor line position.
+
+Patch 9.0.1311
+Problem:    Coverity warns for using a NULL pointer.
+Solution:   Use "empty_option" instead of NULL.
+
+Patch 9.0.1312
+Problem:    Cursor position wrong when splitting window in insert mode.
+Solution:   Pass the actual mode to win_fix_cursor(). (Luuk van Baal,
+            closes #11999,
+
+Patch 9.0.1313
+Problem:    Some settings use the current codepage instead of 'encoding'.
+Solution:   Adjust how options are initialized. (Ken Takata, closes #11992)
+
+Patch 9.0.1314
+Problem:    :messages behavior depends on 'fileformat' of current buffer.
+Solution:   Pass the buffer pointer to where it is used. (Mirko Ceroni,
+            closes #11995)
+
+Patch 9.0.1315
+Problem:    Escaping for completion of map command not properly tested.
+Solution:   Add a few test cases. (closes #12009)
+
+Patch 9.0.1316
+Problem:    MS-Windows: vimfiles dir created with admin group.
+Solution:   Use ShellExecAsUser to create the vimfiles directory. (Christopher
+            Plewright, Ken Takata, closes #12000, closes #11888)
+
+Patch 9.0.1317
+Problem:    Crash when using an unset object variable.
+Solution:   Give an error instead. (closes #12005)
+
+Patch 9.0.1318
+Problem:    Code style test fails.
+Solution:   Remove trailing white space.
+
+Patch 9.0.1319
+Problem:    PRQL files are not recognized.
+Solution:   Add a filetype pattern for PRQL files. (Matthias Queitsch,
+            closes #12018)
+
+Patch 9.0.1320
+Problem:    Checking the type of a null object causes a crash.
+Solution:   Don't try to get the class of a null object. (closes #12005)
+            Handle error from calling a user function better.
+
+Patch 9.0.1321
+Problem:    vimscript test fails where using {expr} syntax.
+Solution:   Only return FCERR_FAILED in call_user_func() for Vim9 script.
+
+Patch 9.0.1322
+Problem:    Crash when indexing "any" which is an object.
+Solution:   Check the index is a number.  Do not check the member type of an
+            object.  (closes #12019)
+
+Patch 9.0.1323
+Problem:    Build failure with +eval feature.
+Solution:   Add missing part for using funcerror_T.
+
+Patch 9.0.1324
+Problem:    "gj" and "gk" do not move correctly over a closed fold.
+Solution:   Use the same code as used for "j"/"k" to go to the next/previous
+            line. (Luuk van Baal, closes #12007)
+
+Patch 9.0.1325
+Problem:    'colorcolumn' highlight wrong with virtual text above.
+Solution:   Adjust column of 'colorcolumn' for text propertly. (closes #12004)
+
+Patch 9.0.1326
+Problem:    Relative line number not updated with virtual text above.
+Solution:   Adjust the row for the line number for virtual text above.
+            (closes #12004)
+
+Patch 9.0.1327
+Problem:    Cursor in wrong position below line with virtual text below ending
+            in multi-byte character.
+Solution:   When checking for last character take care of multi-byte
+            character.
+
+Patch 9.0.1328
+Problem:    Error when using "none" for GUI color is confusing.
+Solution:   Mention that the name should perhaps be "NONE". (closes #1400)
+
+Patch 9.0.1329
+Problem:    Completion of map includes simplified ones.
+Solution:   Do not complete simplified mappings. (closes #12013)
+
+Patch 9.0.1330
+Problem:    Handling new value of an option has a long "else if" chain.
+Solution:   Use a function pointer. (Yegappan Lakshmanan, closes #12015)
+
+Patch 9.0.1331
+Problem:    Illegal memory access when using :ball in Visual mode.
+Solution:   Stop Visual mode when using :ball. (Pavel Mayorov, closes #11923)
+
+Patch 9.0.1332
+Problem:    Crash when using buffer-local user command in cmdline window.
+            (Karl Yngve Lervåg)
+Solution:   Use the right buffer to find the user command. (closes #12030,
+            closes #12029)
+
+Patch 9.0.1333
+Problem:    When redo'ing twice <ScriptCmd> may not get the script ID.
+Solution:   When "last_used_map" map is not set use "last_used_sid".
+            (closes #11930)
+
+Patch 9.0.1334
+Problem:    Using tt_member for the class leads to mistakes.
+Solution:   Add a separate tt_class field.
+
+Patch 9.0.1335
+Problem:    No test for bad use of spaces in help files.
+Solution:   Add checks for use of spaces in help files.  Ignore intentional
+            spaces. (Hirohito Higashi, closes #11952)
+
+Patch 9.0.1336
+Problem:    Functions without arguments are not always declared properly.
+Solution:   Use "(void)" instead of "()". (Yegappan Lakshmanan, closes #12031)
+
+Patch 9.0.1337
+Problem:    Yuck files are not recognized.
+Solution:   Add a filetype pattern for yuck files. (Amaan Qureshi,
+            closes #12033)
+
+Patch 9.0.1338
+Problem:    :defcompile and :disassemble can't find class method. (Ernie Rael)
+Solution:   Make a class name and class.method name work. (closes #11984)
+
+Patch 9.0.1339
+Problem:    No test for :disassemble with class function.
+Solution:   Add a test.
+
+Patch 9.0.1340
+Problem:    Coverity warns for using NULL pointer.
+Solution:   Check that lhs_type is not NULL.
+
+Patch 9.0.1341
+Problem:    Build error with mzscheme but without GUI.
+Solution:   Adjust #ifdefs. (Ken Takata, closes #12042)  Also fix function
+            argument.
+
+Patch 9.0.1342
+Problem:    MS-Windows: linking may fail with space in directory name.
+Solution:   Add quotes. (closes #12050)
+
+Patch 9.0.1343
+Problem:    Check for OSC escape sequence doesn't work.
+Solution:   Move square bracket to the right place. (Johan Mattsson,
+            closes #12048)
+
+Patch 9.0.1344
+Problem:    Check for OSC escape sequence doesn't work.
+Solution:   Fix typo in index.
+
+Patch 9.0.1345
+Problem:    Too many "else if" statements for handling options.
+Solution:   Add more functions to handle options. (Yegappan Lakshmanan,
+            closes #12051)
+
+Patch 9.0.1346
+Problem:    Starlark files are not recognized.
+Solution:   Add patterns for Starlark files. (Amaan Qureshi, closes #12049)
+
+Patch 9.0.1347
+Problem:    "gr CTRL-O" stays in Insert mode. (Pierre Ganty)
+Solution:   Do not set restart_edit when "cmdchar" is 'v'. (closes #12045)
+
+Patch 9.0.1348
+Problem:    Un-grammar files are not recognized.
+Solution:   Add patterns for Un-grammar files. (Amaan Qureshi, closes #12034)
+
+Patch 9.0.1349
+Problem:    "gr" with a count fails.
+Solution:   Break out of the loop only after using the count.
+
+Patch 9.0.1350
+Problem:    CPON files are not recognized.
+Solution:   Add patterns for CPON files. (Amaan Qureshi, closes #12053)
+
+Patch 9.0.1351
+Problem:    Dhall files are not recognized.
+Solution:   Add patterns for Dhall files. (Amaan Qureshi, closes #12052)
+
+Patch 9.0.1352
+Problem:    "ignore" files are outdated.
+Solution:   Update "ignore" files. (Ken Takata, closes #12056)
+
+Patch 9.0.1353
+Problem:    Too many "else if" statements to handle option values.
+Solution:   Add more functions to handle option value changes. (Yegappan
+            Lakshmanan, closes #12058)
+
+Patch 9.0.1354
+Problem:    "gr CTRL-G" stays in virtual replace mode. (Pierre Ganty)
+Solution:   Prepend CTRL-V before control characters. (closes #12045)
+
+Patch 9.0.1355
+Problem:    No error when declaring a class twice. (Ernie Rael)
+Solution:   Pass different flags when declaring the class. (closes #12057)
+
+Patch 9.0.1356
+Problem:    Cannot cancel "gr" with Esc.
+Solution:   Make "gr<Esc>" do nothing. (closes #12064)
+
+Patch 9.0.1357
+Problem:    Using null_object results in an internal error. (Ernie Rael)
+Solution:   Add instructions for pushing an object and class. (closes #12044)
+
+Patch 9.0.1358
+Problem:    Compilation error with some compilers.
+Solution:   Avoid using "class" as member name.
+
+Patch 9.0.1359
+Problem:    Too many "else if" statements in handling options.
+Solution:   Add more functions for handling option changes. (Yegappan
+            Lakshmanan, closes #12060)
+
+Patch 9.0.1360
+Problem:    Cue files are not recognized.
+Solution:   Add patterns for Cue files. (Amaan Qureshi, closes #12067)
+
+Patch 9.0.1361
+Problem:    extendnew() not sufficiently tested.
+Solution:   Add a few more test cases for extendnew(). (closes #12075)
+
+Patch 9.0.1362
+Problem:    ml_get error when going to another tab. (Daniel J. Perry)
+Solution:   Do not call update_topline() if "curwin" is invalid.
+            (closes #11907)
+
+Patch 9.0.1363
+Problem:    Crash when :def function has :break in skipped block. (Ernie Rael)
+Solution:   Don't generate a jump for a skipped :break. (closes #12077)
+
+Patch 9.0.1364
+Problem:    Build error with older Mac OS.
+Solution:   Adjust #ifdef. (Yee Cheng Chin, closes #12074)
+
+Patch 9.0.1365
+Problem:    Dead test code.
+Solution:   Remove code that depends on Farsi, which has been removed.
+            (closes #12084)
+
+Patch 9.0.1366
+Problem:    Functions for setting options are in random order.
+Solution:   Sort functions alphabetically. (Yegappan Lakshmanan,
+            closes #12082)
+
+Patch 9.0.1367
+Problem:    Divide by zero in zero-width window.
+Solution:   Check the width is positive.
+
+Patch 9.0.1368
+Problem:    Bass files are not recognized.
+Solution:   Add patterns for Bass files. (Amaan Qureshi, closes #12088)
+
+Patch 9.0.1369
+Problem:    Still some "else if" constructs for setting options.
+Solution:   Add a few more functions for handling options. (Yegappan
+            Lakshmanan, closes #12090)
+
+Patch 9.0.1370
+Problem:    Crash when using a NULL object. (Ernie Rael)
+Solution:   Check for NULL and give an error message. (closes #12083)
+
+Patch 9.0.1371
+Problem:    Ballooneval interferes with Insert completion.
+Solution:   Ignore mouse-move events when completing. (closes #12094,
+            closes #12092)
+
+Patch 9.0.1372
+Problem:    Test for 'toolbariconsize' may fail.
+Solution:   Only test 'toolbariconsize' when it is supported. (James McCoy,
+            closes #12095)
+
+Patch 9.0.1373
+Problem:    Wrong text displayed when using both 'linebreak' and 'list'.
+Solution:   Only set "c_extra" to NUL when "p_extra" is not empty. (Hirohito
+            Higashi, closes #12065)
+
+Patch 9.0.1374
+Problem:    Function for setting options not used consistently.
+Solution:   Use a function for 'encoding' and terminal options. (Yegappan
+            Lakshmanan, closes #12099)
+
+Patch 9.0.1375
+Problem:    Crash when getting member of obj of unknown class.
+Solution:   Check for NULL class and give an error message. (Ernie Rael,
+            closes #12096)
+
+Patch 9.0.1376
+Problem:    Accessing invalid memory with put in Visual block mode.
+Solution:   Adjust the cursor column if needed.
+
+Patch 9.0.1377
+Problem:    job_status() may return "dead" if the process parent changed.
+Solution:   Call mch_process_running() to check if the job is still alive.
+
+Patch 9.0.1378
+Problem:    Illegal memory access when using virtual editing.
+Solution:   Make sure "startspaces" is not negative.
+
+Patch 9.0.1379
+Problem:    Functions for handling options are not ordered.
+Solution:   Put functions in alphabetical order. (Yegappan Lakshmanan,
+            closes #12101)
+
+Patch 9.0.1380
+Problem:    CTRL-X on 2**64 subtracts two. (James McCoy)
+Solution:   Correct computation for large number. (closes #12103)
+
+Patch 9.0.1381
+Problem:    ACCESS_ names have a conflict with on some systems.
+Solution:   Rename by prepending VIM_. (Ola Söder, closes #12105)
+
+Patch 9.0.1382
+Problem:    Failing test for strptime() doesn't show returned value.
+Solution:   Use assert_equal() instead of assert_true().
+
+Patch 9.0.1383
+Problem:    xxd: combination of little endian and cols fails. (Aapo
+            Rantalainen)
+Solution:   Round up the space taken by the hex output. (closes #12097)
+
+Patch 9.0.1384
+Problem:    Setting HOMEBREW_NO_AUTO_UPDATE is not needed with Homebew version
+            4.
+Solution:   Remove setting HOMEBREW_NO_AUTO_UPDATE. (closes #12008)
+
+Patch 9.0.1385
+Problem:    g'Esc is considered an error.
+Solution:   Make g'Esc silently abandon the command. (closes #12110)
+
+Patch 9.0.1386
+Problem:    Options test fails with some window width.
+Solution:   Adjust what text the test checks with. (closes #12111)
+
+Patch 9.0.1387
+Problem:    Scrollbar test sporadically fails.
+Solution:   Mark the scrollbar test as flaky. (Christian Brabandt,
+            closes #12113)
+
+Patch 9.0.1388
+Problem:    Amiga: not all builds use gethostname().
+Solution:   Use gethostname() for all builds except AROS. (Ola Söder,
+            closes #12107)
+
+Patch 9.0.1389
+Problem:    Amiga: a couple of include files are included twice.
+Solution:   Remove duplicate includes. (Ola Söder, closes #12106)
+
+Patch 9.0.1390
+Problem:    FOR_ALL_ macros are defined in an unexpected file.
+Solution:   Move FOR_ALL_ macros to macros.h.  Add FOR_ALL_HASHTAB_ITEMS.
+            (Yegappan Lakshmanan, closes #12109)
+
+Patch 9.0.1391
+Problem:    "clear" macros are not always used.
+Solution:   Use ALLOC_ONE, VIM_CLEAR, CLEAR_POINTER and CLEAR_FIELD in more
+            places. (Yegappan Lakshmanan, closes #12104)
+
+Patch 9.0.1392
+Problem:    Using NULL pointer with nested :open command.
+Solution:   Check that ccline.cmdbuff is not NULL.
+
+Patch 9.0.1393
+Problem:    Cairo files are not recognized.
+Solution:   Add a pattern for Cairo files. (Amaan Qureshi, closes #12118)
+
+Patch 9.0.1394
+Problem:    Unx Tal files are not recognized.
+Solution:   Add a pattern for Unx Tal files. (Amaan Qureshi, closes #12117)
+
+Patch 9.0.1395
+Problem:    Odin files are not recognized.
+Solution:   Add a pattern for Odin files. (Amaan Qureshi, closes #12122)
+
+Patch 9.0.1396
+Problem:    sort(list, 'N') does not work in Vim9 script context.
+Solution:   Convert string to number without giving an error. (closes #12061)
+
+Patch 9.0.1397
+Problem:    Highlight for popupmenu kind and extra cannot be set.
+Solution:   Add PmenuKind, PmenuKindSel, PmenuExtra and PmenuExtraSel
+            highlight groups and use them. (Gianmaria Bajo, closes #12114)
+
+Patch 9.0.1398
+Problem:    Profile test repeats the headers many times.
+Solution:   Put the headers in script variables.
+
+Patch 9.0.1399
+Problem:    Highlight test script has a few problems.
+Solution:   Rewrite the script in Vim9 syntax. (closes #10379)
+
+Patch 9.0.1400
+Problem:    find_file_in_path() is not reentrant.
+Solution:   Instead of global variables pass pointers to the functions.
+            (closes #12093)
+
+Patch 9.0.1401
+Problem:    Condition is always true.
+Solution:   Remove the condition. (closes #12139)
+
+Patch 9.0.1402
+Problem:    Crash when using null_class.
+Solution:   Give an error when trying to use a null class.
+
+Patch 9.0.1403
+Problem:    Unused variables and functions.
+Solution:   Delete items and adjust #ifdefs. (Dominique Pellé, closes #12145)
+
+Patch 9.0.1404
+Problem:    Compilation error with some compilers.
+Solution:   Adjust array initialization. (John Marriott)
+
+Patch 9.0.1405
+Problem:    Missing check for out-of-memory.
+Solution:   Check for alloc() returning NULL pointer. (closes #12149)
+
+Patch 9.0.1406
+Problem:    ILE RPG files are not recognized.
+Solution:   Add patterns for ILE RPG files. (Andreas Louv, issue #12152)
+
+Patch 9.0.1407
+Problem:    TableGen files are not recognized.
+Solution:   Add a pattern for TableGen files. (Amaan Qureshi, closes #12156)
+
+Patch 9.0.1408
+Problem:    QMLdir files are not recognized.
+Solution:   Add a pattern for QMLdir files. (Amaan Qureshi, closes #12161)
+
+Patch 9.0.1409
+Problem:    Racket files are recognized as scheme.
+Solution:   Recognize rackets files separately. (Gabriel Kakizaki,
+            closes #12164, closes #12162)
+
+Patch 9.0.1410
+Problem:    MacOS: sed fails on .po files.
+Solution:   Set $LANG to "C". (Yee Cheng Chin, closes #12153)
+
+Patch 9.0.1411
+Problem:    Accuracy of profiling is not optimal.
+Solution:   Use CLOCK_MONOTONIC if possible. (Ernie Rael, closes #12129)
+
+Patch 9.0.1412
+Problem:    Pony files are not recognized.
+Solution:   Add a pattern for Pony files. (Amaan Qureshi, closes #12155)
+
+Patch 9.0.1413
+Problem:    Compiler warning for unused variable.
+Solution:   Move variable declaration. (John Marriott)
+
+Patch 9.0.1414
+Problem:    <M-S-x> in Kitty does not use the Shift modifier.
+Solution:   Apply the Shift modifier to ASCII letters. (closes #11913)
+
+Patch 9.0.1415
+Problem:    Crystal files are not recognized.
+Solution:   Add a pattern for Crystal files. (Amaan Qureshi, closes #12175)
+
+Patch 9.0.1416
+Problem:    Crash when collection is modified when using filter().
+Solution:   Lock the list/dict/blob. (Ernie Rael, closes #12183)
+
+Patch 9.0.1417
+Problem:    ESDL files are not recognized.
+Solution:   Add a pattern for ESDL files. (Amaan Qureshi, closes #12174)
+
+Patch 9.0.1418
+Problem:    The included xdiff code is a bit outdated.
+Solution:   Sync with the latest git xdiff code. (Yee Cheng Chin,
+            closes #12181)
+
+Patch 9.0.1419
+Problem:    Lean files are not recognized.
+Solution:   Add a pattern for Lean files. (Amaan Qureshi, closes #12177)
+
+Patch 9.0.1420
+Problem:    Build failure because SIZE_MAX is not defined.
+Solution:   Define SIZE_MAX when missing. (John Marriott)
+
+Patch 9.0.1421
+Problem:    Nu files are not recognized.
+Solution:   Add a pattern for Nu files. (Amaan Qureshi, closes #12172)
+
+Patch 9.0.1422
+Problem:    Sage files are not recognized.
+Solution:   Add a pattern for Sage files. (Amaan Qureshi, closes #12176)
+
+Patch 9.0.1423
+Problem:    WebAssembly Interface Type files are not recognized.
+Solution:   Add a pattern for WIT files. (Amaan Qureshi, closes #12173)
+
+Patch 9.0.1424
+Problem:    Unused macros are defined.
+Solution:   Remove the unused macros.
+
+Patch 9.0.1425
+Problem:    "wat" and "wast" files are one filetype.
+Solution:   Add a separate filetype for "wat" files. (Amaan Qureshi,
+            closes #12165)
+
+Patch 9.0.1426
+Problem:    Indent wrong after "export namespace" in C++.
+Solution:   Skip over "inline" and "export" in any order. (Virginia Senioria,
+            closes #12134, closes #12133)
+
+Patch 9.0.1427
+Problem:    Warning for uninitialized variable. (Tony Mechelynck)
+Solution:   Add #ifdef.
+
+Patch 9.0.1428
+Problem:    Cursor in wrong position when leaving insert mode.
+Solution:   Update the w_valid flags.  Position the cursor also when not
+            redrawing. (closes #12137)
+
+Patch 9.0.1429
+Problem:    Invalid memory access when ending insert mode.
+Solution:   Check if the insert_skip value is valid.
+
+Patch 9.0.1430
+Problem:    Livebook files are not recognized.
+Solution:   Add a pattern for Livebook files. (Mathias Jean Johansen,
+            closes #12203)
+
+Patch 9.0.1431
+Problem:    getscriptinfo() loops even when specific SID is given.
+Solution:   Only loop when needed.  Give a clearer error message.
+            (closes #12207)
+
+Patch 9.0.1432
+Problem:    Completion popup in wrong position with virtual text "above".
+Solution:   Adjust the column. (closes #12210)
+
+Patch 9.0.1433
+Problem:    On some systems the Lua library is not found.
+Solution:   Check if a subdirectory for Lua exists.  (closes #4475)
+
+Patch 9.0.1434
+Problem:    Crash when adding package already in 'runtimepath'.
+Solution:   Change order for using 'runtimepath' entries. (closes #12215)
+
+Patch 9.0.1435
+Problem:    Scrolling too many lines when 'wrap' and 'diff' are set.
+Solution:   Only scroll by screenlines for 'diff' when 'wrap' is not set.
+            (closes #12211)
+
+Patch 9.0.1436
+Problem:    Cannot compare a typed variable with v:none.
+Solution:   Allow for "x is v:none" and "x isnot v:none". (issue #12194)
+
+Patch 9.0.1437
+Problem:    Test fails with different error number.
+Solution:   Adjust the expected error.
+
+Patch 9.0.1438
+Problem:    .fs files are falsely recognized as forth files.
+Solution:   Check 100 lines for something that looks like forth. (Johan
+            Kotlinski, closes #12219, closes #11988)
+
+Patch 9.0.1439
+Problem:    Start Insert mode when accessing a hidden prompt buffer.
+Solution:   Call leaving_window() in aucmd_restbuf(). (Thorben Tröbst,
+            closes #12148, closes #12147)
+
+Patch 9.0.1440
+Problem:    "rvim" can execute a shell through :diffpatch.
+Solution:   Disallow the shell "patch" command.
+
+Patch 9.0.1441
+Problem:    MacOS: Python 3 using framework do not set dll name properly.
+Solution:   Use the framework prefix. (Yee Cheng Chin, closes #12189)
+
+Patch 9.0.1442
+Problem:    mapset() does not restore non-script context.
+Solution:   Also accept negative sid. (closes #12132)
+
+Patch 9.0.1443
+Problem:    Ending Insert mode when accessing a hidden prompt buffer.
+Solution:   Don't stop Insert mode when it was active before. (closes #12237)
+
+Patch 9.0.1444
+Problem:    Crash when passing NULL to setcmdline(). (Andreas Louv)
+Solution:   Use tv_get_string() instead of using v_string directly.
+            (closes #12231, closes #12227)
+
+Patch 9.0.1445
+Problem:    openSUSE: configure doesn't find the Motif library. (Tony
+            Mechelynck)
+Solution:   Also search in /usr/lib64.
+
+Patch 9.0.1446
+Problem:    Unnecessary checks for the "skip" flag when skipping.
+Solution:   Remove the unnecessary checks. (closes #12254)
+
+Patch 9.0.1447
+Problem:    Condition is always true.
+Solution:   Remove the useless condition. (closes #12253)
+
+Patch 9.0.1448
+Problem:    Diff test fails on MacOS 13.
+Solution:   Install GNU diffutils. (Ozaki Kiichi, closes #12258)
+
+Patch 9.0.1449
+Problem:    Test for prompt buffer is flaky.
+Solution:   Use WaitForAssert() instead of TermWait(). (Ozaki Kiichi,
+            closes #12247)
+
+Patch 9.0.1450
+Problem:    MacOS: building fails if clock_gettime() is not available.
+Solution:   Add a configure check for clock_gettime(). (closes #12242)
+
+Patch 9.0.1451
+Problem:    Unnecessary redrawing when 'showcmdloc' is not "last".
+Solution:   Redraw later when "showcmd_is_clear" is set. (Luuk van Baal,
+            closes #12260)
+
+Patch 9.0.1452
+Problem:    Code using EVAL_CONSTANT is dead, it is never set.
+Solution:   Remove EVAL_CONSTANT. (closes #12252)
+
+Patch 9.0.1453
+Problem:    Typos in source code and tests.
+Solution:   Fi the typos. (Dominique Pellé, closes #12217)
+
+Patch 9.0.1454
+Problem:    Code indenting is confused by macros.
+Solution:   Put semicolon after the macros instead of inside. (Ozaki Kiichi,
+            closes #12257)
+
+Patch 9.0.1455
+Problem:    C++ 20 modules are not recognized.
+Solution:   Add patterns to recognize C++ 20 modules as "cpp". (Ben Jackson,
+            closes #12261)
+
+Patch 9.0.1456
+Problem:    Shortmess test depends on order of test execution.
+Solution:   Clear messages. (closes #12264)
+
+Patch 9.0.1457
+Problem:    No regression test for what patch 9.0.1333 fixes.
+Solution:   Extend existing test to cover the fixed problem. (issue #11930)
+
+Patch 9.0.1458
+Problem:    Buffer overflow when expanding long file name.
+Solution:   Use a larger buffer and avoid overflowing it. (Yee Cheng Chin,
+            closes #12201)
+
+Patch 9.0.1459
+Problem:    Typo in name of type.
+Solution:   Change funccal_T to funccall_T. (closes #12265)
+
+Patch 9.0.1460
+Problem:    Insufficient testing for getcmdcompltype().
+Solution:   Add a few more test cases. (closes #12268)
+
+Patch 9.0.1461
+Problem:    Ruler not drawn correctly when using 'rulerformat'.
+Solution:   Adjust formatting depending on whether the ruler is drawn in the
+            statusline or the command line. (Sean Dewar, closes #12246)
+
+Patch 9.0.1462
+Problem:    Recursively calling :defer function if it does :qa.
+Solution:   Clear the defer entry before calling the function. (closes #12266)
+
+Patch 9.0.1463
+Problem:    Virtual text truncation only works with Unicode 'encoding'.
+Solution:   Convert the ellipsis character to 'encoding' if needed. (Hirohito
+            Higashi, closes #12233)
+
+Patch 9.0.1464
+Problem:    Strace filetype detection is expensive.
+Solution:   Match with a cheap pattern first. (Federico Mengozzi,
+            closes #12220)
+
+Patch 9.0.1465
+Problem:    Haiku build fails.
+Solution:   Do not include globals.h and proto.h twice. (Ozaki Kiichi,
+            closes #12273)
+
+Patch 9.0.1466
+Problem:    Cannot use an object member name as a method argument.
+Solution:   Do not give an error for using an object member name for a method
+            argument. (Hirohito Higashi, closes #12241, closes #12225)
+            Fix line number for other argument error.
+
+Patch 9.0.1467
+Problem:    Jenkinsfiles are not recognized as groovy.
+Solution:   Add a pattern for Jenkinsfiles. (closes #12236)
+
+Patch 9.0.1468
+Problem:    Recursively calling :defer function if it does :qa in a compiled
+            function.
+Solution:   Clear the defer entry before calling the function. (closes #12271)
+
+Patch 9.0.1469
+Problem:    Deferred functions not called from autocommands.
+Solution:   Also go through the funccal_stack. (closes #12267)
+
+Patch 9.0.1470
+Problem:    Deferred functions invoked in unexpected order when using :qa and
+            autocommands.
+Solution:   Call deferred functions for the current funccal before using the
+            stack. (closes #12278)
+
+Patch 9.0.1471
+Problem:    Warnings for function declarations.
+Solution:   Add argument types. (Michael Jarvis, closes #12277)
+
+Patch 9.0.1472
+Problem:    ":drop fname" may change the last used tab page.
+Solution:   Restore the last used tab page when :drop has changed it.
+            (closes #12087)
+
+Patch 9.0.1473
+Problem:    CI does not run sound tests.
+Solution:   Re-enable sound tests.  Use "apt-get" instead of "apt". (Ozaki
+            Kiichi, closes #12280)
+
+Patch 9.0.1474
+Problem:    CI runs with old version of Ubuntu and tools.
+Solution:   Update CI to more recent versions. (closes #11092)
+
+Patch 9.0.1475
+Problem:    Busted configuration files are not recognized.
+Solution:   Recognize busted configuration files as Lua. (Craig MacEachern,
+            closes #12209) 
+
+Patch 9.0.1476
+Problem:    Lines put in non-current window are not displayed. (Marius
+            Gedminas)
+Solution:   Don't increment the topline when inserting just above it.
+            (closes #12212)
+
+Patch 9.0.1477
+Problem:    Crash when recovering from corrupted swap file.
+Solution:   Check for a valid page count. (closes #12275)
+
+Patch 9.0.1478
+Problem:    Filetypes for *.v files not detected properly.
+Solution:   Use the file contents to detect the filetype. (Turiiya,
+            closes #12281)
+
+Patch 9.0.1479
+Problem:    Small source file problems; outdated list of distributed files.
+Solution:   Small updates to source files and list of distributed files.
+
+Patch 9.0.1480
+Problem:    Using popup menu may leave text in the command line.
+Solution:   Clear the command line if the popup menu covered it. (Luuk van
+            Baal, closes #12286)
+
+Patch 9.0.1481
+Problem:    Decrypting with libsodium may fail if the library changes.
+Solution:   Add parameters used to the encrypted file header. (Christian
+            Brabandt, closes #12279)
+
+Patch 9.0.1482
+Problem:    Crash when textprop has a very large "padding" value. (Yegappan
+            Lakshmanan)
+Solution:   Avoid the "after" count to go negative.
+
+Patch 9.0.1483
+Problem:    += operator does not work on class member.
+Solution:   Do not skip as if "this." was used. (Christian Brabandt,
+            closes #12263)
+
+Patch 9.0.1484
+Problem:    Coverity warns for using invalid array index.
+Solution:   Add entry for Xchacha, even though it is not used.
+
+Patch 9.0.1485
+Problem:    no functions for converting from/to UTF-16 index.
+Solution:   Add UTF-16 flag to existing funtions and add strutf16len() and
+            utf16idx(). (Yegappan Lakshmanan, closes #12216)
+
+Patch 9.0.1486
+Problem:    Parallel make might not work.
+Solution:   Add missing dependencies. (Samuel Dionne-Riel, closes #12288)
+
+Patch 9.0.1487
+Problem:    Content-type header for LSP channel not according to spec.
+Solution:   Use "vscode-jsonrpc" instead of "vim-jsonrpc". (Yegappan
+            Lakshmanan, closes #12295)
+
+Patch 9.0.1488
+Problem:    xchacha20v2 crypt header is platform dependent.
+Solution:   Avoid using "size_t". (Ozaki Kiichi, closses #12296)
+
+Patch 9.0.1489
+Problem:    Crypt with libsodium is not tested on CI.
+Solution:   Configure testing with libsodium. (Ozaki Kiichi, closes #12297)
+
+Patch 9.0.1490
+Problem:    The ModeChanged event may be triggered too often.
+Solution:   Only trigger ModeChanged when no operator is pending.
+            (closes #12298)
+
+Patch 9.0.1491
+Problem:    Wrong scrolling with ls=0 and :botright split.
+Solution:   Add statusline before calling frame_new_height(). (closes #12299)
+
+Patch 9.0.1492
+Problem:    Using uninitialized memory when argument is missing.
+Solution:   Check there are sufficient arguments before the base.
+            (closes #12302)
+
+Patch 9.0.1493
+Problem:    Popup menu position wrong in window with toolbar.
+Solution:   Take the window toolbar into account when positioning the popup
+            menu. (closes #12308)
+
+Patch 9.0.1494
+Problem:    Crash when recovering from corrupted swap file.
+Solution:   Bail out when the line index looks wrong. (closes #12276)
+
+Patch 9.0.1495
+Problem:    GTK3: hiding the mouse pointer does not work. (Rory O’Kane)
+Solution:   Set alpha level to zero. (Kenny Stauffer, closes #12293,
+            closes #3256)
+
+Patch 9.0.1496
+Problem:    Test restoring register with wrong value.
+Solution:   Correct name of variable. (closes #12310)
+
+Patch 9.0.1497
+Problem:    The ruler percentage can't be localized.
+Solution:   Use a string that can be translated. (Emir Sari, closes #12311)
+
+Patch 9.0.1498
+Problem:    In a terminal window the cursor may jump around. (Kenny Stauffer)
+Solution:   Do not move the cursor to the position for terminal-normal mode.
+            (closes #12312)
+
+Patch 9.0.1499
+Problem:    Using uninitialized memory with fuzzy matching.
+Solution:   Initialize the arrays used to store match positions.
+
+Patch 9.0.1500
+Problem:    The falsy operator is not tested properly.
+Solution:   Add a few more test cases. (closes #12319)
+
+Patch 9.0.1501
+Problem:    Crash with nested :try and :throw in catch block.
+Solution:   Jump to :endtry before returning from function. (closes #12245)
+
+Patch 9.0.1502
+Problem:    No test for deleting the end of a long wrapped line.
+Solution:   Add a test to check the right text is displayed. (Luuk van Baal,
+            closes #12318)
+
+Patch 9.0.1503
+Problem:    Luau files are not recognized.
+Solution:   Add a patter for Luau files. (Amaan Qureshi, closes #12317)
+
+Patch 9.0.1504
+Problem:    No error when calling remote_startserver() with an empty string.
+Solution:   Give an error for an empty string. (Hirohito Higashi,
+            closes #12327)
+
+Patch 9.0.1505
+Problem:    Error when heredoc content looks like heredoc.
+Solution:   Handle curly expressions. (closes #12325)
+
+Patch 9.0.1506
+Problem:    Line number not displayed when using 'smoothscroll'.
+Solution:   Adjust condition for showing the line number. (closes #12333)
+
+Patch 9.0.1507
+Problem:    Assert message is confusing with boolean result.  assert_inrange()
+            replaces message instead of adding it.
+Solution:   Don't put quotes around expected boolean value.  Append message
+            for assert_inrange(). (closes #12342, closes #12341)
+
+Patch 9.0.1508
+Problem:    Catch does not work when lines are joined with a newline.
+Solution:   Set "nextcmd" appropriately. (closes #12348)
+
+Patch 9.0.1509
+Problem:    Error message lacks mentioning the erroneous argument.
+Solution:   Specify the argument that the error is for.
+
+Patch 9.0.1510
+Problem:    Misleading variable name for error message.
+Solution:   Change "name" to "number".  (closes #12345)
+
+Patch 9.0.1511
+Problem:    Crash when using wrong arg types to assert_match().
+Solution:   Check for NULL pointer. (closes #12349)
+
+Patch 9.0.1512
+Problem:    Inserting lines when scrolling with 'smoothscroll' set.
+Solution:   Adjust line height computation for w_skipcol. (Luuk van Baal,
+            closes #12350)
+
+Patch 9.0.1513
+Problem:    Text scrolls unnecessarily when splitting and 'splitkeep' is not
+            "cursor".
+Solution:   Avoid resetting w_skipcol. (Luuk van Baal, closes #12334)
+
+Patch 9.0.1514
+Problem:    Test waits unnecessarily long before checking screendump.
+Solution:   Remove TermWait() call.
+
+Patch 9.0.1515
+Problem:    reverse() does not work for a String.
+Solution:   Implement reverse() for a String. (Yegappan Lakshmanan,
+            closes #12179)
+
+Patch 9.0.1516
+Problem:    Cannot use special keys in <Cmd> mapping.
+Solution:   Do allow for special keys in <Cmd> and <ScriptCmd> mappings.
+            (closes #12326)
+
+Patch 9.0.1517
+Problem:    MacOS: configure removes -O2 from $CFLAGS.
+Solution:   Only adjust $CFLAGS for gcc. (closes #12351)
+
+Patch 9.0.1518
+Problem:    Search stats not always visible when searching backwards.
+Solution:   Do not display the top/bot message on top of the search stats.
+            (Christian Brabandt, closes #12322, closes #12222)
+
+Patch 9.0.1519
+Problem:    Global 'filetype' is set when it is detected from the file content.
+Solution:   Set the local 'filetype' option value.
+
+Patch 9.0.1520
+Problem:    Completion for option name includes all bool options.
+Solution:   Do not recognize the "noinv" prefix.  Prefix "no" or "inv" when
+            appropriate.
+
+Patch 9.0.1521
+Problem:    Failing redo of command with control characters.
+Solution:   Use AppendToRedobuffLit() for colon commands. (closes #12354)
+
+Patch 9.0.1522
+Problem:    Some functions give two error messages.
+Solution:   Do not give a second error message. (closes #12352)
+
+Patch 9.0.1523
+Problem:    Some error messages are not marked for translation.
+Solution:   Surround the messages in _(). (closes #12356)
+
+Patch 9.0.1524
+Problem:    Passing -1 for bool is not always rejected.
+Solution:   Check for error in a better way. (closes #12358)
+
+Patch 9.0.1525
+Problem:    'smoothscroll' does not always work properly.
+Solution:   Do not reset w_skipcol after it was intentionally set.  (Luuk van
+            Baal, closes #12360, closes #12199, closes #12323)
+
+Patch 9.0.1526
+Problem:    Condition is always true.
+Solution:   Remove unnecessary condition. (closes #12359)
+
+Patch 9.0.1527
+Problem:    Crash when using negative value for term_cols.
+Solution:   Check for invalid term_cols value. (Kenta Sato, closes #12362)
+
+Patch 9.0.1528
+Problem:    Libsodium encryption is only used with "huge" features, even when
+            manually enabled through configure. (Tony Mechelynck)
+Solution:   Remove the condition on FEAT_HUGE.
+
+Patch 9.0.1529
+Problem:    Code style test doesn't check for space after "if".
+Solution:   Add a test for space.
+
+Patch 9.0.1530
+Problem:    Cursor moves to wrong line when 'foldmethod' is "diff". (Rick
+            Howe)
+Solution:   Adjust logic for scrolling. (Luuk van Baal, closes #12364,
+            closes #12218)
+
+Patch 9.0.1531
+Problem:    Crash when register contents ends up being invalid.
+Solution:   Check "y_array" is not NULL.
+
+Patch 9.0.1532
+Problem:    Crash when expanding "~" in substitute causes very long text.
+Solution:   Limit the text length to MAXCOL.
+
+Patch 9.0.1533
+Problem:    Test for 'smoothscroll' is ineffective.
+Solution:   Change the order of testing "zb" and "zt". (Luuk van Baal,
+            closes #12366)
+
+Patch 9.0.1534
+Problem:    Test for expanding "~" in substitute takes too long.
+Solution:   Disable the test for now.
+
+Patch 9.0.1535
+Problem:    Test commented out in a wrong way.
+Solution:   Use legacy script comment character.
+
+Patch 9.0.1536
+Problem:    CI: sound dummy stopped working.
+Solution:   Temporarily stop using sound dummy.
+
+Patch 9.0.1537
+Problem:    Message for opening the cmdline window is not translated.
+Solution:   Add gettext() and scan the defaults script for text to be
+            translated.  (closes #12371)
+
+Patch 9.0.1538
+Problem:    :wqall does not trigger ExitPre. (Bart Libert)
+Solution:   Move preparations for :qall to a common function. (closes #12374)
+
+Patch 9.0.1539
+Problem:    Typst filetype is not recognized.
+Solution:   Distinguish between sql and typst. (Gaetan Lepage, closes #12363)
+
+Patch 9.0.1540
+Problem:    reverse() on string doesn't work in compiled function.
+Solution:   Accept string in argument type check. (Yegappan Lakshmanan,
+            closes #12377)
+
+Patch 9.0.1541
+Problem:    CI: sound dummy is disabled.
+Solution:   Make sound dummy work again. (closes #12380)
+
+Patch 9.0.1542
+Problem:    Line not fully displayed if it doesn't fit in the screen.
+Solution:   Do not reset s_skipcol if not needed. (Luuk van Baal,
+            closes #12376)
+
+Patch 9.0.1543
+Problem:    Display errors when making topline shorter and 'smoothscroll' is
+            set.
+Solution:   Reset w_skipcol when the topline becomes shorter than its current
+            value. (Luuk van Baal, closes #12367)
+
+Patch 9.0.1544
+Problem:    Recent glibc marks sigset() as a deprecated.
+Solution:   Use sigaction() in mch_signal() if possible. (Ozaki Kiichi,
+            closes #12373)
+
+Patch 9.0.1545
+Problem:    Text not scrolled when cursor moved with "g0" and "h".
+Solution:   Adjust w_skipcol when needed. (Luuk van Baal, closes #12387)
+
+Patch 9.0.1546
+Problem:    Some commands for opening a file don't use 'switchbuf'.
+Solution:   Use 'switchbuf' for more commands. (Yegappan Lakshmanan,
+            closes #12383, closes #12381)
+
+Patch 9.0.1547
+Problem:    Coveralls workflow on CI is commented out.
+Solution:   Remove the Coveralls workflow. (closes #12389)
+
+Patch 9.0.1548
+Problem:    CI: check in sound-dummy module may throw an error.
+Solution:   Check whether apt-cache can show the package description.
+            (Christian Brabandt, closes #12390)
+
+Patch 9.0.1549
+Problem:    USD filetype is not recognized.
+Solution:   Add patterns for USD filetype. (Colin Kennedy, closes #12370)
+
+Patch 9.0.1550
+Problem:    In cmdline window S-Tab does not select previous completion.
+            (Maxim Kim)
+Solution:   Add a mappint for S-Tab. (closes #12116)
+
+Patch 9.0.1551
+Problem:    Position of marker for 'smoothscroll' not computed correctly.
+Solution:   Take 'list' and other options into account. (Luuk van Baal,
+            closes #12393)
+
+Patch 9.0.1552
+Problem:    CI: sound-dummy module is not installed.
+Solution:   Invert using the result of the condition.  (closes #12394)
+
+Patch 9.0.1553
+Problem:    CI: using slightly outdated gcc version.
+Solution:   Use "brew" to get a more recent gcc version.  (closes #12391)
+
+Patch 9.0.1554
+Problem:    Code for handling 'switchbuf' is repeated.
+Solution:   Add a function to handle 'switchbuf'. (Yegappan Lakshmanan,
+            closes #12397)
+
+Patch 9.0.1555
+Problem:    setcharsearch() does not clear last searched char properly.
+Solution:   Do not accept lastc_bytelen smaller than one. (closes #12398)
+
+Patch 9.0.1556
+Problem:    Vim9: error for missing "return" after "throw".
+Solution:   Set had_return flag for "throw". (closes #12262)
+
+Patch 9.0.1557
+Problem:    Test failures for unreachable code.
+Solution:   Add a test override to ignore unreachable code.
+
+Patch 9.0.1558
+Problem:    Wrong error for unreachable code after :throw.
+Solution:   Adjust the error message.
+
+Patch 9.0.1559
+Problem:    Function argument types not always checked and using v:none may
+            cause an error.
+Solution:   Check argument types once the function type is known.  Do not give
+            an error for using v:none as an argument. (closes #12200)
+
+Patch 9.0.1560
+Problem:    Win32: When 'encoding' is set $PATH has duplicate entries.
+Solution:   Only append the directory if it is not there yet. (Ken Takata,
+            closes #12400, closes #12372)
+
+Patch 9.0.1561
+Problem:    Display wrong when moving cursor to above the top line and
+            'smoothscroll' is set.
+Solution:   Call adjust_skipcol() in more places and make it work better.
+            (Luuk van Baal, closes #12395)
+
+Patch 9.0.1562
+Problem:    Mixing package managers is not a good idea.
+Solution:   Install gcc 13 with apt-get. (closes #12405)
+
+Patch 9.0.1563
+Problem:    GTK3: window manager resize hints are incomplete.
+Solution:   Use NULL for second argument of gtk_window_set_geometry_hints().
+            (Kenny Stauffer closes #11055)
+
+Patch 9.0.1564
+Problem:    Display moves up and down with 'incsearch' and 'smoothscroll'.
+Solution:   Do not check if w_skipcol changed. (Luuk van Baal, closes #12410,
+            closes #12409)
+
+Patch 9.0.1565
+Problem:    Json lines files are not recognized.
+Solution:   Add a pattern to detect "jsonl" files. (issue #7520)
+
+Patch 9.0.1566
+Problem:    Motif: GUI scrollbar test fails in 24 lines terminal.
+Solution:   Skip the part of the test that fails for now.
+
+Patch 9.0.1567
+Problem:    Profiler calculation may be wrong on 32 bit builds.
+Solution:   Use 64 bit variable if possible. (Isao Sato, closes #12412)
+
+Patch 9.0.1568
+Problem:    With 'smoothscroll' cursor may move below botline.
+Solution:   Call redraw_later() if needed,  Compute cursor row with adjusted
+            condition. (Luuk van Baal, closes #12415)
+
+Patch 9.0.1569
+Problem:    Cannot use "this.member" in lambda in class method.
+Solution:   Adjust check for reserved keyword. (Hirohito Higashi,
+            closes #12416, closes #12076, closes #12336)
+
+Patch 9.0.1570
+Problem:    Some tests are slow.
+Solution:   Make a few test cases faster.
+
+Patch 9.0.1571
+Problem:    RedrawingDisabled not used consistently.
+Solution:   Avoid RedrawingDisabled going negative.  Set RedrawingDisabled in
+            win_split_ins(). (closes #11961)
+
+Patch 9.0.1572
+Problem:    Error messages are not translated.
+Solution:   Add _().
+
+Patch 9.0.1573
+Problem:    Error for function name has wrong line number.
+Solution:   Set the line number before giving the error.
+
+Patch 9.0.1574
+Problem:    MS-Windows: list of translation input files incomplete.
+Solution:   Move the list of files to a common file. (closes #12426)
+
+Patch 9.0.1575
+Problem:    "file N of M" message is not translated.
+Solution:   Make argument count message translatable. (close #12429)
+
+Patch 9.0.1576
+Problem:    Users may not know what to do with an internal error.
+Solution:   Add a translated message with instructions.
+
+Patch 9.0.1577
+Problem:    MS-Windows: context menu translations may be wrong.
+Solution:   Set the encoding before using gettext(). (Ken Takata,
+            closes #12441, closes #12431)
+
+Patch 9.0.1578
+Problem:    SpellCap highlight not always updated when needed.
+Solution:   Handle updating line below closed fold and other situations where
+            only part of the window is redrawn. (Luuk van Baal, closes #12428,
+            closes #12420)
+
+Patch 9.0.1579
+Problem:    Some error messages are not translated.
+Solution:   Add the N_() marker on messages. (closes #12427)
+
+Patch 9.0.1580
+Problem:    CI: indent test hangs on FreeBSD.
+Solution:   Set 'nomore' when running the indent tests. (Ozaki Kiichi,
+            closes #12446)
+
+Patch 9.0.1581
+Problem:    Translation does not work for plural argument.
+Solution:   Use PLURAL_MSG() for errors and with xgettext. (closes #12443)
+
+Patch 9.0.1582
+Problem:    :stopinsert may not work in a popup close handler. (Ben Jackson)
+Solution:   Restore stop_insert_mode when appropriate. (closes #12452,
+            closes #12434)
+
+Patch 9.0.1583
+Problem:    Get E304 when using 'cryptmethod' "xchacha20v2". (Steve Mynott)
+Solution:   Add 4th crypt method to block zero ID check.  Avoid syncing a swap
+            file before reading the file. (closes #12433)
+
+Patch 9.0.1584
+Problem:    Not all meson files are recognized.
+Solution:   Add "meson.options". (Liam Beguin, closes #12444)
+
+Patch 9.0.1585
+Problem:    Weird use of static variables for spell checking.
+Solution:   Move the variables to a structure and pass them from win_update()
+            to win_line(). (Luuk van Baal, closes #12448)
+
+Patch 9.0.1586
+Problem:    Checking translations gives an error for using two messages with
+            ngettext() that differ in "%" items.
+Solution:   Adjust the check script to tolerate omitting one "%" item.
+
+Patch 9.0.1587
+Problem:    Corn config files are not recognized.
+Solution:   Add a pattern for Corn config files. (Jake Stanger, closes #12449)
+
+Patch 9.0.1588
+Problem:    Incsearch not triggered when pasting clipboard register on the
+            command line.
+Solution:   Also set "literally" when using a clipboard register. (Ken Takata,
+            closes #12460)
+
+Patch 9.0.1589
+Problem:    Filetype test contains too many special characters.
+Solution:   Use Vim9 syntax for a few things.
+
+Patch 9.0.1590
+Problem:    Filetype test has trailing white space.
+Solution:   Remove trailing white space.
+
+Patch 9.0.1591
+Problem:    Some "gomod" files are not recognized.
+Solution:   Check for "go.mod" file name before checking out the contents.
+            (Omar El Halabi, closes #12462)
+
+Patch 9.0.1592
+Problem:    Not all timer tests are marked as flaky.
+Solution:   Set the flaky flag for all timer tests. (closes #12355)
+
+Patch 9.0.1593
+Problem:    MS-Windows: assert error when compiled with debug mode.
+Solution:   Adjust arguments to setvbuf(). (Ken Takata, closes #12467)
+
+Patch 9.0.1594
+Problem:    Some internal error messages are translated.
+Solution:   Consistently do not translate internal error messages.
+            (closes #12459)
+
+Patch 9.0.1595
+Problem:    Line pointer becomes invalid when using spell checking.
+Solution:   Call ml_get() at the right places. (Luuk van Baal, closes #12456)
+
+Patch 9.0.1596
+Problem:    :registers command does not work in sandbox.
+Solution:   Add flag to the command. (closes #12473)
+
+Patch 9.0.1597
+Problem:    Cursor ends up below the window after a put.
+Solution:   Mark w_crow and w_botline invalid when changing the cursor line.
+            (closes #12465)
+
+Patch 9.0.1598
+Problem:    screenchar(), screenchars() and screenstring() do not work
+            properly when 'encoding' is set to a double-byte encoding.
+Solution:   Fix the way the bytes of the characters are obtained.
+            (issue #12469)
+
+Patch 9.0.1599
+Problem:    Cursor not adjusted when near top or bottom of window and
+            'splitkeep' is not "cursor".
+Solution:   Move boundary checks to outer cursor move functions, inner
+            functions should only return valid cursor positions. (Luuk van
+            Baal, closes #12480)
+
+Patch 9.0.1600
+Problem:    screenpos() does not take w_skipcol into account.
+Solution:   Subtract w_skipcol from column. (closes #12486, closes #12476)
+
+Patch 9.0.1601
+Problem:    Filetype detection fails for *.conf file without comments.
+            (Dmitrii Tcyganok)
+Solution:   Use "conf" filetype as a fallback for an empty .conf file.
+            (closes #12487, closes #12483)
+
+Patch 9.0.1602
+Problem:    Stray character is visible if 'smoothscroll' marker is displayed
+            on top of a double-wide character.
+Solution:   When overwriting a double-width character with the 'smoothscroll'
+            marker clear the second half. (closes #12469)
+
+Patch 9.0.1603
+Problem:    Display wrong when scrolling multiple lines with 'smoothscroll'
+            set.
+Solution:   Redraw when w_skipcol changed. (closes #12477, closes #12468)
+
+Patch 9.0.1604
+Problem:    Errors from the codestyle test are a bit confusing.
+Solution:   Use assert_report() with a clearer message.  Avoid a warning for
+            an existing swap file.
+
+Patch 9.0.1605
+Problem:    Crash when calling method on super in child constructor. (Israel
+            Chauca Fuentes)
+Solution:   Clear the type list. (Ernie Rael, closes #12489, closes #12471)
+
+Patch 9.0.1606
+Problem:    Using freed memory when 'foldcolumn' is set.
+Solution:   Save extra pointer to free it later. (closes #12492)
+
+Patch 9.0.1607
+Problem:    screenpos() returns wrong row with diff filler lines.
+Solution:   Only add filler lines when appropriate.  Also don't add the
+            'smoothscroll' marker when w_skipcol is zero. (closes #12485,
+            closes #12484)
+
+Patch 9.0.1608
+Problem:    update_topline() is called twice.
+Solution:   Do not call update_topline() before curs_columns(). (Luuk van
+            Baal, closes #12495)
+
+Patch 9.0.1609
+Problem:    Crash when an object indirectly references itself.
+Solution:   Avoid clearing an object while it is already being cleared.
+            (closes #12494)
+
+Patch 9.0.1610
+Problem:    Display is wrong when 'smoothscroll' is set and scrolling multiple
+            lines.
+Solution:   Redraw with UPD_NOT_VALID when "skipcol" is or was set.
+            (closes #12490, closes #12468)
+
+Patch 9.0.1611
+Problem:    v:maxcol can be changed in a :for loop.
+Solution:   Check for read-only loop variable. (closes #12470)
+
+Patch 9.0.1612
+Problem:    "skipcol" not reset when using multi-byte characters.
+Solution:   Compare with w_virtcol instead of w_cursor.col. (closes #12457)
+
+Patch 9.0.1613
+Problem:    Some make output gets picked up by 'errorformat'.
+Solution:   Ignore make output by default. (Gregory Anders, closes #12481)
+
+Patch 9.0.1614
+Problem:    strlen() called too often for :spellrepall.
+Solution:   Store the result in a variable. (closes #12497)
+
+Patch 9.0.1615
+Problem:    URL shortcut files are not recognized.
+Solution:   Add a pattern for URL shortcut files. (closes #12474)
+
+Patch 9.0.1616
+Problem:    Quickfix text field is truncated.
+Solution:   Fix output of text field after pattern field in quickfix buffer.
+            (Shane Harper, closes #12498)
+
+Patch 9.0.1617
+Problem:    charidx() and utf16idx() result is not consistent with byteidx().
+Solution:   When the index is equal to the length of the text return the
+            lenght of the text instead of -1. (Yegappan Lakshmanan,
+            closes #12503)
+
+Patch 9.0.1618
+Problem:    Trace32 files are not recognized.
+Solution:   Add patterns for the t32 filetype. (Christoph Sax, closes #12505)
+
+Patch 9.0.1619
+Problem:    The focus gained/lost escape sequences cause trouble for a
+            terminal where Vim does not expect them.
+Solution:   Always recognize the codes for focus gained/lost. (closes #12499)
+
+Patch 9.0.1620
+Problem:    Nix files are not recognized from the hashbang line.
+Solution:   Add a hashbang check. (issue #12507)
+
+Patch 9.0.1621
+Problem:    FILETYPE_FILE is defined to the same value multiple times.  Same
+            for a few similar macros.
+Solution:   Define FILETYPE_FILE and others in feature.h only
+
+Patch 9.0.1622
+Problem:    Filetype name t32 is a bit obscure.
+Solution:   Rename t32 to trace32. (Christoph Sax, closes #12512)
+
+Patch 9.0.1623
+Problem:    The program to filetype translation is not exported.
+Solution:   Export Exe2filetype().
+
+Patch 9.0.1624
+Problem:    Crash when calling object constructor from legacy script. (Israel
+            Chauca Fuentes)
+Solution:   Pass a pointer for "ufunc". (closes #12502)
+
+Patch 9.0.1625
+Problem:    "super" is not considered a reserved name.
+Solution:   Add "super" to the list of reserved names. (closes #12515)
+
+Patch 9.0.1626
+Problem:    Visual area not shown when using 'showbreak' and start of line is
+            not visible. (Jaehwang Jung)
+Solution:   Adjust "fromcol" for the space taken by 'showbreak'.
+            (closes #12514)
+
+Patch 9.0.1627
+Problem:    No generic mechanism to test syntax plugins.
+Solution:   Add a syntax plugin test mechanism, using screendumps.  Add a
+            simple test for "c".
+
+Patch 9.0.1628
+Problem:    Syntax tests fail on FreeBSD.
+Solution:   Pass the Vim executable path with VIMPROG. (Ken Takata,
+            closes #12535)  Adjust the paths.
+
+Patch 9.0.1629
+Problem:    Having utf16idx() rounding up is inconvenient.
+Solution:   Make utf16idx() round down. (Yegappan Lakshmanan, closes #12523)
+
+Patch 9.0.1630
+Problem:    "make clean" at the toplevel fails.
+Solution:   Clean the indent and syntax directories in a sub-shell.  (Ben
+            Jackson, closes #12536, closes #12526)
+
+Patch 9.0.1631
+Problem:    Passing a wrong variable type to an option gives multiple errors.
+Solution:   Bail out early on failure. (closes #12504)
+
+Patch 9.0.1632
+Problem:    Not all cabal config files are recognized.
+Solution:   Add a couple of patterns. (Marcin Szamotulski, closes #12463)
+
+Patch 9.0.1633
+Problem:    Duplicate code for converting float to string.
+Solution:   Use tv_get_string(). (closes #12521)
+
+Patch 9.0.1634
+Problem:    Message is cleared when removing mode message (Gary Johnson).
+Solution:   Do not clear the command line after displaying a message.
+
+Patch 9.0.1635
+Problem:    Error message is cleared when removing mode message.
+Solution:   Also reset flags when the message is further down.
+
+Patch 9.0.1636
+Problem:    Expanding a pattern interferes with command line completion.
+Solution:   Set the file index only when appropriate. (closes #12519)
+
+Patch 9.0.1637
+Problem:    Compiler warning for uninitialized variable.
+Solution:   Move the variable to an inner block and initialize it. (Christian
+            Brabandt, closes #12549)
+
+Patch 9.0.1638
+Problem:    crypt tests hang and cause memory errors
+Solution:   Move variable to start of function.
+
+Patch 9.0.1639
+Problem:    Build failure without the crypt feature.
+Solution:   Adjust #ifdefs
+
+Patch 9.0.1640
+Problem:    Compiler warning for unused variables without the crypt feature.
+Solution:   Adjust #ifdefs
+
+Patch 9.0.1641
+Problem:    The log file does not give information about window sizes.
+Solution:   Add a few log messages about obtaining the window size.
+
+Patch 9.0.1642
+Problem:    Build failure with tiny features.
+Solution:   Add #ifdef's.
+
+Patch 9.0.1643
+Problem:    Filetype detection fails if file name ends in many '~'.
+Solution:   Strip multiple '~' at the same time. (closes #12553)
+
+Patch 9.0.1644
+Problem:    Not all filetype file name matches are tested.
+Solution:   Add more file names to test with. (Jonas Strittmatter,
+            closes #12569)
+
+Patch 9.0.1645
+Problem:    zserio files are not recognized.
+Solution:   Add a pattern for zserio files. (Dominique Pellé,
+            closes #12544)
+
+Patch 9.0.1646
+Problem:    CI: codecov may take a very long time to run.
+Solution:   Add a timeout. (Philip Heiduck, closes #12559)
+
+Patch 9.0.1647
+Problem:    Insufficient testing for syntax plugins.
+Solution:   Add shell file examples. (Charles Campbell)  Create a messages
+            file for easier debugging and reporting the test results.
+
+Patch 9.0.1648
+Problem:    Result of syntax tests is hard to see.
+Solution:   List the failed tests.
+
+Patch 9.0.1649
+Problem:    Syntax test failure causes script to abort.
+Solution:   Fix appending string to list.
+
+Patch 9.0.1650
+Problem:    MS-Windows: default 'viewdir' may include read-only directory.
+Solution:   Use $HOME instead of $VIM for 'viewdir' default. (closes #12119)
+
+Patch 9.0.1651
+Problem:    Unclear why syntax test fails on Mac.
+Solution:   Temporarily show the whole "messages" file.
+
+Patch 9.0.1652
+Problem:    Unclear why syntax test fails on Mac.
+Solution:   Echo v:errors when it's not empty.
+
+Patch 9.0.1653
+Problem:    Amiga: default 'viewdir' may not work.
+Solution:   Use "home:" instead of "$VIM". Add a test. (Christian Brabandt,
+            closes #12576)
+
+Patch 9.0.1654
+Problem:    MS-Windows: test for default 'viewdir' fails.
+Solution:   Escape the pattern.
+
+Patch 9.0.1655
+Problem:    Syntax test fails when Vim window is not tall enough.
+Solution:   Make sure each terminal window is closed.
+
+Patch 9.0.1656
+Problem:    Syntax test fails when detected shell type differs.
+Solution:   Avoid using "/bin/sh", it depends on the system.  Add a check that
+            the shell type detection is correct.
+
+Patch 9.0.1657
+Problem:    One more syntax test depends on the system.
+Solution:   Use "dash" instead of "sh".
+
+Patch 9.0.1658
+Problem:    Autoload files for "zig" are not installed.
+Solution:   Add install and uninstall rules in the makefile. (Christian
+            Brabandt, closes #12577, closes #12567)
+
+Patch 9.0.1659
+Problem:    Termdebug: default highlight cleared when changing colorscheme.
+Solution:   Use a ColorScheme autocommand. (Christian Brabandt, closes #12566,
+            closes #12555)
+
+Patch 9.0.1660
+Problem:    Error for using matchfuzzy() in Vim9 script returning a list of
+            dicts.
+Solution:   Make return type of matchfuzzy() list<any>. (Yegappan Lakshmanan,
+            closes #12574)
+
+Patch 9.0.1661
+Problem:    BUCK files are not recognized.
+Solution:   Recognize BUCK files as "bzl". (Son Luong Ngoc, closes #12564)
+
+Patch 9.0.1662
+Problem:    Crash when using a class member twice. (Christian J. Robinson)
+Solution:   Make a copy of the value.
+
+Patch 9.0.1663
+Problem:    Termdebug on MS-Windows: some file names are not recognized.
+Solution:   Do not always change \t and \n. (Christian Brabandt,
+            closes #12565, closes #12560, closes #12550)
+
+Patch 9.0.1664
+Problem:    Divide by zero when scrolling with 'smoothscroll' set.
+Solution:   Avoid using a negative width. (closes #12540, closes #12528)
+
+Patch 9.0.1665
+Problem:    Empty CmdlineEnter autocommand causes errors in Ex mode.
+Solution:   Save and restore ex_pressedreturn. (Christian Brabandt,
+            closes # 12581, closes #12578)
+
+Patch 9.0.1666
+Problem:    Compiler may warn for uninitialized variable.
+Solution:   Initialize this_props_len. (Christian Brabandt, closes #12599)
+
+Patch 9.0.1667
+Problem:    Regression test doesn't fail when fix is reverted.
+Solution:   Add "n" to 'cpoptions' instead of using :winsize. (closes #12587,
+            issue #12528)
+
+Patch 9.0.1668
+Problem:    PEM files are not recognized.
+Solution:   Add patterns to match PEM files. (closes #12582)
+
+Patch 9.0.1669
+Problem:    Crash syncing swapfile in new buffer when using sodium crypt.
+            (James McCoy)
+Solution:   Add checks for sodium encryption. (Christian Brabandt,
+            closes #12591, closes #12585)
+
+Patch 9.0.1670
+Problem:    Resetting local option to global value is inconsistent.
+Solution:   Handle "<" specifically for 'scrolloff' and 'sidescrolloff'.
+            (closes #12594)
+
+Patch 9.0.1671
+Problem:    Termdebug: error with more than 99 breakpoints.
+Solution:   Use a different sign for breakpoint 100 and over. (closes #12589,
+            closes #12588)
+
+Patch 9.0.1672
+Problem:    Tabline highlight wrong after truncated double width label.
+Solution:   Fill up half a double width character later. (closes #12614)
+
+Patch 9.0.1673
+Problem:    Cannot produce a status 418 or 503 message.
+Solution:   Add err_teapot().
+
+Patch 9.0.1674
+Problem:    Help for builtin functions is not sorted properly.
+Solution:   Put err_teapot() help in the right position.
+
+Patch 9.0.1675
+Problem:    Test may run into timeout when using valgrind.
+Solution:   Use a longer timeout when using valgrind.
+
+Patch 9.0.1676
+Problem:    Warning for buffer in use when exiting early.
+Solution:   Change file names to be able to see what buffer is in use when
+            exiting.
+
+Patch 9.0.1677
+Problem:    Typo in syntax test input file.
+Solution:   Fix the typo and the expected dump files. (THARAK HEGDE,
+            closes #12635)
+
+Patch 9.0.1678
+Problem:    Blade files are not recognized.
+Solution:   Add a pattern for Blade files. (closes #12650)
+
+Patch 9.0.1679
+Problem:    Tests may leave leftover files around
+Solution:   Clean up tests and remove files
+
+Patch 9.0.1680
+Problem:    sodium test fails in Github CI
+Solution:   Catch sodium_mlock() errors and do not error out
+
+Patch 9.0.1681
+Problem:    Build Failure with Perl 5.38
+Solution:   Fix Build Failure
+
+Patch 9.0.1682
+Problem:    crypt: sodium encryption is not portable
+Solution:   use little-endian byte order for sodium encrypted files
+
+Patch 9.0.1683
+Problem:    need runtime files updated
+Solution:   merge various github PRs
+
+Patch 9.0.1684
+Problem:    libvterm slightly outdated
+Solution:   Update libvterm from rev 818 to rev 839
+
+Patch 9.0.1685
+Problem:    Python 3.11 interface throws deprecation warnings
+Solution:   ignore those warnings for gcc and clang
+
+Patch 9.0.1686
+Problem:    undotree() only works for the current buffer
+Solution:   Add an optional "buffer number" parameter to undotree().  If
+            omitted, use the current buffer for backwards compatibility.
+
+Patch 9.0.1687
+Problem:    mapset() not properly handling script ID
+Solution:   replace_termcodes() may accept a script ID
+
+Patch 9.0.1688
+Problem:    cannot store custom data in quickfix list
+Solution:   add `user_data` field for the quickfix list
+
+Patch 9.0.1689
+Problem:    python 3.12 produces warnings and fails test
+Solution:   Make use of raw strings in python3 tests
+
+Patch 9.0.1690
+Problem:    popup_create() not aborting on errors
+Solution:   check for errors in arguments given and abort if an error
+            occurred
+
+Patch 9.0.1691
+Problem:    wrong viewport restored for incsearch and smoothscroll
+Solution:   Save and restore skipcol as well
+
+Patch 9.0.1692
+Problem:    Android not handling AI_V4MAPPED ai_flag
+Solution:   don't set AI_V4MAPPED flag when on Android, since
+            Android's getaddrinfo returns EAI_BADFLAGS if ai_flags
+            contains it
+
+Patch 9.0.1693
+Problem:    Ctrl-Q not handled like Ctrl-V in replace mode
+Solution:   Handle Ctrl-Q like Ctrl-V
+
+Patch 9.0.1694
+Problem:    wrong mapping applied when replaying a char search
+Solution:   Store a NOP after the ESC
+
+Patch 9.0.1695
+Problem:    Crash with overlong textprop above
+Solution:   Consider only positive padding
+
+Patch 9.0.1696
+Problem:    sodium_mlock may still fail in CI
+Solution:   Catch E1230 in testscript and skip test
+
+Patch 9.0.1697
+Problem:    incsearch test not sufficient (after 9.0.1691)
+Solution:   add an additional test
+
+Patch 9.0.1698
+Problem:    Test_map_restore_sid fails in GUI
+Solution:   Feed an unsimplified Ctrl-B
+
+Patch 9.0.1699
+Problem:    compile warning for xdiff/xutils on MS-Windows
+Solution:   add explicit type cast from size_t to long
+
+Patch 9.0.1700
+Problem:    Cannot compile with dynamic perl < 5.38 (after 9.0.1681)
+Solution:   Fix if_perl/dyn from perl 5.32 to 5.38
+
+Patch 9.0.1701
+Problem:    vim9 crash when class member overridden
+Solution:   Use method_count field instead
+
+Patch 9.0.1702
+Problem:    Undo test is flaky.
+Solution:   Apply filter and change time to "1 second ago" in both dumps.
+
+Patch 9.0.1703
+Problem:    Vim9 Calling a method in an extended class fails
+Solution:   use method index directly
+
+Patch 9.0.1704
+Problem:    Cannot use positional arguments for printf()
+Solution:   Support positional arguments in string formatting
+
+Patch 9.0.1705
+Problem:    cursor position wrong when clicking on an unprintable char
+Solution:   Don't update prev_ptr when wlv.n_extra is not zero.
+
+Patch 9.0.1706
+Problem:    typos in the xxd manpage
+Solution:   Fix typos and formatting
+
+Patch 9.0.1707
+Problem:    Cannot wrap around in popup_filter_menu()
+Solution:   Allow to wrap around by default
+
+Patch 9.0.1708
+Problem:    getcompletion() failes for user-defined commands
+Solution:   set context for completion function
+
+Patch 9.0.1709
+Problem:    dynamic build with python 3.12 breaks
+Solution:   if_python3.c: Fix building dynamic Python3 interpreter
+
+Patch 9.0.1710
+Problem:    sidescrolloff and scrolloff options work slightly
+            different than other global-local options
+Solution:   Make it behave consistent for all global-local options
+
+Patch 9.0.1711
+Problem:    dead code in charset.c
+Solution:   remove it
+
+Patch 9.0.1712
+Problem:    missing null check in object_clear()
+Solution:   Add null check of cl
+
+Patch 9.0.1713
+Problem:    Github CI fails to load snd-dummy kernel module
+Solution:   Make installation of linux-modules-extra optional
+
+Patch 9.0.1714
+Problem:    getcompletion() "cmdline" fails after :autocmd
+Solution:   Use set_cmd_context() instead of set_one_cmd_context().
+
+Patch 9.0.1715
+Problem:    duplicate test in message_test.c
+Solution:   Remove duplicate test and make functions static
+
+Patch 9.0.1716
+Problem:    Windows build with python 3.12 and clang fails
+Solution:   Remove the PyBool_Type function pointer for python 3.12
+
+Patch 9.0.1717
+Problem:    virtcol2col returns last byte of a multi-byte char
+Solution:   Make it return the first byte for a multi-byte char
+
+Patch 9.0.1718
+Problem:    dict-completion does not respect region
+Solution:   respect selected region in dict completion
+
+Patch 9.0.1719
+Problem:    if_lua: crash for Lua functions invoked via Vim callbacks
+Solution:   Use Lua registry rather than upvalues for udata cache
+
+Patch 9.0.1720
+Problem:    Vim9 class using wrong index for overridden method
+Solution:   Use correct index for overridden method
+
+Patch 9.0.1721
+Problem:    Build failure on Windows with dynamic lua (after 9.0.1719)
+Solution:   move definition further down in if_lua
+
+Patch 9.0.1722
+Problem:    wrong error messages when passing wrong types to count()
+Solution:   fix it
+
+Patch 9.0.1723
+Problem:    Fix regression in {func} argument of reduce()
+Solution:   pass function name as string again
+
+Patch 9.0.1724
+Problem:    vim9class constructor argument type checking bug
+Solution:   fix it
+
+Patch 9.0.1725
+Problem:    Wrong cursor position when clicking after concealed text
+            with 'virtualedit'.
+Solution:   Store virtual columns in ScreenCols[] instead of text
+            columns, and always use coladvance() when clicking.
+
+Patch 9.0.1726
+Problem:    incorrect heights in win_size_restore()
+Solution:   avoid restoring incorrect heights in win_size_restore()
+
+Patch 9.0.1727
+Problem:    minor problems with the teapot()
+Solution:   remove the null check, update documentation
+
+Patch 9.0.1728
+Problem:    missing winid argument for virtcol()
+Solution:   Add a {winid} argument to virtcol()
+
+Patch 9.0.1729
+Problem:    screenpos() wrong result with w_skipcol and cpoptions+=n
+Solution:   Use adjust_plines_for_skipcol() instead of subtracting
+            w_skipcol.
+
+Patch 9.0.1730
+Problem:    passing multiple patterns to runtime not working
+Solution:   prepend prefix to each argument separately
+
+Patch 9.0.1731
+Problem:    blockwise Visual highlight not working with virtual text
+Solution:   Reset the correct variable at the end of virtual selection and
+            Check for double-width char inside virtual text.
+
+Patch 9.0.1732
+Problem:    vimexpr: shadowing variable
+Solution:   Rename local variable
+
+Patch 9.0.1733
+Problem:    CI: cannot cache linux-modules-extra
+Solution:   Enable caching and reduce failed downloads
+
+Patch 9.0.1734
+Problem:    runtime completion fails for multiple args
+Solution:   Make it work
+
+Patch 9.0.1735
+Problem:    Rename completion specific findex var
+Solution:   Move "findex" static variable to xp_selected in expand_T
+
+Patch 9.0.1736
+Problem:    Github Actions times out after 20 minutes
+Solution:   Increase the timeout to 25 minutes
+
+Patch 9.0.1737
+Problem:    Calling a base class method through an extended class fails
+Solution:   Create lookup table for member index in the interface to
+            to the member class implementing the interface
+
+Patch 9.0.1738
+Problem:    Duplicate code to reverse a string
+Solution:   Move reverse_text() to strings.c and remove string_reverse().
+
+Patch 9.0.1739
+Problem:    leftover files in libvterm
+Solution:   Fix cleaning of libvterm directory
+
+Patch 9.0.1740
+Problem:    segfault when reading invalid viminfo file
+Solution:   Check the expected type in the viminfo file
+
+Patch 9.0.1741
+Problem:    No type checking in interfaces
+Solution:   Implement member type check in vim9 interfaces
+
+Patch 9.0.1742
+Problem:    Wrong curswant when clicking and the second cell of a
+            double-width char.
+Solution:   Don't copy virtcol of the first char to the second one.
+
+Patch 9.0.1743
+Problem:    Parameter of gui_gtk:gui_mch_browse incorrectly marked as
+            UNUSED.
+Solution:   Remove UNUSED flag.
+
+Patch 9.0.1744
+Problem:    Dead code in open_cmdwin()
+Solution:   Remove it
+
+Patch 9.0.1745
+Problem:    Missing test coverage for blockwise Visual highlight with
+            virtual that starts with a double-width char.
+Solution:   Add a new virtual text to the test. Some other small fixes.
+
+Patch 9.0.1746
+Problem:    vim9class compile error for char/char_u conversion
+Solution:   Correctly cast to (char *)
+
+Patch 9.0.1747
+Problem:    screenpos() may cause unnecessary redraw.
+Solution:   Don't unnecessarily reset VALID_WROW flag.
+
+Patch 9.0.1748
+Problem:    CI: cannot label issues automatically
+Solution:   Create CI labeler
+
+Patch 9.0.1749
+Problem:    Text property highlight doesn't override a sign highlight over
+            a tab character
+Solution:   Let text_property override tab highlighting
+
+Patch 9.0.1750
+Problem:    CI: fails because of changed error messages
+            (after: 9.0.1741)
+Solution:   Adjust expected error messages
+
+Patch 9.0.1751
+Problem:    CI: labeler configuration not found
+            (after 9.0.1748)
+Solution:   set configuration path
+
+Patch 9.0.1752
+Problem:    CI: Coveralls is no longer used
+Solution:   Remove .coveralls.yml
+
+Patch 9.0.1753
+Problem:    can't move to last non-blank char
+Solution:   Make g<end> behave like that
+
+Patch 9.0.1754
+Problem:    still ci breakage (after 9.0.1741)
+Solution:   fix remaining issue
+
+Patch 9.0.1755
+Problem:    CI still fails with sodium mlock error
+Solution:   catch mlock failure
+
+Patch 9.0.1756
+Problem:    failing cursorline sign test
+Solution:   only reset char attr, if cursorline
+            option is not set
+
+Patch 9.0.1757
+Problem:    ex_class() function is too long
+Solution:   refactor it
+
+Patch 9.0.1758
+Problem:    vim9 no class identifiers in stack dumps
+Solution:   Prefix class members in stack traces with the class name
+            followed by a dot.
+
+Patch 9.0.1759
+Problem:    Visual highlight not working with cursor at end of screen line
+            and 'showbreak'.
+Solution:   Only update "vcol_prev" when drawing buffer text.
+
+Patch 9.0.1760
+Problem:    vim9 class problem with new() constructor
+Solution:   Don't allow a return type for the new() class constructor.
+
+Patch 9.0.1761
+Problem:    g<kEnd> behaves different from g<end>
+Solution:   Make g<kEnd> behave like g<End>
+
+Patch 9.0.1762
+Problem:    Not able to get the virtual text property
+Solution:   Make prop_list() return virtual text and alignment
+
+Patch 9.0.1763
+Problem:    crash when passing invalid buffer to undotree()
+Solution:   Use get_buf_arg() instead of tv_get_buf_from_arg().
+
+Patch 9.0.1764
+Problem:    CI: label should not be set on all yml files
+Solution:   only set it for specific yml files in .github
+
+Patch 9.0.1765
+Problem:    Error when cross-compiling Vim
+Solution:   use AC_CHECK_SIZEOF to find sizeof(wchar_t)
+
+Patch 9.0.1766
+Problem:    Runtime: Missing QML support
+Solution:   Add QML support to Vim
+
+Patch 9.0.1767
+Problem:    '.-' no allowed in highlight group names
+Solution:   Allow dot and hyphen characters in highlight group names
+
+Patch 9.0.1768
+Problem:    Runtime: no support for bicep files
+Solution:   Add filetype support for bicepparam
+
+Patch 9.0.1769
+Problem:    executable() ignoring symlinks on Windows
+Solution:   resolve reparse points
+
+Patch 9.0.1770
+Problem:    lines disappear when modifying chars before virt text
+Solution:   take virtual text property length into account
+
+Patch 9.0.1771
+Problem:    regex: combining chars in collections not handled
+Solution:   Check for following combining characters for NFA and BT engine
+
+Patch 9.0.1772
+Problem:    Cursor is adjusted in window that did not change in size by
+            'splitkeep'.
+Solution:   Only check that cursor position is valid in a window that
+            has changed in size.
+
+Patch 9.0.1773
+Problem:    cannot distinguish Forth and Fortran *.f files
+Solution:   Add Filetype detection Code
+
+Patch 9.0.1774
+Problem:    no support for custom cmdline completion
+Solution:   Add new vimscript functions
+
+Patch 9.0.1775
+Problem:    Wrong comparison in vim9type.c
+Solution:   Change condition to false
+
+Patch 9.0.1776
+Problem:    No support for stable Python 3 ABI
+Solution:   Support Python 3 stable ABI
+
+Patch 9.0.1777
+Problem:    patch 9.0.1771 causes problems
+Solution:   revert it
+
+Patch 9.0.1778
+Problem:    if_py_both: code-style issue
+Solution:   add space
+
+Patch 9.0.1779
+Problem:    Need more state() tests
+Solution:   Add a few more tests for operater pending mode and register
+            yank command
+
+Patch 9.0.1780
+Problem:    Vim9 type not defined during object creation
+Solution:   Define type during object creation and not during class
+            definition, parse mulit-line member initializers, fix lock
+            initialization
+
+Patch 9.0.1781
+Problem:    Problems when setting bin/paste option
+Solution:   When setting binary/paste, remember that this also affects
+            depending options, so that :verbose set returns the right
+            location.
+
+Patch 9.0.1782
+Problem:    prop_list() does not return text_padding_left
+Solution:   Store and return the text_padding_left value for text
+            properties
+
+Patch 9.0.1783
+Problem:    Wrong display with wrapping virtual text or unprintable chars,
+            'showbreak' and 'smoothscroll'.
+Solution:   Don't skip cells taken by 'showbreak' in screen lines before
+            "w_skipcol". Combined "n_skip" and "skip_cells".
+
+Patch 9.0.1784
+Problem:    redundant else in pum_set_selected()
+Solution:   Remove it
+
+Patch 9.0.1785
+Problem:    wrong cursor position with 'showbreak' and lcs-eol
+Solution:   Add size of 'showbreak' before when 'listchars' "eol" is used.
+            Also fix wrong cursor position with wrapping virtual text on
+            empty line and 'showbreak'.
+
+Patch 9.0.1786
+Problem:    Vim9: need instanceof() function
+Solution:   Implement instanceof() builtin
+
+Patch 9.0.1787
+Problem:    Cannot build with latest luajit
+Solution:   adjust sed regexp and don't expect '-' in version output
+
+Patch 9.0.1788
+Problem:    C4090 warnings in strings.c
+Solution:   Add type casts
+
+Patch 9.0.1789
+Problem:    too early declaration of variable in pum_set_selected()
+Solution:   Move declaration to where it is actually used
+
+Patch 9.0.1790
+Problem:    The Content-Type header is an optional header that some LSP
+            servers struggle with and may crash when encountering it.
+Solution:   Drop the Content-Type header from all messages, because we use
+            the default value anyway.
+
+Patch 9.0.1791
+Problem:    No tests for the termdebug plugin
+Solution:   Add some simple tests for the termdebug plugin
+
+Patch 9.0.1792
+Problem:    Normal mode "gM", "gj", "gk" commands behave incorrectly with
+          virtual text.
+Solution:   Use linetabsize() instead of linetabsize_str().
+
+Patch 9.0.1793
+Problem:    obsolete macros in configure script
+Solution:   Remove those and start moving to autoconf 2.71
+
+Patch 9.0.1794
+Problem:    autoconf: not correctly detecing include dirs
+Solution:   make use of python3 to generate includedirs
+
+Patch 9.0.1795
+Problem:    Indentation issues
+Solution:   Fix code indentation issues.
+
+Patch 9.0.1796
+Problem:    Vim9 problems with null_objects
+Solution:   Vim9 improve null_object usage
+
+Patch 9.0.1797
+Problem:    Vimball/Visual Basic filetype detection conflict
+Solution:   runtime(vb): Improve Vimball and Visual Basic detection logic
+
+Patch 9.0.1798
+Problem:    The 'syntax' option has no completion.
+Solution:   Add syntax option completion.
+
+Patch 9.0.1799
+Problem:    Russian menu translation can be improved
+Solution:   update the Russian menu files
+
+Patch 9.0.1800
+Problem:    Cursor position still wrong with 'showbreak' and virtual text
+            after last character or 'listchars' "eol".
+Solution:   Remove unnecessary w_wcol adjustment in curs_columns(). Also
+            fix first char of virtual text not shown at the start of a screen
+            line.
+
+Patch 9.0.1801
+Problem:    Vim9 instanceof() fails in a def func
+Solution:   allow Objects in compile time check
+
+Patch 9.0.1802
+Problem:    Multiline regex with Visual selection fails when Visual
+            selection contains virtual text after last char.
+Solution:   Only include virtual text after last char when getting full
+            line length.
+
+Patch 9.0.1803
+Problem:    Cannot detect norg markup files
+Solution:   Add norg markup language detection
+
+Patch 9.0.1804
+Problem:    Vim9: no support for private object methods
+Solution:   Add support for private object/class methods
+
+Patch 9.0.1805
+Problem:    Vim9: problem compiling object method as function call arg
+Solution:   After a object/class method call, remove the object/class from
+            the stack.
+
+Patch 9.0.1806
+Problem:    Vim9: bogus error on export
+Solution:   Don't error out when the export command is not executed
+
+Patch 9.0.1807
+Problem:    runtime: crystal scripts not recognised
+Solution:   Filetype detect Crystal scripts by shebang line
+
+Patch 9.0.1808
+Problem:    termdebug: Typo in termdebug test
+Solution:   fix the typos
+
+Patch 9.0.1809
+Problem:    termdebug test flayk
+Solution:   wait slightly longer
+
+Patch 9.0.1810
+Problem:    camel-case spelling has issues with digits
+Solution:   Improve the camCase spell checking by taking digits
+            and caps into account
+
+Patch 9.0.1811
+Problem:    still some issues with term_debug test
+Solution:   Use WaitForAssert()
+
+Patch 9.0.1812
+Problem:    CI still fails with sodium_mlock error()
+Solution:   Catch and ignore E1230 error in test_crypt
+
+Patch 9.0.1813
+Problem:    'linebreak' is incorrectly drawn after 'breakindent'.
+Solution:   Don't include 'breakindent' size when already after it.
+
+Patch 9.0.1814
+Problem:    Vim9 no error on duplicate object member var
+Solution:   detect duplicate members and error out
+
+Patch 9.0.1815
+Problem:    pango_coverage_unref() deprecated in pango > 1.51
+Solution:   use g_object_unref() instead
+
+Patch 9.0.1816
+Problem:    configure: sed uses non-portable regex
+Solution:   use '*' modifier instead of '\?' in regex
+            for luajit version detection
+
+Patch 9.0.1817
+Problem:    configure: using obsolete AC_HEADER_STDC
+Solution:   Remove it and re-create configure
+
+Patch 9.0.1818
+Problem:    dynamically linking perl is broken
+Solution:   Fix all issues
+
+Patch 9.0.1819
+Problem:    Github CI too complex
+Solution:   CI: Tidy up matrix
+
+Patch 9.0.1820
+Problem:    Rexx files may not be recognised
+Solution:   Add shebang detection and improve disambiguation of *.cls
+            files
+
+Patch 9.0.1821
+Problem:    Vim9 constructors are always static
+Solution:   make the "static" keyword an error
+
+Patch 9.0.1822
+Problem:    Vim9: no check for duplicate members in extended classes
+Solution:   Check for duplicate members in extended classes.
+            Fix memory leak.
+
+Patch 9.0.1823
+Problem:    Autoconf 2.69 too old
+Solution:   Migrate to Autoconf 2.71
+
+Patch 9.0.1824
+Problem:    Vim9: private members may be modifiable
+Solution:   prevent modification for def function
+
+Patch 9.0.1825
+Problem:    Wrong cursor position with virtual text before a whitespace
+            character and 'linebreak'.
+Solution:   Always set "col_adj" to "size - 1" and apply 'linebreak' after
+            adding the size of 'breakindent' and 'showbreak'.
+
+Patch 9.0.1826
+Problem:    keytrans() doesn't translate recorded key typed in a GUI
+Solution:   Handle CSI like K_SPECIAL, like in mb_unescape()
+
+Patch 9.0.1827
+Problem:    xxd: no color support
+Solution:   Add color support using xxd -R
+
+Patch 9.0.1828
+Problem:    Wrong cursor position with virtual text before double-width
+            char at window edge.
+Solution:   Check for double-width char before adding virtual text size.
+
+Patch 9.0.1829
+Problem:    Vim9 missing access-checks for private vars
+Solution:   Use the proper check for private/readonly variable.  Access
+            level for a member cannot be changed in a class implementing an
+            interface.  Update the code indentation
+
+Patch 9.0.1830
+Problem:    Vim9: crash when accessing a null object
+Solution:   Check accessing a NULL object in def function
+
+Patch 9.0.1831
+Problem:    Vim9: failing null test
+Solution:   Use required public keyword
+
+Patch 9.0.1832
+Problem:    xxd: reporting wrong version (after 9.0.1827)
+Solution:   Update version string
+
+Patch 9.0.1833
+Problem:    runtime files may execute code in current dir
+Solution:   only execute, if not run from current directory
+
+Patch 9.0.1834
+Problem:    Some problems with xxd coloring
+Solution:   Fix the following problems:
+
+Patch 9.0.1835
+Problem:    Perl interface has problems with load PL_current_context
+Solution:   Fix Perl interface to load PL_current_context from library
+
+Patch 9.0.1836
+Problem:    Wrong display with "above" virtual text and 'linebreak' or
+           'breakindent' and 'showbreak'.
+Solution:   Exclude size of "above" virtual text when calculating them.
+
+Patch 9.0.1837
+Problem:    Vim9: class_member_type() can be optimized
+Solution:   class_member_type() provides more information;
+            safe an additional alloc()/free()
+
+Patch 9.0.1838
+Problem:    Vim9: Cannot modify class member vars from def function
+Solution:   Add support for modifying class member variables from a def
+            function
+
+Patch 9.0.1839
+Problem:    No Makefile rule to build cscope database
+Solution:   Add rule
+
+Patch 9.0.1840
+Problem:    use-after-free in do_ecmd
+Solution:   Verify oldwin pointer after reset_VIsual()
+
+Patch 9.0.1841
+Problem:    style: trailing whitespace in ex_cmds.c
+Solution:   remove it
+
+Patch 9.0.1842
+Problem:    Need more accurate profiling
+Solution:   Improve profiling results
+
+Patch 9.0.1843
+Problem:    xxd color test flaky
+Solution:   Filter unneeded lines
+
+Patch 9.0.1844
+Problem:    doc helptags may not be up to date
+Solution:   Add CI jobs to verify helptags are updated
+
+Patch 9.0.1845
+Problem:    xxd: Test_xxd_color start failing
+Solution:   Revert changes to dump file
+
+Patch 9.0.1846
+Problem:    crash in fullcommand
+Solution:   Check for typeval correctly
+
+Patch 9.0.1847
+Problem:    potential oob write in do_addsub()
+Solution:   don't overflow buf2, check size in for loop()
+
+Patch 9.0.1848
+Problem:    buffer-overflow in vim_regsub_both()
+Solution:   Check remaining space
+
+Patch 9.0.1849
+Problem:    CI error on different signedness
+Solution:   cast unsigned to int
+
+Patch 9.0.1850
+Problem:    Vim9: wrong line number where options set
+Solution:   Set source line number earlier
+
+Patch 9.0.1851
+Problem:    Virtual text at a column causes 'breakindent' and 'showbreak'
+            to be missing (after patch 9.0.1124).
+Solution:   Add check for "tp_col" in another place where TP_FLAG_WRAP is
+            checked.
+
+Patch 9.0.1852
+Problem:    i_CTRL-O does not reset Select Mode
+Solution:   Reset select mode on CTRL-O in insert mode
+
+Patch 9.0.1853
+Problem:    CI error on different signedness in regexp.c
+            (after patch 9.0.1848)
+Solution:   Cast strlen() call to int
+
+Patch 9.0.1854
+Problem:    test_crash1() fails on CI
+Solution:   don't run Screendump test, verify that it doesn't crash
+            by running it through a shell command line, testing
+            the exit value and concatenating success cmd using '&&'
+
+Patch 9.0.1855
+Problem:    mode() doesn't indicate command line for terminal
+Solution:   make it return 'ct' for command-line from Terminal mode
+
+Patch 9.0.1856
+Problem:    issues with formatting positional arguments
+Solution:   fix them, add tests and documentation
+
+Patch 9.0.1857
+Problem:    heap-use-after-free in is_qf_win()
+Solution:   Check buffer is valid before accessing it
+
+Patch 9.0.1858
+Problem:    heap use after free in ins_compl_get_exp()
+Solution:   validate buffer before accessing it
+
+Patch 9.0.1859
+Problem:    heap-use-after-free in bt_normal()
+Solution:   check that buffer is still valid
+
+Patch 9.0.1860
+Problem:    CI: test_crash1() is flaky
+Solution:   Wait a bit longer
+
+Patch 9.0.1861
+Problem:    xxd: issue when -R is specified several times
+Solution:   Fix command line parsing
+
+Patch 9.0.1862
+Problem:    Vim9 Garbage Collection issues
+Solution:   Class members are garbage collected early leading to
+            use-after-free problems.  Handle the garbage
+            collection of classes properly.
+
+Patch 9.0.1863
+Problem:    wrong format specifiers in e_aptypes_is_null_str_nr
+Solution:   Fix the wrong format specifier
+
+Patch 9.0.1864
+Problem:    crash with bt_quickfix1_poc when cleaning up
+            and EXITFREE is defined
+Solution:   Test if buffer is valid in a window, else close
+            window directly, don't try to access buffer properties
+
+Patch 9.0.1865
+Problem:    Vim9: garbage collection may cause crash
+Solution:   validate that class members typeval is not null
+
+Patch 9.0.1866
+Problem:    Undo is synced after character find.
+Solution:   Set no_u_sync when calling gotchars_nop().
+
+Patch 9.0.1867
+Problem:    Vim9: access to interface statics possible
+Solution:   Prevent direct access to interface statics
+
+Patch 9.0.1868
+Problem:    test_crash still fails for circle ci
+Solution:   give even more time to complete
+
+Patch 9.0.1869
+Problem:    Coverity warns about unitialized var
+Solution:   initialize it
+
+Patch 9.0.1870
+Problem:    Vim9: disassamble does not show static
+Solution:   Show static flag
+
+Patch 9.0.1871
+Problem:    Github CI does not run i386 job
+Solution:   Add a i386 architecture
+
+Patch 9.0.1872
+Problem:    CI: test_crash() fails on CI
+Solution:   Skip test on BSD
+
+Patch 9.0.1873
+Problem:    heap-buffer-overflow in vim_regsub_both
+Solution:   Disallow exchanging windows when textlock is active
+
+Patch 9.0.1874
+Problem:    CI may fail in test_recover_empty_swap
+Solution:   Set directory option
+
+Patch 9.0.1875
+Problem:    Vim9: improve test for disassemble + static
+Solution:   Add a Vim9 script disassemble test for an interface with
+            static members
+
+Patch 9.0.1876
+Problem:    Vim9: parsing commands with newlines wrong
+Solution:   Accept a '\n' for parsing lists and command arguments
+
+Patch 9.0.1877
+Problem:    missing test for patch 9.0.1873
+Solution:   add a test trying to exchange windows
+
+Patch 9.0.1878
+Problem:    tests running sh have problems
+Solution:   Check that dash is installed
+
+Patch 9.0.1879
+Problem:    Vim9: incorrect duplicate class member detection
+Solution:   Incorrect duplicate class member detection when variable names
+            have the same prefix.  Not able to access class member variables
+            using an object. Fix coding style issues
+
+Patch 9.0.1880
+Problem:    Vim9: Need more tests for inheritance
+Solution:   Add access tests and fixes.
+
+Patch 9.0.1881
+Problem:    Test_crash fails on Mac
+Solution:   Skip test on Mac
+
+Patch 9.0.1882
+Problem:    Trailing white space in tests
+Solution:   Delete it
+
+Patch 9.0.1883
+Problem:    Vim9: Calling an interface method using a child object fails
+Solution:   Search methods of parent class
+
+Patch 9.0.1884
+Problem:    Wrong order of arguments for error messages
+Solution:   Reverse order or arguments for e_aptypes_is_null_nr_str
+
+Patch 9.0.1885
+Problem:    Vim9: no support for abstract methods
+Solution:   Add support for defining abstract methods in an abstract class
+
+Patch 9.0.1886
+Problem:    Various Typos
+Solution:   Fix Typos
+
+Patch 9.0.1887
+Problem:    Vim9: class members are accessible via object
+Solution:   Disable class member variable access using an object
+
+Patch 9.0.1888
+Problem:    Vim9: Problem trying to invoke class method
+Solution:   Lookup the class method insider other classes
+
+Patch 9.0.1889
+Problem:    Vim9 static tests fail
+Solution:   Fix tests, make CI happy ;)
+
+Patch 9.0.1890
+Problem:    Vim9: lookup code for class/object repaeated
+Solution:   Refactor and make use of lookup functions
+
+Patch 9.0.1891
+Problem:    No runtime support for Mojo
+Solution:   Add basic filetype and syntax plugins
+
+Patch 9.0.1892
+Problem:    CI: no FreeBSD 14 support
+Solution:   Drop support for FreeBSD 12, add FreeBSD 14
+
+Patch 9.0.1893
+Problem:    CI: strptime test fails on BSD14
+Solution:   Skip the test
+
+Patch 9.0.1894
+Problem:    CI: trailing white space in tests
+Solution:   clean up the trailing white space
+
+Patch 9.0.1895
+Problem:    Vim9: finding method/member is inefficient
+Solution:   Use lookups
+
+Patch 9.0.1896
+Problem:    "below" virtual text doesn't work with 'rightleft'.
+Solution:   Use column from right border with 'rightleft'.
+
+Patch 9.0.1897
+Problem:    Vim9: confusing error with .= in compiled functions
+Solution:   Check in error condition, if .= was attempted and in that case
+            give a different error message.
+
+Patch 9.0.1898
+Problem:    Vim9: restrict access to static vars and methods
+Solution:   Class members are accesible only from the class where they are
+            defined.
+
+Patch 9.0.1899
+Problem:    potential buffer overflow in PBYTE macro
+Solution:   Check returned memline length
+
+Patch 9.0.1900
+Problem:    Configure script uses non-portable == comparison
+Solution:   Use the standard and portable "=" instead
+
+Patch 9.0.1901
+Problem:    win32: not correctly freeing environment
+Solution:   After we call GetEnvironmentStringsW, we should call
+            FreeEnvironmentStringsW
+
+Patch 9.0.1902
+Problem:    Vim9: Coverity complains about dead code
+Solution:   Copy only object methods from the super class
+            to a subclass when extending a class.  Fix
+            Coverity warning.
+
+Patch 9.0.1903
+Problem:    Github Actions fails because snd-dummy modules missing
+            in current runner images
+Solution:   ignore modprobe error
+
+Patch 9.0.1904
+Problem:    Cirrus-CI fails because we have used all credits
+Solution:   Remove FreeBSD 13.1 and MacOS M1
+
+Patch 9.0.1905
+Problem:    FEAT_FLOAT no longer defined
+Solution:   Remove last existing FEAT_FLOAT ifdefs in
+            message_test
+
+Patch 9.0.1906
+Problem:    Vim9: Interfaces should not support class methods and
+            variables
+Solution:   Make sure interface follow the interface specification
+
+Patch 9.0.1907
+Problem:    No support for liquidsoap filetypes
+Solution:   Add liquidsoap filetype detection code
+
+Patch 9.0.1908
+Problem:    undefined behaviour upper/lower function ptrs
+Solution:   Fix UBSAN error in regexp and simplify upper/lowercase
+            modifier code
+
+Patch 9.0.1909
+Problem:    Vim9: problem calling class method from other class
+Solution:   Fix this problem, fix readonly object access, update error
+            messages.
+
+Patch 9.0.1910
+Problem:    Mac OS X: missing sound support on older versions
+Solution:   Check Macro MAC_OS_X_VERSION_MIN_REQUIRED
+
+Patch 9.0.1911
+Problem:    Vim9: segfault with null object and instanceof()
+Solution:   return early
+
+Patch 9.0.1912
+Problem:    Cirrus-CI running out of credits
+Solution:   disable Cirrus-CI for now
+
+Patch 9.0.1913
+Problem:    if_python: undefined behaviour for function pointers
+Solution:   Fix if_python undefined behavior for function pointer casts
+
+Patch 9.0.1914
+Problem:    Vim9: few issues when accessing object members
+Solution:   When calling an object method, check for null object.
+            Accessing a Dict object member doesn't work.
+
+Patch 9.0.1915
+Problem:    r_CTRL-C works differently in visual mode
+Solution:   Make r_CTRL-C behave consistent in visual mode
+            in terminal and Windows GUI
+
+Patch 9.0.1916
+Problem:    Crash when allocating large terminal screen
+Solution:   Don't allow values > 1000 for terminal
+            screen columns and rows
+
+Patch 9.0.1917
+Problem:    undefined behaviour with python function pointer
+Solution:   correctly cast function pointers from void
+
+Patch 9.0.1918
+Problem:    No filetype detection for Authzed filetypes
+Solution:   Detect the *.zed file extension as authzed filetype
+
+Patch 9.0.1919
+Problem:    Wrong curswant when clicking on empty line or with vsplits.
+Solution:   Don't check for ScreenCols[] before the start of the window
+            and handle empty line properly.
+
+Patch 9.0.1920
+Problem:    Vim9: cannot write public var in nested object
+Solution:   Write variable in nested read-only object reference.
+            Also test write fails.
+
+Patch 9.0.1921
+Problem:    not possible to use the jumplist like a stack
+Solution:   Add the 'jumpoptions' setting to make the jumplist
+            a stack.
+
+Patch 9.0.1922
+Problem:    LSP server request message is misinterpreted as a response message
+Solution:   Check that the message does not have the "message" field
+
+Patch 9.0.1923
+Problem:    curswant wrong on click with 've' and 'wrap' set
+Solution:   Add w_leftcol to mouse click column.
+
+Patch 9.0.1924
+Problem:    LSP server message still wrongly handled (after 9.0.1922)
+Solution:   Handle 'method' messages properly, don't discard them, add
+            tests.
+
+Patch 9.0.1925
+Problem:    if_python: still undefined behaviour with function pointer
+Solution:   fix remaining problems
+
+Patch 9.0.1926
+Problem:    Vim9: not enough info in error message
+Solution:   Add class name, change member to variable, quote names
+
+Patch 9.0.1927
+Problem:    patch 1916 (fixed terminal size) not optimal
+Solution:   Add defines to make it easier changeable later
+
+Patch 9.0.1928
+Problem:    Vim9: constructor type checking bug
+Solution:   Fix class constructor regression
+
+Patch 9.0.1929
+Problem:    runtime tests fail with tiny vim
+Solution:   check for tiny vim, run runtime tests in CI
+            even for tiny version
+
+Patch 9.0.1930
+Problem:    compiler warnings with clang-17
+Solution:   Fix function prototypes and function pointer
+
+Patch 9.0.1931
+Problem:    make test_compilers fails on ubuntu
+Solution:   set LC_ALL=C
+
+Patch 9.0.1932
+Problem:    Vim9: error when using null object constructor
+Solution:   Check for a null object only when calling an object method
+
+Patch 9.0.1933
+Problem:    Can change the type of a v: variable using if_lua.
+Solution:   Add additional handling of v: variables like :let.
+
+Patch 9.0.1934
+Problem:    bwipe fails after switching window from aucmd_win.
+Solution:   Decrement b_nwindows after switching back to aucmd_win.
+
+Patch 9.0.1935
+Problem:    Vim9: not consistent error messages
+Solution:   Make error messages more consistent. Use "variable" for
+            (object/class) member
+
+Patch 9.0.1936
+Problem:    test: using wrong expected message in test_crypt
+Solution:   make use of single quotes
+
+Patch 9.0.1937
+Problem:    missing test for mouse click + 'virtedit'
+Solution:   Add test for clicking after eol with 'virtualedit' and wrapped
+            line
+
+Patch 9.0.1938
+Problem:    multispace wrong when scrolling horizontally
+Solution:   Update position in "multispace" or "leadmultispace" also in
+            skipped chars. Reorder conditions to be more consistent.
+
+Patch 9.0.1939
+Problem:    still a problem when processing LSP RPC requests
+Solution:   When processing async LSP RPC requests, compare sequence
+            numbers only in response messages
+
+Patch 9.0.1940
+Problem:    wrong upstream version in libvterm README
+Solution:   correct version to 839
+
+Patch 9.0.1941
+Problem:    Memory leak detected (after 9.0.1928)
+Solution:   Free arg_objm in get_lambda_tv()
+
+Patch 9.0.1942
+Problem:    Vim9: execution stack invalidated with null object
+Solution:   Check for a null object before adjusting the execution stack
+
+Patch 9.0.1943
+Problem:    CI not run with clang-17
+Solution:   Update CI to use clang-17
+
+Patch 9.0.1944
+Problem:    Vim9: function instruction pointer invalidated
+Solution:   Use the funcref index instead of the instruction pointer
+
+Patch 9.0.1945
+Problem:    Vim9: missing support for ro-vars in interface
+Solution:   Support only read-only object variables in an interface,
+            add additional checks when parsing class definitions.
+
+Patch 9.0.1946
+Problem:    filename expansion using ** in bash may fail
+Solution:   Try to enable the globstar setting
+
+Patch 9.0.1947
+Problem:    Bash Expansion test fails on Windows/MacOS
+Solution:   Disable Test_glob_extended_bash for now
+
+Patch 9.0.1948
+Problem:    Vim9: object variable "this." should only be used in
+            constructor
+Solution:   Disallow to this in normal object methods (other than
+            constructors)
+
+Patch 9.0.1949
+Problem:    Vim9: allows reserved keywords as members
+Solution:   Disallow reserved keywords, disallow
+            duplicate object and class variables
+
+Patch 9.0.1950
+Problem:    Vim9: error codes spread out
+Solution:   group them together and reserve 100
+            more for future use
+
+Patch 9.0.1951
+Problem:    Vim9: hard to debug vim9_class errors from CI
+Solution:   Include the line number in assert_xxx() calls.  Include the
+            entire error message in the tests.  Fix the indentation in the
+            test file.  Add tags for new error codes.
+
+Patch 9.0.1952
+Problem:    Vim9: unused static field
+Solution:   remove it and simplify code
+
+Patch 9.0.1953
+Problem:    Misplaced comment in errors.h
+Solution:   Move it up
+
+Patch 9.0.1954
+Problem:    CI: change netrw label in labeller bot
+Solution:   Rename it to 'plugin-netrw'
+
+Patch 9.0.1955
+Problem:    Vim9: lockvar issues with objects/classes
+Solution:   fix `get_lhs()` object/class access and avoid `SEGV`,
+            make error messages more accurate.
+
+Patch 9.0.1956
+Problem:    Custom cmdline completion skips original cmdline when pressing
+            Ctrl-P at first match if completion function invokes glob().
+Solution:   Move orig_save into struct expand_T.
+
+Patch 9.0.1957
+Problem:    termcap options should change on keyprotocol setting
+Solution:   Apply termcap entries when 'keyprotocol' changes
+
+Patch 9.0.1958
+Problem:    cannot complete option values
+Solution:   Add completion functions for several options
+
+Patch 9.0.1959
+Problem:    Vim9: methods parameters and types are covariant
+Solution:   Support contra-variant type check for object method arguments
+            (similar to Dart).
+
+Patch 9.0.1960
+Problem:    Make CI checks more strict
+Solution:   Add -Wstrict-prototypes -Wmissing-prototypes to CI,
+            fix uncovered problems
+
+Patch 9.0.1961
+Problem:    Cmdline completion for 'listchars' fields doesn't include
+            "multispace" and "leadmultispace" (after 9.0.1958).
+Solution:   Include "multispace" and "leadmultispace" in lcstab.
+
+Patch 9.0.1962
+Problem:    No support for writing extended attributes
+Solution:   Add extended attribute support for linux
+
+Patch 9.0.1963
+Problem:    Configure script may not detect xattr correctly
+Solution:   include sys/xattr instead of attr/xattr,
+            make Test_write_with_xattr_support() test
+            xattr feature correctly
+
+Patch 9.0.1964
+Problem:    xattr support fails to build on MacOS X
+Solution:   Disable xattr support for MacOS X
+
+Patch 9.0.1965
+Problem:    wrong auto/configure script
+Solution:   regenerate with autoconf 2.71
+
+Patch 9.0.1966
+Problem:    configure prints stray 6 when checking libruby
+Solution:   redirect stdout to dev/null
+
+Patch 9.0.1967
+Problem:    xattr errors not translated
+Solution:   mark for translation, consistently capitalize
+            first letter.
+
+Patch 9.0.1968
+Problem:    cmdline completion should consider key option
+Solution:   Disable cmdline completion for key option, slightly
+            refactor how P_NO_CMD_EXPAND is handled
+
+Patch 9.0.1969
+Problem:    buffer-overflow in trunc_string()
+Solution:   Add NULL at end of buffer
+
+Patch 9.0.1970
+Problem:    win32: high-dpi support can be improved
+Solution:   implement WM_GETDPISCALEDSIZE
+
+Patch 9.0.1971
+Problem:    macOS: FEAT_SOUND guard too restrictive
+Solution:   check for older macOS support properly
+
+Patch 9.0.1972
+Problem:    win32: missing '**' expansion test (after v9.0.1947)
+Solution:   Add test for MS-Windows
+
+Patch 9.0.1973
+Problem:    Clean up cmdline option completion code
+Solution:   Fix various minor problems
+
+Patch 9.0.1974
+Problem:    vim9: using contra-variant type-checks (after v9.0.1959)
+Solution:   Use invariant type checking instead
+
+Patch 9.0.1975
+Problem:    xattr: permission-denied errors on write
+Solution:   ignore those errors
+
+Patch 9.0.1976
+Problem:    style: space before tab in optionstr.c
+Solution:   remove the space
+
+Patch 9.0.1977
+Problem:    Vim9: object members can change type
+Solution:   Check type during assignment to object/class var
+
+Patch 9.0.1978
+Problem:    No filetype detection for just files
+Solution:   Detect just files (*.just, justfile, etc)
+
+Patch 9.0.1979
+Problem:    Cirrus CI disabled
+Solution:   re-enable Cirrus CI
+
+Patch 9.0.1980
+Problem:    win32: issues with stable python ABI
+Solution:   if_python3,win32: Fix Python3 stable ABI
+
+Patch 9.0.1981
+Problem:    Cannot scroll up in diff mode with many filler lines and zero
+            'scrolloff'.
+Solution:   Invalidate w_cline_row before calling comp_botline().
+
+Patch 9.0.1982
+Problem:    vim9: clean up from v9.0.1955
+Solution:   Fix a few remaining issues, improve error message
+
+Patch 9.0.1983
+Problem:    Scrolling non-current window using mouse is inconsistent
+            depending on 'scrollbind'/'scrolloff' and different from GUI
+            vertical scrollbar when 'cursorbind' is set.
+Solution:   Don't move cursor in non-current windows for 'cursorbind' if
+            cursor in the current window didn't move.
+
+Patch 9.0.1984
+Problem:    CI: Test_open_delay*() fails on FreeBSD 14
+Solution:   Skip it on BSD
+
+Patch 9.0.1985
+Problem:    CI: codecov is intrusive
+Solution:   disable codecov comments
+
+Patch 9.0.1986
+Problem:    Vim9: accepting type-annotations
+Solution:   Reject type annotations outside of declarations.
+
+Patch 9.0.1987
+Problem:    win32: font-size calculation can be improved
+Solution:   calculate font size before the window size
+
+Patch 9.0.1988
+Problem:    Vim9: potential use-after-free for class members
+Solution:   Use the class-related grow array for storing the
+            member type instead of using a temporary type
+            list grow array
+
+Patch 9.0.1989
+Problem:    Vim9: double error message given
+Solution:   Only give second error message, if ther
+             wasn't one given before
+
+Patch 9.0.1990
+Problem:    strange error number
+Solution:   change error number,
+            add doc tag for E1507
+
+Patch 9.0.1991
+Problem:    no cmdline completion for setting the font
+Solution:   enable it on Win32 and GTK builds
+
+Patch 9.0.1992
+Problem:    segfault in exmode when redrawing
+Solution:   skip gui_scroll when exmode_active
+
+Patch 9.0.1993
+Problem:    warning about unused function definition
+Solution:   add ifdefs
+
+Patch 9.0.1994
+Problem:    inconsistent feature description
+Solution:   delete old mentioned feature sets small and big
+
+Patch 9.0.1995
+Problem:    Invalid memory access when 'foldexpr' returns empty string.
+Solution:   Check for NUL.
+
+Patch 9.0.1996
+Problem:    Cannot build with python312
+Solution:   Define wrapper types and functions for python 3.12
+
+Patch 9.0.1997
+Problem:    Some unused code in move.c and string.c
+Solution:   Remove it
+
+Patch 9.0.1998
+Problem:    xxd: cannot reverse a bit dump
+Solution:   implement reversing the bit dump using -b -r
+
+Patch 9.0.1999
+Problem:    Vim9: some error messages can be improved
+Solution:   Mention the defining class for variable access error message
+
+Patch 9.0.2000
+Problem:    Vim9: use-after-free in deep call stack
+Solution:   Get the objct pointer from execution stack
+
+Patch 9.0.2001
+Problem:    Vim9: segfault with islocked()
+Solution:   Check that the lval pointer is not null for objects and
+            class variables
+
+Patch 9.0.2002
+Problem:    Vim9: need cleanup of class related interface code
+Solution:   Remove the unused class variable and class method related code
+            for interfaces.
+
+Patch 9.0.2003
+Problem:    xxd: compilation warning
+Solution:   initialize variables
+
+Patch 9.0.2004
+Problem:    Missing test file
+Solution:   git-add the file to the repo
+
+Patch 9.0.2005
+Problem:    partially revert patch v9.0.1997
+Solution:   add a comment, to make clear it's not used
+
+Patch 9.0.2006
+Problem:    Vim9: need more tests
+Solution:   add additional disassembly tests
+
+Patch 9.0.2007
+Problem:    Vim9: covariant parameter types allowed when assigning
+            functions
+Solution:   Enforce invariant type check for arguments and return value
+            when assigning a funcref
+
+Patch 9.0.2008
+Problem:    test: undofile left behind
+Solution:   cleanup undofile
+
+Patch 9.0.2009
+Problem:    cmdline-completion for comma-separated options wrong
+Solution:   Fix command-line expansions for options with filenames with
+            commas
+
+Patch 9.0.2010
+Problem:    [security] use-after-free from buf_contents_changed()
+Solution:   block autocommands
+
+Patch 9.0.2011
+Problem:    INI files not detected
+Solution:   detect uppercase .INI as dosini files
+
+Patch 9.0.2012
+Problem:    Vim9: error message can be more accurate
+Solution:   Fix the error messages
+
+Patch 9.0.2013
+Problem:    Unicode tables outdated
+Solution:   Update Unicode tables to v15.1 (released 23.09.2023)
+
+Patch 9.0.2014
+Problem:    confusing ifdefs in if_<lang>.c
+Solution:   refactor ifndefs to #ifdefs
+
+Patch 9.0.2015
+Problem:    Vim9: does not handle islocked() from a method correctly
+Solution:   Handle islocked() builtin from a method.
+
+Patch 9.0.2016
+Problem:    Vim9: assignment operators don't work for class vars
+Solution:   implement it
+
+Patch 9.0.2017
+Problem:    linebreak applies for leading whitespace
+Solution:   only apply linebreak, once we have found non-breakat chars in
+            the line
+
+Patch 9.0.2018
+Problem:    complete_info() returns wrong index
+Solution:   Make order of 'info' in completion_info consistent
+
+Patch 9.0.2019
+Problem:    Vim9: no support for funcrefs
+Solution:   Add support for object/class funcref members
+
+Patch 9.0.2020
+Problem:    Vim9: islocked() needs more work
+Solution:   rework islocked() and remove sync_root
+            from get_lval()
+
+Patch 9.0.2021
+Problem:    Coverity complains about change in charset (after v9.0.2017)
+Solution:   check pointer t at index 0
+
+Patch 9.0.2022
+Problem:    When clicking in the middle of a TAB, getmousepos() returns
+            the column of the next char instead of the TAB.
+Solution:   Break out of the loop when the vcol to find is inside current
+            char. Fix invalid memory access when calling virtcol2col() on
+            an empty line.
+
+Patch 9.0.2023
+Problem:    need more tests for :cq
+Solution:   Add more tests, including wraparound on linux
+
+Patch 9.0.2024
+Problem:    no filetype detection for Debian sources
+Solution:   Add new deb822sources filetype
+
+Patch 9.0.2025
+Problem:    no cmdline completion for ++opt args
+Solution:   Add cmdline completion for :e ++opt=arg and :terminal
+            [++options]
+
+Patch 9.0.2026
+Problem:    win32: python3 dll loading can be improved
+Solution:   Load DLL from registry path
+
+Patch 9.0.2027
+Problem:    Vim9: no support for bitwise operators in lambda funcs
+Solution:   move "evaluate" assignment a bit up in order to decide
+            to perform bitwise operations
+
+Patch 9.0.2028
+Problem:    confusing build dependencies
+Solution:   clean them up, make them parallelizable
+
+Patch 9.0.2029
+Problem:    Vim9: no support for partials using call()
+Solution:   Add support
+
+Patch 9.0.2030
+Problem:    no max callback recursion limit
+Solution:   bail out, if max call recursion for callback functions
+            has been reached.
+
+Patch 9.0.2031
+Problem:    `TextChangedI` can trigger on entering Insert mode if there
+             was previously a change not in Insert mode.
+Solution:   Make it trigger only when text is actually changed in Insert
+            mode.
+
+Patch 9.0.2032
+Problem:    Cannot accurately get mouse clicking position when clicking on
+            a TAB or with virtual text.
+Solution:   Add a "coladd" field to getmousepos() result.
+
+Patch 9.0.2033
+Problem:    gcc overflow-warning for f_resolve
+Solution:   use pointer p instead of pointer q[-1]
+
+Patch 9.0.2034
+Problem:    don't try to copy SMACK attribute, when none exist
+Solution:   return early if SMACK extended attributes do not exist or
+            if they are not supported
+
+Patch 9.0.2035
+Problem:    [security] use-after-free with wildmenu
+Solution:   properly clean up the wildmenu when exiting
+
+Patch 9.0.2036
+Problem:    if_python: rework python3.12 build dependency
+            (after 9.0.1996)
+Solution:   use PyTuple_Size instead of inlining the Py_SIZE
+            into the Vim code base
+
+Patch 9.0.2037
+Problem:    A few remaining cmdline completion issues with C-E/Y
+Solution:   Fix cmdline completion fuzzy/Ctrl-E/Ctrl-Y/options when not
+            used at the end
+
+Patch 9.0.2038
+Problem:    Vim9: object method funcref not cleaned up after use
+Solution:   Clean up type stack after using object method funcref,
+            remove now longer used ISN_DEFEROBJ instrunction
+
+Patch 9.0.2039
+Problem:    completion shows current word after completion restart
+Solution:   remove the word being completed after completion restart
+
+Patch 9.0.2040
+Problem:    trim(): hard to use default mask
+Solution:   Use default 'mask' when it is v:none
+
+Patch 9.0.2041
+Problem:    trim(): hard to use default mask (partly revert v9.0.2040)
+Solution:   use default mask when it is empty
+
+Patch 9.0.2042
+Problem:    Test_cq_zero_exmode fails without channel feature
+Solution:   Make the test check the channel feature
+
+Patch 9.0.2043
+Problem:    Vim9: issue with funcref assignmentand varargs
+Solution:   Fix funcref type checking
+
+Patch 9.0.2044
+Problem:    Vim9: exceptions confuse defered functions
+Solution:   save and restore exception state when calling defered
+            functions
+
+Patch 9.0.2045
+Problem:    tests: checking for swap files takes time
+Solution:   don't check for swap files  when test has been skipped
+
+Patch 9.0.2046
+Problem:    win32,python: warning that MS_WIN64 got re-defined
+Solution:   Do not define MS_WIN64, as it is no longer used
+
+Patch 9.0.2047
+Problem:    perl: warning about inconsistent dll linkage
+Solution:   suppress warning
+
+Patch 9.0.2048
+Problem:    python: uninitialized warning
+Solution:   initialize 'minor' always
+
+Patch 9.0.2049
+Problem:    Vim9: not recognizing qualified class vars for infix ops
+Solution:   Drop the class type from the stack before generating the
+            CLASSMEMBER instruction
+
+Patch 9.0.2050
+Problem:    Vim9: crash with deferred function call and exception
+Solution:   Save and restore exception state
+
+Patch 9.0.2051
+Problem:    Vim9: wrong error for non-existing object var
+Solution:   mention object or class depending on whether
+            the var is an object or class variable.
+
+Patch 9.0.2052
+Problem:    win32: using deprecated wsock32 api
+Solution:   Use winsock2 (ws2_32) consistently
+
+Patch 9.0.2053
+Problem:    zig filetype detection test wrong
+Solution:   Remove .zir pattern, add new test for .zon pattern
+
+Patch 9.0.2054
+Problem:    win32: iscygpty needs update
+Solution:   Update iscygpty to the latest version, make use iswascii()
+            API function
+
+Patch 9.0.2055
+Problem:    Vim9: non-consistent error messages
+Solution:   make error messages more consistent with common structure
+
+Patch 9.0.2056
+Problem:    no digraph for quadruple prime
+Solution:   add quadruple prime digraph using 4'
+
+Patch 9.0.2057
+Problem:    Vim9: no strict type checks for funcrefs varargs
+Solution:   Perform strict type checking when declaring funcrefs
+            with vararg declaration, add tests
+
+Patch 9.0.2058
+Problem:    tests: avoid error when no swap files exist
+Solution:   use unlet! so that no error message is reported
+            in case the variable does not exists
+
+Patch 9.0.2059
+Problem:    outstanding exceptions may be skipped
+Solution:   When restoring exception state, process remaining outstanding
+            exceptions
+
+Patch 9.0.2060
+Problem:    *.{gn,gni} files are not recognized
+Solution:   Detect some as gn filetype (without adding an extra filetype)
+
+Patch 9.0.2061
+Problem:    not able to detect xkb filetypes
+Solution:   Detect files below /u/s/X11/xkb as xkb files (without adding
+            an extra filetype)
+
+Patch 9.0.2062
+Problem:    Janet files are not recognised
+Solution:   Add filename and shebang detection (without
+            adding an extra filetype plugin)
+
+Patch 9.0.2063
+Problem:    pacman hooks are detected as conf filetype
+Solution:   make it consistent to pacman.conf and detect those
+            hooks as confini
+
+Patch 9.0.2064
+Problem:    cannot use buffer-number for errorformat
+Solution:   add support for parsing a buffer number using '%b' in
+            'errorformat'
+
+Patch 9.0.2065
+Problem:    EXPAND flag set for filetype option
+Solution:   Remove P_EXPAND flag from the 'filetype' option
+
+Patch 9.0.2066
+Problem:    xxd: corrupting files when reversing bit dumps
+Solution:   handle reversing bit dump slightly differently
+
+Patch 9.0.2067
+Problem:    xxd: coloring was disabled on Cygwin
+Solution:   don't include WIN32
+
+Patch 9.0.2068
+Problem:    [security] overflow in :history
+Solution:   Check that value fits into int
+
+Patch 9.0.2069
+Problem:    possible to escape bracketed paste mode with Ctrl-C
+Solution:   Do not handle Ctrl-C specially when key_protocol
+            is in use, makes bracketed paste mode more robust
+
+Patch 9.0.2070
+Problem:    [security] disallow setting env in restricted mode
+Solution:   Setting environment variables in restricted mode could
+            potentially be used to execute shell commands. Disallow this.
+
+Patch 9.0.2071
+Problem:    objdump files not recognized
+Solution:   detect *.objdump files, add a filetype plugin
+
+Patch 9.0.2072
+Problem:    Vim9: no nr2str conversion in list-unpack
+Solution:   Generate 2STRING instruction to convert dict index to string
+
+Patch 9.0.2073
+Problem:    typo in quickfix.c comments
+Solution:   fix them
+
+Patch 9.0.2074
+Problem:    Completion menu may be wrong
+Solution:   Check for the original direction of the completion menu,
+            add more tests, make it work with 'noselect'
+
+Patch 9.0.2075
+Problem:    TextChangedI may not always trigger
+Solution:   trigger it in more cases: for insert/
+            append/change operations, and when
+            opening a new line,
+
+Patch 9.0.2076
+Problem:    Vim9: No support for type aliases
+Solution:   Implement :type command
+
+Patch 9.0.2077
+Problem:    CI fails because of trailing whitespace in test
+Solution:   Remove it
+
+Patch 9.0.2078
+Problem:    several problems with type aliases
+Solution:   Check for more error conditions, add tests,
+            fix issues
+
+Patch 9.0.2079
+Problem:    Not all Dart files detected
+Solution:   Add shebang filetype detection for Dart
+
+Patch 9.0.2080
+Problem:    vim9_script test too large
+Solution:   split vim9 type alias test into
+            separate test file
+
+Patch 9.0.2081
+Problem:    With 'smoothscroll' set, "w_skipcol" is not reset when unsetting
+            'wrap'. Resulting in incorrect calculation of the cursor position.
+Solution:   Reset "w_skipcol" when unsetting 'wrap'.
+
+Patch 9.0.2082
+Problem:    test_channel may fail because of IPv6 config issues
+Solution:   Catch and skip the test, if getaddrinfo() fails with
+           'Address family not supported'
+
+Patch 9.0.2083
+Problem:    Perl: xsubpp may be in non-standard location
+Solution:   Add --with-subpp configure option
+
+Patch 9.0.2084
+Problem:    Vim9: abstract static methods are possible
+Solution:   Disallow abstract static methods
+
+Patch 9.0.2085
+Problem:    Vim9: abstract can be used in interface
+Solution:   Disallow the use of abstract in an interface
+
+Patch 9.0.2086
+Problem:    code cleanup for option callbacks needed
+Solution:   remove flag os_doskip, it's not necessary, as we can check,
+            whether an error message was returned
+
+Patch 9.0.2087
+Problem:    build-failure in vim9class
+Solution:   reference correct error message,
+            disable non-failing test
+
+Patch 9.0.2088
+Problem:    Vim9: still allows abstract static methods
+            (after v9.0.2084, v9.0.2085 and v9.0.2087)
+Solution:   Disallow abstract static methods
+
+Patch 9.0.2089
+Problem:    sound_playfile() fails when using powershell
+Solution:   quote filename using doublequotes, don't escape filename,
+            because it doesn't use the shell
+
+Patch 9.0.2090
+Problem:    complete_info() skips entries with 'noselect'
+Solution:   Check, if first entry is at original text state
+
+Patch 9.0.2091
+Problem:    Vim9: cannot convert list to string using +=
+            (after 9.0.2072)
+Solution:   convert dict index to string later in compile_member()
+
+Patch 9.0.2092
+Problem:    tests: failure in test_arabic
+Solution:   adjust the test for the changed arabic keymap
+
+Patch 9.0.2093
+Problem:    Unsupported option causes rest of modeline test to be skipped.
+Solution:   Revert the change from patch 8.2.1432.
+
+Patch 9.0.2094
+Problem:    Vim9: need more assignment tests
+Solution:   Add test for using different types in assignment, function
+            arguments and return values
+
+Patch 9.0.2095
+Problem:    statusline may look different than expected
+Solution:   do not check for highlighting of stl and stlnc characters
+
+Patch 9.0.2096
+Problem:    Vim9: confusing usage of private
+Solution:   clarify and use protected keyword instead
+
+Patch 9.0.2097
+Problem:    No support for cypher files
+Solution:   Add cypher filetype detection
+
+Patch 9.0.2098
+Problem:    No filetype support for xcompose files
+Solution:   Add filetype detection
+
+Patch 9.0.2099
+Problem:    Terminal control codes¹ are sent even when silent
+            mode is on, causing the terminal to clear up
+Solution:   Block any terminal codes when silent mode is on
+
+Patch 9.0.2100
+Problem:    CI: test_termdebug fails
+Solution:   only test for a changed winlayout, if the window
+            width actually changed
+
+Patch 9.0.2101
+Problem:    CI: test_termdebug may still fail
+Solution:   use term_wait() to make it more robust
+
+Patch 9.0.2102
+Problem:    matchparen highlight not cleared in completion mode
+Solution:   Clear matchparen highlighting in completion mode
+
+Patch 9.0.2103
+Problem:    recursive callback may cause issues on some archs
+Solution:   Decrease the limit drastically to 20
+
+Patch 9.0.2104
+Problem:    wast filetype should be replaced by wat filetype
+Solution:   start using the official wat filetype name
+
+Patch 9.0.2105
+Problem:    Skipcol is not reset when topline changed scrolling cursor to top
+Solution:   reset skipcol
+
+Patch 9.0.2106
+Problem:    [security]: Use-after-free in win_close()
+Solution:   Check window is valid, before accessing it
+
+Patch 9.0.2107
+Problem:    [security]: FPE in adjust_plines_for_skipcol
+Solution:   don't divide by zero, return zero
+
+Patch 9.0.2108
+Problem:    [security]: overflow with count for :s command
+Solution:   Abort the :s command if the count is too large
+
+Patch 9.0.2109
+Problem:    [security]: overflow in nv_z_get_count
+Solution:   break out, if count is too large
+
+Patch 9.0.2110
+Problem:    [security]: overflow in ex address parsing
+Solution:   Verify that lnum is positive, before substracting from
+            LONG_MAX
+
+Patch 9.0.2111
+Problem:    [security]: overflow in get_number
+Solution:   Return 0 when the count gets too large
+
+Patch 9.0.2112
+Problem:    [security]: overflow in shift_line
+Solution:   allow a max indent of INT_MAX
+
+Patch 9.0.2113
+Problem:    Coverity warns for another overflow in shift_line()
+Solution:   Test for INT_MAX after the if condition, cast integer values
+            to (long long) before multiplying.
+
+Patch 9.0.2114
+Problem:    overflow detection not accurate when adding digits
+Solution:   Use a helper function
+
+Patch 9.0.2115
+Problem:    crash when callback function aborts because of recursiveness
+Solution:   correctly initialize rettv
+
+Patch 9.0.2116
+Problem:    No test for defining sign without attribute
+Solution:   Add test for defining sign without attributes
+
+Patch 9.0.2117
+Problem:    [security] use-after-free in qf_free_items
+Solution:   only access qfpnext, if it hasn't been freed
+
+Patch 9.0.2118
+Problem:    [security]: avoid double-free
+Solution:   Only fee plain_font, when it is not the same as bold_font
+
+Patch 9.0.2119
+Problem:    remove dead-condition in ex_class()
+Solution:   remove the extra condition
+
+Patch 9.0.2120
+Problem:    un-used assignment in do_source_buffer_init
+Solution:   Remove it
+
+Patch 9.0.2121
+Problem:    [security]: use-after-free in ex_substitute
+Solution:   always allocate memory
+
+Patch 9.0.2122
+Problem:    [security]: prevent overflow in indenting
+Solution:   use long long and remove cast to (int)
+
+Patch 9.0.2123
+Problem:    Problem with initializing the length of range() lists
+Solution:   Set length explicitly when it shouldn't contain any items
+
+Patch 9.0.2124
+Problem:    INT overflow logic can be simplified
+Solution:   introduce trim_to_int() function
+
+Patch 9.0.2125
+Problem:    File info disappears immediately when 'cmdheight' has just
+            decreased due to switching tabpage and 'shortmess' doesn't
+            contain 'o' or 'O'.
+Solution:   Make sure msg_row isn't smaller than cmdline_row.
+
+Patch 9.0.2126
+Problem:    Unused assignments when checking the value of 'listchars'.
+Solution:   Loop only once when just checking the value.  Add a test to
+            check that this change doesn't cause double-free.
+
+Patch 9.0.2127
+Problem:    translation Makefiles can be improved
+Solution:   Modified and extended po-related Makefiles and
+            related files
+
+Patch 9.0.2128
+Problem:    No runtime files for SWIG filetypes
+Solution:   Add syntax and filetype plugins for SWIG (Simplified Wrapper
+            Interface Generator) description files.
+
+Patch 9.0.2129
+Problem:    [security]: use-after-free in call_dfunc()
+Solution:   Refresh dfunc pointer
+
+Patch 9.0.2130
+Problem:    some errors with translation Makefiles
+Solution:   fix issues
+
+Patch 9.0.2131
+Problem:    not all nushell files detected
+Solution:   use *.nu to detect nushell files
+
+Patch 9.0.2132
+Problem:    Duplicate Netbeans Error Message
+Solution:   Remove duplicate message
+
+Patch 9.0.2133
+Problem:    Cannot detect overstrike mode in Cmdline mode
+Solution:   Make mode() return "cr" for overstrike
+
+Patch 9.0.2134
+Problem:    ml_get error when scrolling after delete
+Solution:   mark topline to be validated in main_loop
+            if it is larger than current buffers line
+            count
+
+Patch 9.0.2135
+Problem:    No test for mode() when executing Ex commands
+Solution:   Add some test cases and simplify several other test cases.
+            Also add a few more test cases for ModeChanged.
+
+Patch 9.0.2136
+Problem:    MSVC errorformat can be improved
+Solution:   parse error type and column number in MSVC errorformat
+
+Patch 9.0.2137
+Problem:    Can't detect angular & mustache filetypes
+Solution:   Detect *.mustache as Mustache filetype;
+            detect *.component.html as html.angular filetype
+
+Patch 9.0.2138
+Problem:    Overflow logic requires long long
+Solution:   Define vimlong_T data type to make life easier
+            for porters
+
+Patch 9.0.2139
+Problem:    html.angular ft is problematic
+Solution:   partly revert v9.0.2137
+
+Patch 9.0.2140
+Problem:    [security]: use-after-free in win-enter
+Solution:   validate window pointer before calling win_enter()
+
+Patch 9.0.2141
+Problem:    [security]: buffer-overflow in suggest_trie_walk
+Solution:   Check n before using it as index into byts array
+
+Patch 9.0.2142
+Problem:    [security]: stack-buffer-overflow in option callback functions
+Solution:   pass size of errbuf down the call stack, use snprintf()
+            instead of sprintf()
+
+Patch 9.0.2143
+Problem:    [security]: buffer-overflow in ex_substitute
+Solution:   clear memory after allocating
+
+Patch 9.0.2144
+Problem:    Text properties causes wrong line wrapping to be drawn.
+Solution:   Find the index of the last text property that inserts text.
+
+Patch 9.0.2145
+Problem:    Wrong scrolling in Insert mode with 'smoothscroll' at the
+            bottom of the window.
+Solution:   Don't use set_topline() when 'smoothscroll' is set.
+
+Patch 9.0.2146
+Problem:    text-property without type errors when joining
+Solution:   count all text-properties, with or without type
+            before joining lines
+
+Patch 9.0.2147
+Problem:    Type check tests fail without the channel feature
+Solution:   only run tests, when Vim was build with +channel
+
+Patch 9.0.2148
+Problem:    Vim does not detect pacman.log file
+Solution:   Detect pacmanlogs and add syntax highlighting
+
+Patch 9.0.2149
+Problem:    [security]: use-after-free in exec_instructions()
+Solution:   get tv pointer again
+
+Patch 9.0.2150
+Problem:    Using int for errbuflen in option funcs
+Solution:   Use size_t for errbuflen in string option functions
+
+Patch 9.0.2151
+Problem:    'breakindent' is not drawn after diff filler lines.
+Solution:   Correct check for whether 'breakindent' should be drawn.
+
+Patch 9.0.2152
+Problem:    Using type unknown for List/Dict containers
+Solution:   Use 'any' instead
+
+Patch 9.0.2153
+Problem:    no support to build on OpenVMS
+Solution:   Add OpenVMS X86_64 platform port
+
+Patch 9.0.2154
+Problem:    The options[] array is not sorted alphabetically.
+Solution:   Sort it alphabetically.  Add a test.  Avoid unnecessary loop
+            iterations in findoption().
+
+Patch 9.0.2155
+Problem:    Vim9: type not kept when assigning vars
+Solution:   When assigning a List or a Dict value to a variable of type
+            'any', keep the type
+
+Patch 9.0.2156
+Problem:    Vim9: can use typealias in an assignment
+Solution:   Generate errors when class/typealias involved in the rhs of an
+            assignment
+
+Patch 9.0.2157
+Problem:    Vim9: incorrectly parses :def func definitions
+Solution:   check for more context when parsing function args
+
+Patch 9.0.2158
+Problem:    [security]: use-after-free in check_argument_type
+Solution:   Reset function type pointer when freeing the function type
+            list
+
+Patch 9.0.2159
+Problem:    screenpos() may crash with neg. column
+Solution:   validate and correct column
+
+Patch 9.0.2160
+Problem:    instanceof() should use varargs as second arg
+Solution:   Modify `instanceof()` to use varargs instead of list
+
+Patch 9.0.2161
+Problem:    Vim9: not able to use imported interfaces and classes
+Solution:   Detect imported class/interfaces names correclty
+
+Patch 9.0.2162
+Problem:    Vim9: type documentation out-dated
+Solution:   Update documentation, fix typo in type alias
+            definition
+
+Patch 9.0.2163
+Problem:    Vim9: type can be assigned to list/dict
+Solution:   Prevent assigning a `type` to a `list` or `dict`
+
+Patch 9.0.2164
+Problem:    Vim9: can use type a func arg/return value
+Solution:   Check if using type as function argument or return value
+
+Patch 9.0.2165
+Problem:    Vim9: can simplify arg type checking code
+Solution:   In `f_argcheck` array use `arg_any`, instead of NULL
+
+Patch 9.0.2166
+Problem:    Memory leak in Configure Script when checking GTK
+Solution:   Free the allocated memory
+
+Patch 9.0.2167
+Problem:    Vim9-script object/class variable declarations use syntax
+            that is inconsistent with the rest of the language.
+Solution:   Use :var to declare object and class variables.
+
+Patch 9.0.2168
+Problem:    Moving tabpages on :drop may cause an endless loop
+Solution:   Disallow moving tabpages on :drop when cleaning up the arglist
+            first
+
+Patch 9.0.2169
+Problem:    Vim9: builtin funcs may accept a non-value
+Solution:   Restrict builtin functions that accept `type`
+
+Patch 9.0.2170
+Problem:    Vim9: no support for const/final class/objects vars
+Solution:   Support final and const object and class variables
+
+Patch 9.0.2171
+Problem:    The options[] array is still not sorted alphabetically
+            (after: v9.0.2154), causing test failures
+Solution:   Sort the remaining items
+
+Patch 9.0.2172
+Problem:    Vim9: compiling :defer may fail
+Solution:   compile defer, when ctx_skip is not SKIP_YES
+
+Patch 9.0.2173
+Problem:    Vim9: Vim crashes when compiling a for statement with a
+            non-existing type
+Solution:   Error out when  lhs_type is not null
+
+Patch 9.0.2174
+Problem:    Vim9: segfault when assigning to type
+Solution:   do not clear typeval, add missing patch number
+
+Patch 9.0.2175
+Problem:    Compiler warning for uninitialized var
+Solution:   initialize variable to NULL
 
  vim:tw=78:ts=8:noet:ft=help:norl: