diff options
Diffstat (limited to 'runtime/doc/version9.txt')
-rw-r--r-- | runtime/doc/version9.txt | 31671 |
1 files changed, 31671 insertions, 0 deletions
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt new file mode 100644 index 0000000..ef8f927 --- /dev/null +++ b/runtime/doc/version9.txt @@ -0,0 +1,31671 @@ +*version9.txt* For Vim version 9.0. Last change: 2022 Nov 23 + + + VIM REFERENCE MANUAL by Bram Moolenaar + + + *vim-9.0* *vim-9* *version-9.0* *version9.0* +Welcome to Vim 9! Several years have passed since the previous release. +A large number of bugs have been fixed, many nice features have been added +and the Vim9 script syntax is here! This file mentions all the new things and +changes to existing features since Vim 8.2.0. The patches up to Vim 8.2 can be +found here: |vim-8.2|. + +Use this command to see the full version and features information of the Vim +program you are using: > + :version + +NEW FEATURES |new-9| + Vim script enhancements |new-vim-script-9| + Command line completion in a popup menu |new-popup-compl| + Updated colorschemes |new-colorschemes-9| + Various new items |new-items-9| + +INCOMPATIBLE CHANGES |incompatible-9| + +IMPROVEMENTS |improvements-9| + +COMPILE TIME CHANGES |compile-changes-9| + +PATCHES |patches-9| + + +See |vi_diff.txt| for an overview of differences between Vi and Vim 9.0. +See |version4.txt|, |version5.txt|, |version6.txt|, |version7.txt| and +|version8.txt| for differences between Vim versions. + +You can find an overview of the most important changes (according to Martin +Tournoij) on this site: https://www.arp242.net/vimlog/ + + *Sven-Guckes* +Vim version 9.0 is dedicated to Sven Guckes, who passed away in February 2022 +when the release was being prepared. Sven was a long time supporter of Vim. +He registered the vim.org domain and created the first Vim website. We will +remember him! + +============================================================================== +NEW FEATURES *new-9* + +First an overview of the more interesting new features. A comprehensive list +is below. + + +Vim9 script ~ + *new-vim-script-9* +The Vim script language has been changed step by step over many years, +preserving backwards compatibility. Several choices made in the early days +got in the way of making it work better. At the same time, Vim script is +being used much more often, since there are so many plugins being used. + +Vim9 script provides a syntax that is much more similar to other languages. +In other words: "less weird". Compiled functions are introduced which allow +for a large speed improvement. You can expect around ten times faster +execution, or even more. The price to pay is that Vim9 script is not +backwards compatible. But don't worry, you can still use your old scripts, +the new script language is added, it does not replace the legacy script. + +Information about Vim9 script can be found in the |Vim9| help file. + + +Command line completion in a popup menu ~ + *new-popup-compl* +Before there was the 'wildmenu' option, which uses the space of one line above +the statusline to show matches. Only a few matches fit there. + +Now a popup menu can be used by setting 'wildoptions' to "pum". This allows +for showing many more matches. This requires redrawing more of the display, +but since computers are fast enough that is not a problem. + + +Updated colorschemes ~ + *new-colorschemes-9* +Colorschemes from https://github.com/vim/colorschemes have been included. +They were made to work consistently across many types of terminals. Although +generally an improvement, a lot of personal preference is involved. You can +always get the old version if you prefer it, look here: +https://github.com/vim/colorschemes/blob/master/legacy_colors/ + + +Various new items ~ + *new-items-9* +Options: ~ + +'autoshelldir' change directory to the shell's current directory +'cdhome' change directory to the home directory by ":cd" +'cinscopedecls' words that are recognized by 'cino-g' +'guiligatures' GTK GUI: ASCII characters that can form shapes +'mousemoveevent' report mouse moves with <MouseMove> +'quickfixtextfunc' function for the text in the quickfix window +'spelloptions' options for spell checking +'thesaurusfunc' function to be used for thesaurus completion +'xtermcodes' request terminal codes from an xterm + + +Ex commands: ~ + +|:abstract| (reserved for future use) +|:argdedupe| remove duplicates from the argument list +|:balt| like ":badd" but also set the alternate file +|:class| (reserved for future use) +|:def| define a Vim9 user function +|:defcompile| compile Vim9 user functions in current script +|:disassemble| disassemble Vim9 user function +|:echoconsole| like :echomsg but write to stdout +|:endinterface| (reserved for future use) +|:endclass| (reserved for future use) +|:enddef| end of a user function started with :def +|:endenum| (reserved for future use) +|:enum| (reserved for future use) +|:eval| evaluate an expression and discard the result +|:export| Vim9: export an item from a script +|:final| declare an immutable variable in Vim9 +|:import| Vim9: import an item from another script +|:interface| (reserved for future use) +|:static| (reserved for future use) +|:type| (reserved for future use) +|:var| variable declaration in Vim9 +|:vim9script| indicates Vim9 script file + + +Ex command modifiers: ~ + +|:legacy| make following command use legacy script syntax +|:vim9cmd| make following command use Vim9 script syntax + + +New and extended functions: ~ + +|assert_nobeep()| assert that a command does not cause a beep +|autocmd_add()| add a list of autocmds and groups +|autocmd_delete()| delete a list of autocmds and groups +|autocmd_get()| return a list of autocmds +|blob2list()| get a list of numbers from a blob +|charclass()| class of a character +|charcol()| character number of the cursor or a mark +|charidx()| character index of a byte in a string +|digraph_get()| get digraph +|digraph_getlist()| get all digraphs +|digraph_set()| register digraph +|digraph_setlist()| register multiple digraphs +|echoraw()| output characters as-is +|exists_compiled()| like exists() but check at compile time +|extendnew()| make a new Dictionary and append items +|flatten()| flatten a List +|flattennew()| flatten a copy of a List +|fullcommand()| get full command name +|getcharpos()| get character position of cursor, mark, etc. +|getcharstr()| get a character from the user as a string +|getcmdcompltype()| return current cmdline completion type +|getcmdscreenpos()| return the current cursor position in the cmdline +|getcursorcharpos()| get character position of the cursor +|getmarklist()| list of global/local marks +|getreginfo()| get information about a register +|gettext()| lookup message translation +|hlget()| get highlight group attributes +|hlset()| set highlight group attributes +|isabsolutepath()| check if a path is absolute +|list2blob()| get a blob from a list of numbers +|maplist()| list of all mappings, a dict for each +|mapnew()| make a new List with changed items +|mapset()| restore a mapping +|matchfuzzy()| fuzzy matches a string in a list of strings +|matchfuzzypos()| fuzzy matches a string in a list of strings +|menu_info()| get information about a menu item +|popup_list()| get list of all popup window IDs +|prompt_getprompt()| get the effective prompt text for a buffer +|prop_add_list()| attach a property at multiple positions +|prop_find()| search for a property +|readblob()| read a file into a Blob +|readdirex()| get a List of file information in a directory +|reduce()| reduce a List to a value +|searchcount()| get number of matches before/after the cursor +|setcellwidths()| set character cell width overrides +|setcharpos()| set character position of cursor, mark, etc. +|setcursorcharpos()| set character position of the cursor +|slice()| take a slice of a List +|strcharlen()| length of a string in characters +|terminalprops()| properties of the terminal +|test_gui_event()| generate a GUI event for testing +|test_null_function()| return a null Funcref +|test_srand_seed()| set the seed value for srand() +|test_unknown()| return a value with unknown type +|test_void()| return a value with void type +|typename()| type of a variable as text +|virtcol2col()| byte index of a character on screen +|win_gettype()| get type of window +|win_move_separator()| move window vertical separator +|win_move_statusline()| move window status line +|windowsversion()| get MS-Windows version + + +New Vim variables: ~ + +|v:numbermax| maximum value of a number +|v:numbermin| minimum value of a number (negative) +|v:numbersize| number of bits in a Number +|v:collate| current locale setting for collation order +|v:exiting| vim exit code +|v:colornames| dictionary that maps color names to hex color strings +|v:sizeofint| number of bytes in an int +|v:sizeoflong| number of bytes in a long +|v:sizeofpointer| number of bytes in a pointer +|v:maxcol| maximum line length + + +New autocommand events: ~ + +|CompleteDonePre| after Insert mode completion done, before clearing info +|DirChangedPre| before the working directory will change +|InsertLeavePre| just before leaving Insert mode +|ModeChanged| after changing the mode +|SigUSR1| after the SIGUSR1 signal has been detected +|WinClosed| after closing a window +|WinScrolled| after scrolling or resizing a window +|VimSuspend| when suspending Vim +|VimResume| when Vim is resumed after being suspended + + +New operators: ~ + +|>>| bitwise right shift +|<<| bitwise left shift +|??| falsy operator + +New runtime files: ~ + +Too many to list here. + +============================================================================== +INCOMPATIBLE CHANGES *incompatible-9* + +There is only one change that is incompatible with previous releases: + +- Lua arrays are now one-based, they used to be zero-based. + +Note that when using |Vim9| script several things work differently, see +|vim9-differences|. + +============================================================================== +IMPROVEMENTS *improvements-9* + +Various small and useful improvements have been made since Vim 8.2, here is a +summary. + +Many memory leaks, invalid memory accesses and crashes have been fixed. +See the list of patches below: |bug-fixes-9|. + +Support for Vim expression evaluation in a string. |interpolated-string| +Support for evaluating Vim expressions in a heredoc. |:let-heredoc| + +Support for fuzzy matching: +- a string in a List of strings. |fuzzy-matching| +- completion support for command line completion using 'wildoptions'. +- for |:vimgrep|. + +Added support for the |Haiku| OS. + +Support for "lsp" channel mode to simplify LSP server RPC communication +|language-server-protocol|. Support for using a Unix domain socket with a +|channel|. IPv6 support in channels |channel-address|. + +Support for sourcing lines from the current buffer. |:source-range| + +Terminal window improvements: +- Support for opening a terminal in a popup window. |popup-terminal| +- Allow setting underline color in terminal. +- Detect focus events in terminal (|FocusGained| and |FocusLost|). +- Add bell support for the terminal window. ('belloff') +- Support mouse left-right scrolling in a terminal window. + +Support for stopping profiling a Vim script: `:profile stop` and dumping the +report to a file: `:profile dump` . |:profile| + +Completion improvements: +- Argument completion support for the |:breakadd|, |:breakdel|, |:diffget|, + |:diffput|, |:profile|, |:profdel| and |:scriptnames| commands. +- Support using any Vim type for user_data with the completion functions + (|complete-items|). +- Stop insert mode completion without changing text (|i_CTRL-X_CTRL-Z|). +- Add the "cmdline" option to |getcompletion()| to return the command line + arguments. + +Support for setting the 'foldtext', 'completefunc', 'omnifunc', +'operatorfunc', 'thesaurusfunc', 'quickfixtextfunc', 'tagfunc', +'imactivatefunc' and 'imstatusfunc' options to a function reference or a +lambda function or a script-local function. + +Support directly setting the 'balloonexpr', 'charconvert' 'foldexpr', +'formatexpr', 'includeexpr', 'printexpr', 'patchexpr', 'indentexpr', +'modelineexpr', 'diffexpr' and 'printexpr' options to a script-local function. + +Improvements in 'fillchars': +- Support for configuring the character used to mark the beginning of a fold, + show a closed fold and show a fold separator using "foldopen", "foldclose" + and "foldsep" respectively in 'fillchars'. +- Support for configuring the character displayed in non existing lines using + "eob" in 'fillchars'. +- Support for using multibyte items with the "stl", "stlnc", "foldopen", + "foldclose" and "foldsep" items in the 'fillchars' option. + +Support for the XChaCha20 encryption method. 'cryptmethod' + +Spell checking: +- Spell check current word with |z=| even when 'spell' is off. +- Add "timeout" to 'spellsuggest' to limit the searching time for spell + suggestions. +- Add support for spell checking CamelCased words by adding "camel" to + 'spelloptions'. + +Support for executing Ex commands in a map without changing the current mode +|<Cmd>| and |<ScriptCmd>|. + +Add optional error code to |:cquit|. + +Recognize numbers as unsigned when "unsigned" is set in 'nrformats'. + +Expand script ID using expand('<SID>') and script name using +expand('<script>'). |expand()| + +Jump to the last accessed tab page using |g<Tab>| and support using the +last accessed tab page in |:tabnext| et al. + +Locale aware sorting using |:sort| and |sort()|. + +Hide cursor when sleeping using |:sleep!|. + +Add "multispace" to 'listchars' to show two or more spaces no matter where +they appear. Add "leadmultispace" to 'listchars' to show two or more leading +spaces. Add "lead" to 'listchars' to set the character used to show leading +spaces. Support specifying a character using the hexadecimal notation in +'listchars' (\x, \u and \U). + +Make 'listchars', 'virtualedit' and 'thesaurusfunc' global-local options. + +Support for looping over a string using `:for`. + +Don't reset 'wrap' for diff windows when "followwrap" is set in 'diffopt'. + +Support for re-evaluating the 'statusline' expression as a statusline format +string (%{% expr %}) + +Add |zp| and |zP| to paste in block mode without adding trailing white space. +Add |zy| to yank without trailing white space in block mode. + +Add the 'P' command in visual mode to paste text in Visual mode without +yanking the deleted text to the unnamed register. |put-Visual-mode| + +Add \%.l, \%<.l and \%>.l atoms to match the line the cursor is currently on. +See |/\%l| for more information. + +Add "list" to 'breakindentopt' to add additional indent for lines that match +a numbered or bulleted list. Add "column" to 'breakindentopt' to indent +soft-wrapped lines at a specific column. + +Add the |hl-CursorLineSign| and |hl-CursorLineFold| default highlight groups to +adjust sign highlighting for 'cursorline'. + +Add the |hl-CurSearch| default highlight group for the current search match. + +Add support for logging on Vim startup (|--log|). + +Add support for customizing the quickfix buffer contents using +'quickfixtextfunc'. Support for the "note" error type (%t) in |errorformat|. +Add support for parsing the end line number (%e) and end column number (%k) +using 'errorformat'. + +Support truncating the tag stack using |settagstack()|. + +Display every option in a separate line when "!" is used with |:set|. + +Add "nostop" to 'backspace' to allow backspacing over the start of insert for +|CTRL-W| and |CTRL-U| also. + +Sync the undo file if 'fsync' is set. + +Support excluding the 'runtimepath' and 'packpath' options from a session file +using "skiprtp" in 'sessionoptions'. + +Support for getting the number of lines (line count) in a buffer using +|getbufinfo()|. + +Support |filter()| and |map()| for blob and string types. + +Support for using a multi-byte character for the tag kind. |tags-file-format| + +Add support for checking whether a function name is valid using |exists()|. + +Update xdiff to version 2.33. Update libvterm to revision 789. + +Support 'trim' for Python/Lua/Perl/Tcl/Ruby/MzScheme interface heredoc. + +Add the |t_AU| and |t_8u| termcap codes for underline and undercurl. Add the +t_fd and t_fe termcap codes for detecting focus events. + +Support for indenting C pragmas like normal code. (|cino-P|) + +Add support for defining the syntax fold level. (|:syn-foldlevel|) + +Add support for using \<*xxx> in a string to prepend a modifier to a +character. (|expr-quote|) + +Add support trimming characters at the beginning or end of a string using +|trim()|. + +Make ":verbose pwd" show the scope of the directory. |:pwd-verbose| + +Add the "0o" notation for specifying octal numbers. |scriptversion-4| + +Support for changing to the previous tab-local and window-local directories +using the "tcd -" and "lcd -" commands. (|:tcd-| and |:lcd-|) + +Add support for skipping an expression using |search()|. + +Add support for sorting the directory contents returned by the |readdir()| +and |readdirex()| functions by case. + +Add support for executing (|:@|) a register containing line continuation. + +Lua support: +- Call Vim functions from Lua (vim.call() and vim.fn()). +- Convert a Lua function and a closure to a Vim funcref so that it can be + accessed in a Vim script (|lua-funcref|). +- Not backwards compatible: Make Lua arrays one based. +- Add support for using table.insert() and table.remove() functions with Vim + lists. +- Support for running multiple Ex-mode commands using vim.command(). +- Add vim.lua_version to get the Lua version. +- Add support for accessing Vim namespace dictionaries from Lua + (|lua-vim-variables|). + +Support for new UTF-8 characters from Unicode release 13. + +Support for using a command block (|:command-repl|) when defining a |:command| +or an |:autocmd|. + +Support for using |:z!| to use the Vim display height instead of the current +window height. + +Support for deleting a buffer-local command using ":delcommand -buffer {cmd}". + +When formatting a // comment after a statement, find the start of the line +comment, insert the comment leader and indent the comment properly (|fo-/|). + +Add the "numhl" argument to `:sign define` to use a separate highlight group +for the line number on a line where a sign is placed. |:sign-define| + +When $SHELL ends in "nologin" or "false", start Vim in restricted mode. + +TermDebug enhancements: +- Support for showing the disassembled code in a separate window. +- Support for the GDB until command. +- Use a separate group for the signs. + +xxd: Support for showing offset as a decimal number (-d). + +The C omni-complete plugin (|ft-c-omni|), the file type detection script +(ft.vim) and the syntax menu generation script (makemenu.vim) have been +rewritten using the Vim9 script syntax. + +A large number of tests have been added to verify the Vim functionality. Most +of the old style tests have been converted to new style tests using the new +style assert_* functions. + +Many Coverity static analysis warnings have been fixed. + +============================================================================== +COMPILE TIME CHANGES *compile-changes-9* + +The following features are now enabled in all the builds: + |+cindent| + |+jumplist| + |+lispindent| + |+num64| + |+smartindent| + |+tag_binary| + |+title| + +The following features have been removed. They are either obsolete or didn't +work properly: + - Athena and neXTaw GUI support (use Motif instead) + - EBCDIC support + - Atari MiNT and BeOS + - Mac Carbon GUI (use MacVim instead) + +The rgb.txt file is no longer included, use colors/lists/default.vim instead. + +Several large source files were split, mainly to make it easier to inspect +code coverage information. Source files have also been refactored for +maintainability. + +Support for building Vim with Mingw64 clang compiler on MS-Windows. + +Support for building Vim with Python 3.10, Lua 5.4.4, Perl 5.34 and +Ruby 3.1.0. + +============================================================================== +PATCHES *patches-9* *bug-fixes-9* + *patches-after-8.2* + +The list of patches that got included since 8.2.0. This includes all the new +features, but does not include runtime file changes (syntax, indent, help, +etc.) + +Patch 8.2.0001 +Problem: #endif comments do not reflect corresponding #ifdef. +Solution: Update the comments. (Rene Nyffenegger, closes #5351) +Files: src/ui.c + +Patch 8.2.0002 +Problem: "dj" only deletes first line of closed fold. +Solution: Adjust last line of operator for linewise motion. (closes #5354) +Files: src/ops.c, src/testdir/test_fold.vim + +Patch 8.2.0003 +Problem: Build file dependencies are incomplete. +Solution: Fix the dependencies. (Ken Takata, closes #5356) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/Makefile + +Patch 8.2.0004 +Problem: Get E685 and E931 if buffer reload is interrupted. +Solution: Do not abort deleting a dummy buffer. (closes #5361) +Files: src/buffer.c, src/proto/buffer.pro, src/testdir/test_trycatch.vim, + src/ex_cmds.c, src/ex_getln.c, src/misc2.c, src/quickfix.c, + src/window.c, src/vim.h + +Patch 8.2.0005 +Problem: Duplication in version info. +Solution: Use preprocessor string concatenation. (Ken Takata, closes #5357) +Files: src/version.h + +Patch 8.2.0006 +Problem: Test using long file name may fail. (Vladimir Lomov) +Solution: Limit the name length. (Christian Brabandt, closes #5358) +Files: src/testdir/test_display.vim + +Patch 8.2.0007 +Problem: Popup menu positioned wrong with folding in two tabs. +Solution: Update the cursor line height. (closes #5353) +Files: src/move.c, src/proto/move.pro, src/popupmenu.c, + src/testdir/test_ins_complete.vim, + src/testdir/dumps/Test_pum_with_folds_two_tabs.dump + +Patch 8.2.0008 +Problem: Test72 is old style. +Solution: Convert to new style test. (Yegappan Lakshmanan, closes #5362) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test72.in, src/testdir/test72.ok, + src/testdir/test_undo.vim + +Patch 8.2.0009 +Problem: VMS: terminal version doesn't build. +Solution: Move MIN definition. Adjust #ifdefs. (Zoltan Arpadffy) +Files: src/bufwrite.c, src/fileio.c, src/ui.c, src/xxd/Make_vms.mms + +Patch 8.2.0010 +Problem: Test64 is old style. +Solution: Convert to new style test. (Yegappan Lakshmanan, closes #5363) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test64.in, src/testdir/test64.ok, + src/testdir/test95.in, src/testdir/test_regexp_latin.vim + +Patch 8.2.0011 +Problem: Screen updating wrong when opening preview window. +Solution: Redraw the window when the preview window opens. +Files: src/popupmenu.c, src/testdir/test_ins_complete.vim, + src/testdir/dumps/Test_pum_with_preview_win.dump + +Patch 8.2.0012 +Problem: Some undo functionality is not tested. +Solution: Add a few more test cases. (Dominique Pellé, closes #5364) +Files: src/testdir/test_undo.vim + +Patch 8.2.0013 +Problem: Not using a typedef for condstack. +Solution: Add a typedef. +Files: src/structs.h, src/ex_docmd.c, src/ex_eval.c, src/userfunc.c, + src/ex_cmds.h, src/proto/ex_eval.pro + +Patch 8.2.0014 +Problem: Test69 and test95 are old style. +Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #5365) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test69.in, src/testdir/test69.ok, + src/testdir/test95.in, src/testdir/test95.ok, + src/testdir/test_regexp_utf8.vim, src/testdir/test_textformat.vim + +Patch 8.2.0015 +Problem: Not all modeline variants are tested. +Solution: Add modeline tests. (Dominique Pellé, closes #5369) +Files: src/testdir/test_modeline.vim + +Patch 8.2.0016 +Problem: Test name used twice, option not restored properly. +Solution: Rename function, restore option with "&". +Files: src/testdir/test_textformat.vim + +Patch 8.2.0017 +Problem: OS/2 and MS-DOS are still mentioned, even though support was + removed long ago. +Solution: Update documentation. (Yegappan Lakshmanan, closes #5368) +Files: runtime/doc/autocmd.txt, runtime/doc/change.txt, + runtime/doc/cmdline.txt, runtime/doc/editing.txt, + runtime/doc/eval.txt, runtime/doc/gui.txt, runtime/doc/insert.txt, + runtime/doc/options.txt, runtime/doc/print.txt, + runtime/doc/quickfix.txt, runtime/doc/repeat.txt, + runtime/doc/starting.txt, runtime/doc/usr_01.txt, + runtime/doc/usr_05.txt, runtime/doc/usr_41.txt, + runtime/doc/vi_diff.txt, runtime/gvimrc_example.vim, + runtime/tools/README.txt, runtime/vimrc_example.vim, src/feature.h + +Patch 8.2.0018 +Problem: :join does not add white space where it should. (Zdenek Dohnal) +Solution: Handle joining multiple lines properly. +Files: src/ops.c, src/testdir/test_join.vim + +Patch 8.2.0019 +Problem: Cannot get number of lines of another buffer. +Solution: Add "linecount" to getbufinfo(). (Yasuhiro Matsumoto, + closes #5370) +Files: src/evalbuffer.c, src/testdir/test_bufwintabinfo.vim, + runtime/doc/eval.txt + +Patch 8.2.0020 +Problem: Mouse clicks in the command line not tested. +Solution: Add tests. (Dominique Pellé, closes #5366) +Files: src/testdir/test_termcodes.vim + +Patch 8.2.0021 +Problem: Timer test fails too often on Travis with macOS. +Solution: Be less strict with the time. +Files: src/testdir/test_timers.vim + +Patch 8.2.0022 +Problem: Click in popup window doesn't close it in the GUI. (Sergey Vlasov) +Solution: When processing the selection also send a button release event. + (closes #5367) +Files: src/gui.c + +Patch 8.2.0023 +Problem: Command line editing not sufficiently tested. +Solution: Add more tests. (Dominique Pellé, closes #5374) +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim + +Patch 8.2.0024 +Problem: Filetype Rego not recognized. +Solution: Add *.rego. (Matt Dunford, closes #5376) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0025 +Problem: Repeated word in comment. +Solution: Remove one. (Rene Nyffenegger, closes #5384) +Files: src/structs.h + +Patch 8.2.0026 +Problem: Still some /* */ comments. +Solution: Convert to // comments. +Files: src/message.c, src/message_test.c, src/misc1.c, src/misc2.c, + src/move.c + +Patch 8.2.0027 +Problem: Still some /* */ comments. +Solution: Convert to // comments. +Files: src/iid_ole.c, src/indent.c, src/insexpand.c, src/iscygpty.c, + src/version.c + +Patch 8.2.0028 +Problem: Searchpairpos() is not tested. +Solution: Add tests. Also improve searchpair() testing. (Dominique Pellé, + closes #5388) +Files: src/testdir/test_search.vim + +Patch 8.2.0029 +Problem: MS-Windows: crash with empty job command. +Solution: Check for NULL result. (Yasuhiro Matsumoto, closes #5390) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.2.0030 +Problem: "gF" does not work on output of "verbose command". +Solution: Recognize " line " and translations. (closes #5391) +Files: src/globals.h, src/eval.c, src/findfile.c, src/testdir/test_gf.vim + +Patch 8.2.0031 (after 8.2.0029) +Problem: MS-Windows: test for empty job fails +Solution: Check for error message, make it also fail on Unix. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.2.0032 (after 8.2.0031) +Problem: MS-Windows: test for blank job fails +Solution: Check before escaping. +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.2.0033 +Problem: Crash when make_extmatch() runs out of memory. +Solution: Check for NULL. (Dominique Pellé, closes #5392) +Files: src/regexp_bt.c, src/regexp_nfa.c + +Patch 8.2.0034 +Problem: Missing check for out of memory. +Solution: Check for NULL after vim_strsave(). (Dominique Pellé, + closes #5393) +Files: src/filepath.c + +Patch 8.2.0035 +Problem: Saving and restoring called_emsg is clumsy. +Solution: Count the number of error messages. +Files: src/message.c, src/buffer.c, src/channel.c, src/drawscreen.c, + src/ex_cmds2.c, src/gui.c, src/highlight.c, src/main.c, + src/regexp.c, src/search.c, src/testing.c, src/globals.h + +Patch 8.2.0036 +Problem: Not enough test coverage for match functions. +Solution: Add a few more test cases. (Dominique Pellé, closes #5394) + Add error number. +Files: src/testdir/test_match.vim + +Patch 8.2.0037 +Problem: Missing renamed message. +Solution: Now really add the error number. +Files: src/highlight.c + +Patch 8.2.0038 +Problem: Spell suggestions insufficiently tested. +Solution: Add spell suggestion tests. (Dominique Pellé, closes #5398) +Files: src/testdir/test_spell.vim + +Patch 8.2.0039 +Problem: Memory access error when "z=" has no suggestions. +Solution: Check for negative index. +Files: src/testdir/test_spell.vim, src/spellsuggest.c + +Patch 8.2.0040 +Problem: Timers test is still flaky on Travis for Mac. +Solution: Run separately instead of as part of test_alot. +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim + +Patch 8.2.0041 +Problem: Leaking memory when selecting spell suggestion. +Solution: Free previous value at the right time. +Files: src/spellsuggest.c + +Patch 8.2.0042 +Problem: Clearing funccal values twice. +Solution: Remove clearing individual fields. +Files: src/userfunc.c + +Patch 8.2.0043 +Problem: Timers test is still flaky on Travis for Mac. +Solution: Increase maximum expected time. +Files: src/testdir/test_timers.vim + +Patch 8.2.0044 +Problem: Expression type is used inconsistently. +Solution: Add "ETYPE_IS" and "ETYPE_ISNOT" as separate enum values. Rename + "TYPE_" to "ETYPE_" to avoid confusion. +Files: src/structs.h, src/eval.c, src/proto/eval.pro, src/debugger.c + +Patch 8.2.0045 (after 8.2.0044) +Problem: Script test fails. +Solution: For numbers "is" and "isnot" work like "==" and "!=". +Files: src/eval.c + +Patch 8.2.0046 +Problem: Tests for spell suggestions are slow. +Solution: Use shorter words. Test with latin1 and utf-8 to cover more code. + (Dominique Pellé, closes #5399) +Files: src/testdir/test_spell.vim + +Patch 8.2.0047 +Problem: Cannot skip tests for specific MS-Windows platform. +Solution: Add windowsversion(). +Files: src/os_win32.c, src/globals.h, src/evalfunc.c, + runtime/doc/eval.txt, src/testdir/gen_opt_test.vim, + src/testdir/test_options.vim + +Patch 8.2.0048 +Problem: Another timers test is flaky on Travis for Mac. +Solution: Increase maximum expected time. +Files: src/testdir/test_timers.vim + +Patch 8.2.0049 +Problem: Command line completion not fully tested. +Solution: Add more test cases. Make help sorting stable. (Dominique Pellé, + closes #5402) +Files: src/ex_cmds.c, src/testdir/test_cd.vim, + src/testdir/test_cmdline.vim, src/testdir/test_help.vim, + src/testdir/test_menu.vim, src/testdir/test_options.vim, + src/testdir/test_syntax.vim + +Patch 8.2.0050 +Problem: After deleting a file mark it is still in viminfo. +Solution: When a file mark was deleted more recently than the mark in the + merged viminfo file was updated, do not store the mark. (Pavol + Juhas, closes #5401, closes #1339) +Files: src/mark.c, src/testdir/test_marks.vim, + src/testdir/test_viminfo.vim, src/viminfo.c + +Patch 8.2.0051 (after 8.2.0049) +Problem: Command line completion test skipped. (Christian Brabandt) +Solution: Invert condition. +Files: src/testdir/test_cmdline.vim + +Patch 8.2.0052 +Problem: More-prompt not properly tested. +Solution: Add a test case. (Dominique Pellé, closes #5404) +Files: src/testdir/test_messages.vim + +Patch 8.2.0053 +Problem: windowsversion() does not always return the right value. +Solution: Add a compatibility section in the manifest. (Ken Takata, + closes #5407) +Files: src/gvim.exe.mnf + +Patch 8.2.0054 +Problem: :diffget and :diffput don't have good completion. +Solution: Add proper completion. (Dominique Pellé, closes #5409) +Files: runtime/doc/eval.txt, src/buffer.c, src/cmdexpand.c, + src/testdir/test_diffmode.vim, src/usercmd.c, src/vim.h + +Patch 8.2.0055 +Problem: Cannot use ":gui" in vimrc with VIMDLL enabled. +Solution: Change the logic, check "gui.starting". (Ken Takata, closes #5408) +Files: src/gui.c + +Patch 8.2.0056 +Problem: Execution stack is incomplete and inefficient. +Solution: Introduce a proper execution stack and use it instead of + sourcing_name/sourcing_lnum. Create a string only when used. +Files: src/structs.h, src/globals.h, src/autocmd.c, src/buffer.c + src/debugger.c, src/ex_docmd.c, src/ex_eval.c, src/highlight.c, + src/main.c, src/map.c, src/message.c, src/proto/scriptfile.pro, + src/scriptfile.c, src/option.c, src/profiler.c, src/spellfile.c, + src/term.c, src/testing.c, src/usercmd.c, src/userfunc.c, + src/kword_test.c, src/testdir/test_debugger.vim + +Patch 8.2.0057 (after 8.2.0056) +Problem: Cannot build with small features. +Solution: Add #ifdefs. +Files: src/scriptfile.c + +Patch 8.2.0058 +Problem: Running tests changes ~/.viminfo. +Solution: Make 'viminfo' empty when summarizing tests results. (closes #5414) +Files: src/testdir/summarize.vim + +Patch 8.2.0059 +Problem: Compiler warnings for unused variables in small build. (Tony + Mechelynck) +Solution: Add #ifdef. +Files: src/scriptfile.c + +Patch 8.2.0060 +Problem: Message test only runs with one encoding. (Dominique Pellé) +Solution: Run the test with "utf-8" and "latin1". Fix underflow. (related + to #5410) +Files: src/message_test.c, src/message.c + +Patch 8.2.0061 +Problem: The execute stack can grow big and never shrinks. +Solution: Reduce the size in garbage collect. +Files: src/eval.c + +Patch 8.2.0062 +Problem: Memory test is flaky on FreeBSD. +Solution: Add a short sleep before getting the first size. +Files: src/testdir/test_memory_usage.vim + +Patch 8.2.0063 +Problem: Wrong size argument to vim_snprintf(). (Dominique Pellé) +Solution: Reduce the size by the length. (related to #5410) +Files: src/ops.c + +Patch 8.2.0064 +Problem: Diffmode completion doesn't use per-window setting. +Solution: Check if a window is in diff mode. (Dominique Pellé, closes #5419) +Files: src/buffer.c, src/testdir/test_diffmode.vim + +Patch 8.2.0065 +Problem: Amiga and alikes: autoopen only used on Amiga OS4. +Solution: Adjust #ifdefs. (Ola Söder, closes #5413) +Files: src/os_amiga.c + +Patch 8.2.0066 +Problem: Some corners of vim_snprintf() are not tested. +Solution: Add a test in C. (Dominique Pellé, closes #5422) +Files: src/message_test.c + +Patch 8.2.0067 +Problem: ERROR_UNKNOWN clashes on some systems. +Solution: Rename ERROR_ to FCERR_. (Ola Söder, closes #5415) +Files: src/evalfunc.c, src/userfunc.c, src/vim.h + +Patch 8.2.0068 +Problem: Crash when using Python 3 with "utf32" encoding. (Dominique Pellé) +Solution: Use "utf-8" whenever enc_utf8 is set. (closes #5423) +Files: src/testdir/test_python3.vim, src/if_py_both.h + +Patch 8.2.0069 +Problem: ETYPE_ is used for two different enums. +Solution: Rename one to use EXPR_. +Files: src/structs.h, src/eval.c, src/debugger.c + +Patch 8.2.0070 +Problem: Crash when using Python 3 with "debug" encoding. (Dominique Pellé) +Solution: Use "euc-jp" whenever enc_dbcs is set. +Files: src/testdir/test_python3.vim, src/if_py_both.h + +Patch 8.2.0071 +Problem: Memory test often fails on Cirrus CI. +Solution: Allow for more tolerance in the upper limit. Remove sleep. +Files: src/testdir/test_memory_usage.vim + +Patch 8.2.0072 (after 8.2.0071) +Problem: Memory test still fails on Cirrus CI. +Solution: Allow for a tiny bit more tolerance in the upper limit. +Files: src/testdir/test_memory_usage.vim + +Patch 8.2.0073 +Problem: Initializing globals with COMMA is clumsy. +Solution: Use INIT2(), INIT3(), etc. +Files: src/vim.h, src/globals.h + +Patch 8.2.0074 +Problem: Python 3 unicode test sometimes fails. +Solution: Make 'termencoding' empty. Correct number of error message. +Files: src/change.c, runtime/doc/options.txt, runtime/doc/message.txt, + src/testdir/test_python3.vim + +Patch 8.2.0075 +Problem: Python 3 unicode test still sometimes fails. +Solution: Skip the test when 'termencoding' is not empty. +Files: src/testdir/test_python3.vim + +Patch 8.2.0076 +Problem: Python 3 unicode test fails on MS-Windows. +Solution: Do not set 'encoding' to "debug" on MS-Windows. +Files: src/testdir/test_python3.vim + +Patch 8.2.0077 +Problem: settagstack() cannot truncate at current index. +Solution: Add the "t" action. (Yegappan Lakshmanan, closes #5417) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/tag.c, + src/testdir/test_tagjump.vim + +Patch 8.2.0078 +Problem: Expanding <sfile> works differently the second time. +Solution: Keep the expanded name when redefining a function. (closes #5425) +Files: src/testdir/test_vimscript.vim, src/userfunc.c + +Patch 8.2.0079 +Problem: Python 3 unicode test still fails on MS-Windows. +Solution: Do not set 'encoding' to "euc-tw" on MS-Windows. +Files: src/testdir/test_python3.vim + +Patch 8.2.0080 +Problem: Globals using INIT4() are not in the tags file. +Solution: Adjust the tags command. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0081 +Problem: MS-Windows also need the change to support INIT4(). +Solution: Add the ctags arguments. (Ken Takata) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.2.0082 +Problem: When reusing a buffer listeners are not cleared. (Axel Forsman) +Solution: Clear listeners when reusing a buffer. (closes #5431) +Files: src/testdir/test_listener.vim, src/buffer.c + +Patch 8.2.0083 +Problem: Text properties wrong when tabs and spaces are exchanged. +Solution: Take text properties into account. (Nobuhiro Takasaki, + closes #5427) +Files: src/edit.c, src/testdir/test_textprop.vim + +Patch 8.2.0084 +Problem: Complete item "user_data" can only be a string. +Solution: Accept any type of variable. (closes #5412) +Files: src/testdir/test_ins_complete.vim, src/insexpand.c, src/dict.c, + src/proto/dict.pro, src/eval.c, runtime/doc/insert.txt + +Patch 8.2.0085 +Problem: Dead code in builtin functions. +Solution: Clean up the code. +Files: src/evalvars.c, src/sound.c, src/textprop.c + +Patch 8.2.0086 (after 8.2.0084) +Problem: Build error for small version. (Tony Mechelynck) +Solution: Only use "user_data" with the +eval feature. Remove unused + variable. +Files: src/insexpand.c, src/dict.c + +Patch 8.2.0087 +Problem: Crash in command line expansion when out of memory. +Solution: Check for NULL pointer. Also make ExpandGeneric() static. + (Dominique Pellé, closes #5437) +Files: src/cmdexpand.c, src/proto/cmdexpand.pro + +Patch 8.2.0088 +Problem: Insufficient tests for tags; bug in using extra tag field when + using an ex command to position the cursor. +Solution: Fix the bug, add more tests. (Yegappan Lakshmanan, closes #5439) +Files: runtime/doc/tagsrch.txt, src/tag.c, + src/testdir/test_ins_complete.vim, src/testdir/test_tagfunc.vim, + src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim + +Patch 8.2.0089 +Problem: Crash when running out of memory in :setfiletype completion. +Solution: Do not allocate memory. (Dominique Pellé, closes #5438) +Files: src/cmdexpand.c + +Patch 8.2.0090 +Problem: Generated files show up in git status. +Solution: Ignore a few more files. +Files: .gitignore + +Patch 8.2.0091 +Problem: Compiler warnings for size_t / int types. +Solution: Change type to size_t. (Mike Williams) +Files: src/scriptfile.c + +Patch 8.2.0092 +Problem: Tags functionality insufficiently tested. +Solution: Add more tags tests. (Yegappan Lakshmanan, closes #5446) +Files: src/testdir/test_tagjump.vim + +Patch 8.2.0093 +Problem: win_splitmove() can make Vim hang. +Solution: Check windows exists in the current tab page. (closes #5444) +Files: src/testdir/test_window_cmd.vim, src/evalwindow.c + +Patch 8.2.0094 +Problem: MS-Windows: cannot build with Strawberry Perl 5.30. +Solution: Define __builtin_expect() as a workaround. (Ken Takata, + closes #5267) +Files: src/if_perl.xs + +Patch 8.2.0095 +Problem: Cannot specify exit code for :cquit. +Solution: Add optional argument. (Thinca, Yegappan Lakshmanan, closes #5442) +Files: runtime/doc/quickfix.txt, src/ex_cmds.h, src/ex_docmd.c, + src/testdir/test_quickfix.vim + +Patch 8.2.0096 +Problem: Cannot create tiny popup window in last column. (Daniel Steinberg) +Solution: Remove position limit. (closes #5447) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump + +Patch 8.2.0097 +Problem: Crash with autocommand and spellfile. (Tim Pope) +Solution: Do not pop exestack when not pushed. (closes #5450) +Files: src/testdir/test_autocmd.vim, src/spellfile.c + +Patch 8.2.0098 +Problem: Exe stack length can be wrong without being detected. +Solution: Add a check when ABORT_ON_INTERNAL_ERROR is defined. +Files: src/macros.h, src/autocmd.c, src/buffer.c, src/ex_docmd.c, + src/main.c, src/map.c, src/scriptfile.c, src/spellfile.c, + src/userfunc.c + +Patch 8.2.0099 +Problem: Use of NULL pointer when out of memory. +Solution: Check for NULL pointer. (Dominique Pellé, closes #5449) +Files: src/cmdexpand.c + +Patch 8.2.0100 +Problem: Macros for Ruby are too complicated. +Solution: Do not use DYNAMIC_RUBY_VER, use RUBY_VERSION. (Ken Takata, + closes #5452) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, + src/configure.ac, src/if_ruby.c + +Patch 8.2.0101 +Problem: Crash when passing null object to ":echomsg". +Solution: Check for NULL pointer. (Yasuhiro Matsumoto, closes #5460) +Files: src/eval.c, src/testdir/test_messages.vim + +Patch 8.2.0102 +Problem: Messages test fails in small version. +Solution: Only use test_null_job() when available. +Files: src/testdir/test_messages.vim + +Patch 8.2.0103 +Problem: Using null object with execute() has strange effects. +Solution: Give an error message for Job and Channel. +Files: src/testdir/test_execute_func.vim, src/globals.h, src/eval.c, + src/evalfunc.c + +Patch 8.2.0104 +Problem: Using channel or job with ":execute" has strange effects. +Solution: Give an error message for Job and Channel. +Files: src/testdir/test_eval_stuff.vim, src/eval.c + +Patch 8.2.0105 +Problem: Vim license not easy to find on github. +Solution: Add a separate LICENCE file. (closes #5458) +Files: LICENSE, Filelist + +Patch 8.2.0106 +Problem: Printf formats are not exactly right. +Solution: Adjust signed/unsigned conversions. (Frazer Clews, closes #5456) +Files: runtime/tools/ccfilter.c, src/libvterm/src/parser.c, + src/libvterm/src/pen.c, src/ui.c + +Patch 8.2.0107 +Problem: Hgignore is out of sync from gitignore. +Solution: Add lines to hgignore. (Ken Takata) +Files: .hgignore + +Patch 8.2.0108 +Problem: When sign text is changed a manual redraw is needed. (Pontus + Lietzler) +Solution: Redraw automatically. (closes #5455) +Files: src/testdir/test_signs.vim, src/sign.c, + src/testdir/dumps/Test_sign_cursor_1.dump, + src/testdir/dumps/Test_sign_cursor_2.dump, + src/testdir/dumps/Test_sign_cursor_3.dump, + src/testdir/dumps/Test_sign_cursor_01.dump, + src/testdir/dumps/Test_sign_cursor_02.dump + +Patch 8.2.0109 +Problem: Corrupted text properties when expanding spaces. +Solution: Reallocate the line. (Nobuhiro Takasaki, closes #5457) +Files: src/edit.c, src/testdir/test_textprop.vim + +Patch 8.2.0110 +Problem: prop_find() is not implemented. +Solution: Implement prop_find(). (Ryan Hackett, closes #5421, closes #4970) +Files: src/evalfunc.c, src/proto/textprop.pro, + src/testdir/test_textprop.vim, src/textprop.c, + runtime/doc/textprop.txt + +Patch 8.2.0111 +Problem: VAR_SPECIAL is also used for booleans. +Solution: Add VAR_BOOL for better type checking. +Files: src/structs.h, src/dict.c, src/eval.c, src/evalfunc.c, + src/evalvars.c, src/if_lua.c, src/if_mzsch.c, src/if_py_both.h, + src/if_ruby.c, src/json.c, src/popupmenu.c, src/proto/dict.pro, + src/testing.c, src/vim.h, src/viminfo.c + +Patch 8.2.0112 +Problem: Illegal memory access when using 'cindent'. +Solution: Check for NUL byte. (Dominique Pellé, closes #5470) +Files: src/cindent.c, src/testdir/test_cindent.vim + +Patch 8.2.0113 (after 8.2.0095) +Problem: "make cmdidxs" fails. +Solution: Allow address for ":cquit". Add --not-a-term to avoid a delay. +Files: src/ex_cmds.h, src/Makefile, src/Make_cyg_ming.mak, + src/Make_mvc.mak + +Patch 8.2.0114 +Problem: Info about sourced scripts is scattered. +Solution: Use scriptitem_T for info about a script, including s: variables. + Drop ga_scripts. +Files: src/structs.h, src/evalvars.c, src/scriptfile.c, src/eval.c + +Patch 8.2.0115 +Problem: Byte2line() does not work correctly with text properties. (Billie + Cleek) +Solution: Take the bytes of the text properties into account. + (closes #5334) +Files: src/testdir/test_textprop.vim, src/memline.c + +Patch 8.2.0116 +Problem: BufEnter autocmd not triggered on ":tab drop". (Andy Stewart) +Solution: Decrement autocmd_no_enter for the last file. (closes #1660, + closes #5473) +Files: src/arglist.c, src/testdir/test_tabpage.vim + +Patch 8.2.0117 +Problem: Crash when using gettabwinvar() with invalid arguments. (Yilin + Yang) +Solution: Use "curtab" if "tp" is NULL. (closes #5475) +Files: src/evalwindow.c, src/testdir/test_getvar.vim + +Patch 8.2.0118 +Problem: Crash when cycling to buffers involving popup window . +Solution: Do not decrement buffer reference count. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_7.dump + +Patch 8.2.0119 +Problem: Message test fails on some platforms. (Elimar Riesebieter) +Solution: Add type cast to vim_snprintf() argument. (Dominique Pellé) +Files: src/message_test.c + +Patch 8.2.0120 +Problem: virtcol() does not check arguments to be valid, which may lead to + a crash. +Solution: Check the column to be valid. Do not decrement MAXCOL. + (closes #5480) +Files: src/evalfunc.c, src/testdir/test_marks.vim + +Patch 8.2.0121 +Problem: filter() and map() on blob don't work. +Solution: Correct the code. (closes #5483) +Files: src/list.c, src/testdir/test_blob.vim + +Patch 8.2.0122 +Problem: Readme files still mention MS-DOS. +Solution: Update readme files. (Ken Takata, closes #5486) +Files: README.md, README.txt, READMEdir/README_dos.txt, + READMEdir/README_srcdos.txt, READMEdir/README_w32s.txt, + runtime/doc/os_win32.txt + +Patch 8.2.0123 +Problem: complete_info() does not work when CompleteDone is triggered. +Solution: Trigger CompleteDone before clearing the info. +Files: src/insexpand.c, runtime/doc/autocmd.txt, + src/testdir/test_ins_complete.vim + +Patch 8.2.0124 +Problem: Compiler warnings for variable types. +Solution: Change type, add type cast. (Mike Williams) +Files: src/memline.c + +Patch 8.2.0125 +Problem: :mode no longer works for any system. +Solution: Always give an error message. +Files: src/ex_docmd.c, runtime/doc/quickref.txt, src/os_amiga.c, + src/proto/os_amiga.pro, src/os_mswin.c, src/proto/os_mswin.pro, + src/os_unix.c, src/proto/os_unix.pro + +Patch 8.2.0126 (after 8.2.0124) +Problem: Textprop test fails. +Solution: Fix sign in computation. +Files: src/memline.c + +Patch 8.2.0127 +Problem: Some buffer commands work in a popup window. +Solution: Disallow :bnext, :bprev, etc. (Naruhiko Nishino, closes #5494) +Files: src/ex_docmd.c, src/testdir/test_popupwin.vim + +Patch 8.2.0128 +Problem: Cannot list options one per line. +Solution: Use ":set!" to list one option per line. +Files: src/ex_docmd.c, src/option.c, src/proto/option.pro, src/vim.h, + src/ex_cmds.h, src/optiondefs.h, src/testdir/test_options.vim, + runtime/doc/options.txt + +Patch 8.2.0129 +Problem: MS-Windows installer doesn't use Turkish translations. +Solution: Enable the Turkish translations and fix a few. (Emir Sarı, + closes #5493) +Files: nsis/gvim.nsi, nsis/lang/turkish.nsi + +Patch 8.2.0130 +Problem: Python3 ranges are not tested. +Solution: Add test. (Dominique Pellé, closes #5498) +Files: src/testdir/test_python3.vim + +Patch 8.2.0131 +Problem: Command line is not cleared when switching tabs and the command + line height differs. +Solution: Set the "clear_cmdline" flag when needed. (Naruhiko Nishino, + closes #5495) +Files: src/testdir/dumps/Test_cmdlineclear_tabenter.dump, + src/testdir/test_cmdline.vim, src/window.c + +Patch 8.2.0132 +Problem: Script may be re-used when deleting and creating a new one. +Solution: When the inode matches, also check the file name. +Files: src/scriptfile.c, src/testdir/test_source.vim + +Patch 8.2.0133 +Problem: Invalid memory access with search command. +Solution: When :normal runs out of characters in bracketed paste mode break + out of the loop.(closes #5511) +Files: src/testdir/test_search.vim, src/edit.c + +Patch 8.2.0134 +Problem: Some map functionality not covered by tests. +Solution: Add tests. (Yegappan Lakshmanan, closes #5504) +Files: src/testdir/test_maparg.vim, src/testdir/test_mapping.vim + +Patch 8.2.0135 (after 8.2.0133) +Problem: Bracketed paste can still cause invalid memory access. (Dominique + Pellé) +Solution: Check for NULL pointer. +Files: src/edit.c, src/testdir/test_search.vim + +Patch 8.2.0136 +Problem: Stray ch_logfile() call. +Solution: Remove it. (closes #5503) +Files: src/testdir/test_source.vim + +Patch 8.2.0137 +Problem: Crash when using win_execute() from a new tab. +Solution: Set the tp_*win pointers. (Ozaki Kiichi, closes #5512) +Files: src/testdir/test_winbuf_close.vim, src/window.c + +Patch 8.2.0138 +Problem: Memory leak when starting a job fails. +Solution: Free the list of arguments. (Ozaki Kiichi, closes #5510) +Files: src/channel.c, src/testdir/test_channel.vim + +Patch 8.2.0139 +Problem: MS-Windows: default for IME is inconsistent. +Solution: Also make IME default enabled with MVC. (Ken Takata, closes #5508) +Files: src/Make_mvc.mak + +Patch 8.2.0140 +Problem: CI does not test building doc tags. +Solution: Add the vimtags/gcc build. Cleanup showing version. (Ozaki Kiichi, + closes #5513) +Files: .travis.yml, Filelist, ci/if_ver-1.vim, ci/if_ver-2.vim, + ci/if_ver-cmd.vim, runtime/doc/Makefile, runtime/doc/doctags.vim, + src/testdir/if_ver-1.vim, src/testdir/if_ver-2.vim + +Patch 8.2.0141 +Problem: No swift filetype detection. +Solution: Add swift, swiftgyb and sil. (Emir Sarı, closes #5517) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0142 +Problem: Possible to enter popup window with CTRL-W p. (John Devin) +Solution: Check entered window is not a popup window. (closes #5515) +Files: src/window.c, src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_9.dump, + src/testdir/dumps/Test_popupwin_previewpopup_10.dump + +Patch 8.2.0143 +Problem: Coverity warning for possible use of NULL pointer. +Solution: Check argv is not NULL. +Files: src/channel.c + +Patch 8.2.0144 +Problem: Some mapping code is not fully tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5519) +Files: src/testdir/test_langmap.vim, src/testdir/test_maparg.vim, + src/testdir/test_mapping.vim + +Patch 8.2.0145 +Problem: Using #error for compilation errors should be OK now. +Solution: Use #error. (Ken Takata, closes #5299) +Files: src/blowfish.c, src/vim.h + +Patch 8.2.0146 +Problem: Wrong indent when 'showbreak' and 'breakindent' are set and + 'briopt' includes "sbr". +Solution: Reset "need_showbreak" where needed. (Ken Takata, closes #5523) +Files: src/drawline.c, src/testdir/test_breakindent.vim + +Patch 8.2.0147 +Problem: Block Visual mode operators not correct when 'linebreak' set. +Solution: Set w_p_lbr to lbr_saved more often. (Ken Takata, closes #5524) +Files: src/ops.c, src/testdir/test_listlbr.vim + +Patch 8.2.0148 +Problem: Mapping related function in wrong source file. +Solution: Move the function. Add a few more test cases. (Yegappan + Lakshmanan, closes #5528) +Files: src/map.c, src/proto/term.pro, src/term.c, + src/testdir/test_mapping.vim + +Patch 8.2.0149 +Problem: Maintaining a Vim9 branch separately is more work. +Solution: Merge the Vim9 script changes. +Files: README.md, README_VIM9.md, runtime/doc/Makefile, + runtime/doc/eval.txt, runtime/doc/options.txt, runtime/doc/tags, + runtime/doc/vim9.txt, runtime/ftplugin/vim.vim, + runtime/indent/vim.vim, runtime/syntax/vim.vim, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile, src/blob.c, + src/channel.c, src/dict.c, src/eval.c, src/evalbuffer.c, + src/evalfunc.c, src/evalvars.c, src/ex_cmdidxs.h, src/ex_cmds.h, + src/ex_docmd.c, src/ex_eval.c, src/filepath.c, src/globals.h, + src/gui.c, src/if_lua.c, src/if_py_both.h, src/insexpand.c, + src/json.c, src/list.c, src/macros.h, src/main.c, src/message.c, + src/misc1.c, src/proto.h, src/proto/blob.pro, src/proto/eval.pro, + src/proto/evalfunc.pro, src/proto/evalvars.pro, + src/proto/ex_docmd.pro, src/proto/ex_eval.pro, src/proto/list.pro, + src/proto/message.pro, src/proto/scriptfile.pro, + src/proto/userfunc.pro, src/proto/vim9compile.pro, + src/proto/vim9execute.pro, src/proto/vim9script.pro, + src/scriptfile.c, src/session.c, src/structs.h, src/syntax.c, + src/testdir/Make_all.mak, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim, src/testing.c, src/userfunc.c, + src/vim.h, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/vim9script.c, src/viminfo.c + +Patch 8.2.0150 +Problem: Cannot define python function when using :execute. (Yasuhiro + Matsumoto) +Solution: Do not recognize "def" inside "function. +Files: src/testdir/test_vim9_script.vim, src/userfunc.c + +Patch 8.2.0151 +Problem: Detecting a script was already sourced is unreliable. +Solution: Do not use the inode number. +Files: src/scriptfile.c, src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.0152 +Problem: Restoring ctrl_x_mode is not needed. +Solution: Remove restoring the old value, it's changed again soon. +Files: src/insexpand.c + +Patch 8.2.0153 +Problem: Warning shows when listing version info. +Solution: Use "-u NONE". (Ozaki Kiichi, closes #5534) +Files: .travis.yml + +Patch 8.2.0154 +Problem: Reallocating the list of scripts is inefficient. +Solution: Instead of using a growarray of scriptitem_T, store pointers and + allocate each scriptitem_T separately. Also avoids that the + growarray pointers change when sourcing a new script. +Files: src/globals.h, src/eval.c, src/evalvars.c, src/ex_docmd.c, + src/profiler.c, src/scriptfile.c, src/vim9compile.c, + src/vim9execute.c, src/vim9script.c + +Patch 8.2.0155 +Problem: Warnings from MinGW compiler. (John Marriott) Json test fails when + building without +float feature. +Solution: Init variables. Fix Json parsing. Skip a few tests that require + the +float feature. +Files: src/vim9script.c, src/vim9compile.c, src/vim9execute.c, + src/if_py_both.h, src/json.c, src/testdir/test_method.vim + +Patch 8.2.0156 +Problem: Various typos in source files and tests. +Solution: Fix the typos. (Emir Sarı, closes #5532) +Files: Makefile, src/INSTALLvms.txt, src/Make_vms.mms, src/beval.h, + src/buffer.c, src/charset.c, src/evalvars.c, src/ex_cmds.c, + src/ex_docmd.c, src/getchar.c, src/gui.c, src/gui_mac.c, + src/gui_photon.c, src/if_perl.xs, + src/libvterm/t/11state_movecursor.test, + src/libvterm/t/41screen_unicode.test, src/mbyte.c, src/memline.c, + src/normal.c, src/ops.c, src/option.c, src/option.h, + src/os_unix.c, src/os_win32.c, src/quickfix.c, src/register.c, + src/spell.c, src/tag.c, src/term.c, + src/testdir/test_breakindent.vim, src/testdir/test_channel.vim, + src/testdir/test_cindent.vim, src/testdir/test_digraph.vim, + src/testdir/test_edit.vim, src/testdir/test_netbeans.vim, + src/testdir/test_quickfix.vim, src/testdir/test_registers.vim, + src/testdir/test_stat.vim, src/ui.c, src/xxd/xxd.c + +Patch 8.2.0157 +Problem: Vim9 script files not in list of distributed files. +Solution: Add the entries. +Files: Filelist + +Patch 8.2.0158 (after 8.2.0123) +Problem: Triggering CompleteDone earlier is not backwards compatible. + (Daniel Hahler) +Solution: Add CompleteDonePre instead. +Files: src/insexpand.c, runtime/doc/autocmd.txt, src/autocmd.c, + src/vim.h, src/testdir/test_ins_complete.vim + +Patch 8.2.0159 +Problem: Non-materialized range() list causes problems. (Fujiwara Takuya) +Solution: Materialize the list where needed. +Files: src/testdir/test_functions.vim, src/testdir/test_python3.vim, + src/userfunc.c, src/evalfunc.c, src/highlight.c, src/evalvars.c, + src/popupmenu.c, src/insexpand.c, src/json.c, src/channel.c, + src/eval.c + +Patch 8.2.0160 (after 8.2.0159) +Problem: Range test fails. +Solution: Include change in list code. (#5541) +Files: src/list.c + +Patch 8.2.0161 +Problem: Not recognizing .gv file as dot filetype. +Solution: Add *.gv to dot pattern. (closes #5544) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0162 +Problem: Balloon test fails in the GUI. +Solution: Skip test in the GUI. +Files: src/testdir/test_functions.vim + +Patch 8.2.0163 +Problem: Test hangs on MS-Windows console. +Solution: use feedkeys() instead of test_feedinput(). (Ken Takata) +Files: src/testdir/test_functions.vim, src/testing.c + +Patch 8.2.0164 +Problem: Test_alot takes too long. +Solution: Run several tests individually. +Files: src/testdir/test_alot.vim, src/testdir/Make_all.mak + +Patch 8.2.0165 +Problem: Coverity warning for using NULL pointer. +Solution: Add missing "else". +Files: src/vim9compile.c + +Patch 8.2.0166 +Problem: Coverity warning for using uninitialized variable. +Solution: Check for failure. +Files: src/vim9execute.c + +Patch 8.2.0167 +Problem: Coverity warning for ignoring return value. +Solution: Check the return value and jump if failed. +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0168 +Problem: Coverity warning for assigning NULL to an option. +Solution: Use empty string instead of NULL. +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0169 +Problem: Coverity warning for dead code. +Solution: Check if inside try-finally. +Files: src/vim9execute.c + +Patch 8.2.0170 +Problem: Coverity warning for ignoring return value. +Solution: Check the return value and return if failed. +Files: src/vim9compile.c + +Patch 8.2.0171 +Problem: Coverity warning for using uninitialized buffer. +Solution: Check the skip flag. +Files: src/userfunc.c + +Patch 8.2.0172 +Problem: Coverity warning for not restoring character. +Solution: Restore the character also in case of failure. +Files: src/vim9script.c + +Patch 8.2.0173 +Problem: Build fails with old compiler. +Solution: Do not use anonymous unions. (John Marriott) +Files: src/vim9compile.c, src/evalvars.c, src/list.c, src/structs.h, + src/evalfunc.c, src/channel.c, src/if_mzsch.c, src/if_py_both.h + +Patch 8.2.0174 +Problem: Various commands not completely tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5551) +Files: src/testdir/test_excmd.vim, src/testdir/test_fnameescape.vim, + src/testdir/test_ga.vim, src/testdir/test_global.vim, + src/testdir/test_move.vim, src/testdir/test_options.vim, + src/testdir/test_packadd.vim, src/testdir/test_sort.vim, + src/testdir/test_substitute.vim, src/testdir/test_textformat.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0175 +Problem: Crash when removing list element in map(). +Solution: Lock the list. (closes #2652) +Files: src/testdir/test_filter_map.vim, src/list.c + +Patch 8.2.0176 +Problem: Generating os headers does not work for Swedish. +Solution: Set the locale to C. (Christian Brabandt, closes #5258) +Files: src/osdef.sh + +Patch 8.2.0177 +Problem: Memory leak in get_tags(). +Solution: Free matches when finding a pseudo-tag line. (Dominique Pellé, + closes #5553) +Files: src/tag.c + +Patch 8.2.0178 +Problem: With VTP the screen may not be restored properly. +Solution: Add another set of saved RGB values. (Nobuhiro Takasaki, + closes #5548) +Files: src/os_win32.c + +Patch 8.2.0179 +Problem: Still a few places where range() does not work. +Solution: Fix using range() causing problems. +Files: src/terminal.c, src/testdir/test_functions.vim, + src/testdir/test_popupwin.vim, src/popupwin.c, src/tag.c, + src/testdir/dumps/Test_popupwin_20.dump, + src/testdir/dumps/Test_popupwin_21.dump, + src/testdir/dumps/Test_popup_settext_07.dump, src/globals.h + +Patch 8.2.0180 +Problem: Test for wrapmargin fails if terminal is not 80 columns. +Solution: Vertical split the window. (Ken Takata, closes #5554) +Files: src/testdir/test_textformat.vim + +Patch 8.2.0181 +Problem: Problems parsing :term arguments. +Solution: Improve parsing, fix memory leak, add tests. (Ozaki Kiichi, + closes #5536) +Files: src/channel.c, src/proto/channel.pro, src/structs.h, + src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0182 +Problem: Min() and max() materialize a range() list. +Solution: Compute the result without materializing the list. (#5541) +Files: src/evalfunc.c + +Patch 8.2.0183 +Problem: Tests fail when the float feature is disabled. +Solution: Skip tests that don't work without float support. +Files: src/testdir/shared.vim, src/testdir/test_blob.vim, + src/testdir/test_channel.vim, src/testdir/test_cscope.vim, + src/testdir/test_execute_func.vim, src/testdir/test_expr.vim, + src/testdir/test_functions.vim, src/testdir/test_lambda.vim, + src/testdir/test_listdict.vim, src/testdir/test_lua.vim, + src/testdir/test_options.vim, src/testdir/test_partial.vim, + src/testdir/test_ruby.vim, src/testdir/test_sort.vim, + src/testdir/test_timers.vim, src/testdir/test_true_false.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vimscript.vim, src/testdir/test_regexp_latin.vim, + src/testdir/test_glob2regpat.vim + +Patch 8.2.0184 +Problem: Blob test fails. +Solution: Check for different error when float feature is missing. +Files: src/testdir/test_blob.vim + +Patch 8.2.0185 +Problem: Vim9 script: cannot use "if has()" to skip lines. +Solution: Evaluate constant expression at runtime. +Files: src/vim9compile.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0186 +Problem: A couple of tests may fail when features are missing. +Solution: Check for features. (Dominique Pellé, closes #5561) +Files: src/testdir/test_functions.vim, src/testdir/test_highlight.vim + +Patch 8.2.0187 +Problem: Redundant code. +Solution: Remove unused assignments. (Dominique Pellé, closes #5557) +Files: src/vim9compile.c + +Patch 8.2.0188 +Problem: Check commands don't work well with Vim9 script. +Solution: Improve constant expression handling. +Files: src/vim9compile.c, src/testdir/check.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0189 +Problem: cd() with NULL argument crashes. +Solution: Check for NULL. (Ken Takata, closes #5558) +Files: src/testdir/test_cd.vim, src/ex_docmd.c + +Patch 8.2.0190 +Problem: Kotlin files are not recognized. +Solution: Detect Kotlin files. (Alkeryn, closes #5560) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0191 +Problem: Cannot put a terminal in a popup window. +Solution: Allow opening a terminal in a popup window. It will always have + keyboard focus until closed. +Files: src/popupwin.c, src/proto/popupwin.pro, src/terminal.c, + src/proto/terminal.pro, src/macros.h, src/mouse.c, + src/highlight.c, src/drawline.c, src/optionstr.c, src/window.c, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump, + src/testdir/dumps/Test_terminal_popup_2.dump, + src/testdir/dumps/Test_terminal_popup_3.dump + +Patch 8.2.0192 (after 8.2.0191) +Problem: Build failure without +terminal feature. +Solution: Add #ifdefs. +Files: src/popupwin.c + +Patch 8.2.0193 (after 8.2.0191) +Problem: Still build failure without +terminal feature. +Solution: Add more #ifdefs. +Files: src/macros.h + +Patch 8.2.0194 (after 8.2.0193) +Problem: Some commands can cause problems in terminal popup. +Solution: Disallow more commands. +Files: src/macros.h, src/popupwin.c, src/proto/popupwin.pro, + src/arglist.c, src/ex_docmd.c, src/window.c, + src/testdir/test_terminal.vim + +Patch 8.2.0195 +Problem: Some tests fail when run in the GUI. +Solution: Make sure the window width is enough. In the GUI run terminal Vim + in the terminal, if possible. +Files: src/testdir/test_highlight.vim, src/testdir/check.vim, + src/testdir/test_terminal.vim + +Patch 8.2.0196 +Problem: Blocking commands for a finished job in a popup window. +Solution: Do not block commands if the job has finished. Adjust test. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, src/window.c, + src/terminal.c, src/proto/terminal.pro + +Patch 8.2.0197 +Problem: Some Ex commands not sufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5565) +Files: src/testdir/test_global.vim, src/testdir/test_help.vim, + src/testdir/test_help_tagjump.vim, src/testdir/test_options.vim, + src/testdir/test_substitute.vim, src/testdir/test_textformat.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0198 +Problem: No tests for y/n prompt. +Solution: Add tests. (Dominique Pellé, closes #5564) +Files: src/testdir/test_messages.vim + +Patch 8.2.0199 +Problem: Vim9 script commands not sufficiently tested. +Solution: Add more tests. Fix script-local function use. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim, + src/userfunc.c + +Patch 8.2.0200 +Problem: Vim9 script commands not sufficiently tested. +Solution: Add more tests. Fix storing global variable. Make script + variables work. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/evalvars.c, + src/proto/evalvars.pro, src/testdir/test_vim9_script.vim, + src/misc1.c, src/proto/misc1.pro + +Patch 8.2.0201 +Problem: Cannot assign to an imported variable. +Solution: Make it work. +Files: src/evalvars.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0202 +Problem: When 'lazyredraw' is set the window title may not be updated. +Solution: Set "do_redraw" before entering the main loop. (Jason Franklin) +Files: src/main.c + +Patch 8.2.0203 +Problem: :helptags and some other functionality not tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5567) +Files: src/testdir/test_compiler.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_filechanged.vim, + src/testdir/test_help.vim, src/testdir/test_help_tagjump.vim, + src/testdir/test_timers.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.0204 +Problem: Crash when using winnr('j') in a popup window. +Solution: Do not search for neighbors in a popup window. (closes #5568) +Files: src/window.c, src/testdir/test_popupwin.vim, src/evalwindow.c + +Patch 8.2.0205 +Problem: Error code E899 used twice. +Solution: Use E863 for the terminal in popup error. +Files: src/popupwin.c + +Patch 8.2.0206 +Problem: Calling Vim9 function using default argument fails. +Solution: Give an appropriate error. (closes #5572) +Files: src/testdir/test_vim9_script.vim, src/vim9compile.c, + src/vim9execute.c + +Patch 8.2.0207 +Problem: Crash when missing member type on list argument. +Solution: Check for invalid type. (closes #5572) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0208 +Problem: Fnamemodify() does not apply ":~" when followed by ":.". +Solution: Don't let a failing ":." cause the ":~" to be skipped. (Yasuhiro + Matsumoto, closes #5577) +Files: runtime/doc/cmdline.txt, src/filepath.c, + src/testdir/test_fnamemodify.vim + +Patch 8.2.0209 +Problem: Function a bit far away from where it's used. +Solution: Move function close to where it's used. (Ken Takata, closes #5569) +Files: src/fileio.c, src/filepath.c + +Patch 8.2.0210 +Problem: Coverity complains about uninitialized field. +Solution: Initialize the field. +Files: src/vim9compile.c + +Patch 8.2.0211 +Problem: Test for ANSI colors fails without an "ls" command. +Solution: Use "dir". (Ken Takata, closes #5582) +Files: src/testdir/test_functions.vim + +Patch 8.2.0212 +Problem: Missing search/substitute pattern hardly tested. +Solution: Add test_clear_search_pat() and tests. (Yegappan Lakshmanan, + closes #5579) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/regexp.pro, + src/proto/search.pro, src/proto/testing.pro, src/regexp.c, + src/search.c, src/testdir/test_quickfix.vim, + src/testdir/test_search.vim, src/testdir/test_sort.vim, + src/testdir/test_substitute.vim, src/testing.c + +Patch 8.2.0213 +Problem: Configure does not recognize gcc 10.0 and later. +Solution: Adjust the pattern matching the version number. (Sergei + Trofimovich, closes #5580) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0214 +Problem: A popup window with a terminal can be made hidden. +Solution: Disallow hiding a terminal popup. +Files: src/testdir/test_terminal.vim, src/popupwin.c, + src/testdir/dumps/Test_terminal_popup_4.dump + +Patch 8.2.0215 (after 8.2.0208) +Problem: Wrong file name shortening. (Ingo Karkat) +Solution: Better check for path separator. (Yasuhiro Matsumoto, + closes #5583, closes #5584) +Files: src/filepath.c, src/testdir/test_fnamemodify.vim + +Patch 8.2.0216 +Problem: Several Vim9 instructions are not tested. +Solution: Add more tests. Fix :disassemble output. Make catch with pattern + work. +Files: src/testdir/test_vim9_script.vim, src/vim9execute.c, + src/vim9compile.c + +Patch 8.2.0217 (after 8.2.0214) +Problem: Terminal test fails on Mac. +Solution: Add a short wait. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0218 +Problem: Several Vim9 instructions are not tested. +Solution: Add more tests. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0219 (after 8.2.0217) +Problem: Terminal test still fails on Mac. +Solution: Skip part of the test on Mac. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0220 +Problem: Terminal test did pass on Mac. +Solution: Remove the skip again. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0221 +Problem: No test for Vim9 += and ..=. +Solution: Add tests. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0222 +Problem: Vim9: optional function arguments don't work yet. +Solution: Implement optional function arguments. +Files: src/userfunc.c, src/vim9compile.c, src/vim9execute.c, + src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.0223 +Problem: Some instructions not yet tested. +Solution: Disassemble more instructions. Move tests to a new file. Compile + call to s:function(). +Files: src/testdir/test_vim9_script.vim, src/testdir/Make_all.mak, + src/testdir/test_vim9_disassemble.vim, src/vim9compile.c, + src/userfunc.c, src/proto/userfunc.pro, src/vim.h + +Patch 8.2.0224 +Problem: compiling :elseif not tested yet. +Solution: Add test for :elseif. Fix generating jumps. +Files: src/testdir/test_vim9_script.vim, src/vim9compile.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0225 +Problem: compiling lambda not tested yet. +Solution: Add test for lambda and funcref. Drop unused instruction arg. +Files: src/testdir/test_vim9_disassemble.vim, src/vim9.h, + src/vim9execute.c + +Patch 8.2.0226 +Problem: Compiling for loop not tested. +Solution: Add a test. Make variable initialization work for more types. +Files: src/testdir/test_vim9_disassemble.vim, src/vim9compile.c + +Patch 8.2.0227 +Problem: Compiling a few instructions not tested. +Solution: Add more test cases. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0228 +Problem: Configure does not recognize gcc version on BSD. +Solution: Do not use "\+" in the pattern matching the version number. (Ozaki + Kiichi, closes #5590) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0229 +Problem: Compare instructions not tested. +Solution: Add test cases. Fix disassemble with line continuation. +Files: src/testdir/test_vim9_disassemble.vim, src/vim9execute.c, + src/vim9compile.c + +Patch 8.2.0230 +Problem: Terminal popup test is flaky. +Solution: Increase wait time a bit. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0231 +Problem: Silent system command may clear the screen. +Solution: Do not clear the screen in t_te. +Files: src/term.c + +Patch 8.2.0232 +Problem: The :compiler command causes a crash. (Daniel Steinberg) +Solution: Do not use the script index if it isn't set. +Files: src/ex_docmd.c, src/testdir/test_compiler.vim + +Patch 8.2.0233 +Problem: Crash when using garbagecollect() in between rand(). +Solution: Redesign the rand() and srand() implementation. (Yasuhiro + Matsumoto, closes #5587, closes #5588) +Files: src/evalfunc.c, src/testdir/test_random.vim, + runtime/doc/testing.txt, runtime/doc/eval.txt + +Patch 8.2.0234 +Problem: Message test fails on SunOS. +Solution: Adjust expectation for printf "%p". (Ozaki Kiichi, closes #5595) +Files: src/message_test.c + +Patch 8.2.0235 +Problem: Draw error when an empty group is removed from 'statusline'. +Solution: Do not use highlighting from a removed group. +Files: src/buffer.c, src/testdir/test_statusline.vim, + src/testdir/dumps/Test_statusline_1.dump + +Patch 8.2.0236 +Problem: MS-Windows uninstall doesn't delete vimtutor.bat. +Solution: Change directory before deletion. (Ken Takata, closes #5603) +Files: src/uninstall.c + +Patch 8.2.0237 +Problem: Crash when setting 'wincolor' on finished terminal window. + (Bakudankun) +Solution: Check that the vterm is not NULL. (Yasuhiro Matsumoto, closes + #5607, closes #5610) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0238 +Problem: MS-Windows: job_stop() results in exit value zero. +Solution: Call TerminateJobObject() with -1 instead of 0. (Yasuhiro + Matsumoto, closes #5150, closes #5614) +Files: src/os_win32.c, src/testdir/test_channel.vim + +Patch 8.2.0239 +Problem: MS-Windows: 'env' job option does not override existing + environment variables. (Tim Pope) +Solution: Set the environment variables later. (Yasuhiro Matsumoto, + closes #5485, closes #5608) +Files: src/os_win32.c, src/testdir/test_channel.vim + +Patch 8.2.0240 +Problem: Using memory after it was freed. (Dominique Pellé) +Solution: Do not mix conversion buffer with other buffer. +Files: src/viminfo.c, src/vim.h + +Patch 8.2.0241 +Problem: Crash when setting 'buftype' to "quickfix". +Solution: Check that error list is not NULL. (closes #5613) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.0242 +Problem: Preview popup window test fails with long directory name. (Jakub + Kądziołka) +Solution: Use "silent cd". (closes #5615) +Files: src/testdir/test_popupwin.vim + +Patch 8.2.0243 +Problem: Insufficient code coverage for ex_docmd.c functions. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5618) +Files: src/testdir/Make_all.mak, src/testdir/test_arglist.vim, + src/testdir/test_buffer.vim, src/testdir/test_cd.vim, + src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_mapping.vim, + src/testdir/test_quickfix.vim, src/testdir/test_search.vim, + src/testdir/test_sort.vim, src/testdir/test_source.vim, + src/testdir/test_substitute.vim, src/testdir/test_undo.vim, + src/testdir/test_vimscript.vim, src/testdir/test_window_cmd.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0244 +Problem: Compiler warning in Lua interface. +Solution: Add type cast. (Ken Takata, closes #5621) +Files: src/if_lua.c + +Patch 8.2.0245 +Problem: MSVC: error message if the auto directory already exists. +Solution: Add "if not exists". (Ken Takata, closes #5620) +Files: src/Make_mvc.mak + +Patch 8.2.0246 +Problem: MSVC: deprecation warnings with Ruby. +Solution: Move _CRT_SECURE_NO_DEPRECATE to build file. (Ken Takata, + closes #5622) +Files: src/Make_mvc.mak, src/if_ruby.c, src/os_win32.h, src/vim.h, + src/vimio.h + +Patch 8.2.0247 +Problem: Misleading comment in NSIS installer script. +Solution: Negate the meaning of the comment. (Ken Takata, closes #5627) +Files: nsis/gvim.nsi + +Patch 8.2.0248 +Problem: MS-Windows: dealing with deprecation is too complicated. +Solution: Use io.h directly. Move _CRT_SECURE_NO_DEPRECATE to the build + file. Suppress C4091 warning by setting "_WIN32_WINNT". (Ken + Takata, closes #5626) +Files: src/Make_mvc.mak, src/dosinst.h, src/vim.h, src/vimio.h, + src/winclip.c, Filelist + +Patch 8.2.0249 +Problem: MS-Windows: various warnings. +Solution: Set the charset to utf-8. Add _WIN32_WINNT and _USING_V110_SDK71_. + (Ken Takata, closes #5625) +Files: src/GvimExt/Makefile, src/Make_mvc.mak + +Patch 8.2.0250 +Problem: test_clear_search_pat() is unused. +Solution: Remove the function. (Yegappan Lakshmanan, closes #5624) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/regexp.pro, + src/proto/search.pro, src/proto/testing.pro, src/regexp.c, + src/search.c, src/testdir/test_writefile.vim, src/testing.c + +Patch 8.2.0251 +Problem: A couple of function return types can be more specific. +Solution: Use a better return type. (Ken Takata, closes #5629) +Files: src/evalfunc.c, src/globals.h + +Patch 8.2.0252 +Problem: Windows compiler warns for using size_t. +Solution: Change to int. (Mike Williams) +Files: src/vim9compile.c + +Patch 8.2.0253 +Problem: Crash when using :disassemble without argument. (Dhiraj Mishra) +Solution: Check for missing argument. (Dominique Pellé, closes #5635, + closes #5637) +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim, + src/ex_cmds.h + +Patch 8.2.0254 +Problem: Compiler warning for checking size_t to be negative. +Solution: Only check for zero. (Zoltan Arpadffy) +Files: src/vim9compile.c + +Patch 8.2.0255 +Problem: VMS: missing files in build. +Solution: Add the files. (Zoltan Arpadffy) +Files: src/Make_vms.mms + +Patch 8.2.0256 +Problem: Time and timer related code is spread out. +Solution: Move time and timer related code to a new file. (Yegappan + Lakshmanan, closes #5604) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/evalfunc.c, src/ex_cmds.c, src/ex_cmds2.c, src/main.c, + src/memline.c, src/misc1.c, src/misc2.c, src/proto.h, + src/proto/ex_cmds.pro, src/proto/ex_cmds2.pro, src/proto/main.pro, + src/proto/memline.pro, src/proto/misc1.pro, src/proto/misc2.pro, + src/proto/time.pro, src/time.c + +Patch 8.2.0257 +Problem: Cannot recognize a terminal in a popup window. +Solution: Add the win_gettype() function. +Files: runtime/doc/eval.txt, src/evalfunc.c, src/evalwindow.c, + src/proto/evalwindow.pro, src/testdir/test_cmdline.vim, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump + +Patch 8.2.0258 +Problem: ModifyOtherKeys cannot be temporarily disabled. +Solution: Add echoraw() with an example for modifyOtherKeys. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim, + src/testdir/dumps/Test_functions_echoraw.dump + +Patch 8.2.0259 +Problem: Terminal in popup test sometimes fails. +Solution: Clear the command line. +Files: src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump + +Patch 8.2.0260 +Problem: Several lines of code are duplicated. +Solution: Move duplicated code to a function. (Yegappan Lakshmanan, + closes #5330) +Files: src/option.c, src/os_unix.c, src/os_win32.c, src/proto/term.pro, + src/quickfix.c, src/regexp.c, src/regexp_bt.c, src/regexp_nfa.c, + src/term.c + +Patch 8.2.0261 +Problem: Some code not covered by tests. +Solution: Add test cases. (Yegappan Lakshmanan, closes #5645) +Files: src/testdir/test_buffer.vim, src/testdir/test_cmdline.vim, + src/testdir/test_exists.vim, src/testdir/test_filechanged.vim, + src/testdir/test_fileformat.vim, src/testdir/test_mapping.vim, + src/testdir/test_marks.vim, src/testdir/test_normal.vim, + src/testdir/test_plus_arg_edit.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tabpage.vim, src/testdir/test_visual.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_writefile.vim + +Patch 8.2.0262 (after 8.2.0261) +Problem: Fileformat test fails on MS-Windows. +Solution: Set fileformat of buffer. +Files: src/testdir/test_fileformat.vim + +Patch 8.2.0263 +Problem: A few new Vim9 messages are not localized. +Solution: Add the gettext wrapper. (Dominique Pellé, closes #5647) +Files: src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0264 (after 8.2.0262) +Problem: Fileformat test still fails on MS-Windows. +Solution: Set fileformat of buffer in the right place. +Files: src/testdir/test_fileformat.vim + +Patch 8.2.0265 +Problem: "eval" after "if 0" doesn't check for following command. +Solution: Add "eval" to list of commands that check for a following command. + (closes #5640) +Files: src/ex_docmd.c, src/testdir/test_expr.vim + +Patch 8.2.0266 +Problem: Terminal in popup test sometimes fails on Mac. +Solution: Add a short delay. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0267 +Problem: No check for a following command when calling a function fails. +Solution: Also check for a following command when inside a try block. + (closes #5642) +Files: src/userfunc.c, src/testdir/test_user_func.vim + +Patch 8.2.0268 (after 8.2.0267) +Problem: Trycatch test fails. +Solution: When calling function fails only check for following command, do + not give another error. +Files: src/userfunc.c + +Patch 8.2.0269 +Problem: Vim9: operator after list index does not work. (Yasuhiro + Matsumoto) +Solution: After indexing a list change the type to the list member type. + (closes #5651) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0270 +Problem: Some code not covered by tests. +Solution: Add test cases. (Yegappan Lakshmanan, closes #5649) +Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim, + src/testdir/test_edit.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_expand.vim, + src/testdir/test_filetype.vim, src/testdir/test_findfile.vim, + src/testdir/test_join.vim, src/testdir/test_move.vim, + src/testdir/test_normal.vim, src/testdir/test_registers.vim, + src/testdir/test_source.vim, src/testdir/test_tabpage.vim, + src/testdir/test_tagjump.vim, src/testdir/test_vimscript.vim, + src/testdir/test_visual.vim, src/testdir/test_window_cmd.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0271 +Problem: The "num64" feature is available everywhere and building without + it causes problems. +Solution: Graduate the "num64" feature. (James McCoy, closes #5650) +Files: src/evalfunc.c, src/feature.h, src/message.c, src/structs.h, + src/testdir/test_expr.vim, src/testdir/test_largefile.vim, + src/testdir/test_sort.vim, src/testdir/test_vimscript.vim, + src/version.c + +Patch 8.2.0272 +Problem: ":helptags ALL" gives error for directories without write + permission. (Matěj Cepl) +Solution: Ignore errors for ":helptags ALL". (Ken Takata, closes #5026, + closes #5652) +Files: src/ex_cmds.c, src/testdir/test_help.vim + +Patch 8.2.0273 +Problem: MS-Windows uninstall may delete wrong batch file. +Solution: Add specific marker in the generated batch file. (Ken Takata, + closes #5654) +Files: src/Make_mvc.mak, src/dosinst.c, src/dosinst.h, src/uninstall.c + +Patch 8.2.0274 +Problem: Hang with combination of feedkeys(), Ex mode and :global. + (Yegappan Lakshmanan) +Solution: Add the pending_exmode_active flag. +Files: src/ex_docmd.c, src/globals.h, src/getchar.c, + src/testdir/test_ex_mode.vim + +Patch 8.2.0275 +Problem: Some Ex code not covered by tests. +Solution: Add test cases. (Yegappan Lakshmanan, closes #5659) +Files: src/testdir/test_arglist.vim, src/testdir/test_autocmd.vim, + src/testdir/test_excmd.vim, src/testdir/test_quickfix.vim, + src/testdir/test_search.vim, src/testdir/test_swap.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0276 +Problem: Vim9: not allowing space before ")" in function call is too + restrictive. (Ben Jackson) +Solution: Skip space before the ")". Adjust other space checks. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0277 +Problem: Vim9: not all instructions covered by tests. +Solution: Add more test cases. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0278 +Problem: Channel test is flaky on Mac. +Solution: Reset variable before sending message. +Files: src/testdir/test_channel.vim + +Patch 8.2.0279 +Problem: Vim9: no test for deleted :def function. +Solution: Add a test. Clear uf_cleared flag when redefining a function. +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0280 +Problem: Vim9: throw in :def function not caught higher up. +Solution: Set "need_rethrow". +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0281 +Problem: Two placed signs in the same line are not combined. E.g. in the + terminal debugger a breakpoint and the PC cannot be both be + displayed. +Solution: Combine the sign column and line highlight attributes. +Files: src/sign.c, src/testdir/test_signs.vim, + src/testdir/dumps/Test_sign_cursor_3.dump, + src/testdir/dumps/Test_sign_cursor_4.dump + +Patch 8.2.0282 +Problem: Vim9: setting number option not tested. +Solution: Add more tests. Fix assigning to global variable. +Files: src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, + src/vim9execute.c + +Patch 8.2.0283 +Problem: Vim9: failing to load script var not tested. +Solution: Add more tests. Fix using s: in old script. +Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0284 +Problem: Vim9: assignment test fails. +Solution: Avoid duplicating "s:". +Files: src/vim9compile.c + +Patch 8.2.0285 +Problem: Unused error message. Cannot create s:var. +Solution: Remove the error message. Make assignment to s:var work. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0286 +Problem: Cannot use popup_close() for a terminal popup. +Solution: Allow using popup_close(). (closes #5666) +Files: src/popupwin.c, runtime/doc/popup.txt, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_5.dump, + src/testdir/dumps/Test_terminal_popup_6.dump + +Patch 8.2.0287 +Problem: Vim9: return in try block not tested; catch with pattern not + tested. +Solution: Add tests. Make it work. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0288 +Problem: Vim9: some float and blob operators not tested. +Solution: Add float and blob tests. Fix addition. +Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c + +Patch 8.2.0289 +Problem: Vim9: :echo did not clear the rest of the line. +Solution: Call msg_clr_eos(). (Ken Takata, closes #5668) +Files: src/vim9execute.c + +Patch 8.2.0290 +Problem: Running individual test differs from all tests. +Solution: Pass on environment variables. (Yee Cheng Chin, closes #5672) +Files: src/testdir/Makefile, src/testdir/README.txt + +Patch 8.2.0291 +Problem: Vim9: assigning [] to list<string> doesn't work. +Solution: Use void for empty list and dict. (Ken Takata, closes #5669) +Files: src/vim9compile.c, src/globals.h, src/testdir/test_vim9_script.vim + +Patch 8.2.0292 +Problem: Vim9: CHECKNR and CHECKTYPE instructions not tested. +Solution: Add tests. +Files: src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0293 +Problem: Various Ex commands not sufficiently tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #5673) +Files: src/testdir/test_arglist.vim, src/testdir/test_cmdline.vim, + src/testdir/test_ex_mode.vim, src/testdir/test_excmd.vim, + src/testdir/test_expand.vim, src/testdir/test_filetype.vim, + src/testdir/test_filter_cmd.vim, src/testdir/test_global.vim, + src/testdir/test_normal.vim, src/testdir/test_plus_arg_edit.vim, + src/testdir/test_quickfix.vim, src/testdir/test_trycatch.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.0294 +Problem: Cannot use Ex command that is also a function name. +Solution: Recognize an Ex command by a colon prefix. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + runtime/doc/vim9.txt + +Patch 8.2.0295 +Problem: Highlighting for :s wrong when using different separator. +Solution: Use separate argument for search direction and separator. (Rob + Pilling, closes #5665) +Files: src/ex_docmd.c, src/ex_getln.c, src/gui.c, src/normal.c, + src/proto/search.pro, src/quickfix.c, src/search.c, src/spell.c, + src/tag.c, src/testdir/dumps/Test_incsearch_substitute_15.dump, + src/testdir/test_search.vim + +Patch 8.2.0296 +Problem: Mixing up "long long" and __int64 may cause problems. (John + Marriott) +Solution: Pass varnumber_T to vim_snprintf(). Add v:numbersize. +Files: src/message.c, src/eval.c, src/fileio.c, src/json.c, src/ops.c, + src/vim.h, src/structs.h, src/evalvars.c, runtime/doc/eval.txt, + runtime/doc/various.txt, src/testdir/test_eval_stuff.vim + +Patch 8.2.0297 +Problem: Compiler warnings for the Ruby interface. +Solution: Undefine a few macros, fix initialization. (Ozaki Kiichi, + closes #5677) +Files: src/if_ruby.c + +Patch 8.2.0298 +Problem: Vim9 script: cannot start command with a string constant. +Solution: Recognize expression starting with '('. +Files: src/ex_docmd.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim, runtime/doc/vim9.txt + +Patch 8.2.0299 +Problem: Vim9: ISN_STORE with argument not tested. Some cases in tv2bool() + not tested. +Solution: Add tests. Add test_unknown() and test_void(). +Files: src/testing.c, src/proto/testing.pro, src/evalfunc.c, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, runtime/doc/eval.txt, + runtime/doc/testing.txt + +Patch 8.2.0300 +Problem: Vim9: expression test fails without channel support. +Solution: Add has('channel') check. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.0301 +Problem: Insufficient testing for exception handling and the "attention" + prompt. +Solution: Add test cases. (Yegappan Lakshmanan, closes #5681) +Files: src/testdir/test_swap.vim, src/testdir/test_trycatch.vim + +Patch 8.2.0302 +Problem: Setting 'term' may cause error in TermChanged autocommand. +Solution: Use aucmd_prepbuf() to switch to the buffer where the autocommand + is to be executed. (closes #5682) +Files: src/term.c, src/testdir/test_autocmd.vim + +Patch 8.2.0303 +Problem: TermChanged test fails in the GUI. +Solution: Skip the test when running the GUI. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.0304 +Problem: Terminal test if failing on some systems. +Solution: Wait for the job to finish. (James McCoy) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0305 +Problem: Relativenumber test fails on some systems. (James McCoy) +Solution: Clear the command line. +Files: src/testdir/test_number.vim, + src/testdir/dumps/Test_relnr_colors_2.dump, + src/testdir/dumps/Test_relnr_colors_3.dump + +Patch 8.2.0306 +Problem: Vim9: :substitute(pat(repl does not work in Vim9 script. +Solution: Remember starting with a colon. (closes #5676) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0307 +Problem: Python 3 vim.eval not well tested. +Solution: Add a test. (Dominique Pellé, closes #5680) +Files: src/testdir/test_python3.vim + +Patch 8.2.0308 +Problem: 'showbreak' does not work for a very long line. (John Little) +Solution: Check whether 'briopt' contains "sbr". (Ken Takata, closes #5523, + closes #5684) +Files: src/drawline.c, src/testdir/test_breakindent.vim + +Patch 8.2.0309 +Problem: Window-local values have confusing name. +Solution: Rename w_p_bri* to w_briopt_*. +Files: src/structs.h, src/indent.c, src/drawline.c + +Patch 8.2.0310 +Problem: Autocmd test fails on a slow system. +Solution: Adjust the expectations. (James McCoy, closes #5685) +Files: src/testdir/test_autocmd.vim + +Patch 8.2.0311 +Problem: Vim9: insufficient script tests. +Solution: Add tests. Free imports when re-using a script. +Files: src/testdir/test_vim9_script.vim, src/scriptfile.c + +Patch 8.2.0312 +Problem: Vim9: insufficient script tests. +Solution: Add more tests. Make "import * as Name" work. +Files: src/testdir/test_vim9_script.vim, src/vim9script.c, + src/proto/vim9script.pro, src/vim9compile.c + +Patch 8.2.0313 +Problem: Vim9: insufficient script tests. +Solution: Add tests. Make import of alphanumeric name work. +Files: src/testdir/test_vim9_script.vim, src/vim9script.c + +Patch 8.2.0314 +Problem: Short name not set for terminal buffer. +Solution: Set the short name. (closes #5687) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0315 +Problem: Build failure on HP-UX system. +Solution: Use LONG_LONG_MIN instead of LLONG_MIN. Add type casts for switch + statement. (John Marriott) +Files: src/structs.h, src/json.c + +Patch 8.2.0316 +Problem: ex_getln.c code has insufficient test coverage. +Solution: Add more tests. Fix a problem. (Yegappan Lakshmanan, closes #5693) +Files: src/cmdhist.c, src/testdir/test_cmdline.vim, + src/testdir/test_functions.vim, src/testdir/test_history.vim, + src/testdir/test_menu.vim + +Patch 8.2.0317 +Problem: MSVC: _CRT_SECURE_NO_DEPRECATE not defined on DEBUG build. +Solution: Move where CFLAGS is updated. (Ken Takata, closes #5692) +Files: src/Make_mvc.mak + +Patch 8.2.0318 +Problem: Vim9: types not sufficiently tested. +Solution: Add tests with more types. +Files: src/globals.h, src/vim9compile.c, + src/testdir/test_vim9_script.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.0319 +Problem: File missing in distribution, comments outdated. +Solution: Correct path of README file. Update comments. +Files: Filelist, src/evalvars.c, src/register.c, src/if_python3.c + +Patch 8.2.0320 +Problem: No Haiku support. +Solution: Add support for Haiku. (Emir Sarı, closes #5605) +Files: Filelist, runtime/doc/Makefile, runtime/doc/eval.txt, + runtime/doc/gui.txt, runtime/doc/help.txt, + runtime/doc/options.txt, runtime/doc/os_haiku.txt, + runtime/doc/starting.txt, runtime/doc/tags, + runtime/gvimrc_example.vim, runtime/vimrc_example.vim, + src/INSTALL, src/Makefile, src/auto/configure, src/configure.ac, + src/evalfunc.c, src/feature.h, src/fileio.c, src/globals.h, + src/gui.c, src/gui.h, src/gui_haiku.cc, src/gui_haiku.h, + src/mbyte.c, src/menu.c, src/misc1.c, src/mouse.c, src/option.h, + src/os_haiku.h, src/os_haiku.rdef, src/os_unix.c, src/os_unix.h, + src/osdef1.h.in, src/proto.h, src/proto/gui_haiku.pro, src/pty.c, + src/screen.c, src/structs.h, src/term.c, src/version.c, src/vim.h + +Patch 8.2.0321 +Problem: Vim9: ":execute" does not work yet. +Solution: Add ISN_EXECUTE. (closes #5699) Also make :echo work with more + than one argument. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0322 +Problem: Vim9: error checks not tested. +Solution: Add more test cases. Avoid error for function loaded later. +Files: src/vim9compile.c, src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0323 +Problem: Vim9: calling a function that is defined later is slow. +Solution: Once the function is found update the instruction so it can be + called directly. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0324 +Problem: Text property not updated correctly when inserting/deleting. +Solution: Use the right column when deleting. Make zero-width text + properties respect start_incl and end_incl. (Axel Forsman, + closes #5696, closes #5679) +Files: src/change.c, src/textprop.c, src/testdir/test_listener.vim, + src/testdir/test_textprop.vim + +Patch 8.2.0325 +Problem: Ex_getln.c code not covered by tests. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #5702) +Files: src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_functions.vim, src/testdir/test_history.vim, + src/testdir/test_options.vim + +Patch 8.2.0326 +Problem: Compiler warning for using uninitialized variable. (Yegappan + Lakshmanan) +Solution: Do not jump to failed but return. +Files: src/vim9execute.c + +Patch 8.2.0327 +Problem: Crash when opening and closing two popup terminal windows. +Solution: Check that prevwin is valid. (closes #5707) +Files: src/popupwin.c, src/testdir/test_terminal.vim + +Patch 8.2.0328 +Problem: No redraw when leaving terminal-normal mode in a terminal popup + window. +Solution: Redraw the popup window. (closes #5708) +Files: src/macros.h, src/vim.h, src/terminal.c, src/drawscreen.c, + src/move.c, src/popupwin.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_7.dump, + src/testdir/dumps/Test_terminal_popup_8.dump + +Patch 8.2.0329 +Problem: Popup filter converts 0x80 bytes. +Solution: Keep 0x80 bytes as-is. (Ozaki Kiichi, closes #5706) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.0330 +Problem: Build error with popup window but without terminal. +Solution: Add #ifdef. +Files: src/popupwin.c + +Patch 8.2.0331 +Problem: Internal error when using test_void() and test_unknown(). + (Dominique Pellé) +Solution: Give a normal error. +Files: src/evalfunc.c, src/testdir/test_functions.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.0332 +Problem: Some code in ex_getln.c not covered by tests. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #5710) +Files: src/testdir/test_arabic.vim, src/testdir/test_cmdline.vim + +Patch 8.2.0333 +Problem: Terminal in popup test is flaky. +Solution: Make sure redraw is done before opening the popup. +Files: src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump + +Patch 8.2.0334 +Problem: Abort called when using test_void(). (Dominique Pellé) +Solution: Only give an error, don't abort. +Files: src/message.c, src/proto/message.pro, src/evalfunc.c, + src/eval.c, src/json.c, src/testdir/test_functions.vim + +Patch 8.2.0335 +Problem: No completion for :disassemble. +Solution: Make completion work. Also complete script-local functions if the + name starts with "s:". +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + runtime/doc/vim9.txt + +Patch 8.2.0336 +Problem: Vim9: insufficient test coverage for compiling. +Solution: Add more tests. +Files: src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, + src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0337 +Problem: Build fails on a few systems. +Solution: Use vim_snprintf() instead of snprintf(). +Files: src/cmdexpand.c + +Patch 8.2.0338 +Problem: Build failure without the channel feature. +Solution: Add #ifdef +Files: src/vim9compile.c + +Patch 8.2.0339 +Problem: Vim9: function return type may depend on arguments. +Solution: Instead of a fixed return type use a function to figure out the + return type. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9compile.c, + src/evalbuffer.c, src/proto/evalbuffer.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.0340 +Problem: Vim9: function and partial types not tested. +Solution: Support more for partial, add tests. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0341 +Problem: Using ":for" in Vim9 script gives an error. +Solution: Pass the LET_NO_COMMAND flag. (closes #5715) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0342 +Problem: Some code in ex_getln.c not covered by tests. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5717) +Files: src/testdir/test_cmdline.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_history.vim, src/testdir/test_iminsert.vim + +Patch 8.2.0343 +Problem: Vim9: using wrong instruction, limited test coverage. +Solution: Use ISN_PUSHJOB. Add a few more tests. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0344 +Problem: ":def" not skipped properly. +Solution: Add CMD_def to list of commands the require evaluation even when + not being executed. +Files: src/ex_docmd.c + +Patch 8.2.0345 +Problem: Compiler warning when building without the float feature. +Solution: Add #ifdef. (John Marriott) +Files: src/evalfunc.c + +Patch 8.2.0346 +Problem: Vim9: finding common list type not tested. +Solution: Add more tests. Fix listing function. Fix overwriting type. +Files: src/vim9compile.c, src/userfunc.c, + src/testdir/test_vim9_script.vim, src/testdir/runtest.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0347 +Problem: Various code not covered by tests. +Solution: Add more test coverage. (Yegappan Lakshmanan, closes #5720) +Files: src/testdir/gen_opt_test.vim, src/testdir/test86.in, + src/testdir/test_cmdline.vim, src/testdir/test_digraph.vim, + src/testdir/test_ex_mode.vim, src/testdir/test_history.vim + +Patch 8.2.0348 +Problem: Vim9: not all code tested. +Solution: Add a few more tests. fix using "b:" in literal dictionary. +Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c, + src/proto/vim9compile.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.0349 +Problem: Vim9: constant expression not well tested. +Solution: Add tests for "if" with constant expression. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0350 +Problem: Vim9: expression tests don't use recognized constants. +Solution: Recognize "true" and "false" as constants. Make skipping work for + assignment and expression evaluation. +Files: src/vim9compile.c + +Patch 8.2.0351 +Problem: Terminal in popup test is still a bit flaky. +Solution: Clear and redraw before opening the popup. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0352 +Problem: FreeBSD: test for sourcing utf-8 is skipped. +Solution: Run the matchadd_conceal test separately to avoid that setting + 'term' to "ansi" causes problems for other tests. (Ozaki Kiichi, + closes #5721) +Files: src/testdir/Make_all.mak, src/testdir/test_alot_utf8.vim, + src/testdir/test_source_utf8.vim + +Patch 8.2.0353 +Problem: Vim9: while loop not tested. +Solution: Add test with "while", "break" and "continue" +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0354 +Problem: Python 3.9 does not define _Py_DEC_REFTOTAL. (Zdenek Dohnal) +Solution: Remove it, it was only for debugging. +Files: src/if_python3.c + +Patch 8.2.0355 +Problem: Vim9: str_val is confusing, it's a number +Solution: Rename to stnr_val. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0356 +Problem: MS-Windows: feedkeys() with VIMDLL cannot handle CSI correctly. +Solution: Modify mch_inchar() to encode CSI bytes. (Ozaki Kiichi, Ken + Takata, closes #5726) +Files: src/getchar.c, src/os_win32.c, src/testdir/test_popupwin.vim + +Patch 8.2.0357 +Problem: Cannot delete a text property matching both id and type. (Axel + Forsman) +Solution: Add the "both" argument. +Files: src/textprop.c, runtime/doc/textprop.txt, + src/testdir/test_textprop.vim + +Patch 8.2.0358 +Problem: Insufficient testing for indent.c. +Solution: Add indent tests. (Yegappan Lakshmanan, closes #5736) +Files: src/testdir/Make_all.mak, src/testdir/test_ex_mode.vim, + src/testdir/test_expand_func.vim, src/testdir/test_indent.vim, + src/testdir/test_lispwords.vim, src/testdir/test_smartindent.vim, + src/testdir/test_vartabs.vim + +Patch 8.2.0359 +Problem: popup_atcursor() may hang. (Yasuhiro Matsumoto) +Solution: Take the decoration into account. (closes #5728) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.0360 +Problem: Yaml files are only recognized by the file extension. +Solution: Check for a line starting with "%YAML". (Jason Franklin) +Files: runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.2.0361 +Problem: Internal error when using "0" for a callback. +Solution: Give a normal error. (closes #5743) +Files: src/evalvars.c, src/testdir/test_timers.vim + +Patch 8.2.0362 +Problem: MS-Windows: channel test fails if grep is not available. +Solution: Use another command. (Ken Takata, closes #5739) +Files: src/testdir/test_channel.vim + +Patch 8.2.0363 +Problem: Some Normal mode commands not tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5746) +Files: src/testdir/test_cindent.vim, src/testdir/test_cmdline.vim, + src/testdir/test_edit.vim, src/testdir/test_indent.vim, + src/testdir/test_normal.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_virtualedit.vim, src/testdir/test_visual.vim + +Patch 8.2.0364 +Problem: Printf test failing on Haiku. +Solution: Make a difference between int and short. (Dominique Pellé, + closes #5749) +Files: src/message.c + +Patch 8.2.0365 +Problem: Tag kind can't be a multibyte character. (Marcin Szamotulski) +Solution: Recognize multibyte character. (closes #5724) +Files: src/tag.c, src/testdir/test_taglist.vim + +Patch 8.2.0366 +Problem: Hardcopy command not tested enough. +Solution: Add tests for printing. (Dominique Pellé, closes #5748) +Files: src/testdir/test_hardcopy.vim + +Patch 8.2.0367 +Problem: Can use :pedit in a popup window. +Solution: Disallow it. +Files: src/ex_docmd.c, src/testdir/test_popupwin.vim + +Patch 8.2.0368 +Problem: Vim9: import that redefines local variable does not fail. +Solution: Check for already defined symbols. +Files: src/vim9script.c, src/proto/vim9script.pro, src/vim9compile.c, + src/proto/vim9compile.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.0369 +Problem: Various Normal mode commands not fully tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5751) +Files: src/testdir/test_arglist.vim, src/testdir/test_changelist.vim, + src/testdir/test_charsearch.vim, src/testdir/test_cmdline.vim, + src/testdir/test_edit.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_gf.vim, + src/testdir/test_iminsert.vim, src/testdir/test_increment.vim, + src/testdir/test_marks.vim, src/testdir/test_normal.vim, + src/testdir/test_prompt_buffer.vim, src/testdir/test_put.vim, + src/testdir/test_registers.vim, src/testdir/test_tagjump.vim, + src/testdir/test_visual.vim + +Patch 8.2.0370 +Problem: The typebuf_was_filled flag is sometimes not reset, which may + cause a hang. +Solution: Make sure typebuf_was_filled is reset when the typeahead buffer is + empty. +Files: src/edit.c, src/getchar.c, + +Patch 8.2.0371 +Problem: Crash with combination of terminal popup and autocmd. +Solution: Disallow closing a popup that is the current window. Add a check + that the current buffer is valid. (closes #5754) +Files: src/macros.h, src/buffer.c, src/popupwin.c, src/terminal.c, + src/testdir/test_terminal.vim + +Patch 8.2.0372 +Problem: Prop_find() may not find text property at start of the line. +Solution: Adjust the loop to find properties. (Axel Forsman, closes #5761, + closes #5663) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.0373 +Problem: Type of term_sendkeys() is unknown. +Solution: Just return zero. (closes #5762) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0374 +Problem: Using wrong printf directive for jump location. +Solution: Change "%lld" to "%d". (James McCoy, closes #5773) +Files: src/vim9execute.c + +Patch 8.2.0375 +Problem: Coverity warning for not using return value. +Solution: Move error message to separate function. +Files: src/popupwin.c + +Patch 8.2.0376 +Problem: Nasty callback test fails on some systems. +Solution: Increase the sleep time. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0377 +Problem: No CI test for a big-endian system. +Solution: Test with s390x. (James McCoy, closes #5772) +Files: .travis.yml + +Patch 8.2.0378 +Problem: prop_find() does not find all props. +Solution: Check being in the start line. (Axel Forsman, closes #5776) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.0379 +Problem: Gcc warns for ambiguous else. +Solution: Add braces. (Dominique Pellé, closes #5778) +Files: src/textprop.c + +Patch 8.2.0380 +Problem: Tiny popup when creating a terminal popup without minwidth. +Solution: Use a default minimum size of 5 lines of 20 characters. +Files: src/popupwin.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_m1.dump + +Patch 8.2.0381 +Problem: Using freed memory with :lvimgrep and autocommand. (extracted from + POC by Dominique Pellé) +Solution: Avoid deleting a dummy buffer used in a window. (closes #5777) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.0382 +Problem: Some tests fail when run under valgrind. +Solution: Increase timeouts. +Files: src/testdir/test_autocmd.vim, src/testdir/test_debugger.vim, + src/testdir/test_channel.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_popup_1.dump, + src/testdir/dumps/Test_terminal_popup_2.dump, + src/testdir/dumps/Test_terminal_popup_3.dump, + src/testdir/dumps/Test_terminal_popup_5.dump, + src/testdir/dumps/Test_terminal_popup_6.dump, + src/testdir/dumps/Test_terminal_popup_7.dump, + src/testdir/dumps/Test_terminal_popup_8.dump, + src/testdir/dumps/Test_terminal_popup_m1.dump + +Patch 8.2.0383 +Problem: Wrong feature check causes test not to be run. +Solution: Use CheckFunction instead of CheckFeature. (Ozaki Kiichi, + closes #5781) +Files: src/testdir/test_channel.vim + +Patch 8.2.0384 +Problem: Travis CI has warnings. +Solution: Avoid warnings, clean up the config. (Ozaki Kiichi, closes #5779) +Files: .travis.yml + +Patch 8.2.0385 +Problem: Menu functionality insufficiently tested. +Solution: Add tests. Add menu_info(). (Yegappan Lakshmanan, closes #5760) +Files: runtime/doc/eval.txt, runtime/doc/gui.txt, runtime/doc/usr_41.txt, + src/evalfunc.c, src/menu.c, src/proto/menu.pro, + src/testdir/test_menu.vim, src/testdir/test_popup.vim, + src/testdir/test_termcodes.vim + +Patch 8.2.0386 (after 8.2.0385) +Problem: Part from unfinished patch got included. +Solution: Undo that part. +Files: src/evalfunc.c + +Patch 8.2.0387 +Problem: Error for possible NULL argument to qsort(). +Solution: Don't call qsort() when there is nothing to sort. (Dominique + Pellé, closes #5780) +Files: src/spellsuggest.c + +Patch 8.2.0388 +Problem: Printmbcharset option not tested. +Solution: Add a test. Enable PostScript for AppVeyor build. (Dominique + Pellé, closes #5783) +Files: appveyor.yml, src/testdir/test_hardcopy.vim + +Patch 8.2.0389 +Problem: Delayed redraw when shifting text from Insert mode. +Solution: Use msg_attr_keep() instead of msg(). (closes #5782) +Files: src/ops.c + +Patch 8.2.0390 +Problem: Terminal postponed scrollback test is flaky. +Solution: Add delay in between sending keys. Rename dump files. +Files: src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_01.dump, + src/testdir/dumps/Test_terminal_02.dump, + src/testdir/dumps/Test_terminal_03.dump, + src/testdir/dumps/Test_terminal_scrollback_1.dump, + src/testdir/dumps/Test_terminal_scrollback_2.dump, + src/testdir/dumps/Test_terminal_scrollback_3.dump + +Patch 8.2.0391 (after 8.2.0377) +Problem: CI test coverage dropped. +Solution: Set $DISPLAY also for non-GUI builds. (James McCoy, closes #5788) +Files: .travis.yml + +Patch 8.2.0392 +Problem: Coverity warns for using array index out of range. +Solution: Add extra "if" to avoid warning. +Files: src/menu.c + +Patch 8.2.0393 +Problem: Coverity warns for not using return value. +Solution: Add (void). +Files: src/popupmenu.c + +Patch 8.2.0394 +Problem: Coverity complains about using NULL pointer. +Solution: Use empty string when option value is NULL. +Files: src/optionstr.c + +Patch 8.2.0395 +Problem: Build fails with FEAT_EVAL but without FEAT_MENU. +Solution: Add #ifdef. (John Marriott) +Files: src/evalfunc.c + +Patch 8.2.0396 +Problem: Cmdexpand.c insufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5789) +Files: src/testdir/test_cmdline.vim, src/testdir/test_taglist.vim, + src/testdir/test_terminal.vim, src/testdir/test_usercommands.vim + +Patch 8.2.0397 +Problem: Delayed screen update when using undo from Insert mode. +Solution: Update w_topline and cursor shape before sleeping. (closes #5790) +Files: src/normal.c + +Patch 8.2.0398 +Problem: Profile test fails when two functions take same time. +Solution: Add a short sleep in once function. (closes #5797) +Files: src/testdir/test_profile.vim + +Patch 8.2.0399 +Problem: Various memory leaks. +Solution: Avoid the leaks. (Ozaki Kiichi, closes #5803) +Files: src/ex_docmd.c, src/ex_getln.c, src/menu.c, src/message.c, + src/scriptfile.c, src/userfunc.c + +Patch 8.2.0400 +Problem: Not all tests using a terminal are in the list of flaky tests. +Solution: Introduce the test_is_flaky flag. +Files: src/testdir/runtest.vim, src/testdir/term_util.vim, + src/testdir/screendump.vim, src/testdir/test_autocmd.vim + +Patch 8.2.0401 +Problem: Not enough test coverage for evalvars.c. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5804) +Files: src/testdir/test_cmdline.vim, src/testdir/test_const.vim, + src/testdir/test_diffmode.vim, src/testdir/test_excmd.vim, + src/testdir/test_functions.vim, src/testdir/test_let.vim, + src/testdir/test_listdict.vim, src/testdir/test_spell.vim, + src/testdir/test_unlet.vim, src/testdir/test_user_func.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.0402 (after 8.2.0401) +Problem: Setting local instead of global flag. +Solution: Prepend "g:" to "test_is_flaky". +Files: src/testdir/term_util.vim, src/testdir/screendump.vim, + src/testdir/test_autocmd.vim + +Patch 8.2.0403 +Problem: When 'buftype' is "nofile" there is no overwrite check. +Solution: Also check for existing file when 'buftype' is set. + (closes #5807) +Files: src/ex_cmds.c, src/testdir/test_options.vim + +Patch 8.2.0404 +Problem: Writefile() error does not give a hint. +Solution: Add remark about first argument. +Files: src/filepath.c, src/testdir/test_writefile.vim + +Patch 8.2.0405 +Problem: MSVC: build fails with some combination of features. +Solution: Enable CHANNEL if TERMINAL is enabled. (Mike Williams) +Files: src/Make_mvc.mak + +Patch 8.2.0406 +Problem: FileReadCmd event not well tested. +Solution: Add a test. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.0407 +Problem: No early check if :find and :sfind have an argument. +Solution: Add EX_NEEDARG. +Files: src/ex_cmds.h, src/testdir/test_findfile.vim, + src/testdir/test_find_complete.vim + +Patch 8.2.0408 +Problem: Delete() commented out for testing. +Solution: Undo commenting-out. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0409 +Problem: Search test leaves file behind. +Solution: Delete the file. Also use Check commands. +Files: src/testdir/test_search.vim + +Patch 8.2.0410 +Problem: Channel test fails too often on slow Mac. +Solution: Increase waiting time to 10 seconds. +Files: src/testdir/test_channel.vim + +Patch 8.2.0411 +Problem: Mac: breakcheck is using a value from the stone ages. +Solution: Delete BREAKCHECK_SKIP from the Mac header file. (Ben Jackson) +Files: src/os_mac.h + +Patch 8.2.0412 +Problem: MS-Windows: cannot use vimtutor from the start menu. +Solution: Better check for writable directory. Use the right path for the + executable. (Wu Yongwei, closes #5774, closes #5756) +Files: vimtutor.bat + +Patch 8.2.0413 +Problem: Buffer menu does not handle special buffers properly. +Solution: Keep a dictionary with buffer names to reliably keep track of + entries. + Also trigger BufFilePre and BufFilePost for command-line and + terminal buffers when the name changes. +Files: src/testdir/test_alot.vim, src/testdir/Make_all.mak, + runtime/menu.vim, src/ex_getln.c, src/terminal.c, + src/testdir/test_menu.vim + +Patch 8.2.0414 +Problem: Channel connect_waittime() test is flaky. +Solution: Set the test_is_flaky flag. Use test_is_flaky for more tests. +Files: src/testdir/test_channel.vim, src/testdir/test_terminal.vim, + src/testdir/runtest.vim + +Patch 8.2.0415 +Problem: Bsdl filetype is not detected. +Solution: Add an entry in the filetype list. (Daniel Kho, closes #5810) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0416 +Problem: Test leaves file behind. +Solution: Delete the file. +Files: src/testdir/test_indent.vim + +Patch 8.2.0417 +Problem: Travis CI config can be improved. +Solution: Remove COVERAGE variable. Add load-snd-dummy script. add "-i NONE" + to avoid messages about viminfo. (Ozaki Kiichi, closes #5813) +Files: .travis.yml, ci/load-snd-dummy.sh + +Patch 8.2.0418 +Problem: Code in eval.c not sufficiently covered by tests. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5815) +Files: src/testdir/test_blob.vim, src/testdir/test_channel.vim, + src/testdir/test_cmdline.vim, src/testdir/test_eval_stuff.vim, + src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_job_fails.vim, src/testdir/test_lambda.vim, + src/testdir/test_let.vim, src/testdir/test_listdict.vim, + src/testdir/test_marks.vim, src/testdir/test_method.vim, + src/testdir/test_normal.vim, src/testdir/test_unlet.vim, + src/testdir/test_usercommands.vim, src/testdir/test_vimscript.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0419 +Problem: Various memory leaks in Vim9 script code. +Solution: Fix the leaks. (Ozaki Kiichi, closes #5814) +Files: src/proto/vim9compile.pro, src/scriptfile.c, src/structs.h, + src/testdir/test_vim9_script.vim, src/vim9.h, src/vim9compile.c, + src/vim9execute.c, src/vim9script.c + +Patch 8.2.0420 +Problem: Vim9: cannot interrupt a loop with CTRL-C. +Solution: Check for CTRL-C once in a while. Doesn't fully work yet. +Files: src/misc1.c, src/proto/misc1.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.0421 +Problem: Interrupting with CTRL-C does not always work. +Solution: Recognize CTRL-C while modifyOtherKeys is set. +Files: src/ui.c, src/testdir/test_vim9_script.vim, src/evalfunc.c + +Patch 8.2.0422 +Problem: Crash when passing popup window to win_splitmove(). (john Devin) +Solution: Disallow moving a popup window. (closes #5816) +Files: src/testdir/test_popupwin.vim, src/evalwindow.c + +Patch 8.2.0423 +Problem: In some environments a few tests are expected to fail. +Solution: Add $TEST_MAY_FAIL to list tests that should not cause make to + fail. +Files: src/testdir/runtest.vim + +Patch 8.2.0424 +Problem: Checking for wrong return value. (Tom) +Solution: Invert the check and fix the test. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0425 +Problem: Code for modeless selection not sufficiently tested. +Solution: Add tests. Move mouse code functionality to a common script file. + (Yegappan Lakshmanan, closes #5821) +Files: src/testdir/Make_all.mak, src/testdir/gen_opt_test.vim, + src/testdir/mouse.vim, src/testdir/test_edit.vim, + src/testdir/test_global.vim, src/testdir/test_modeless.vim, + src/testdir/test_normal.vim, src/testdir/test_selectmode.vim, + src/testdir/test_termcodes.vim, src/testdir/test_visual.vim, + src/ui.c + +Patch 8.2.0426 +Problem: Some errors were not tested for. +Solution: Add tests. (Dominique Pellé, closes #5824) +Files: src/testdir/test_buffer.vim, src/testdir/test_options.vim, + src/testdir/test_tcl.vim, src/testdir/test_terminal.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0427 +Problem: It is not possible to check for a typo in a feature name. +Solution: Add an extra argument to has(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/check.vim, + src/testdir/test_functions.vim + +Patch 8.2.0428 +Problem: Buffer name may leak. +Solution: Free the buffer name before overwriting it. +Files: src/terminal.c + +Patch 8.2.0429 +Problem: No warning when test checks for option that never exists. +Solution: In tests check that the option can exist. +Files: src/testdir/check.vim + +Patch 8.2.0430 +Problem: Window creation failure not properly tested. +Solution: Improve the test. (Yegappan Lakshmanan, closes #5826) +Files: src/testdir/test_cmdline.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.0431 +Problem: Some compilers don't support using \e for Esc. (Yegappan + Lakshmanan) +Solution: use \033 instead. +Files: src/ui.c + +Patch 8.2.0432 +Problem: A few tests fail in a huge terminal. +Solution: Make the tests pass. (Dominique Pellé, closes #5829) +Files: src/testdir/test_autocmd.vim, src/testdir/test_options.vim, + src/testdir/test_termcodes.vim, src/testdir/test_terminal.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0433 +Problem: INT signal not properly tested. +Solution: Add a test. Also clean up some unnecessary lines. (Dominique + Pellé, closes #5828) +Files: src/testdir/test_display.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_excmd.vim, src/testdir/test_messages.vim, + src/testdir/test_signals.vim + +Patch 8.2.0434 +Problem: MS-Windows with VTP: Normal color not working. +Solution: After changing the Normal color update the VTP console color. + (Nobuhiro Takasaki, closes #5836) +Files: src/highlight.c + +Patch 8.2.0435 +Problem: Channel contents might be freed twice. +Solution: Call either channel_free_channel() or channel_free(), not both. + (Nobuhiro Takasaki, closes #5835) +Files: src/channel.c + +Patch 8.2.0436 +Problem: No warnings for incorrect printf arguments. +Solution: Fix attribute in declaration. Fix uncovered mistakes. (Dominique + Pellé, closes #5834) +Files: src/proto.h, src/eval.c, src/ops.c, src/spellfile.c, + src/vim9compile.c, src/vim9execute.c, src/viminfo.c, src/gui.c + +Patch 8.2.0437 +Problem: MS-Windows installer contains old stuff. +Solution: Rely on Windows NT. (Ken Takata, closes #5832) +Files: src/dosinst.c + +Patch 8.2.0438 +Problem: Terminal noblock test is very flaky on BSD. +Solution: Change WaitFor() to WaitForAssert() to be able to see why it + failed. Add a short wait in between sending keys. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0439 +Problem: :disassemble has minor flaws. +Solution: Format the code. Use (int) instead of (char) for %c. + (also by James McCoy, closes #5831) +Files: src/vim9execute.c + +Patch 8.2.0440 +Problem: Terminal noblock test is still very flaky on BSD. +Solution: Increase the waiting time. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0441 +Problem: Terminal noblock test is still failing on BSD. +Solution: Reduce the amount of text. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0442 +Problem: Channel contents might be used after being freed. +Solution: Reset the job channel before freeing the channel. +Files: src/channel.c + +Patch 8.2.0443 +Problem: Clipboard code is spread out. +Solution: Move clipboard code to its own file. (Yegappan Lakshmanan, + closes #5827) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/clipboard.c, src/ops.c, src/proto.h, src/proto/clipboard.pro, + src/proto/ops.pro, src/proto/register.pro, src/proto/ui.pro, + src/register.c, src/ui.c + +Patch 8.2.0444 +Problem: Swap file test fails on some systems. +Solution: Preserve the swap file. Send NL terminated keys. +Files: src/testdir/test_swap.vim + +Patch 8.2.0445 +Problem: Png and xpm files not in MS-Windows zip file. +Solution: Move files to shared between Unix and Windows target. +Files: Filelist + +Patch 8.2.0446 +Problem: Listener with undo of deleting all lines not tested. +Solution: Add a test. +Files: src/testdir/test_listener.vim + +Patch 8.2.0447 +Problem: Terminal scroll tests fails on some systems. +Solution: Remove the fixed 100msec wait for Win32. Add a loop to wait until + scrolling has finished. (James McCoy, closes #5842) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0448 +Problem: Various functions not properly tested. +Solution: Add more tests, especially for failures. (Yegappan Lakshmanan, + closes #5843) +Files: runtime/doc/eval.txt, src/testdir/test_blob.vim, + src/testdir/test_breakindent.vim, src/testdir/test_charsearch.vim, + src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, + src/testdir/test_exists.vim, src/testdir/test_expand_func.vim, + src/testdir/test_expr.vim, src/testdir/test_file_perm.vim, + src/testdir/test_functions.vim, src/testdir/test_gui.vim, + src/testdir/test_listdict.vim, src/testdir/test_marks.vim, + src/testdir/test_partial.vim, src/testdir/test_registers.vim, + src/testdir/test_search.vim, src/testdir/test_spell.vim, + src/testdir/test_substitute.vim, src/testdir/test_syn_attr.vim, + src/testdir/test_syntax.vim, src/testdir/test_taglist.vim, + src/testdir/test_utf8.vim, src/testdir/test_vartabs.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.0449 +Problem: Vim9: crash if return type is invalid. (Yegappan Lakshmanan) +Solution: Always return some type, not NULL. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0450 +Problem: Not enough testing for restricted mode and function calls. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5847) +Files: src/testdir/test_method.vim, src/testdir/test_restricted.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0451 +Problem: Win32: double-width character displayed incorrectly. +Solution: First move the cursor to the first column. (Nobuhiro Takasaki, + closes #5848) +Files: src/os_win32.c + +Patch 8.2.0452 +Problem: channel_parse_messages() fails when called recursively. +Solution: Return for a recursive call. (closes #5835) +Files: src/channel.c + +Patch 8.2.0453 +Problem: Trailing space in job_start() command causes empty argument. +Solution: Ignore trailing space. (closes #5851) +Files: src/misc2.c, src/testdir/test_channel.vim + +Patch 8.2.0454 +Problem: Some tests fail when the system is slow. +Solution: Make the run number global, use in the test to increase the + waiting time. (closes #5841) +Files: src/testdir/runtest.vim, src/testdir/test_functions.vim + +Patch 8.2.0455 +Problem: Cannot set the highlight group for a specific terminal. +Solution: Add the "highlight" option to term_start(). (closes #5818) +Files: src/terminal.c, src/structs.h, src/channel.c, + src/testdir/test_terminal.vim, runtime/doc/terminal.txt, + src/testdir/dumps/Test_terminal_popup_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_MyTermCol.dump + +Patch 8.2.0456 +Problem: Test_confirm_cmd is flaky. +Solution: Add a term_wait() call. (closes #5854) +Files: src/testdir/test_excmd.vim + +Patch 8.2.0457 +Problem: Test_quotestar() often fails when run under valgrind. +Solution: Wait longer for the GUI to start. +Files: src/testdir/test_quotestar.vim + +Patch 8.2.0458 +Problem: Missing feature check in test function. +Solution: Add check commands. +Files: src/testdir/test_excmd.vim + +Patch 8.2.0459 +Problem: Cannot check if a function name is correct. +Solution: Add "?funcname" to exists(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_exists.vim, + src/testdir/check.vim + +Patch 8.2.0460 (after 8.2.0459) +Problem: Build failure because of wrong feature name. +Solution: Correct feature name. +Files: src/evalfunc.c + +Patch 8.2.0461 +Problem: Confirm test fails on amd64 system. (Alimar Riesebieter) +Solution: Add an extra WaitForAssert(). (Dominique Pellé) +Files: src/testdir/test_excmd.vim + +Patch 8.2.0462 +Problem: Previewwindow test fails on some systems. (James McCoy) +Solution: Wait a bit after sending the "o". (closes #5849) +Files: src/testdir/test_popup.vim, + src/testdir/dumps/Test_popup_and_previewwindow_01.dump + +Patch 8.2.0463 +Problem: Build error without float and channel feature. (John Marriott) +Solution: Define return types always. +Files: src/globals.h, src/evalfunc.c + +Patch 8.2.0464 +Problem: Typos and other small problems. +Solution: Fix the typos. Add missing files to the distribution. +Files: Filelist, src/buffer.c, src/drawline.c, src/gui_gtk_x11.c, + src/os_unixx.h, src/proto/popupwin.pro + +Patch 8.2.0465 +Problem: Vim9: dead code and wrong return type. +Solution: Remove dead code. Fix return type. Add more tests. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0466 (after 8.2.0452) +Problem: Not parsing messages recursively breaks the govim plugin. +Solution: When called recursively do handle messages but do not close + channels. +Files: src/channel.c + +Patch 8.2.0467 +Problem: Vim9: some errors are not tested +Solution: Add more tests. Fix that Vim9 script flag is not reset. +Files: src/vim9compile.c, src/scriptfile.c, src/dict.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0468 +Problem: GUI: pixel dust with some fonts and characters. +Solution: Always redraw the character before the cursor. (Nir Lichtman, + closes #5549, closes #5856) +Files: src/gui.c, src/proto/gui.pro, src/screen.c + +Patch 8.2.0469 +Problem: Vim9: no error for missing ] after list. +Solution: Add error message. Add more tests. +Files: src/globals.h, src/list.c, src/userfunc.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_lambda.vim + +Patch 8.2.0470 +Problem: Test_confirm_cmd_cancel() can fail on a slow system. +Solution: Use WaitForAssert(). (Ozaki Kiichi, closes #5861) +Files: src/testdir/test_excmd.vim + +Patch 8.2.0471 +Problem: Missing change to compile_list(). +Solution: Add error message. +Files: src/vim9compile.c + +Patch 8.2.0472 +Problem: Terminal highlight name is set twice, leaking memory. +Solution: Delete one. +Files: src/terminal.c + +Patch 8.2.0473 +Problem: Variables declared in an outer scope. +Solution: Declare variables only in the scope where they are used. +Files: src/evalvars.c + +Patch 8.2.0474 (after 8.2.0403) +Problem: Cannot use :write when using a plugin with BufWriteCmd. +Solution: Reset BF_NOTEDITED after BufWriteCmd. (closes #5807) +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 8.2.0475 +Problem: Channel out_cb test still fails sometimes on Mac. +Solution: Use an even longer timeout. +Files: src/testdir/test_channel.vim + +Patch 8.2.0476 +Problem: Terminal nasty callback test fails sometimes. +Solution: use term_wait() instead of a sleep. (Yee Cheng Chin, closes #5865) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0477 +Problem: Vim9: error messages not tested. +Solution: Add more tests. +Files: src/testdir/test_vim9_expr.vim, src/vim9execute.c + +Patch 8.2.0478 +Problem: New buffers are not added to the Buffers menu. +Solution: Turn number into string. (Yee Cheng Chin, closes #5864) +Files: runtime/menu.vim, src/testdir/test_menu.vim + +Patch 8.2.0479 +Problem: Unloading shared libraries on exit has no purpose. +Solution: Do not unload shared libraries on exit. +Files: src/if_lua.c, src/if_perl.xs, src/if_python.c, src/if_python3.c, + src/if_ruby.c, src/if_tcl.c + +Patch 8.2.0480 +Problem: Vim9: some code is not tested. +Solution: Add more tests. +Files: src/testdir/test_vim9_expr.vim, src/vim9compile.c + +Patch 8.2.0481 +Problem: Travis is still using trusty. +Solution: Adjust config to use bionic. (Ozaki Kiichi, closes #5868) +Files: .travis.yml, src/testdir/lsan-suppress.txt + +Patch 8.2.0482 +Problem: Channel and sandbox code not sufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5855) +Files: src/option.h, src/testdir/test_channel.vim, + src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, + src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_normal.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_restricted.vim, src/testdir/test_smartindent.vim, + src/testdir/test_substitute.vim, src/testdir/test_terminal.vim, + src/testdir/test_textformat.vim, src/testdir/test_visual.vim + +Patch 8.2.0483 +Problem: Vim9: "let x = x + 1" does not give an error. +Solution: Hide the variable when compiling the expression. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0484 +Problem: Vim9: some error messages not tested. +Solution: Add more tests. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.0485 (after 8.2.0483) +Problem: Vim9 script test fails. +Solution: Stricter condition for adding new local variable. +Files: Stricter condition for adding new local variable. + +Patch 8.2.0486 +Problem: Vim9: some code and error messages not tested. +Solution: Add more tests. +Files: src/vim9compile.c, src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0487 +Problem: Vim9: compiling not sufficiently tested. +Solution: Add more tests. Fix bug with PCALL. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0488 +Problem: Vim9: Compiling can break when using a lambda inside :def. +Solution: Do not keep a pointer to the dfunc_T for longer time. +Files: src/vim9compile.c, src/vim9.h + +Patch 8.2.0489 +Problem: Vim9: memory leaks. +Solution: Free memory in the right place. Add hints for using asan. +Files: src/vim9compile.c, src/testdir/lsan-suppress.txt, src/Makefile + +Patch 8.2.0490 +Problem: Win32: VTP doesn't respect 'restorescreen'. +Solution: Use escape codes to switch to alternate screen. (Nobuhiro + Takasaki, closes #5872) +Files: src/os_win32.c + +Patch 8.2.0491 +Problem: Cannot recognize a <script> mapping using maparg(). +Solution: Add the "script" key. (closes #5873) +Files: src/map.c, runtime/doc/eval.txt, src/testdir/test_maparg.vim + +Patch 8.2.0492 +Problem: Vim9: some error messages not tested. +Solution: Add more tests. Remove dead code. Fix uncovered bugs. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0493 +Problem: Vim9: some error messages not tested. +Solution: Add more tests. Fix uncovered bugs. +Files: src/vim9compile.c, src/vim9execute.c, src/testing.c, src/eval.c, + src/proto/testing.pro, src/evalfunc.c, runtime/doc/eval.txt, + runtime/doc/testing.txt, src/testdir/test_vim9_script.vim + +Patch 8.2.0494 +Problem: Vim9: asan error. +Solution: Only get the type when there is one. +Files: src/vim9compile.c + +Patch 8.2.0495 +Problem: Vim9: some code not tested. +Solution: Add more tests. Support more const expressions. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0496 +Problem: Vim9: disassemble test fails. +Solution: Separate test cases with recognized constant expressions. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0497 +Problem: Too verbose output from the asan build in Travis. +Solution: Filter out suppression messages. (Ozaki Kiichi, closes #5874) +Files: .travis.yml + +Patch 8.2.0498 +Problem: Coverity complains about uninitialized field. +Solution: Initialize the whole typval_T. +Files: src/vim9compile.c + +Patch 8.2.0499 +Problem: Calling a lambda is slower than evaluating a string. +Solution: Make calling a lambda faster. (Ken Takata, closes #5727) +Files: src/userfunc.c + +Patch 8.2.0500 +Problem: Using the same loop in many places. +Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes #5339) +Files: src/arglist.c, src/autocmd.c, src/buffer.c, src/change.c, + src/channel.c, src/cmdexpand.c, src/diff.c, src/eval.c, + src/evalbuffer.c, src/evalfunc.c, src/evalvars.c, + src/evalwindow.c, src/ex_cmds2.c, src/filepath.c, src/globals.h, + src/gui.c, src/if_py_both.h, src/if_ruby.c, src/insexpand.c, + src/list.c, src/misc2.c, src/netbeans.c, src/popupwin.c, + src/quickfix.c, src/screen.c, src/sign.c, src/spell.c, + src/spellfile.c, src/spellsuggest.c, src/tag.c, src/terminal.c, + src/userfunc.c, src/window.c + +Patch 8.2.0501 +Problem: Vim9: script test fails when channel feature is missing. +Solution: Add a has() condition. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0502 +Problem: Vim9: some code is not tested. +Solution: Add more tests. Fix uncovered problems. +Files: src/vim9compile.c, src/regexp.c, src/proto/regexp.pro, + src/cmdexpand.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_eval.c, + src/ex_getln.c, src/highlight.c, src/search.c, src/syntax.c, + src/tag.c, src/userfunc.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0503 +Problem: Vim9: some code is not tested. +Solution: Add tests. Fix uncovered problems. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0504 +Problem: Vim9: leaking scope memory when compilation fails. +Solution: Cleanup the scope list. +Files: src/vim9compile.c + +Patch 8.2.0505 +Problem: term_gettty() not sufficiently tested. +Solution: Add more asserts. (Dominique Pellé, closes #5877) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0506 +Problem: Coverity complains about ignoring return value. +Solution: Add (void). +Files: src/userfunc.c + +Patch 8.2.0507 (after 8.2.0472) +Problem: Getbufvar() may get the wrong dictionary. (David le Blanc) +Solution: Check for empty name. (closes #5878) +Files: src/evalvars.c, src/testdir/test_functions.vim + +Patch 8.2.0508 +Problem: Vim9: func and partial types not done yet +Solution: Fill in details about func declaration, drop a separate partial + declaration. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/globals.h, + src/structs.h, src/evalfunc.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0509 +Problem: various code is not properly tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5871) +Files: src/main.c, src/testdir/check.vim, src/testdir/shared.vim, + src/testdir/term_util.vim, src/testdir/test_clientserver.vim, + src/testdir/test_ex_mode.vim, src/testdir/test_expand.vim, + src/testdir/test_functions.vim, src/testdir/test_options.vim, + src/testdir/test_startup.vim, src/testdir/test_textformat.vim, + src/testdir/test_trycatch.vim, src/testdir/test_viminfo.vim + +Patch 8.2.0510 +Problem: Coverity complains about using uninitialized variable. +Solution: Assign a value to "scol". Move code inside NULL check. +Files: src/beval.c, src/popupwin.c + +Patch 8.2.0511 +Problem: Cscope code not fully tested. +Solution: Add more test cases. (Dominique Pellé, closes #5886) +Files: src/testdir/test_cscope.vim + +Patch 8.2.0512 +Problem: Vim9: no optional arguments in func type. +Solution: Check for question mark after type. Find function reference + without function(). +Files: src/vim9compile.c, src/vim9execute.c, src/structs.h, + src/globals.h, src/vim.h, src/vim9.h, src/userfunc.c, + src/testdir/Make_all.mak, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0513 +Problem: Reading past allocated memory when using varargs. +Solution: Fix copying function argument types. +Files: src/vim9compile.c + +Patch 8.2.0514 +Problem: Several global functions are used in only one file. +Solution: Make the functions static. (Yegappan Lakshmanan, closes #5884) +Files: src/drawscreen.c, src/evalvars.c, src/getchar.c, src/list.c, + src/proto/drawscreen.pro, src/proto/evalvars.pro, + src/proto/getchar.pro, src/proto/list.pro, src/proto/version.pro, + src/version.c + +Patch 8.2.0515 +Problem: Some compilers cannot add to "void *". +Solution: Cast to "char *". +Files: src/vim9compile.c + +Patch 8.2.0516 +Problem: Client-server code is spread out. +Solution: Move client-server code to a new file. (Yegappan Lakshmanan, + closes #5885) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/clientserver.c, src/evalfunc.c, src/main.c, src/proto.h, + src/proto/clientserver.pro, src/proto/main.pro + +Patch 8.2.0517 +Problem: Vim9: cannot separate "func" and "func(): void". +Solution: Use VAR_ANY for "any" and VAR_UNKNOWN for "no type". +Files: src/structs.h, src/globals.h, src/eval.c, src/evalfunc.c, + src/evalvars.c, src/testing.c, src/vim9compile.c, + src/vim9execute.c, src/viminfo.c, src/if_py_both.h, src/json.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0518 +Problem: A terminal falls back to setting $TERM to "xterm". +Solution: Use "xterm-color" if more than 16 colors are supported and + "xterm-256color" if at least 256 colors are supported. + (closes #5887) +Files: src/os_unix.c + +Patch 8.2.0519 +Problem: Vim9: return type not properly checked. +Solution: Check type properly, also at runtime. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0520 +Problem: Tests are not listed in sorted order. +Solution: Move test_ex_mode. (Doug Richardson, closes #5889) +Files: src/testdir/Make_all.mak + +Patch 8.2.0521 +Problem: Crash when reading a blob fails. +Solution: Avoid keeping a pointer to a freed blob object. (Dominique Pellé, + closes #5890) Adjust error messages. +Files: src/filepath.c, src/testdir/test_blob.vim + +Patch 8.2.0522 +Problem: Several errors are not tested for. +Solution: Add tests. (Yegappan Lakshmanan, closes #5892) +Files: src/testdir/test_autocmd.vim, src/testdir/test_clientserver.vim, + src/testdir/test_digraph.vim, src/testdir/test_expand.vim, + src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_gui.vim, src/testdir/test_highlight.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_lambda.vim, + src/testdir/test_listdict.vim, src/testdir/test_normal.vim, + src/testdir/test_options.vim, src/testdir/test_preview.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim, + src/testdir/test_vimscript.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.0523 +Problem: Loops are repeated. +Solution: Use FOR_ALL_ macros. (Yegappan Lakshmanan, closes #5882) +Files: src/buffer.c, src/drawscreen.c, src/evalfunc.c, src/evalwindow.c, + src/globals.h, src/gui_athena.c, src/gui_gtk.c, src/gui_motif.c, + src/gui_w32.c, src/list.c, src/menu.c, src/popupmenu.c, + src/popupwin.c, src/quickfix.c, src/syntax.c, src/time.c, + src/userfunc.c, src/vim9compile.c + +Patch 8.2.0524 +Problem: Win32: searching for file matches is slow. +Solution: Instead of making another round to find any short filename, check + for the short name right away. Avoid using an ordinary file like a + directory. (Nir Lichtman, closes #5883) +Files: src/filepath.c + +Patch 8.2.0525 (after 8.2.0524) +Problem: Win32: typo in assignment and misplaced paren. +Solution: Fix the syntax. +Files: src/filepath.c + +Patch 8.2.0526 +Problem: Gcc 9 complains about empty statement. +Solution: Add {}. (Dominique Pellé, closes #5894) +Files: src/evalfunc.c + +Patch 8.2.0527 +Problem: Vim9: function types insufficiently tested. +Solution: Add more tests. Fix white space check. Add "test_vim9" target. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, src/Makefile, + src/testdir/Makefile, src/testdir/Make_all.mak + +Patch 8.2.0528 +Problem: Vim9: function arguments insufficiently tested. +Solution: Check types. Add more tests. Fix function with varargs only. +Files: src/vim9compile.c, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0529 +Problem: Vim9: function argument with default not checked. +Solution: Check type of argument with default value. +Files: src/vim9compile.c, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0530 +Problem: Test crashes on s390. (James McCoy) +Solution: Explicitly define an 8 big signed type. (closes #5897) +Files: src/structs.h + +Patch 8.2.0531 +Problem: Various errors not tested. +Solution: Add tests. (Yegappan Lakshmanan, closes #5895) +Files: src/testdir/test_search.vim, src/testdir/test_source.vim, + src/testdir/test_syntax.vim, src/testdir/test_user_func.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.0532 +Problem: Cannot use simplify() as a method. +Solution: Add FEARG_1. (closes #5896) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.2.0533 +Problem: Tests using term_wait() can still be flaky. +Solution: Increase the wait time when rerunning a test. (James McCoy, + closes #5899) Halve the initial times to make tests run faster + when there is no rerun. +Files: src/testdir/term_util.vim, src/testdir/test_arglist.vim, + src/testdir/test_autocmd.vim, src/testdir/test_balloon.vim, + src/testdir/test_bufline.vim, src/testdir/test_channel.vim, + src/testdir/test_cmdline.vim, src/testdir/test_conceal.vim, + src/testdir/test_cursorline.vim, src/testdir/test_debugger.vim, + src/testdir/test_diffmode.vim, src/testdir/test_display.vim, + src/testdir/test_functions.vim, src/testdir/test_highlight.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_mapping.vim, + src/testdir/test_match.vim, src/testdir/test_matchadd_conceal.vim, + src/testdir/test_messages.vim, src/testdir/test_number.vim, + src/testdir/test_popup.vim, src/testdir/test_popupwin.vim, + src/testdir/test_profile.vim, src/testdir/test_search.vim, + src/testdir/test_search_stat.vim, src/testdir/test_startup.vim, + src/testdir/test_startup_utf8.vim, + src/testdir/test_statusline.vim, src/testdir/test_suspend.vim, + src/testdir/test_swap.vim, src/testdir/test_tagjump.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal_fail.vim, + src/testdir/test_timers.vim, src/testdir/test_vimscript.vim + +Patch 8.2.0534 +Problem: Client-server test fails under valgrind. +Solution: Use WaitForAssert(). +Files: src/testdir/test_clientserver.vim + +Patch 8.2.0535 +Problem: Regexp patterns not fully tested. +Solution: Add more regexp tests and others. (Yegappan Lakshmanan, + closes #5901) +Files: src/testdir/test_marks.vim, src/testdir/test_options.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_search.vim + +Patch 8.2.0536 +Problem: Vim9: some compilation code not tested. +Solution: Add more test cases. +Files: src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0537 +Problem: Vim9: no check for sandbox when setting v:var. +Solution: Check for sandbox. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0538 +Problem: Vim9: VAR_PARTIAL is not used during compilation. +Solution: Remove VAR_PARTIAL. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0539 +Problem: Comparing two NULL list fails. +Solution: Change the order of comparing two lists. +Files: src/list.c, src/testdir/test_assert.vim + +Patch 8.2.0540 +Problem: Regexp and other code not tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5904) +Files: src/testdir/test_backspace_opt.vim, src/testdir/test_expr.vim, + src/testdir/test_increment.vim, src/testdir/test_normal.vim, + src/testdir/test_options.vim, src/testdir/test_regexp_latin.vim, + src/testdir/test_search.vim, src/testdir/test_substitute.vim, + src/testdir/test_terminal.vim, src/testdir/test_virtualedit.vim + +Patch 8.2.0541 +Problem: Travis CI does not give compiler warnings. +Solution: Add flags for warnings. Fix uncovered problems. (Ozaki Kiichi, + closes #5898) +Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed, + ci/config.mk.sed, src/if_perl.xs, src/if_ruby.c, + src/libvterm/t/harness.c + +Patch 8.2.0542 +Problem: No test for E386. +Solution: Add a test. (Dominique Pellé, closes #5911) +Files: src/testdir/test_search.vim + +Patch 8.2.0543 +Problem: Vim9: function with varargs does not work properly. +Solution: Improve function type spec and add tests. Fix bugs. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9execute.c, + src/structs.h, src/testdir/test_vim9_func.vim + +Patch 8.2.0544 +Problem: Memory leak in search test. +Solution: Free msgbuf. (Dominique Pellé, closes #5912) +Files: src/search.c + +Patch 8.2.0545 +Problem: Unused arguments ignored in non-standard way. +Solution: Add UNUSED instead of (void). +Files: src/libvterm/t/harness.c + +Patch 8.2.0546 +Problem: Vim9: varargs implementation is inefficient. +Solution: Create list without moving the arguments. +Files: src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0547 +Problem: Win32: restoring screen not always done right. +Solution: Use a more appropriate method. (Nobuhiro Takasaki, closes #5909) +Files: src/os_win32.c + +Patch 8.2.0548 +Problem: Vim9: not all possible func type errors tested. +Solution: Add more tests. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0549 +Problem: User systemd files not recognized. +Solution: Add filetype patterns. (Kevin Locke, closes #5914) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0550 +Problem: Some changes in the libvterm upstream code. +Solution: Include some changes. +Files: src/libvterm/t/harness.c + +Patch 8.2.0551 +Problem: Not all code for options is tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5913) +Files: src/testdir/test_options.vim, src/testdir/test_python3.vim, + src/testdir/test_undo.vim, src/testdir/test_vimscript.vim + +Patch 8.2.0552 +Problem: Vim9: some errors not covered by tests. +Solution: Add more tests. Check Funcref argument types. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0553 (after 8.2.0550) +Problem: Error for unused argument. +Solution: Add UNUSED. +Files: src/libvterm/t/harness.c + +Patch 8.2.0554 +Problem: The GUI doesn't set t_Co. +Solution: In the GUI set t_Co to 256 * 256 * 256. (closes #5903) +Files: src/term.c, src/proto/term.pro, src/gui.c, + src/testdir/test_gui.vim + +Patch 8.2.0555 +Problem: Vim9: line continuation is not always needed. +Solution: Recognize continuation lines automatically in list and dict. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0556 +Problem: Vim9: memory leak when finding common type. +Solution: Store allocated memory in type growarray. +Files: src/vim9compile.c + +Patch 8.2.0557 +Problem: No IPv6 support for channels. +Solution: Add IPv6 support. (Ozaki Kiichi, closes #5893) +Files: .travis.yml, runtime/doc/channel.txt, runtime/doc/various.txt, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, + src/channel.c, src/config.h.in, src/configure.ac, src/evalfunc.c, + src/proto/channel.pro, src/testdir/check.vim, + src/testdir/runtest.vim, src/testdir/test_cdo.vim, + src/testdir/test_channel.py, src/testdir/test_channel.vim, + src/testdir/test_channel_6.py, src/testdir/test_escaped_glob.vim, + src/testdir/test_getcwd.vim, src/testdir/test_hide.vim + +Patch 8.2.0558 +Problem: Vim9: dict code not covered by tests. +Solution: Remove dead code, adjust test case. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0559 +Problem: Clearing a struct is verbose. +Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER(). +Files: src/vim.h, src/blowfish.c, src/channel.c, src/charset.c, + src/clipboard.c, src/diff.c, src/eval.c, src/evalfunc.c, + src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, src/findfile.c, + src/gui_gtk_f.c, src/gui_mac.c, src/gui_motif.c, src/gui_w32.c, + src/gui_x11.c, src/hardcopy.c, src/hashtab.c, src/highlight.c, + src/if_mzsch.c, src/insexpand.c, src/kword_test.c, src/list.c, + src/main.c, src/map.c, src/memfile.c, src/message_test.c, + src/misc1.c, src/netbeans.c, src/normal.c, src/ops.c, + src/option.c, src/os_mswin.c, src/os_win32.c, src/popupmenu.c, + src/quickfix.c, src/regexp.c, src/regexp_bt.c, src/regexp_nfa.c, + src/search.c, src/sign.c, src/spell.c, src/spellfile.c, + src/spellsuggest.c, src/syntax.c, src/tag.c, src/terminal.c, + src/time.c, src/undo.c, src/userfunc.c, src/vim9compile.c, + src/vim9execute.c, src/if_py_both.h + +Patch 8.2.0560 +Problem: Compiler warning in tiny build. +Solution: Move declaration inside #ifdef. (Dominique Pellé, closes #5915) +Files: src/ex_docmd.c + +Patch 8.2.0561 +Problem: Vim9: cannot split function call in multiple lines. +Solution: Find more arguments in following lines. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0562 +Problem: Vim9: cannot split an expression into multiple lines. +Solution: Continue in next line after an operator. +Files: runtime/doc/vim9.txt, src/macros.h, src/vim9compile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0563 +Problem: Vim9: cannot split a function line. +Solution: Continue in next line so long as the function isn't done. +Files: runtime/doc/vim9.txt, src/userfunc.c, src/proto/userfunc.pro, + src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0564 +Problem: Vim9: calling a def function from non-vim9 may fail. +Solution: Convert varargs to a list. +Files: src/testdir/test_vim9_func.vim, src/vim9execute.c + +Patch 8.2.0565 +Problem: Vim9: tests contain superfluous line continuation. +Solution: Remove line continuation no longer needed. Skip empty lines. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0566 +Problem: Vim9: variable can be used uninitialized. +Solution: Jump to after where variable is used. +Files: src/vim9execute.c + +Patch 8.2.0567 +Problem: Vim9: cannot put comments halfway expressions. +Solution: Support # comments in many places. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/userfunc.c, + src/ex_docmd.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0568 +Problem: The man filetype plugin overwrites the unnamed register. +Solution: Use the black hole register. (Jason Franklin) +Files: runtime/ftplugin/man.vim, src/testdir/test_man.vim + +Patch 8.2.0569 +Problem: Build failure with tiny version. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.0570 +Problem: Vim9: no error when omitting type from argument. +Solution: Enforce specifying argument types. +Files: src/userfunc.c, src/ex_eval.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0571 +Problem: Double free when passing invalid argument to job_start(). +Solution: Clear the argument when freed. (Masato Nishihata, closes #5926) +Files: src/misc2.c, src/testdir/test_channel.vim + +Patch 8.2.0572 (after 8.2.0571) +Problem: Using two lines for free and reset. +Solution: Use VIM_CLEAR() instead. (Yegappan Lakshmanan) +Files: src/misc2.c + +Patch 8.2.0573 +Problem: using :version twice leaks memory +Solution: Only initialize variables once. (Dominique Pellé, closes #5917) +Files: src/testdir/Make_all.mak, src/testdir/test_alot.vim, + src/testdir/test_version.vim, src/version.c, src/globals.h + +Patch 8.2.0574 +Problem: Ipv6 feature not shown in :version output. +Solution: Add ipv6 in :version output. (Ozaki Kiichi, closes #5924) +Files: runtime/doc/eval.txt, src/version.c + +Patch 8.2.0575 +Problem: :digraph! not tested. +Solution: Add a test. (Dominique Pellé, closes #5925) +Files: src/testdir/test_digraph.vim + +Patch 8.2.0576 +Problem: Some errors are not covered by tests. +Solution: Add a few more tests. (Dominique Pellé, closes #5920) +Files: src/testdir/test_buffer.vim, src/testdir/test_digraph.vim, + src/testdir/test_expr.vim, src/testdir/test_messages.vim + +Patch 8.2.0577 +Problem: Not all modifiers supported for :options. +Solution: Use all cmdmod.split flags. (closes #4401) +Files: src/usercmd.c, src/proto/usercmd.pro, src/scriptfile.c, + src/testdir/test_options.vim, src/testdir/test_usercommands.vim + +Patch 8.2.0578 +Problem: Heredoc for interfaces does not support "trim". +Solution: Update the script heredoc support to be same as the :let command. + (Yegappan Lakshmanan, closes #5916) +Files: runtime/doc/if_lua.txt, runtime/doc/if_mzsch.txt, + runtime/doc/if_perl.txt, runtime/doc/if_pyth.txt, + runtime/doc/if_ruby.txt, runtime/doc/if_tcl.txt, src/evalvars.c, + src/ex_getln.c, src/proto/evalvars.pro, src/testdir/test86.in, + src/testdir/test87.in, src/testdir/test_lua.vim, + src/testdir/test_perl.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_pyx2.vim, + src/testdir/test_pyx3.vim, src/testdir/test_ruby.vim, + src/testdir/test_tcl.vim, src/userfunc.c, src/vim9compile.c + +Patch 8.2.0579 +Problem: Coverity warns for unused value. +Solution: Change order and use "else if". +Files: src/os_unix.c + +Patch 8.2.0580 +Problem: Window size wrong if 'ea' is off and 'splitright' is on and + splitting then closing a window. +Solution: Put abandoned window space in the right place. (Mark Waggoner) +Files: src/testdir/test_winbuf_close.vim, src/window.c + +Patch 8.2.0581 (after 8.2.0547) +Problem: Win32 console: the cursor position is always top-left. +Solution: Revert the patch for restoring screen. +Files: src/os_win32.c + +Patch 8.2.0582 +Problem: Color ramp test does not show text colors. +Solution: Add a row of 16 text colors and 16 bold text colors. +Files: src/testdir/color_ramp.vim + +Patch 8.2.0583 +Problem: Vim9: # comment not recognized in :def function. +Solution: Recognize and skip # comment. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0584 +Problem: Viminfo file uses obsolete function file_readable(). +Solution: Use filereadable(). (closes #5934) +Files: src/session.c + +Patch 8.2.0585 +Problem: Vim9: # comment not recognized after :vim9script. +Solution: Check script type. Make comment after ":echo" work. And in + several other places. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/eval.c, + src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0586 +Problem: Vim9: # comment not sufficiently tested +Solution: Check for preceding white space. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0587 +Problem: Compiler warning for unused variable. +Solution: Add UNUSED. +Files: src/ex_docmd.c + +Patch 8.2.0588 +Problem: Putty does not use "sgr" 'ttymouse' by default. +Solution: Make "sgr" the default for Putty. (Christian Brabandt, + closes #5942) +Files: src/term.c + +Patch 8.2.0589 +Problem: .bsd file type not recognized. +Solution: Recognize .bsd as BSDL. (Daniel Kho, closes #5945) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0590 +Problem: No 'backspace' value allows ignoring the insertion point. +Solution: Add the "nostop" and 3 values. (Christian Brabandt, closes #5940) +Files: runtime/doc/options.txt, src/edit.c, src/option.c, src/option.h, + src/optionstr.c, src/testdir/gen_opt_test.vim, + src/testdir/test_backspace_opt.vim + +Patch 8.2.0591 +Problem: MS-Windows: should always support IPv6 +Solution: Add build flag. (Ozaki Kiichi, closes #5944) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.2.0592 +Problem: MS-Windows with VTP: cursor is not made invisible. +Solution: Output the code to make the cursor visible or invisible. (Nobuhiro + Takasaki, closes #5941) +Files: src/os_win32.c + +Patch 8.2.0593 +Problem: Finding a user command is not optimal. +Solution: Start further down in the list of commands. +Files: src/ex_cmds.h, src/ex_docmd.c + +Patch 8.2.0594 +Problem: MS-Windows: cannot build with WINVER set to 0x0501. +Solution: Only use inet_ntop() when available. (Ozaki Kiichi, closes #5946) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/auto/configure, + src/channel.c, src/config.h.in, src/configure.ac + +Patch 8.2.0595 +Problem: Vim9: not all commands using ends_excmd() tested. +Solution: Find # comment after regular commands. Add more tests. Report + error for where it was caused. +Files: src/ex_docmd.c, src/vim9compile.c, src/vim9execute.c, src/usercmd.c, + src/evalfunc.c, src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0596 +Problem: Crash in test49. +Solution: Check the right pointer. +Files: src/userfunc.c, src/testdir/test_eval.ok + +Patch 8.2.0597 +Problem: Test_eval is old style. +Solution: Change some tests to a new style test. +Files: src/testdir/test_eval.in, src/testdir/test_eval.ok, + src/testdir/test_eval_stuff.vim + +Patch 8.2.0598 +Problem: Test_eval_stuff fails in normal terminal. +Solution: Close the new window. +Files: src/testdir/test_eval_stuff.vim + +Patch 8.2.0599 +Problem: Netbeans interface insufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5921) +Files: runtime/doc/netbeans.txt, src/netbeans.c, src/os_win32.c, + src/testdir/runtest.vim, src/testdir/test_netbeans.py, + src/testdir/test_netbeans.vim + +Patch 8.2.0600 +Problem: Vim9: cannot read or write w:, t: and b: variables. +Solution: Implement load and store for w:, t: and b: variables. + (closes #5950) +Files: src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, + src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0601 +Problem: Vim9: :unlet is not compiled. +Solution: Implement :unlet instruction and check for errors. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9.h, + src/vim9execute.c, src/evalvars.c, src/proto/evalvars.pro, + src/eval.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0602 +Problem: :unlet $VAR does not work properly. +Solution: Make ":lockvar $VAR" fail. Check the "skip" flag. +Files: src/evalvars.c, src/globals.h, src/testdir/test_vimscript.vim + +Patch 8.2.0603 +Problem: Configure does not detect moonjit. +Solution: Add check for moonjit. (Shlomi Fish, closes #5947) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0604 +Problem: :startinsert in a terminal window used later. +Solution: Ignore :startinsert in a terminal window. (closes #5952) +Files: src/ex_docmd.c, src/testdir/test_terminal.vim + +Patch 8.2.0605 +Problem: Vim9: cannot unlet an environment variable. +Solution: Implement unlet for $VAR. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0606 +Problem: Several syntax HL errors not checked. +Solution: Add tests. (Yegappan Lakshmanan, closes #5954) +Files: src/testdir/test_syntax.vim + +Patch 8.2.0607 +Problem: Gcc warns for using uninitialized variable. (John Marriott) +Solution: Set name_end also for environment variables. +Files: src/evalvars.c + +Patch 8.2.0608 +Problem: Warning from clang when building message test. +Solution: Use a void pointer. (Dominique Pellé, closes #5958) +Files: src/message_test.c + +Patch 8.2.0609 +Problem: Configure does not detect moonjit correctly. +Solution: Double the brackets. (Ozaki Kiichi) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.0610 +Problem: Some tests are still old style. +Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #5957) +Files: src/testdir/test_blob.vim, src/testdir/test_cursor_func.vim, + src/testdir/test_eval.in, src/testdir/test_eval.ok, + src/testdir/test_eval_func.vim, src/testdir/test_eval_stuff.vim, + src/testdir/test_expr.vim, src/testdir/test_filter_map.vim, + src/testdir/test_functions.vim, src/testdir/test_listdict.vim, + src/testdir/test_sort.vim, src/testdir/test_syntax.vim, + src/testdir/test_utf8.vim, src/testdir/test_vimscript.vim + +Patch 8.2.0611 +Problem: Vim9: no check for space before #comment. +Solution: Add space checks. +Files: src/eval.c, src/evalvars.c, src/ex_docmd.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0612 +Problem: Vim9: no check for space before #comment. +Solution: Add space checks. +Files: src/ex_eval.c, src/ex_cmds.c, src/regexp.c, src/proto/regexp.pro, + src/gui.c, src/highlight.c, src/testdir/test_vim9_script.vim, + src/testdir/test_sort.vim + +Patch 8.2.0613 +Problem: Vim9: no check for space before #comment. +Solution: Add space checks. +Files: src/highlight.c, src/menu.c, src/syntax.c, + src/testdir/test_vim9_script.vim, + runtime/lang/menu_de_de.latin1.vim + +Patch 8.2.0614 +Problem: Get ml_get error when deleting a line in 'completefunc'. (Yegappan + Lakshmanan) +Solution: Lock the text while evaluating 'completefunc'. +Files: src/insexpand.c, src/globals.h, src/edit.c, src/ex_getln.c, + src/undo.c, src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_gf.vim, src/testdir/test_popup.vim, + src/testdir/test_ex_mode.vim, runtime/doc/insert.txt + +Patch 8.2.0615 +Problem: Regexp benchmark test is old style. +Solution: Make it a new style test. Fix using a NULL list. Add more tests. + (Yegappan Lakshmanan, closes #5963) +Files: src/evalbuffer.c, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Makefile, + src/testdir/bench_re_freeze.in, src/testdir/bench_re_freeze.vim, + src/testdir/test_autocmd.vim, src/testdir/test_bench_regexp.vim, + src/testdir/test_blob.vim, src/testdir/test_bufline.vim, + src/testdir/test_channel.vim, src/testdir/test_cmdline.vim, + src/testdir/test_functions.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_popupwin.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_tagjump.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.0616 +Problem: Build error when disabling the diff feature. +Solution: Move parenthesis outside of #ifdef. (Tom Ryder) +Files: src/drawline.c + +Patch 8.2.0617 +Problem: New error check triggers in Swedish menu. +Solution: Insert backslash. (Mats Tegner, closes #5966) +Files: runtime/lang/menu_sv_se.latin1.vim + +Patch 8.2.0618 +Problem: Echoing a null list results in no output. (Yegappan Lakshmanan) +Solution: Return "[]" instead of NULL in echo_string_core(). +Files: src/eval.c, src/testdir/test_messages.vim + +Patch 8.2.0619 +Problem: Null dict is not handled like an empty dict. +Solution: Fix the code and add tests. (Yegappan Lakshmanan, closes #5968) +Files: src/dict.c, src/eval.c, src/testdir/test_blob.vim, + src/testdir/test_expr.vim, src/testdir/test_filter_map.vim, + src/testdir/test_let.vim, src/testdir/test_listdict.vim, + src/testdir/test_search.vim, src/testdir/test_unlet.vim, + src/testdir/test_usercommands.vim, src/testdir/test_vimscript.vim + +Patch 8.2.0620 +Problem: Error in menu translations. +Solution: Insert a backslash before a space. +Files: runtime/lang/menu_it_it.latin1.vim, + runtime/lang/menu_chinese_gb.936.vim + +Patch 8.2.0621 +Problem: After running tests asan files may remain. +Solution: Clean up asan files with "make testclean". +Files: src/testdir/Makefile, src/Makefile + +Patch 8.2.0622 +Problem: Haiku: GUI does not compile. +Solution: Various fixes. (Emir Sarı, closes #5961) +Files: Filelist, README.md, READMEdir/README_haiku.txt, + runtime/doc/os_haiku.txt, src/Makefile, src/beval.h, + src/gui_haiku.cc, src/proto/gui_haiku.pro + +Patch 8.2.0623 +Problem: Typo in test comment. (Christ van Willegen) +Solution: Avoid mixing up a data structure with a body part. +Files: src/testdir/test_listdict.vim + +Patch 8.2.0624 +Problem: Vim9: no check for space before #comment. +Solution: Add space checks. Fix :throw with double quoted string. +Files: src/usercmd.c, src/userfunc.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0625 +Problem: Vim9: confusing error when calling unknown function. +Solution: Give error while compiling. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0626 +Problem: Vim9: wrong syntax of function in Vim9 script. +Solution: Give error for missing space. Implement :echomsg and :echoerr. + (closes #5670) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/userfunc.c, + src/eval.c, src/globals.h, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0627 +Problem: Vim9: error message does not work. (Yegappan Lakshmanan) +Solution: Swap lines. +Files: src/userfunc.c + +Patch 8.2.0628 +Problem: Error in menu translations. +Solution: Insert a backslash before a space in one more file. (Shun Bai, + Emir Sarı) +Files: runtime/lang/menu_zh_cn.utf-8.vim, + runtime/lang/menu_ca_es.latin1.vim, + runtime/lang/menu_cs_cz.iso_8859-2.vim, + runtime/lang/menu_cs_cz.utf-8.vim, + runtime/lang/menu_czech_czech_republic.1250.vim, + runtime/lang/menu_czech_czech_republic.ascii.vim, + runtime/lang/menu_da.utf-8.vim, + runtime/lang/menu_fi_fi.latin1.vim, + runtime/lang/menu_hu_hu.iso_8859-2.vim, + runtime/lang/menu_hu_hu.utf-8.vim, + runtime/lang/menu_is_is.latin1.vim, + runtime/lang/menu_no_no.latin1.vim, runtime/lang/menu_pt_br.vim, + runtime/lang/menu_pt_pt.vim, + runtime/lang/menu_sk_sk.iso_8859-2.vim, + runtime/lang/menu_sl_si.latin2.vim, + runtime/lang/menu_slovak_slovak_republic.1250.vim, + runtime/lang/menu_tr_tr.cp1254.vim, + runtime/lang/menu_tr_tr.iso_8859-9.vim, + runtime/lang/menu_tr_tr.utf-8.vim, runtime/lang/menu_vi_vn.vim + +Patch 8.2.0629 +Problem: Setting a boolean option to v:false does not work. +Solution: Do not use the string representation of the value. (Christian + Brabandt, closes #5974) +Files: src/evalvars.c, src/testdir/test_options.vim + +Patch 8.2.0630 +Problem: "make tags" does not cover Haiku GUI file. +Solution: Add *.cc files. +Files: src/Make_all.mak + +Patch 8.2.0631 +Problem: Haiku file formatted with wrong tabstop. +Solution: Use normal tabstop. Fix white space. +Files: src/gui_haiku.cc + +Patch 8.2.0632 +Problem: Crash when using Haiku. +Solution: Lock the screen. (closes #5975, closes #5973) +Files: src/screen.c + +Patch 8.2.0633 +Problem: Crash when using null partial in filter(). +Solution: Fix crash. Add more tests. (Yegappan Lakshmanan, closes #5976) +Files: src/eval.c, src/testdir/test_blob.vim, + src/testdir/test_channel.vim, src/testdir/test_eval_stuff.vim, + src/testdir/test_execute_func.vim, src/testdir/test_expr.vim, + src/testdir/test_filter_map.vim, src/testdir/test_fold.vim, + src/testdir/test_functions.vim, src/testdir/test_let.vim, + src/testdir/test_listdict.vim, src/testdir/test_partial.vim, + src/testdir/test_usercommands.vim + +Patch 8.2.0634 +Problem: Crash with null partial and blob. +Solution: Check for NULL pointer. Add more tests. (Yegappan Lakshmanan, + closes #5984) +Files: src/eval.c, src/list.c, src/testdir/test_blob.vim, + src/testdir/test_bufwintabinfo.vim, src/testdir/test_cd.vim, + src/testdir/test_channel.vim, src/testdir/test_cursor_func.vim, + src/testdir/test_eval_stuff.vim, src/testdir/test_expr.vim, + src/testdir/test_filter_map.vim, src/testdir/test_fnamemodify.vim, + src/testdir/test_functions.vim, src/testdir/test_getvar.vim, + src/testdir/test_listdict.vim, src/testdir/test_messages.vim, + src/testdir/test_partial.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tabpage.vim, src/testdir/test_vimscript.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_window_id.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0635 +Problem: When using 256 colors DarkYellow does not show expected color. +Solution: Use color 3 instead of 130. (Romain Lafourcade, closes #5985) +Files: src/highlight.c + +Patch 8.2.0636 +Problem: :messages does not show the maintainer when $LANG is unset. +Solution: Call get_mess_lang() if available. (closes #5978) +Files: src/message.c + +Patch 8.2.0637 +Problem: Incsearch highlighting does not work for ":sort!". +Solution: Skip over the exclamation point. (closes #5983) +Files: src/ex_getln.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_sort_02.dump + +Patch 8.2.0638 +Problem: MS-Windows: messages test fails. +Solution: Clear environment variables. +Files: src/testdir/test_messages.vim + +Patch 8.2.0639 +Problem: MS-Windows: messages test still fails. +Solution: Filter out the maintainer message. +Files: src/testdir/test_messages.vim + +Patch 8.2.0640 +Problem: Vim9: expanding `=expr` does not work. +Solution: Find wildcards in not compiled commands. Reorganize test files. +Files: Filelist, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/vim9.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim, + src/testdir/Make_all.mak + +Patch 8.2.0641 +Problem: Vim9: `=expr` not expanded in :hardcopy and "syntax include". +Solution: Add the EX_EXPAND flag. Expend "syntax include". +Files: src/ex_cmds.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.0642 +Problem: Vim9: using invalid index. +Solution: Check index for being valid. Fix memory leak. +Files: src/vim9compile.c, src/clientserver.c + +Patch 8.2.0643 (after 8.2.0635) +Problem: Terminal uses brown instead of dark yellow. (Romain Lafourcade) +Solution: Use color index 3 instead of 130. (closes #5993) +Files: src/terminal.c + +Patch 8.2.0644 +Problem: Insufficient testing for invalid function arguments. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5988) +Files: runtime/doc/eval.txt, src/testdir/test_bufline.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_listener.vim, src/testdir/test_match.vim, + src/testdir/test_menu.vim, src/testdir/test_quickfix.vim, + src/testdir/test_registers.vim, src/testdir/test_reltime.vim, + src/testdir/test_terminal.vim, src/testdir/test_textprop.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_window_id.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0645 +Problem: MS-Windows terminal: CTRL-C does not get to child job. +Solution: Remove CREATE_NEW_PROCESS_GROUP from CreateProcessW(). (Nobuhiro + Takasaki, closes #5987) +Files: src/terminal.c + +Patch 8.2.0646 +Problem: t_Co uses the value of $COLORS in the GUI. (Masato Nishihata) +Solution: Ignore $COLORS for the GUI. (closes #5992) +Files: src/os_unix.c, src/term.c + +Patch 8.2.0647 +Problem: MS-Windows: repeat count for events was not used. +Solution: Check the repeat count. (Nobuhiro Takasaki, closes #5989) +Files: src/os_win32.c + +Patch 8.2.0648 +Problem: Semicolon search does not work in first line. +Solution: Allow the cursor to be in line zero. (Christian Brabandt, + closes #5996) +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.2.0649 +Problem: Undo problem when an InsertLeave autocommand resets undo. (Kutsan + Kaplan) +Solution: Do not create a new undo block when leaving Insert mode. +Files: src/edit.c, src/testdir/test_edit.vim + +Patch 8.2.0650 +Problem: Vim9: script function can be deleted. +Solution: Disallow deleting script function. Delete functions when sourcing + a script again. +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, + src/vim9compile.c, src/vim9execute.c, src/vim9script.c, + src/scriptfile.c, src/testing.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0651 +Problem: Old style benchmark test still in list of distributed files. +Solution: Remove the files from the list. +Files: Filelist + +Patch 8.2.0652 (after 8.2.0650) +Problem: Compiler warning for char conversion. +Solution: Use unsigned char buffer. +Files: src/userfunc.c + +Patch 8.2.0653 (after 8.2.0650) +Problem: using uninitialized pointer. +Solution: Move assignment up. (John Marriott) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0654 +Problem: Building with Python fails. +Solution: Add missing argument. +Files: src/if_py_both.h + +Patch 8.2.0655 +Problem: Search code not sufficiently tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #5999) +Files: src/testdir/test_charsearch.vim, src/testdir/test_gn.vim, + src/testdir/test_goto.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_normal.vim, src/testdir/test_search.vim, + src/testdir/test_textformat.vim, src/testdir/test_textobjects.vim, + src/testdir/test_visual.vim + +Patch 8.2.0656 +Problem: MS-Windows: redrawing right screen edge may not be needed. +Solution: Check the build version. (Nobuhiro Takasaki, closes #6002) +Files: src/drawscreen.c, src/os_win32.c, src/proto/os_win32.pro + +Patch 8.2.0657 +Problem: Vim9: no check if called variable is a FuncRef. +Solution: Add a type check. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0658 (after 8.2.0646) +Problem: HP-UX build fails when setenv() is not defined. +Solution: Change "colors" to "t_colors". (John Marriott) +Files: src/os_unix.c + +Patch 8.2.0659 +Problem: Vim9: no test for equal func type. +Solution: Add a test. Improve type check. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0660 +Problem: The search.c file is a bit big. +Solution: Split off the text object code to a separate file. (Yegappan + Lakshmanan, closes #6007) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/proto.h, src/proto/search.pro, src/proto/textobject.pro, + src/search.c, src/textobject.c + +Patch 8.2.0661 +Problem: Eval test is still old style. +Solution: Change into new style tests. (Yegappan Lakshmanan, closes #6009) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test_eval.in, src/testdir/test_eval.ok, + src/testdir/test_eval_stuff.vim + +Patch 8.2.0662 +Problem: Cannot use input() in a channel callback. +Solution: Reset vgetc_busy. (closes #6010) +Files: src/globals.h, src/ex_getln.c, src/evalfunc.c, + src/testdir/test_channel.vim + +Patch 8.2.0663 +Problem: Not all systemd temp files are recognized. +Solution: Add two more patterns. (Jamie Macdonald, closes #6003) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0664 +Problem: Included undesired changes in Makefile. +Solution: Revert the changes. +Files: src/Makefile + +Patch 8.2.0665 +Problem: Wrongly assuming Python executable is called "python". +Solution: Use detected python command. (Ken Takata, closes #6016) + Also use CheckFunction if possible. +Files: src/testdir/test_terminal.vim, src/testdir/check.vim + +Patch 8.2.0666 +Problem: Ruby test fails on MS-Windows. +Solution: Remove the "maintainer" line. (Ken Takata, closes #6015) +Files: src/testdir/shared.vim, src/testdir/test_messages.vim, + src/testdir/test_ruby.vim + +Patch 8.2.0667 +Problem: Cannot install Haiku version from source. +Solution: Update Makefile and rdef file. (Emir Sarı, closes #6013) +Files: Filelist, READMEdir/README_haiku.txt, runtime/doc/os_haiku.txt, + src/Makefile, src/os_haiku.rdef.in, src/os_haiku.rdef + +Patch 8.2.0668 +Problem: Compiler warning for int/size_t usage. +Solution: Change "int" to "size_t". (Mike Williams) +Files: src/vim9execute.c + +Patch 8.2.0669 +Problem: MS-Windows: display in VTP is a bit slow. +Solution: Optimize the code. (Nobuhiro Takasaki, closes #6014) +Files: src/os_win32.c, src/screen.c + +Patch 8.2.0670 +Problem: Cannot change window when evaluating 'completefunc'. +Solution: Make a difference between not changing text or buffers and also + not changing window. +Files: src/ex_getln.c, src/beval.c, src/change.c, src/edit.c, src/eval.c, + src/ex_docmd.c, src/insexpand.c, src/globals.h, src/indent.c, + src/map.c, src/window.c, src/proto/ex_getln.pro, src/register.c, + src/undo.c, src/testdir/test_edit.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_popup.vim + +Patch 8.2.0671 +Problem: Haiku: compiler warnings. +Solution: Avoid the warnings. Drop display_errors() copy. (Emir Sarı, + closes #6018) +Files: .gitignore, src/gui.c, src/gui_haiku.cc + +Patch 8.2.0672 +Problem: Heredoc in scripts does not accept lower case marker. +Solution: Allow lower case only in non-Vim scripts. (Ken Takata, + closes #6019) +Files: src/evalvars.c, src/testdir/test_lua.vim, + src/testdir/test_perl.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_pyx2.vim, + src/testdir/test_pyx3.vim, src/testdir/test_ruby.vim + +Patch 8.2.0673 +Problem: Cannot build Haiku in shadow directory. +Solution: Add symlink. (Ozaki Kiichi, closes #6023) +Files: src/Makefile + +Patch 8.2.0674 +Problem: Some source files are too big. +Solution: Move text formatting functions to a new file. (Yegappan + Lakshmanan, closes #6021) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/edit.c, src/getchar.c, src/ops.c, src/option.c, src/proto.h, + src/proto/edit.pro, src/proto/getchar.pro, src/proto/ops.pro, + src/proto/option.pro, src/proto/textformat.pro, src/textformat.c + +Patch 8.2.0675 +Problem: Vim9: no support for closures. +Solution: Do not re-use stack entries. +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/evalvars.c, src/proto/evalvars.pro + +Patch 8.2.0676 +Problem: Pattern in list of distributed files does not match. +Solution: Drop "testdir/test_[a-z]*.ok". Add CI sed files. +Files: Filelist + +Patch 8.2.0677 +Problem: Vim9: no support for closures. +Solution: Find variables in the outer function scope, so long as the scope + exists. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/vim9execute.c, src/structs.h, src/vim9.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.0678 +Problem: Rare crash for popup menu. +Solution: Check for NULL pointer. (Nobuhiro Takasaki, closes #6027) +Files: src/popupmenu.c + +Patch 8.2.0679 +Problem: Vim9: incomplete support for closures. +Solution: At the end of a function copy arguments and local variables if + they are still used by a referenced closure. +Files: src/structs.h, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0680 +Problem: PTYGROUP and PTYMODE are unused. +Solution: Remove from autoconf. (closes #6024) +Files: src/configure.ac, src/auto/configure, src/config.h.in + +Patch 8.2.0681 +Problem: Pattern for 'hlsearch' highlighting may leak. (Dominique Pellé) +Solution: Call end_search_hl() to make sure the previous pattern is freed. + (closes #6028) +Files: src/screen.c + +Patch 8.2.0682 +Problem: Vim9: parsing function argument type can get stuck. +Solution: Bail out when not making progress. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0683 +Problem: Vim9: parsing type does not always work. +Solution: Handle func type without return value. Test more closures. + Fix type check offset. Fix garbage collection. +Files: src/vim9compile.c, src/vim9execute.c, src/proto/vim9execute.pro, + src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0684 +Problem: Vim9: memory leak when using lambda. +Solution: Move the funccal context to the partial. Free the function when + exiting. +Files: src/vim9.h, src/structs.h, src/vim9execute.c, src/userfunc.c, + src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0685 (after 8.2.0684) +Problem: Build failure. +Solution: Include missing changes. +Files: src/vim9compile.c + +Patch 8.2.0686 +Problem: Formatoptions not sufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6031) +Files: src/testdir/test_normal.vim, src/testdir/test_textformat.vim + +Patch 8.2.0687 +Problem: Some tests do not work on FreeBSD. +Solution: Enable modeline. Use WaitFor() in more cases. (Ozaki Kiichi, + closes #6036) +Files: src/testdir/test_quickfix.vim, src/testdir/test_terminal.vim + +Patch 8.2.0688 +Problem: Output clobbered if setting 'verbose' to see shell commands. +Solution: Only output "Searching for" when 'verbose' is 11 or higher. +Files: src/scriptfile.c, runtime/doc/options.txt + +Patch 8.2.0689 +Problem: When using getaddrinfo() the error message is unclear. +Solution: Use gai_strerror() to get the message. (Ozaki Kiichi, + closes #6034) +Files: src/channel.c + +Patch 8.2.0690 +Problem: Line number of option set by modeline is wrong. +Solution: Do not double the line number. (Ozaki Kiichi, closes #6035) +Files: src/option.c, src/testdir/test_modeline.vim + +Patch 8.2.0691 +Problem: Startup test fails. +Solution: Adjust expected output from -V2 argument. +Files: src/testdir/test_startup.vim + +Patch 8.2.0692 +Problem: Startup test fails on MS-Windows. +Solution: Allow for any path. +Files: src/testdir/test_startup.vim + +Patch 8.2.0693 +Problem: Closure using argument not tested. +Solution: Add a test, make it work. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0694 +Problem: Haiku: channel and terminal do not work. +Solution: Close files when the job has finished. (Ozaki Kiichi, + closes #6039) +Files: src/channel.c, src/getchar.c, src/gui_haiku.cc, src/misc1.c + +Patch 8.2.0695 +Problem: Vim9: cannot define a function inside a function. +Solution: Initial support for :def inside :def. +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9compile.c, + src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0696 +Problem: Vim9: nested function does not work properly +Solution: Create a function reference. Check argument count. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0697 +Problem: Vim9: memory leak when using nested function. +Solution: Unreference function when deleting instructions. Adjust reference + count for local variables. +Files: src/vim9compile.c, src/vim9execute.c + +Patch 8.2.0698 +Problem: Insert mode completion not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6041) +Files: src/testdir/test_edit.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_textformat.vim + +Patch 8.2.0699 +Problem: Vim9: not all errors tested. +Solution: Add test for deleted function. Bail out on first error. +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_expr.vim, src/testdir/vim9.vim + +Patch 8.2.0700 +Problem: Vim9: converting error message to exception not tested. +Solution: Test exception from error. Do not continue after :echoerr. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0701 +Problem: Vim9 test fails without job feature. +Solution: Add feature check. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0702 +Problem: Running channel tests may leave running process behind. +Solution: Make Python client exit when running into EOF. (Kurtis Rader, + part of #6046) +Files: src/testdir/test_channel_pipe.py + +Patch 8.2.0703 +Problem: Vim9: closure cannot store value in outer context. +Solution: Make storing value in outer context work. Make :disassemble + accept a function reference. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/eval.c, + src/structs.h, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.0704 +Problem: Vim9: memory leak in disassemble test. +Solution: Decrement refcount when creating funccal. +Files: src/vim9execute.c + +Patch 8.2.0705 +Problem: Indent tests don't run on CI for FreeBSD. +Solution: Set modeline. (Ozaki Kiichi, closes #6048) +Files: .cirrus.yml, runtime/indent/testdir/runtest.vim + +Patch 8.2.0706 +Problem: Vim9: using assert_fails() causes function to finish. +Solution: Check did_emsg instead of called_emsg. +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0707 +Problem: Vim9 function test fails. +Solution: Adjust expected error code. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.0708 +Problem: Vim9: constant expressions are not simplified. +Solution: Simplify string concatenation. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0709 +Problem: MS-Windows: compiler warning for int vs size_t. +Solution: Add type cast. (Mike Williams) +Files: src/channel.c + +Patch 8.2.0710 +Problem: Netbeans test sometimes fails. +Solution: Mark any test using an external command as flaky. +Files: src/testdir/shared.vim + +Patch 8.2.0711 +Problem: With a long running Vim the temp directory might be cleared on + some systems. +Solution: Lock the temp directory. (closes #6044) +Files: src/config.h.in, src/configure.ac, src/auto/configure, + src/fileio.c, src/globals.h, src/os_unix.h + +Patch 8.2.0712 +Problem: Various code not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6049) +Files: src/testdir/test_functions.vim, src/testdir/test_options.vim, + src/testdir/test_system.vim, src/testdir/test_termcodes.vim + +Patch 8.2.0713 +Problem: The pam_environment file is not recognized. +Solution: Add a filetype pattern for pamenv. (closes #6051) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0714 +Problem: Vim9: handling constant expression does not scale. +Solution: Use another solution, passing typval_T. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0715 +Problem: Vim9: leaking memory. +Solution: Free strings after concatenating them. +Files: src/vim9compile.c + +Patch 8.2.0716 +Problem: Vim9: another memory leak. +Solution: Clear typval when failing. +Files: src/vim9compile.c + +Patch 8.2.0717 +Problem: Vim9: postponed constant expressions does not scale. +Solution: Add a structure to pass around postponed constants. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0718 +Problem: Gcc warning for returning pointer to local variable. (John + Marriott) +Solution: Return another pointer. +Files: src/evalvars.c + +Patch 8.2.0719 +Problem: Vim9: more expressions can be evaluated at compile time +Solution: Recognize has('name'). +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.0720 +Problem: Occasional exit when encountering an X error. (Manfred Lotz) +Solution: On an X error do not exit, do preserve files. +Files: src/os_unix.c + +Patch 8.2.0721 +Problem: Vim9: leaking memory when skipping. +Solution: Disable skipping in generate_ppconst(). +Files: src/vim9compile.c + +Patch 8.2.0722 +Problem: Vim9: not handling constant expression for elseif. +Solution: Use postponed constants. Delete the code for evaluating a + constant expression. +Files: src/vim9compile.c + +Patch 8.2.0723 +Problem: Vim9: nested constant expression not evaluated compile time. +Solution: Use compile_expr1() for parenthesis. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0724 +Problem: Vim9: appending to buffer/window/tab variable not tested +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0725 +Problem: Vim9: cannot call a function declared later in Vim9 script. +Solution: Make two passes through the script file. +Files: src/scriptfile.c, src/proto/scriptfile.pro, src/vim9script.c, + src/vim9compile.c, src/vim9execute.c, src/proto/vim9compile.pro, + src/userfunc.c, src/proto/userfunc.pro, src/evalvars.c, + src/proto/evalvars.pro, src/vim.h, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0726 +Problem: Vim9: leaking memory when calling not compiled :def function. +Solution: Check if function is compiled earlier. +Files: src/vim9execute.c + +Patch 8.2.0727 +Problem: MS-Windows: new gcc compiler does not support scanf format. +Solution: Use "%ll" instead of "%I". (Ken Takata) +Files: src/vim.h + +Patch 8.2.0728 +Problem: Messages about a deadly signal are not left aligned. +Solution: Output a CR before the NL. (Dominique Pellé, #6055) +Files: src/misc1.c, src/os_unix.c + +Patch 8.2.0729 +Problem: Vim9: When reloading a script variables are not cleared. +Solution: When sourcing a script again clear all script-local variables. +Files: src/dict.c, src/proto/dict.pro, src/scriptfile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0730 +Problem: Vim9: Assignment to dict member does not work. +Solution: Parse dict assignment. Implement getting dict member. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/globals.h, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.0731 +Problem: Vim9: parsing declarations continues after :finish. +Solution: Bail out when encountering :finish. +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0732 +Problem: Vim9: storing value in dict messes up stack. +Solution: Correct item count of stack. +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.0733 +Problem: Vim9: assigning to dict or list argument does not work. +Solution: Recognize an argument as assignment target. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0734 +Problem: Vim9: leaking memory when using :finish. +Solution: Do not check for next line in third pass. +Files: src/scriptfile.c + +Patch 8.2.0735 +Problem: Vim9: using uninitialized memory. +Solution: Clear the arg_lvar field. +Files: src/vim9compile.c + +Patch 8.2.0736 +Problem: Some files not recognized as pamenv. +Solution: Add pam_inv.conf. (closes #6065) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0737 +Problem: When shell doesn't support CTRL-Z Vim still handles it. +Solution: Ignore the STOP signal if it was ignored on startup. + (Kurtis Rader, closes #5990, closes #6058) +Files: src/os_unix.c + +Patch 8.2.0738 +Problem: Mouse handling in a terminal window not well tested. +Solution: Add tests. (Yegappan Lakshmanan, closes #6052) +Files: src/testdir/term_util.vim, src/testdir/test_gui.vim, + src/testdir/test_modeless.vim, src/testdir/test_terminal.vim + +Patch 8.2.0739 +Problem: Incomplete profiling when exiting because of a deadly signal. +Solution: Call __gcov_flush() if available. +Files: src/os_unix.c, src/Makefile, .travis.yml + +Patch 8.2.0740 +Problem: Minor message mistakes. +Solution: Change vim to Vim and other fixes. +Files: src/if_py_both.h, src/if_tcl.c, src/main.c + +Patch 8.2.0741 +Problem: Python tests fail because of changed message. +Solution: Adjust the expected messages (Dominique Pellé, closes #6066) +Files: src/testdir/test86.ok, src/testdir/test87.ok + +Patch 8.2.0742 +Problem: Handling of a TERM signal not tested. +Solution: Add a test for SIGTERM. (Dominique Pellé, closes #6055) +Files: src/testdir/test_signals.vim + +Patch 8.2.0743 +Problem: Can move to another buffer from a terminal in popup window. +Solution: Do not allow "gf" or editing a file. (closes #6072) +Files: src/normal.c, src/ex_cmds.c, src/testdir/test_popupwin.vim + +Patch 8.2.0744 +Problem: The name vim is not capitalized in a message. +Solution: Use "Vim" instead of "vim". +Files: src/main.c + +Patch 8.2.0745 +Problem: Crash on exit when not all popups are closed. +Solution: Close popups when freeing all memory. Disable checking for popup + when editing a file for now. +Files: src/misc2.c, src/ex_cmds.c + +Patch 8.2.0746 +Problem: popup_clear() hangs when a popup can't be closed. +Solution: Bail out when a popup can't be closed. +Files: src/popupwin.c, src/proto/popupwin.pro + +Patch 8.2.0747 +Problem: Cannot forcefully close all popups. +Solution: Add the "force" argument to popup_clear(). Use it after running a + test. Put back the check for a popup when editing a file. +Files: runtime/doc/popup.txt, src/evalfunc.c, src/popupwin.c, + src/proto/popupwin.pro, src/tag.c, src/window.c, src/misc2.c, + src/ex_cmds.c, src/channel.c, src/testdir/runtest.vim, + src/testdir/test_terminal.vim + +Patch 8.2.0748 +Problem: Cannot get a list of all popups. +Solution: Add popup_list(). Use it in the test runner. +Files: runtime/doc/eval.txt, runtime/doc/popup.txt, src/popupwin.c, + src/proto/popupwin.pro, src/evalfunc.c, + src/testdir/test_popupwin.vim, src/testdir/runtest.vim + +Patch 8.2.0749 +Problem: TERM signal test fails on FreeBSD. +Solution: Do not check the messages, the may appear anywhere. (Dominique + Pellé, closes #6075) +Files: src/testdir/test_signals.vim + +Patch 8.2.0750 +Problem: Netbeans test is a bit flaky. +Solution: Allow for standard sign to be defined. Use WaitForAssert(). +Files: src/testdir/test_netbeans.vim + +Patch 8.2.0751 +Problem: Vim9: performance can be improved. +Solution: Don't call break. Inline check for list materialize. Make an + inline version of ga_grow(). +Files: src/macros.h, src/evalfunc.c, src/misc2.c, + src/proto/misc2.pro, src/channel.c, src/eval.c, src/evalbuffer.c, + src/evalvars.c, src/filepath.c, src/highlight.c, src/insexpand.c, + src/json.c, src/list.c, src/popupmenu.c, src/popupwin.c, + src/userfunc.c, src/if_py_both.h + +Patch 8.2.0752 +Problem: Terminal in popup window test is a bit flaky. +Solution: Wait for shell job status to be "run". Mark as flaky test. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.0753 +Problem: Vim9: expressions are evaluated in the discovery phase. +Solution: Bail out if an expression is not a constant. Require a type for + declared constants. +Files: src/vim.h, src/evalvars.c, src/eval.c, src/ex_eval.c, + src/evalfunc.c, src/userfunc.c, src/dict.c, src/list.c, + src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0754 +Problem: Vim9: No test for forward declaration. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0755 +Problem: Vim9: No error when variable initializer is not a constant. +Solution: Return FAIL when trying to get a variable value. Do not execute a + script when an error is detected in the first or second phase. +Files: src/eval.c, src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0756 (after 8.2.0249) +Problem: MS-Windows: still a compiler warning. +Solution: Move flag to another place in the Makefile. (Ken Takata, + closes #6083) +Files: src/Make_mvc.mak + +Patch 8.2.0757 +Problem: Vim9: no test for MEMBER instruction. +Solution: Add a test. Make matches stricter. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0758 +Problem: Vim9: no test for STORELIST and STOREDICT. +Solution: Add a test. Make matches stricter. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.0759 (after 8.2.0751) +Problem: Vim9: missing changes for performance improvements +Solution: Use GA_GROW(). Don't call breakcheck so often. +Files: src/vim9execute.c + +Patch 8.2.0760 +Problem: Vim9: dict member errors not tested. +Solution: Delete unreachable error. Add tests. +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.0761 +Problem: Vim9: instructions not tested +Solution: Use a variable instead of a constant. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.0762 +Problem: Buffer is not considered modified after setting crypt key. +Solution: Set the modified flag. (Christian Brabandt, closes #6082) +Files: src/optionstr.c, src/testdir/test_crypt.vim + +Patch 8.2.0763 +Problem: GUI test fails without the terminal feature. +Solution: Check the terminal feature is supported. (Ken Takata, + closes #6084) +Files: src/testdir/test_gui.vim + +Patch 8.2.0764 +Problem: Vim9: assigning to option not fully tested. +Solution: Add more test cases. Allow using any type for assignment. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0765 +Problem: In the GUI can't use all the modifiers. (Andri Möll) +Solution: Do not apply Alt/Meta early, do it later like with the terminal. + Avoid the Motif test from crashing. +Files: src/gui_gtk_x11.c, src/gui_x11.c, src/gui_mac.c, src/gui_w32.c, + src/gui_motif.c + +Patch 8.2.0766 +Problem: Display error when using 'number' and 'breakindent'. +Solution: Adjust extra spaces in the first row. (Ken Takata, closes #6089, + closes #5986) +Files: src/drawline.c, src/testdir/test_breakindent.vim + +Patch 8.2.0767 +Problem: ModifyOtherKeys active when using a shell command in autocmd. +Solution: Output T_CTE when going to cooked mode. (closes 5617) +Files: src/term.c + +Patch 8.2.0768 +Problem: Vim9: memory leak in script test. +Solution: Clear typval before giving an error message. +Files: src/vim9execute.c + +Patch 8.2.0769 +Problem: VimLeavePre not triggered when Vim is terminated. +Solution: Unblock autocommands. +Files: src/main.c, src/testdir/test_signals.vim + +Patch 8.2.0770 +Problem: Cannot map CTRL-B when using the GUI. +Solution: Reset the CTRL modifier when used. (closes #6092) +Files: src/gui_gtk_x11.c + +Patch 8.2.0771 +Problem: Vim9: cannot call a compiled closure from not compiled code. +Solution: Pass funcexe to call_user_func(). +Files: src/userfunc.c, src/vim9execute.c, src/proto/vim9execute.pro, + src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.0772 +Problem: Vim9: some variable initializations not tested. +Solution: Add a few more tests +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0773 +Problem: Switching to raw mode every time ":" is used. +Solution: When executing a shell set cur_tmode to TMODE_UNKNOWN, so that the + next time TMODE_RAW is used it is set, but not every time. +Files: src/term.h, src/os_unix.c, src/term.c, src/os_amiga.c, + src/os_win32.c + +Patch 8.2.0774 +Problem: t_TI and t_TE are output when using 'visualbell'. (Dominique + Pellé) +Solution: Do not change the terminal mode for a short sleep. Do not output + t_TI and t_TE when switching to/from TMODE_SLEEP. Make tmode an + enum. +Files: src/os_unix.c, src/proto/os_unix.pro, src/os_amiga.c, + src/proto/os_amiga.pro, src/os_mswin.c, src/proto/os_mswin.pro, + src/os_vms.c, src/proto/os_vms.pro, src/os_win32.c, + src/proto/os_win32.pro, src/term.c, src/term.h, src/globals.h + +Patch 8.2.0775 +Problem: Not easy to call a Vim function from Lua. +Solution: Add vim.call() and vim.fn(). (Prabir Shrestha, closes #6063) +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.0776 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revision 719. +Files: Filelist, src/libvterm/README, src/libvterm/Makefile, + src/libvterm/find-wide-chars.pl, src/libvterm/src/fullwidth.inc, + src/libvterm/src/unicode.c + +Patch 8.2.0777 (after 8.2.0776) +Problem: Terminal test fails. +Solution: Adjust character position for double-wide characters. +Files: src/testdir/test_terminal.vim + +Patch 8.2.0778 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 720 - 723. +Files: src/libvterm/t/10state_putglyph.test, src/libvterm/Makefile, + src/libvterm/t/run-test.pl, src/libvterm/src/state.c, + src/libvterm/t/92lp1805050.test + +Patch 8.2.0779 +Problem: Tmode_T not used everywhere. +Solution: Also use tmode_T for settmode(). +Files: src/term.c, src/proto/term.pro + +Patch 8.2.0780 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 724 - 726. +Files: Filelist, src/libvterm/t/40screen_ascii.test, + src/libvterm/t/60screen_ascii.test, + src/libvterm/t/41screen_unicode.test, + src/libvterm/t/61screen_unicode.test, + src/libvterm/t/42screen_damage.test, + src/libvterm/t/62screen_damage.test, + src/libvterm/t/43screen_resize.test, + src/libvterm/t/63screen_resize.test, + src/libvterm/t/44screen_pen.test, + src/libvterm/t/64screen_pen.test, + src/libvterm/t/45screen_protect.test, + src/libvterm/t/65screen_protect.test, + src/libvterm/t/46screen_extent.test, + src/libvterm/t/66screen_extent.test, + src/libvterm/t/47screen_dbl_wh.test, + src/libvterm/t/67screen_dbl_wh.test, + src/libvterm/t/48screen_termprops.test, + src/libvterm/t/68screen_termprops.test, src/libvterm/t/30pen.test, + src/libvterm/t/30state_pen.test, src/libvterm/t/92lp1805050.test, + src/libvterm/t/31state_rep.test, src/libvterm/doc/seqs.txt + +Patch 8.2.0781 (after 8.2.0775) +Problem: Compiler warning for not using value in Lua. +Solution: Add "(void)". +Files: src/if_lua.c + +Patch 8.2.0782 +Problem: Cannot build with Lua on MS-Windows. +Solution: Add DLL symbol for luaL_Loadstring. (Ken Takata) +Files: src/if_lua.c + +Patch 8.2.0783 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 728 - 729. +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile, + src/libvterm/src/keyboard.c, src/libvterm/t/25state_input.test, + src/libvterm/t/harness.c, src/libvterm/src/vterm.c, + src/libvterm/src/vterm_internal.h, + src/libvterm/t/26state_query.test + +Patch 8.2.0784 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 730 - 733. +Files: src/libvterm/src/vterm.c, src/libvterm/src/state.c, + src/libvterm/include/vterm.h, src/libvterm/src/vterm_internal.h, + src/libvterm/t/harness.c + +Patch 8.2.0785 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 734 - 740. +Files: src/libvterm/include/vterm.h, src/libvterm/src/pen.c, + src/libvterm/src/vterm.c, src/libvterm/doc/seqs.txt, + src/libvterm/t/30state_pen.test, src/libvterm/t/run-test.pl, + src/libvterm/Makefile, src/libvterm/CONTRIBUTING + +Patch 8.2.0786 +Problem: Channel test is flaky on FreeBSD. +Solution: Set the socket TCP_NODELAY option. Adjust expected line count in + netbeans test. (Ozaki Kiichi, closes #6097) +Files: src/testdir/test_channel.py, src/testdir/test_netbeans.vim + +Patch 8.2.0787 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 741 - 742. +Files: Filelist, src/libvterm/src/screen.c + +Patch 8.2.0788 +Problem: Memory leak in libvterm. +Solution: free tmpbuffer. +Files: src/libvterm/src/vterm.c + +Patch 8.2.0789 +Problem: Vim9: expression testing lost coverage using constants. +Solution: Use a few variables instead of constants. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.0790 +Problem: Vim9: list index not well tested. +Solution: Add a few more tests. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0791 +Problem: A second popup window with terminal causes trouble. +Solution: Disallow opening a second terminal-popup window. (closes #6101, + closes #6103) Avoid defaulting to an invalid line number. +Files: runtime/doc/popup.txt, src/popupwin.c, src/ex_docmd.c, + src/testdir/test_popupwin.vim, src/testdir/test_terminal.vim + +Patch 8.2.0792 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/popupwin.c + +Patch 8.2.0793 +Problem: MS-Windows: cannot build GUI with small features. (Michael Soyka) +Solution: Add #ifdef around use of windowsVersion. (Ken Takata) +Files: src/os_win32.c + +Patch 8.2.0794 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 743 - 747. +Files: src/libvterm/src/state.c, src/libvterm/src/screen.c, + src/libvterm/src/vterm_internal.h, src/libvterm/include/vterm.h, + src/libvterm/t/67screen_dbl_wh.test, src/libvterm/t/run-test.pl + +Patch 8.2.0795 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 748 - 754. +Files: src/libvterm/include/vterm.h, src/libvterm/src/screen.c, + src/libvterm/src/state.c, src/libvterm/t/32state_flow.test, + src/libvterm/t/60screen_ascii.test, + src/libvterm/t/62screen_damage.test, + src/libvterm/t/63screen_resize.test, src/libvterm/t/harness.c, + src/libvterm/t/run-test.pl + +Patch 8.2.0796 +Problem: MS-Windows: compiler can't handle C99 construct in libvterm. +Solution: Change to C90 construct. +Files: src/libvterm/src/state.c + +Patch 8.2.0797 +Problem: MS-Windows: compiler still can't handle C99 construct. +Solution: Change to C90 construct. (Dominique Pellé, closes #6106) +Files: src/libvterm/src/state.c + +Patch 8.2.0798 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 755 - 758. +Files: src/libvterm/t/run-test.pl, src/libvterm/src/screen.c, + src/libvterm/t/harness.c, src/libvterm/include/vterm.h, + src/libvterm/src/parser.c, src/libvterm/src/state.c, + src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, + src/libvterm/t/02parser.test, + src/libvterm/t/18state_termprops.test, + src/libvterm/t/29state_fallback.test, + src/libvterm/t/68screen_termprops.test, src/terminal.c + +Patch 8.2.0799 +Problem: Build fails if snprintf is not available. +Solution: Use vim_snprintf(). +Files: src/libvterm/src/state.c + +Patch 8.2.0800 +Problem: Errors from failing test are unclear. +Solution: Include text where parsing failed. +Files: src/json.c, src/testdir/test_json.vim + +Patch 8.2.0801 +Problem: Terminal test fails on Mac. +Solution: Concatenate OSC pieces. +Files: src/terminal.c + +Patch 8.2.0802 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 759 - 762. +Files: src/terminal.c, src/libvterm/doc/seqs.txt, + src/libvterm/include/vterm.h, src/libvterm/src/pen.c, + src/libvterm/src/screen.c, src/libvterm/src/state.c, + src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, + src/libvterm/t/harness.c, src/libvterm/t/12state_scroll.test + +Patch 8.2.0803 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revisions 764 - 767 +Files: src/Makefile, src/libvterm/src/parser.c, + src/libvterm/src/vterm_internal.h, src/libvterm/t/02parser.test, + src/libvterm/t/run-test.pl, src/libvterm/find-wide-chars.pl, + src/libvterm/src/fullwidth.inc + +Patch 8.2.0804 +Problem: Libvterm code lags behind the upstream version. +Solution: Include revision 727, but add the index instead of switching + between RGB and indexed. +Files: src/terminal.c, src/term.c, src/libvterm/include/vterm.h, + src/libvterm/src/pen.c, src/libvterm/src/screen.c, + src/libvterm/src/vterm_internal.h, + src/libvterm/t/30state_pen.test, + src/libvterm/t/harness.c, src/libvterm/src/state.c, + src/libvterm/t/26state_query.test, + src/libvterm/t/64screen_pen.test + +Patch 8.2.0805 +Problem: Terminal key codes test fails on some systems. +Solution: Skip keypad 3 and 9. (Yegappan Lakshmanan, closes #6070) +Files: src/testdir/test_terminal.vim + +Patch 8.2.0806 +Problem: using "func!" after vim9script gives confusing error. +Solution: Give E477. (closes #6107) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0807 +Problem: Cannot easily restore a mapping. +Solution: Add mapset(). +Files: runtime/doc/eval.txt, src/map.c, src/proto/map.pro, src/evalfunc.c + src/testdir/test_maparg.vim + +Patch 8.2.0808 +Problem: Not enough testing for the terminal window. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6069) Fix memory + leak. +Files: src/testdir/test_gui.vim, src/testdir/test_terminal.vim, + src/terminal.c + +Patch 8.2.0809 +Problem: Build failure with small features. (Tony Mechelynck) +Solution: Move "expr" inside #ifdef. +Files: src/map.c + +Patch 8.2.0810 +Problem: Error when appending "tagfile" to 'wildoptions'. +Solution: use flags P_ONECOMMA and P_NODUP. (Dmitri Vereshchagin, + closes #6105) +Files: src/optiondefs.h, src/testdir/test_options.vim + +Patch 8.2.0811 +Problem: Terminal keycode test is flaky. +Solution: Use WaitForAssert() +Files: src/testdir/test_terminal.vim + +Patch 8.2.0812 +Problem: mapset() does not properly handle <> notation. +Solution: Convert <> codes. (closes #6116) +Files: src/map.c, src/testdir/test_maparg.vim + +Patch 8.2.0813 +Problem: libvterm code is slightly different from upstream. +Solution: Use upstream text to avoid future merge problems. Mainly comment + style changes. +Files: src/libvterm/include/vterm.h, src/libvterm/src/rect.h, + src/libvterm/src/utf8.h, src/libvterm/src/vterm_internal.h, + src/libvterm/src/encoding.c, src/libvterm/src/keyboard.c, + src/libvterm/src/mouse.c, src/libvterm/src/parser.c, + src/libvterm/src/pen.c, src/libvterm/src/screen.c, + src/libvterm/src/state.c, src/libvterm/src/unicode.c, + src/libvterm/src/vterm.c + +Patch 8.2.0814 +Problem: Clang warning for implicit conversion. +Solution: Add type cast. (Dominique Pellé, closes #6124) +Files: src/evalfunc.c + +Patch 8.2.0815 +Problem: maparg() does not provide enough information for mapset(). +Solution: Add "lhsraw" and "lhsrawalt" items. Drop "simplified" +Files: src/map.c, runtime/doc/eval.txt, src/testdir/test_maparg.vim + +Patch 8.2.0816 +Problem: Terminal test fails when compiled with Athena. +Solution: Do give an error when the GUI is not running. (hint by Dominique + Pellé, closes #5928, closes #6132) +Files: src/globals.h, src/gui.c, src/term.c, src/channel.c, + src/testdir/test_terminal.vim + +Patch 8.2.0817 +Problem: Not enough memory allocated when converting string with special + character. +Solution: Reserve space for modifier code. (closes #6130) +Files: src/eval.c, src/testdir/test_functions.vim + +Patch 8.2.0818 +Problem: Vim9: using a discovery phase doesn't work well. +Solution: Remove the discovery phase, instead compile a function only when + it is used. Add :defcompile to compile def functions earlier. +Files: runtime/doc/vim9.txt, src/vim9script.c, src/structs.h, + src/userfunc.c, src/proto/userfunc.pro, src/eval.c, + src/evalvars.c, src/proto/evalvars.pro, src/vim9compile.c, + src/proto/vim9compile.pro, src/vim9execute.c, src/ex_cmds.h, + src/ex_docmd.c, src/ex_cmdidxs.h, src/vim.h, src/testdir/vim9.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.0819 +Problem: Compiler warning for unused variable. +Solution: Remove the variable. +Files: src/evalvars.c + +Patch 8.2.0820 +Problem: Vim9: function type isn't set until compiled. +Solution: Set function type early. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.0821 +Problem: Vim9: memory leak in expr test. +Solution: Do not decrement the length of the list of functions if the + current function is not at the end. +Files: src/vim9compile.c + +Patch 8.2.0822 +Problem: Vim9: code left over from discovery phase. +Solution: Remove the dead code. +Files: src/scriptfile.c, src/proto/scriptfile.pro, src/ex_cmds.h, + src/evalvars.c, src/proto/evalvars.pro, src/ex_docmd.c + +Patch 8.2.0823 +Problem: Vim9: script reload test is disabled. +Solution: Compile a function in the context of the script where it was + defined. Set execution stack for compiled function. Add a test + that an error is reported for the right file/function. +Files: src/vim9compile.c, src/vim9execute.c, src/scriptfile.c, + src/proto/scriptfile.pro, src/userfunc.c, src/globals.h, + src/structs.h, src/ex_docmd.c, src/ex_eval.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0824 (after 8.2.0817) +Problem: Still not enough memory allocated when converting string with + special character. +Solution: Reserve space for expanding K_SPECIAL. (closes #6130) +Files: src/eval.c, src/testdir/test_functions.vim + +Patch 8.2.0825 +Problem: def_function() may return pointer that was freed. +Solution: Set "fp" to NULL after freeing it. +Files: src/userfunc.c + +Patch 8.2.0826 +Problem: Vim9: crash in :defcompile. +Solution: Restart the loop after a call to compile_def_function() caused the + hash table to resize. +Files: src/userfunc.c + +Patch 8.2.0827 +Problem: Vim9: crash in :defcompile. +Solution: Fix off-by-one error. +Files: src/userfunc.c + +Patch 8.2.0828 +Problem: Travis: regexp pattern doesn't work everywhere. +Solution: Use [:blank:] instead of \b. (Ozaki Kiichi, closes #6146) +Files: .travis.yml, ci/config.mk.clang.sed, ci/config.mk.gcc.sed, + ci/config.mk.sed, src/if_ruby.c + +Patch 8.2.0829 +Problem: filter() may give misleading error message. +Solution: Also mention Blob as an allowed argument. +Files: src/list.c, src/testdir/test_filter_map.vim + +Patch 8.2.0830 +Problem: Motif: can't map "!". (Ben Jackson) +Solution: Remove the shift modifier if it's already included in the key. + (closes #6147) +Files: src/gui_x11.c + +Patch 8.2.0831 +Problem: Compiler warnings for integer sizes. +Solution: Add type casts. (Mike Williams) +Files: src/libvterm/src/pen.c, src/terminal.c + +Patch 8.2.0832 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Add initial value. +Files: src/map.c + +Patch 8.2.0833 +Problem: Mapping <C-bslash> doesn't work in the GUI. +Solution: Reset seenModifyOtherKeys when starting the GUI. (closes #6150) +Files: src/gui.c + +Patch 8.2.0834 +Problem: :drop command in terminal popup causes problems. +Solution: Check for using a popup window. (closes #6151) +Files: src/ex_cmds.c, src/testdir/test_popupwin.vim + +Patch 8.2.0835 +Problem: Motif: mapping <C-bslash> still doesn't work. +Solution: Accept CSI for K_SPECIAL. Do not apply CTRL to the character + early. (closes #6150) +Files: src/getchar.c, src/gui_x11.c + +Patch 8.2.0836 +Problem: Not all :cdo output is visible. +Solution: Reset 'shortmess' temporarily. (Yegappan Lakshmanan, closes #6155) +Files: src/ex_cmds2.c, src/testdir/test_cdo.vim + +Patch 8.2.0837 +Problem: Compiler warning for value set but not used. +Solution: Move variable inside #ifdef. +Files: src/channel.c + +Patch 8.2.0838 +Problem: MS-Windows: compiler warning for uninitialized variables. +Solution: Initialize variables. +Files: src/screen.c + +Patch 8.2.0839 +Problem: Dropping modifier when putting a character back in typeahead. +Solution: Add modifier to ins_char_typebuf(). (closes #6158) +Files: src/getchar.c, src/proto/getchar.pro, src/message.c, src/normal.c, + src/terminal.c, src/globals.h, src/testdir/test_messages.vim + +Patch 8.2.0840 +Problem: Search match count wrong when only match is in fold. +Solution: Update search stats when in a closed fold. (Christian Brabandt, + closes #6160, closes #6152) +Files: src/search.c, src/testdir/dumps/Test_searchstat_3.dump, + src/testdir/test_search_stat.vim + +Patch 8.2.0841 +Problem: 'verbose' value 16 causes duplicate output. +Solution: Combine levels 15 and 16 into one message. (Christian Brabandt, + closes #6153) +Files: runtime/doc/options.txt, src/ex_docmd.c + +Patch 8.2.0842 (after 8.2.0837) +Problem: MS-Windows: channel tests fail. +Solution: Adjust #ifdefs. (closes #6162) +Files: src/channel.c + +Patch 8.2.0843 +Problem: Filetype elm not detected. +Solution: Recognize *.elm files. (closes #6157) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0844 +Problem: Text properties crossing lines not handled correctly. +Solution: When saving for undo include an extra line when needed and do not + adjust properties when undoing. (Axel Forsman, closes #5875) +Files: src/memline.c, src/proto/memline.pro, src/undo.c, src/structs.h + +Patch 8.2.0845 +Problem: Text properties crossing lines not handled correctly. +Solution: When joining lines merge text properties if possible. + (Axel Forsman, closes #5839, closes #5683) +Files: src/testdir/test_textprop.vim, src/memline.c, src/ops.c, + src/proto/textprop.pro, src/textprop.c, + src/testdir/dumps/Test_textprop_01.dump + +Patch 8.2.0846 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/undo.c + +Patch 8.2.0847 +Problem: Typval related code is spread out. +Solution: Move code to new typval.c file. (Yegappan Lakshmanan, closes #6093) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/eval.c, src/evalfunc.c, src/globals.h, src/proto.h, + src/proto/eval.pro, src/proto/evalfunc.pro, src/proto/typval.pro, + src/typval.c + +Patch 8.2.0848 +Problem: MS-Windows: the Windows terminal code has some flaws. +Solution: Do not redraw the right edge of the screen. Remove the background + color trick. Flush the screen output buffer often. (Nobuhiro + Takasaki, #5546) +Files: src/os_win32.c, src/proto/os_win32.pro, src/term.c + +Patch 8.2.0849 +Problem: BeOS code is not maintained and probably unused. +Solution: Remove the BeOS code. (Emir Sarı, closes #5817) +Files: Filelist, src/Makefile, src/configure.ac, src/auto/configure, + src/evalfunc.c, src/normal.c, src/os_beos.c, src/os_beos.h, + src/os_beos.rsrc, src/os_unix.c, src/proto.h, + src/proto/os_beos.pro, src/pty.c, src/screen.c, src/term.c, + src/testdir/test_functions.vim, src/ui.c, src/vim.h + +Patch 8.2.0850 +Problem: MS-Windows: exepath() works differently from cmd.exe. +Solution: Make exepath() work better on MS-Windows. (closes #6115) +Files: runtime/doc/eval.txt, src/os_win32.c, + src/testdir/test_functions.vim + +Patch 8.2.0851 (after 8.2.0833) +Problem: Can't distinguish <M-a> from accented "a" in the GUI. +Solution: Use another way to make mapping <C-bslash> work. (closes #6163) +Files: src/gui.c, src/gui_gtk_x11.c, src/getchar.c + +Patch 8.2.0852 +Problem: Cannot map CTRL-S on some systems. +Solution: Do not use CTRL-S for flow control. +Files: src/os_unix.c + +Patch 8.2.0853 +Problem: ml_delete() often called with FALSE argument. +Solution: Use ml_delete_flags(x, ML_DEL_MESSAGE) when argument is TRUE. +Files: src/buffer.c, src/change.c, src/diff.c, src/evalbuffer.c, + src/ex_cmds.c, src/ex_docmd.c, src/fileio.c, src/if_lua.c, + src/if_mzsch.c, src/if_ruby.c, src/if_tcl.c, src/normal.c, + src/popupmenu.c, src/popupwin.c, src/quickfix.c, src/spell.c, + src/terminal.c, src/if_perl.xs, src/if_py_both.h, src/memline.c, + src/proto/memline.pro + +Patch 8.2.0854 +Problem: Xxd cannot show offset as a decimal number. +Solution: Add the "-d" flag. (Aapo Rantalainen, closes #5616) +Files: src/testdir/test_xxd.vim, src/xxd/xxd.c + +Patch 8.2.0855 +Problem: GUI tests fail because the test doesn't use a modifier. +Solution: Add "\{xxx}" to be able to encode a modifier. +Files: runtime/doc/eval.txt, src/typval.c, src/misc2.c, src/vim.h, + src/proto/misc2.pro, src/gui_mac.c, src/option.c, src/highlight.c, + src/term.c, src/testdir/test_backspace_opt.vim, + src/testdir/test_mapping.vim, src/testdir/test_messages.vim + +Patch 8.2.0856 (after 8.2.0852) +Problem: CTRL-S stops output. +Solution: Invert the IXON flag. (closes #6166) +Files: src/os_unix.c + +Patch 8.2.0857 +Problem: GTK cell height can be a pixel too much. +Solution: Subtract 3 instead of 1 when rounding. (closes #6168) +Files: src/gui_gtk_x11.c + +Patch 8.2.0858 +Problem: Not easy to require Lua modules. +Solution: Improve use of Lua path. (Prabir Shrestha, closes #6098) +Files: Filelist, src/if_lua.c, src/optionstr.c, src/proto/if_lua.pro, + src/testdir/test_lua.vim, + src/testdir/testluaplugin/lua/testluaplugin/hello.lua, + src/testdir/testluaplugin/lua/testluaplugin/init.lua + +Patch 8.2.0859 +Problem: No Turkish translation of the manual. +Solution: Add Turkish translations. (Emir Sarı, closes #5641) +Files: Filelist, runtime/doc/Makefile, runtime/doc/evim-tr.1, + runtime/doc/evim-tr.UTF-8.1, runtime/doc/vim-tr.1, + runtime/doc/vim-tr.UTF-8.1, runtime/doc/vimdiff-tr.1, + runtime/doc/vimdiff-tr.UTF-8.1, runtime/doc/vimtutor-tr.1, + runtime/doc/vimtutor-tr.UTF-8.1, src/Makefile + +Patch 8.2.0860 +Problem: Cannot use CTRL-A and CTRL-X on unsigned numbers. +Solution: Add "unsigned" to 'nrformats'. (Naruhiko Nishino, closes #6144) +Files: runtime/doc/options.txt, src/ops.c, src/optionstr.c, + src/testdir/test_increment.vim + +Patch 8.2.0861 +Problem: Cannot easily get all the current marks. +Solution: Add getmarklist(). (Yegappan Lakshmanan, closes #6032) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/mark.c, src/proto/mark.pro, src/testdir/test_marks.vim + +Patch 8.2.0862 +Problem: ":term ++curwin" makes the current buffer hidden. (Harm te + Hennepe) +Solution: Do not hide the current buffer. (closes #6170) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.0863 +Problem: Cannot set a separate color for underline/undercurl. +Solution: Add the t_AU and t_8u termcap codes. (Timur Celik, closes #6011) +Files: runtime/doc/syntax.txt, runtime/doc/term.txt, src/globals.h, + src/highlight.c, src/optiondefs.h, src/proto/term.pro, + src/screen.c, src/structs.h, src/term.c, src/term.h, + src/testdir/test_options.vim + +Patch 8.2.0864 +Problem: Pragmas are indented all the way to the left. +Solution: Add an option to indent pragmas like normal code. (Max Rumpf, + closes #5468) +Files: runtime/doc/indent.txt, src/cindent.c, src/structs.h, + src/testdir/test_cindent.vim + +Patch 8.2.0865 +Problem: Syntax foldlevel is taken from the start of the line. +Solution: Add ":syn foldlevel" to be able to use the minimal foldlevel in + the line. (Brad King, closes #6087) +Files: runtime/doc/syntax.txt, src/structs.h, src/syntax.c, + src/testdir/test_syntax.vim + +Patch 8.2.0866 +Problem: Not enough tests for buffer writing. +Solution: Add more tests. Use CheckRunVimInTerminal in more places. + (Yegappan Lakshmanan, closes #6167) +Files: src/testdir/test_arglist.vim, src/testdir/test_match.vim, + src/testdir/test_messages.vim, src/testdir/test_netbeans.py, + src/testdir/test_netbeans.vim, src/testdir/test_search.vim, + src/testdir/test_signals.vim, src/testdir/test_signs.vim, + src/testdir/test_startup.vim, src/testdir/test_startup_utf8.vim, + src/testdir/test_syntax.vim, src/testdir/test_tabpage.vim, + src/testdir/test_timers.vim, src/testdir/test_vimscript.vim, + src/testdir/test_writefile.vim + +Patch 8.2.0867 +Problem: Using \{xxx} for encoding a modifier is not nice. +Solution: Use \<*xxx> instead, since it's the same as \<xxx> but producing a + different code. +Files: runtime/doc/eval.txt, src/typval.c, src/misc2.c, src/vim.h, + src/testdir/test_backspace_opt.vim, src/testdir/test_mapping.vim, + src/testdir/test_messages.vim + +Patch 8.2.0868 +Problem: trim() always trims both ends. +Solution: Add an argument to only trim the beginning or end. (Yegappan + Lakshmanan, closes #6126) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.2.0869 +Problem: It is not possible to customize the quickfix window contents. +Solution: Add 'quickfixtextfunc'. (Yegappan Lakshmanan, closes #5465) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/quickfix.txt, src/option.h, src/optiondefs.h, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.0870 +Problem: MS-Windows: Control keys don't work in the GUI. +Solution: Don't set seenModifyOtherKeys for now. (Yasuhiro Matsumoto, + closes #6175) +Files: src/gui.c + +Patch 8.2.0871 +Problem: Cannot use getmarklist() as a method. +Solution: Make getmarklist() work as a method. Add one to the column + number to match getpos(). (Yegappan Lakshmanan, closes #6176) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/mark.c, + src/testdir/test_marks.vim + +Patch 8.2.0872 +Problem: XIM code is mixed with multibyte code. +Solution: Move the XIM code to a separate file. (Yegappan Lakshmanan, + closes #6177) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/gui_xim.c, + src/mbyte.c, src/proto.h, src/proto/gui_xim.pro, + src/proto/mbyte.pro + +Patch 8.2.0873 +Problem: A .jl file can be sawfish (lisp) or Julia. +Solution: Do not recognize *.jl as lisp, since it might be Julia. + (closes #6178) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0874 +Problem: Signals test is a bit flaky. +Solution: Flush the XautoOut file. Delete files that may be left behind + from a failure. (Dominique Pellé, closes #6179) +Files: src/testdir/test_signals.vim + +Patch 8.2.0875 +Problem: Getting attributes for directory entries is slow. +Solution: Add readdirex(). (Ken Takata, closes #5619) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/fileio.c, src/filepath.c, src/proto/fileio.pro, + src/proto/filepath.pro, src/testdir/test_functions.vim + +Patch 8.2.0876 +Problem: :pwd does not give a hint about the scope of the directory +Solution: Make ":verbose pwd" show the scope. (Takuya Fujiwara, closes #5469) +Files: runtime/doc/editing.txt, src/ex_docmd.c, src/testdir/test_cd.vim + +Patch 8.2.0877 +Problem: Cannot get the search statistics. +Solution: Add the searchcount() function. (Fujiwara Takuya, closes #4446) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/macros.h, + src/proto/search.pro, src/search.c, + src/testdir/test_search_stat.vim + +Patch 8.2.0878 +Problem: No reduce() function. +Solution: Add a reduce() function. (closes #5481) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/globals.h, src/list.c, + src/proto/list.pro, src/testdir/test_listdict.vim + +Patch 8.2.0879 +Problem: Compiler warning for unused function argument. +Solution: Add UNUSED. +Files: src/search.c + +Patch 8.2.0880 (after 8.2.0877) +Problem: Leaking memory when using searchcount(). +Solution: Free the last used search pattern. +Files: src/search.c + +Patch 8.2.0881 +Problem: Compiler warning for argument type. +Solution: Add type cast. (Mike Williams) +Files: src/ops.c + +Patch 8.2.0882 +Problem: Leaking memory when using reduce(). +Solution: Free the intermediate value. +Files: src/list.c + +Patch 8.2.0883 +Problem: Memory leak in test 49. +Solution: Free "sfile" from the exception. +Files: src/ex_docmd.c + +Patch 8.2.0884 +Problem: Searchcount() test fails on slower systems. +Solution: Set a longer timeout. +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.2.0885 +Problem: "make shadow" does not link new lua test dir. +Solution: Also link testdir/testluaplugin. (Elimar Riesebieter) +Files: src/Makefile + +Patch 8.2.0886 +Problem: Cannot use octal numbers in scriptversion 4. +Solution: Add the "0o" notation. (Ken Takata, closes #5304) +Files: runtime/doc/eval.txt, src/charset.c, src/evalfunc.c, + src/testdir/test_eval_stuff.vim, src/testdir/test_functions.vim, + src/vim.h + +Patch 8.2.0887 +Problem: Searchcount().exact_match is 1 right after a match. +Solution: Use LT_POS() instead of LTOREQ_POS(). (closes #6189) +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.2.0888 +Problem: Readdirex() returns size -2 for a directory. +Solution: Add missing "else". (Ken Takata, closes #6185) +Files: src/fileio.c, src/testdir/test_functions.vim + +Patch 8.2.0889 +Problem: Using old style comments. +Solution: Use // comments. (Yegappan Lakshmanan, closes #6190) +Files: src/gui_xim.c + +Patch 8.2.0890 +Problem: No color in terminal window when 'termguicolors' is set. +Solution: Clear the underline color. (closes #6186) +Files: src/highlight.c + +Patch 8.2.0891 +Problem: Clang warns for invalid conversion. +Solution: Use zero instead of INVALCOLOR. +Files: src/highlight.c + +Patch 8.2.0892 +Problem: Ubsan warns for undefined behavior. +Solution: Use unsigned instead of signed variable. (Dominique Pellé, + closes #6193) +Files: src/regexp_nfa.c + +Patch 8.2.0893 +Problem: Assert_equalfile() does not take a third argument. +Solution: Implement the third argument. (Gary Johnson) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, src/evalfunc.c, + src/testdir/test_assert.vim, src/testing.c + +Patch 8.2.0894 +Problem: :mkspell can take very long if the word count is high. +Solution: Use long to avoid negative numbers. Increase the limits by 20% if + the compression did not have effect. +Files: src/spellfile.c + +Patch 8.2.0895 +Problem: :mkspell output does not mention the tree type. +Solution: Back out increasing the limits, it has no effect. Mention the + tree being compressed. Only give a message once per second. +Files: src/spellfile.c + +Patch 8.2.0896 +Problem: Crash when calling searchcount() with a string. +Solution: Check the argument is a dict. (closes #6192) +Files: src/search.c, src/testdir/test_search_stat.vim + +Patch 8.2.0897 +Problem: List of functions in patched version is outdated. +Solution: Update the function lists only. +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt + +Patch 8.2.0898 +Problem: Missing help for a function goes unnoticed. +Solution: Add a test. (Gary Johnson) +Files: src/testdir/test_function_lists.vim, src/testdir/Make_all.mak + +Patch 8.2.0899 +Problem: Assert_equalfile() does not give a hint about the difference. +Solution: Display the last seen text. +Files: src/testing.c, src/testdir/test_assert.vim + +Patch 8.2.0900 +Problem: Function list test fails on MS-Windows. +Solution: Make sure the fileformat is "unix" +Files: src/testdir/test_function_lists.vim + +Patch 8.2.0901 +Problem: Formatting CJK text isn't optimal. +Solution: Properly break CJK lines. (closes #3875) +Files: runtime/doc/change.txt, src/mbyte.c, src/ops.c, src/option.h, + src/proto/mbyte.pro, src/testdir/Make_all.mak, src/textformat.c, + src/testdir/test_cjk_linebreak.vim + +Patch 8.2.0902 +Problem: Using searchcount() in 'statusline' causes an error. +Solution: Avoid saving/restoring the search pattern recursively. + (closes #6194) +Files: src/search.c, src/testdir/test_search_stat.vim, + src/testdir/dumps/Test_searchstat_4.dump + +Patch 8.2.0903 +Problem: comparing WINVER does not work correctly. +Solution: Use arithmetic expansion. (Ozaki Kiichi, closes #6197) +Files: src/Make_cyg_ming.mak + +Patch 8.2.0904 +Problem: Assuming modifyOtherKeys for rhs of mapping. +Solution: Ignore seenModifyOtherKeys for mapped characters. (closes #6200) +Files: src/getchar.c, src/testdir/test_gui.vim + +Patch 8.2.0905 +Problem: Test coverage could be better. +Solution: Add a couple of tests. (Dominique Pellé, closes #6202) +Files: src/testdir/test_cmdline.vim, src/testdir/test_ga.vim + +Patch 8.2.0906 +Problem: When setting 'termguicolors' SpellBad is no longer red. +Solution: Only use the RGB guisp color for cterm when using the "underline" + or "undercurl" attributes to avoid the background color to be + cleared. Also make t_8u empty when the termresponse indicates a + real xterm. (closes #6207) +Files: src/highlight.c, src/term.c + +Patch 8.2.0907 +Problem: When using :global clipboard isn't set correctly. +Solution: Set "clip_unnamed_saved" instead of "clip_unnamed". (Christian + Brabandt, closes #6203, closes #6198) +Files: src/clipboard.c, src/testdir/test_global.vim + +Patch 8.2.0908 +Problem: Crash when changing the function table while listing it. +Solution: Bail out when the function table changes. (closes #6209) +Files: src/userfunc.c, src/testdir/test_timers.vim + +Patch 8.2.0909 +Problem: Cannot go back to the previous local directory. +Solution: Add "tcd -" and "lcd -". (Yegappan Lakshmanan, closes #4362) +Files: runtime/doc/editing.txt, src/filepath.c, src/ex_docmd.c, + src/structs.h, src/testdir/test_cd.vim, src/window.c + +Patch 8.2.0910 +Problem: Vim is not reproducibly buildable. +Solution: Use the $SOURCE_DATE_EPOCH environment variable in configure. + (James McCoy, closes #513) Give a warning about using it. +Files: src/config.h.in, src/config.mk.in, src/configure.ac, + src/auto/configure, src/version.c, src/Makefile + +Patch 8.2.0911 +Problem: Crash when opening a buffer for the cmdline window fails. (Chris + Barber) +Solution: Check do_ecmd() succeeds. Reset got_int if "q" was used at the + more prompt. (closes #6211) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_cmdwin_interrupted.dump + +Patch 8.2.0912 +Problem: A few test cases for CJK formatting are disabled. +Solution: Fix the tests and enable them. (closes #6212) +Files: src/testdir/test_cjk_linebreak.vim + +Patch 8.2.0913 +Problem: Code for resetting v:register is duplicated. +Solution: Add reset_reg_var(). +Files: src/evalvars.c, src/proto/evalvars.pro, src/main.c, src/normal.c + +Patch 8.2.0914 +Problem: MS-Windows: cannot specify a "modified by" text. +Solution: Add MODIFIED_BY in the MSVC build file. (Chen Lei, closes #1275) +Files: src/Make_mvc.mak + +Patch 8.2.0915 +Problem: Search() cannot skip over matches like searchpair() can. +Solution: Add an optional "skip" argument. (Christian Brabandt, closes #861) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/testdir/test_syntax.vim, + src/structs.h, src/evalvars.c, src/proto/evalvars.pro + +Patch 8.2.0916 +Problem: Mapping with partly modifyOtherKeys code does not work. +Solution: If there is no mapping with a separate modifier include the + modifier in the key and then try mapping again. (closes #6200) +Files: src/getchar.c, src/proto/getchar.pro, src/edit.c, src/term.c, + src/proto/term.pro, src/testdir/test_termcodes.vim + +Patch 8.2.0917 +Problem: Quickfix entries do not support a "note" type. +Solution: Add support for "note". (partly by Yegappan Lakshmanan, + closes #5527, closes #6216) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.0918 +Problem: Duplicate code for evaluating expression argument. +Solution: Merge the code and make the use more flexible. +Files: src/evalfunc.c, src/eval.c, src/proto/eval.pro, src/evalvars.c, + src/proto/evalvars.pro, src/structs.h + +Patch 8.2.0919 +Problem: Merging modifier for modifyOtherKeys is done twice. +Solution: Remove the merging done in vgetc(). +Files: src/getchar.c, src/ex_getln.c + +Patch 8.2.0920 +Problem: Writing viminfo fails with a circular reference. +Solution: Use copyID to detect the cycle. (closes #6217) +Files: src/testdir/test_viminfo.vim, src/viminfo.c + +Patch 8.2.0921 +Problem: CTRL-W T in cmdline window causes trouble. +Solution: Disallow CTRL-W T in the cmdline window. Add more tests. + (Naruhiko Nishino, closes #6219) +Files: src/testdir/test_cmdline.vim, src/window.c + +Patch 8.2.0922 +Problem: Search test fails. +Solution: Remove failure tests for calls that no longer fail. +Files: src/testdir/test_search.vim + +Patch 8.2.0923 +Problem: Cmdline test is slow. +Solution: Use WaitForAssert(). +Files: src/testdir/test_cmdline.vim + +Patch 8.2.0924 +Problem: Cannot save and restore a register properly. +Solution: Add getreginfo() and make setreg() accept a dictionary. (Andy + Massimino, closes #3370) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/proto/register.pro, src/register.c, + src/testdir/test_eval_stuff.vim, src/testdir/test_registers.vim + +Patch 8.2.0925 +Problem: Getcompletion() does not return command line arguments. +Solution: Add the "cmdline" option. (Shougo, closes #1140) +Files: runtime/doc/eval.txt, src/cmdexpand.c, + src/testdir/test_cmdline.vim + +Patch 8.2.0926 +Problem: Cmdline test fails on Appveyor. +Solution: Add CR to the commands. (Naruhiko Nishino, closes #6220) +Files: src/testdir/test_cmdline.vim + +Patch 8.2.0927 +Problem: Some sshconfig and ssdhconfig files are not recognized. +Solution: Add filetype patterns. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0928 +Problem: Many type casts are used for vim_strnsave(). +Solution: Make the length argument size_t instead of int. (Ken Takata, + closes #5633) Remove some type casts. +Files: src/misc2.c, src/proto/misc2.pro, src/autocmd.c, src/channel.c, + src/cmdexpand.c, src/dict.c, src/diff.c, src/digraph.c, + src/eval.c, src/evalfunc.c, src/highlight.c, src/syntax.c + +Patch 8.2.0929 +Problem: v:register is not cleared after an operator was executed. +Solution: Clear v:register after finishing an operator (Andy Massimino, + closes #5305) +Files: src/normal.c, src/testdir/test_registers.vim + +Patch 8.2.0930 +Problem: Script filetype detection trips over env -S argument. +Solution: Remove "-S" and "--ignore-environment". (closes #5013) + Add tests. +Files: runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.2.0931 +Problem: Some remarks about BeOS remain. +Solution: Remove BeOS remarks from the help and other files. (Emir Sarı, + closes #6221) +Files: READMEdir/README_extra.txt, runtime/doc/options.txt, + runtime/doc/os_beos.txt, runtime/doc/os_vms.txt, + runtime/doc/vi_diff.txt, src/INSTALL + +Patch 8.2.0932 +Problem: Misspelling spelllang. +Solution: Add an "l". (Dominique Pellé) +Files: src/optionstr.c, src/proto/spell.pro, src/spell.c + +Patch 8.2.0933 +Problem: 'quickfixtextfunc' does not get window ID of location list. +Solution: Add "winid" to the dict argument. (Yegappan Lakshmanan, + closes #6222) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.0934 +Problem: Running lhelpgrep twice in a help window doesn't jump to the help + topic. +Solution: Check whether any window with the location list is present. + (Yegappan Lakshmanan, closes #6215) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.0935 +Problem: Flattening a list with existing code is slow. +Solution: Add flatten(). (Mopp, closes #3676) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/list.c, src/proto/list.pro, src/testdir/Make_all.mak, + src/testdir/test_flatten.vim + +Patch 8.2.0936 +Problem: Some terminals misinterpret the code for getting cursor style. +Solution: Send a sequence to the terminal and check the result. (IWAMOTO + Kouichi, closes #2126) Merged with current code. +Files: src/main.c, src/term.c, src/proto/term.pro, + src/testdir/term_util.vim, src/testdir/test_quickfix.vim, + src/testdir/test_terminal.vim, src/testdir/test_startup_utf8.vim, + src/testdir/dumps/Test_balloon_eval_term_01.dump, + src/testdir/dumps/Test_balloon_eval_term_01a.dump, + src/testdir/dumps/Test_balloon_eval_term_02.dump, + src/testdir/dumps/Test_terminal_all_ansi_colors.dump + +Patch 8.2.0937 +Problem: Asan failure in the flatten() test. +Solution: Free the flattened list. +Files: src/list.c + +Patch 8.2.0938 +Problem: NFA regexp uses tolower() to compare ignore-case. (Thayne McCombs) +Solution: Use utf_fold() when possible. (ref. neovim #12456) +Files: src/macros.h, src/diff.c, src/regexp_nfa.c, + src/testdir/test_regexp_utf8.vim + +Patch 8.2.0939 +Problem: checking for term escape sequences is long and confusing +Solution: Refactor code into separate functions. +Files: src/term.c + +Patch 8.2.0940 (after 8.2.0939) +Problem: Build failure with tiny features. +Solution: Add #ifdef. Add UNUSED. A bit more cleaning up. +Files: src/term.c + +Patch 8.2.0941 +Problem: Detecting terminal properties is unstructured. +Solution: Add a table with terminal properties. Set properties when a + terminal is detected. +Files: src/term.c + +Patch 8.2.0942 +Problem: Expanding to local dir after homedir keeps "~/". +Solution: Adjust modify_fname(). (Christian Brabandt, closes #6205, + closes #5979) +Files: src/filepath.c, src/testdir/test_fnamemodify.vim + +Patch 8.2.0943 +Problem: Displaying ^M or ^J depends on current buffer. +Solution: Pass the displayed buffer to transchar(). (closes #6225) +Files: src/drawline.c, src/charset.c, src/proto/charset.pro, + src/ex_cmds.c, src/gui_beval.c, src/message.c, + src/testdir/test_display.vim, + src/testdir/dumps/Test_display_unprintable_01.dump, + src/testdir/dumps/Test_display_unprintable_02.dump + +Patch 8.2.0944 +Problem: Xxd test leaves file behind. +Solution: Delete the file "XXDfile". (Christian Brabandt, closes #6228) +Files: src/testdir/test_xxd.vim + +Patch 8.2.0945 +Problem: Cannot use "z=" when 'spell' is off. +Solution: Make "z=" work even when 'spell' is off. (Christian Brabandt, + Gary Johnson, closes #6227) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/spell.c, + src/spellsuggest.c, src/testdir/test_spell.vim, src/globals.h + +Patch 8.2.0946 +Problem: Cannot use "q" to cancel a number prompt. +Solution: Recognize "q" instead of ignoring it. +Files: src/misc1.c, src/testdir/test_functions.vim + +Patch 8.2.0947 +Problem: Readdirex() doesn't handle broken link properly. +Solution: Small fixes to readdirex(). (Christian Brabandt, closes #6226, + closes #6213) +Files: src/fileio.c, src/testdir/test_functions.vim + +Patch 8.2.0948 +Problem: Spell test fails. +Solution: Adjust expected text of the prompt. +Files: src/testdir/test_spell.vim + +Patch 8.2.0949 +Problem: Strptime() does not use DST. +Solution: Set the tm_isdst field to -1. (Tomáš Janoušek, closes #6230) +Files: src/time.c, src/testdir/test_functions.vim + +Patch 8.2.0950 +Problem: Tagjump test fails. +Solution: Adjust expected text of the prompt. +Files: src/testdir/test_tagjump.vim + +Patch 8.2.0951 +Problem: Search stat test has leftover from debugging. +Solution: Remove line that writes a file. (Christian Brabandt, closes #6224) +Files: src/testdir/test_search_stat.vim + +Patch 8.2.0952 +Problem: No simple way to interrupt Vim. +Solution: Add the SigUSR1 autocommand, triggered by SIGUSR1. (Jacob Hayes, + closes #1718) +Files: runtime/doc/autocmd.txt, src/vim.h, src/autocmd.c, src/getchar.c, + src/globals.h, src/os_unix.c, src/testdir/test_autocmd.vim + +Patch 8.2.0953 +Problem: Spell checking doesn't work for CamelCased words. +Solution: Add the "camel" value in the new option 'spelloptions'. + (closes #1235) +Files: runtime/doc/options.txt, runtime/doc/spell.txt, src/optiondefs.h, + src/option.h, src/option.c, src/buffer.c, src/optionstr.c, + src/testdir/gen_opt_test.vim, src/testdir/test_spell.vim + +Patch 8.2.0954 +Problem: Not all desktop files are recognized. +Solution: Add the *.directory pattern. (Eisuke Kawashima, closes #3317) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0955 (after 8.2.0953) +Problem: Build fails. +Solution: Add missing struct change. +Files: src/structs.h + +Patch 8.2.0956 (after 8.2.0953) +Problem: Spell test fails. +Solution: Add missing change the spell checking. +Files: src/spell.c + +Patch 8.2.0957 +Problem: Compiler warning for uninitialized variable. (Tony Mechelynck) +Solution: Initialize one variable. +Files: src/spell.c + +Patch 8.2.0958 +Problem: Not sufficient testing for buffer writing. +Solution: Add a few tests. (Yegappan Lakshmanan, closes #6238) +Files: src/testdir/test_backup.vim, src/testdir/test_writefile.vim + +Patch 8.2.0959 +Problem: Using 'quickfixtextfunc' is a bit slow. +Solution: Process a list of entries. (Yegappan Lakshmanan, closes #6234) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.0960 +Problem: Cannot use :import in legacy Vim script. +Solution: Support :import in any Vim script. +Files: src/vim9script.c, src/evalvars.c, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.0961 +Problem: MS-Windows: no completion for locales. +Solution: Use the directories in $VIMRUNTIME/lang to complete locales. + (Christian Brabandt, closes 36248) +Files: src/cmdexpand.c, src/ex_cmds2.c, src/testdir/test_cmdline.vim + +Patch 8.2.0962 +Problem: Terminal test sometimes hangs on Travis. +Solution: Do show output for this test temporarily. +Files: src/testdir/Makefile + +Patch 8.2.0963 +Problem: Number increment/decrement does not work with 'virtualedit'. +Solution: Handle coladd changing. (Christian Brabandt, closes #6240, + closes #923) +Files: runtime/doc/options.txt, runtime/doc/various.txt, src/ops.c, + src/testdir/test_increment.vim + +Patch 8.2.0964 +Problem: TextYankPost does not provide info about Visual selection. +Solution: Add the 'visual' key in v:event. (closes #6249) +Files: runtime/doc/autocmd.txt, src/register.c, + src/testdir/test_autocmd.vim + +Patch 8.2.0965 +Problem: Has_funcundefined() is not used. +Solution: Delete the function. (Dominique Pellé, closes #6242) +Files: src/autocmd.c, src/proto/autocmd.pro + +Patch 8.2.0966 +Problem: 'shortmess' flag "n" not used in two places. +Solution: Make use of the "n" flag consistent. (Nick Jensen, closes #6245, + closes #6244) +Files: src/bufwrite.c, src/proto/bufwrite.pro, src/buffer.c, + src/fileio.c, src/testdir/dumps/Test_popup_textprop_corn_5.dump, + src/testdir/dumps/Test_start_with_tabs.dump + +Patch 8.2.0967 +Problem: Unnecessary type casts for vim_strnsave(). +Solution: Remove the type casts. +Files: src/evalvars.c, src/ex_cmds.c, src/ex_eval.c, src/fileio.c, + src/filepath.c, src/findfile.c, src/highlight.c, src/if_ruby.c, + src/insexpand.c, src/json.c, src/mark.c, src/memline.c, + src/menu.c, src/misc1.c, src/ops.c, src/os_win32.c, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/register.c, src/search.c, + src/sign.c, src/syntax.c, src/term.c, src/terminal.c, src/undo.c, + src/usercmd.c, src/userfunc.c, src/vim9compile.c, src/if_perl.xs + +Patch 8.2.0968 +Problem: No proper testing of the 'cpoptions' flags. +Solution: Add tests. (Yegappan Lakshmanan, closes #6251) +Files: src/testdir/Make_all.mak, src/testdir/test_cpoptions.vim, + src/testdir/test_edit.vim, src/testdir/test_normal.vim + +Patch 8.2.0969 +Problem: Assert_equal() output for dicts is hard to figure out. +Solution: Only show the different items. +Files: src/testing.c, src/testdir/test_assert.vim + +Patch 8.2.0970 +Problem: Terminal properties are not available in Vim script. +Solution: Add the terminalprops() function. +Files: src/term.c, src/proto/term.pro, src/evalfunc.c, src/main.c, + src/testing.c, src/globals.h, src/testdir/test_termcodes.vim, + runtime/doc/usr_41.txt, runtime/doc/eval.txt, + runtime/doc/testing.txt + +Patch 8.2.0971 +Problem: Build with tiny features fails. +Solution: Add #ifdef. +Files: src/term.c + +Patch 8.2.0972 +Problem: Vim9 script variable declarations need a type. +Solution: Make "let var: type" declare a script-local variable. +Files: src/evalvars.c, src/vim9script.c, src/proto/vim9script.pro, + src/globals.h, src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0973 +Problem: Vim9: type is not checked when assigning to a script variable. +Solution: Check the type. +Files: src/evalvars.c, src/vim9script.c, src/proto/vim9script.pro, + src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.0974 +Problem: Vim9: memory leak when script var has wrong type. +Solution: Free the variable name. +Files: src/vim9script.vim + +Patch 8.2.0975 +Problem: Vim9: script variable does not accept optional s: prefix. +Solution: Adjust the accepted syntax. +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0976 +Problem: Some 'cpoptions' not tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6253) +Files: src/testdir/test_cd.vim, src/testdir/test_charsearch.vim, + src/testdir/test_cpoptions.vim, src/testdir/test_normal.vim + +Patch 8.2.0977 +Problem: t_8u is made empty for the wrong terminals. (Dominique Pelle) +Solution: Invert the check for TPR_YES. (closes #6254) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.0978 +Problem: Leaking memory in termcodes test. +Solution: Set t_8u with set_option_value(). +Files: src/term.c + +Patch 8.2.0979 +Problem: A couple of screendump tests fail. +Solution: Do not redraw when clearing t_8u. +Files: src/term.c + +Patch 8.2.0980 +Problem: Raku file extension not recognized. (Steven Penny) +Solution: Recognize .raku and .rakumod. (closes #6255) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0981 +Problem: Vim9: cannot compile "[var, var] = list". +Solution: Implement list assignment. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/evalvars.c, + src/proto/evalvars.pro, src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0982 +Problem: Insufficient testing for reading/writing files. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6257) + Add "ui_delay" to test_override() and use it for the CTRL-O test. +Files: src/testing.c, src/globals.h, src/ui.c, runtime/doc/testing.txt, + src/testdir/test_autocmd.vim, src/testdir/test_edit.vim, + src/testdir/test_filechanged.vim, src/testdir/test_writefile.vim + +Patch 8.2.0983 +Problem: SConstruct file type not recognized. +Solution: Use python for SConstruct files. (Roland Hieber) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.0984 +Problem: Not using previous window when closing a shell popup window. +Solution: Use "prevwin" if it was set. (closes #6267) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.0985 +Problem: Simplify() does not remove slashes from "///path". +Solution: Reduce > 2 slashes to one. (closes #6263) +Files: src/findfile.c, src/testdir/test_functions.vim + +Patch 8.2.0986 (after 8.2.0985) +Problem: MS-Windows: functions test fails. +Solution: Only simplify ///path on Unix. +Files: src/testdir/test_functions.vim + +Patch 8.2.0987 +Problem: Vim9: cannot assign to [var; var]. +Solution: Assign rest of items to a list. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/list.c, + src/proto/list.pro, src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.0988 +Problem: Getting directory contents is always case sorted. +Solution: Add sort options and v:collate. (Christian Brabandt, closes #6229) +Files: runtime/doc/eval.txt, runtime/doc/mlang.txt, src/auto/configure, + src/cmdexpand.c, src/config.h.in, src/configure.ac, + src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, src/fileio.c, + src/filepath.c, src/globals.h, src/proto/fileio.pro, + src/testdir/test_cmdline.vim, src/testdir/test_functions.vim, + src/vim.h + +Patch 8.2.0989 +Problem: Crash after resizing a terminal window. (August Masquelier) +Solution: Add check for valid row in libvterm. (closes #6273) +Files: src/libvterm/src/state.c, src/libvterm/src/screen.c + +Patch 8.2.0990 (after 8.2.0988) +Problem: Using duplicate error number. +Solution: Use an unused error number. Add a test for it. +Files: src/globals.h, src/testdir/test_functions.vim + +Patch 8.2.0991 +Problem: Cannot get window type for autocmd and preview window. +Solution: Add types to win_gettype(). (Yegappan Lakshmanan, closes #6277) +Files: runtime/doc/eval.txt, src/evalwindow.c, + src/testdir/test_autocmd.vim, src/testdir/test_preview.vim + +Patch 8.2.0992 +Problem: Vim9: crash when using :import in the Vim command. +Solution: Give an error when using :import outside of a script. + (closes #6271) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim, + src/testdir/term_util.vim + +Patch 8.2.0993 +Problem: Vim9 script test fails with normal features. +Solution: Use :func instead of :def for now. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0994 +Problem: Vim9: missing function causes compilation error. +Solution: Call test function indirectly. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.0995 +Problem: Insufficient testing for the readdir() sort option. +Solution: Add a few more tests. (Christian Brabandt, closes #6278) +Files: src/testdir/test_functions.vim + +Patch 8.2.0996 +Problem: Using "aucmdwin" in win_gettype() is not ideal. +Solution: Rename to "autocmd". +Files: runtime/doc/eval.txt, src/evalwindow.c, + src/testdir/test_autocmd.vim + +Patch 8.2.0997 +Problem: Cannot execute a register containing line continuation. +Solution: Concatenate lines where needed. (Yegappan Lakshmanan, + closes #6272) +Files: runtime/doc/repeat.txt, src/register.c, + src/testdir/test_registers.vim + +Patch 8.2.0998 +Problem: Not all tag code is tested. +Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #6284) +Files: src/testdir/test_tagjump.vim + +Patch 8.2.0999 +Problem: Moving to next sentence gets stuck on quote. +Solution: When moving to the next sentence doesn't result in moving, advance + a character and try again. (closes #6291) +Files: src/textobject.c, src/testdir/test_textobjects.vim + +Patch 8.2.1000 +Problem: Get error when leaving Ex mode with :visual and a CmdLineEnter + autocommand was used. +Solution: Reset ex_pressedreturn. (closes #6293) +Files: src/ex_docmd.c, src/testdir/test_ex_mode.vim + +Patch 8.2.1001 +Problem: Vim9: crash with nested "if" and assignment. +Solution: Skip more of the assignment. Do not set ctx_skip when code is + reachable. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1002 +Problem: Test may fail when run directly. +Solution: Check if g:run_nr exists. (Christian Brabandt, closes #6285) +Files: src/testdir/term_util.vim + +Patch 8.2.1003 +Problem: Vim9: return type of sort() is too generic. +Solution: Get type from the first argument. (closes #6292) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1004 +Problem: Line numbers below filler lines not always updated. +Solution: Don't break out of the win_line() loop too early. (Christian + Brabandt, closes #6294, closes #6138) +Files: src/drawline.c, src/testdir/dumps/Test_diff_rnu_01.dump, + src/testdir/dumps/Test_diff_rnu_02.dump, + src/testdir/dumps/Test_diff_rnu_03.dump, + src/testdir/test_diffmode.vim + +Patch 8.2.1005 +Problem: Vim9: using TRUE/FALSE/MAYBE for ctx_skip is confusing. +Solution: Use an enum value. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1006 +Problem: Vim9: require unnecessary return statement. +Solution: Improve the use of the had_return flag. (closes #6270) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1007 +Problem: Completion doesn't work after ":r ++arg !". +Solution: Skip over "++arg". (Christian Brabandt, closes #6275, + closes #6258) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.1008 +Problem: Vim9: no test for disassembling newly added instructions. +Solution: Add a function and check disassembly. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1009 +Problem: Vim9: some failures not checked for. +Solution: Add test cases. Remove unused code. +Files: src/testdir/test_vim9_script.vim, src/vim9execute.c + +Patch 8.2.1010 +Problem: Build failure in libvterm with debug enabled. (John Little) +Solution: Use "->" instead of ".". +Files: src/libvterm/src/state.c + +Patch 8.2.1011 +Problem: Vim9: some code not tested. +Solution: Add a few more test cases. Reorder checks for clearer error. + Remove unreachable code. +Files: src/evalvars.c, src/vim9script.c, src/vim9execute.c, + src/proto/vim9script.pro, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1012 +Problem: Vim9: cannot declare single character script variables. +Solution: Don't see "b:", "s:", etc. as namespace. Fix item size of + sn_var_vals. +Files: src/vim9script.c, src/scriptfile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1013 +Problem: Channel tests can be a bit flaky. +Solution: Set the g:test_is_flaky flag in SetUp(). +Files: src/testdir/test_channel.vim + +Patch 8.2.1014 +Problem: Using "name" for a string result is confusing. +Solution: Rename to "end". +Files: src/typval.c + +Patch 8.2.1015 +Problem: Popup filter gets key with modifier prepended when using + modifyOtherKeys. +Solution: Remove the shift modifier when it is included in the key, also + when the Alt or Meta modifier is used. +Files: src/term.c, src/misc2.c, src/testdir/test_popupwin.vim + +Patch 8.2.1016 +Problem: Vim9: test fails when channel feature is missing. +Solution: Process an :if command when skipping +Files: src/vim9compile.c + +Patch 8.2.1017 +Problem: Appveyor output doesn't show MinGW console features. +Solution: List the features of the console build. +Files: ci/appveyor.bat + +Patch 8.2.1018 +Problem: Typo in enum value. (James McCoy) +Solution: Fix the typo. +Files: src/vim9compile.c + +Patch 8.2.1019 +Problem: Mapping <M-S-a> does not work in the GUI. +Solution: Move the logic to remove the shift modifier to + may_remove_shift_modifier() and also use it in the GUI. +Files: src/gui_gtk_x11.c, src/misc2.c, src/proto/misc2.pro, src/term.c + +Patch 8.2.1020 +Problem: Popupwin test fails in the GUI. +Solution: Send GUI byte sequence for <C-S-a>. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.1021 +Problem: Ruby interface not tested enough. +Solution: Add a couple more tests. (Dominique Pellé, closes #6301) +Files: src/testdir/test_ruby.vim + +Patch 8.2.1022 +Problem: Various parts of code not covered by tests. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6300) +Files: src/testdir/test_blob.vim, src/testdir/test_cpoptions.vim, + src/testdir/test_digraph.vim, src/testdir/test_edit.vim, + src/testdir/test_iminsert.vim, src/testdir/test_paste.vim, + src/testdir/test_prompt_buffer.vim, + src/testdir/test_selectmode.vim, src/testdir/test_tabpage.vim, + src/testdir/test_tagjump.vim, src/testdir/test_textformat.vim, + src/testdir/test_viminfo.vim, src/testdir/test_virtualedit.vim, + src/testdir/test_visual.vim + +Patch 8.2.1023 +Problem: Vim9: redefining a function uses a new index every time. +Solution: When redefining a function clear the contents and re-use the + index. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/structs.h, src/eval.c, src/evalvars.c, src/vim9execute.c + +Patch 8.2.1024 +Problem: Vim9: no error for using "let g:var = val". +Solution: Add an error. +Files: src/evalvars.c, src/globals.h, src/structs.h, src/vim9compile.c, + src/scriptfile.c, src/userfunc.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1025 +Problem: Tabpage menu and tabline not sufficiently tested. +Solution: Add tests. (Yegappan Lakshmanan, closes #6307) +Files: src/testdir/test_digraph.vim, src/testdir/test_tabpage.vim + +Patch 8.2.1026 +Problem: Vim9: cannot break the line after "->". +Solution: Check for a continuation line after "->", "[" and ".". Ignore + trailing white space. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1027 +Problem: GUI: multibyte characters do not work in a terminal. +Solution: Do not assume a key is one byte. (closes #6304) +Files: src/gui_gtk_x11.c, src/gui_x11.c + +Patch 8.2.1028 +Problem: Vim9: no error for declaring buffer, window, etc. variable. +Solution: Give an error. Unify the error messages. +Files: src/evalvars.c, src/globals.h, src/vim9compile.c, + src/proto/vim9compile.pro, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1029 +Problem: Vim9: cannot chain function calls with -> at line start. +Solution: Peek ahead for a following line starting with "->". (closes #6306) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1030 +Problem: Reducing size of a terminal window may cause a crash. +Solution: Make sure the row and column don't become negative. (closes #6273) +Files: src/libvterm/src/state.c, src/libvterm/src/screen.c + +Patch 8.2.1031 +Problem: Build failure with Perl5.32. +Solution: Define a few more functions. (Felix Yan, closes #6310) +Files: src/if_perl.xs + +Patch 8.2.1032 +Problem: Error message for declaring a variable cannot be translated. +Solution: Enclose in _(). Make environment variable a separate message. +Files: src/globals.h, src/vim9compile.c + +Patch 8.2.1033 +Problem: Not easy to read the test time in the test output. +Solution: Align the times. Make slow tests bold. +Files: src/testdir/runtest.vim + +Patch 8.2.1034 +Problem: Compiler warning for uninitialized variables. +Solution: Add initializations. (John Marriott) +Files: src/vim9compile.c + +Patch 8.2.1035 +Problem: setreg() does not always clear the register. +Solution: Clear the register if the dict argument is empty. (Andy Massimino, + closes #3370) +Files: src/evalfunc.c, src/testdir/test_registers.vim + +Patch 8.2.1036 +Problem: Popupwin test fails sometimes. +Solution: Use WaitForAssert() instead of a sleep. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.1037 +Problem: Vim9: crash when using line continuation inside :def. +Solution: Check for no more lines available. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1038 +Problem: Popupwin test fails. +Solution: Fix WaitForAssert() argument. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.1039 +Problem: Cannot put NUL byte on clipboard. +Solution: Use the text length. (Christian Brabandt, closes #6312, + closes #6149) +Files: src/winclip.c, src/testdir/test_registers.vim + +Patch 8.2.1040 +Problem: Not enough testing for movement commands. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6313) +Files: src/testdir/test_cursor_func.vim, src/testdir/test_functions.vim, + src/testdir/test_gf.vim, src/testdir/test_normal.vim, + src/testdir/test_options.vim, src/testdir/test_quickfix.vim + +Patch 8.2.1041 +Problem: Test summary is missing executed count. +Solution: Adjust pattern used for counting. +Files: src/testdir/summarize.vim + +Patch 8.2.1042 +Problem: Vim9: cannot put an operator on the next line. +Solution: Require a colon before a range to see if that causes problems. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/ex_docmd.c, + src/globals.h, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1043 +Problem: %a item in 'statusline' not tested. +Solution: Add a test. (Dominique Pellé, closes #6318) +Files: src/testdir/test_statusline.vim + +Patch 8.2.1044 +Problem: Not all systemd file types are recognized. +Solution: Match several more files. (Guido Cella, closes #6319) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1045 +Problem: Vim9: line break before operator does not work. +Solution: Peek the next line for an operator. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1046 +Problem: Insufficient tests for src/buffer.c. +Solution: Add more tests. Move comments related tests to a separate file. + (Yegappan Lakshmanan, closes #6325) +Files: src/testdir/Make_all.mak, src/testdir/test_buffer.vim, + src/testdir/test_cmdline.vim, src/testdir/test_comments.vim, + src/testdir/test_normal.vim, src/testdir/test_textformat.vim + +Patch 8.2.1047 +Problem: Vim9: script cannot use line continuation like in a :def function. +Solution: Pass the getline function pointer to the eval() functions. Use it + for addition and multiplication operators. +Files: src/vim.h, src/structs.h, src/globals.h, src/ex_eval.c, + src/eval.c, src/proto/eval.pro, src/dict.c, src/evalfunc.c, + src/evalvars.c, src/list.c, src/userfunc.c, src/scriptfile.c, + src/proto/scriptfile.pro, src/testdir/test_vim9_expr.vim + +Patch 8.2.1048 (after 8.2.1047) +Problem: Build failure without the eval feature. +Solution: Add dummy typedef. +Files: src/structs.h + +Patch 8.2.1049 (after 8.2.1047) +Problem: Vim9: leaking memory when using continuation line. +Solution: Keep a pointer to the continuation line in evalarg_T. Centralize + checking for a next command. +Files: src/structs.h, src/eval.c, src/proto/eval.pro, src/beval.c, + src/buffer.c, src/clientserver.c, src/evalvars.c, src/ex_docmd.c, + src/ex_eval.c, src/filepath.c, src/findfile.c, src/fold.c, + src/globals.h, src/if_ole.cpp, src/if_perl.xs, src/if_tcl.c, + src/map.c, src/quickfix.c, src/regexp.c, src/register.c, + src/screen.c, src/userfunc.c + +Patch 8.2.1050 (after 8.2.1049) +Problem: Missing change in struct. +Solution: Add missing change. +Files: src/ex_cmds.h + +Patch 8.2.1051 +Problem: Crash when changing a list while using reduce() on it. +Solution: Lock the list. (closes #6330) +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.1052 +Problem: Build failure with older compilers. +Solution: Move declaration to start of block. +Files: src/eval.c + +Patch 8.2.1053 +Problem: Insufficient testing for 'statusline' and 'tabline'. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6333) +Files: src/testdir/test_autocmd.vim, src/testdir/test_statusline.vim, + src/testdir/test_tabline.vim + +Patch 8.2.1054 +Problem: Not so easy to pass a lua function to Vim. +Solution: Convert a Lua function and closure to a Vim funcref. (Prabir + Shrestha, closes #6246) +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/proto/userfunc.pro, + src/structs.h, src/testdir/test_lua.vim, src/userfunc.c + +Patch 8.2.1055 +Problem: No filetype set for pacman config files. +Solution: Recognize pacman.conf and *.hook. (Guido Cella, closes #6335) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1056 +Problem: Wrong display when mixing match conceal and syntax conceal. +Solution: Adjust how conceal flags are used. (closes #6327, closes #6303) +Files: src/drawline.c, src/highlight.c, + src/testdir/test_matchadd_conceal.vim + +Patch 8.2.1057 (after 8.2.1054) +Problem: Cannot build with dynamic Lua. +Solution: Add dll variables. +Files: src/if_lua.c + +Patch 8.2.1058 +Problem: Multiline conceal causes display errors. +Solution: Do not allow conceal cross over EOL. (closes #6326, closes #4854, + closes #6302) +Files: src/drawline.c, src/testdir/test_conceal.vim, + src/testdir/test_diffmode.vim + +Patch 8.2.1059 +Problem: Crash when using :tabonly in an autocommand. (Yegappan Lakshmanan) +Solution: Do not allow the autocommand window to be closed. +Files: src/ex_docmd.c, src/window.c, src/globals.h, + src/testdir/test_autocmd.vim + +Patch 8.2.1060 +Problem: Not all elinks files are recognized. +Solution: Just check for "elinks.conf". (Guido Cella, closes #6337) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1061 +Problem: Insufficient testing for src/window.c. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6345) +Files: src/testdir/test_excmd.vim, src/testdir/test_gf.vim, + src/testdir/test_options.vim, src/testdir/test_popupwin.vim, + src/testdir/test_quickfix.vim, src/testdir/test_tabpage.vim, + src/testdir/test_tagjump.vim, src/testdir/test_window_cmd.vim, + src/window.c + +Patch 8.2.1062 +Problem: Vim9: no line break allowed inside "cond ? val1 : val2". +Solution: Check for operator after line break. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1063 +Problem: Vim9: no line break allowed before || or &&. +Solution: Check for operator after line break. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1064 +Problem: Vim9: no line break allowed before comparators. +Solution: Check for comparator after line break. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1065 +Problem: Vim9: no line break allowed inside a list. +Solution: Handle line break inside a list in Vim9 script. +Files: src/eval.c, src/proto/eval.pro, src/list.c, src/proto/list.pro, + src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_arglist.vim + +Patch 8.2.1066 +Problem: Lua arrays are zero based. +Solution: Make Lua arrays one based. (Prabir Shrestha, closes #6347) + Note: this is not backwards compatible. +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.1067 +Problem: Expression "!expr->func()" does not work. +Solution: Apply plus and minus earlier. (closes #6348) +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/userfunc.c, + src/testdir/test_expr.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.1068 +Problem: Vim9: no line break allowed inside a dict. +Solution: Handle line break inside a dict in Vim9 script. +Files: src/eval.c, src/dict.c, src/proto/dict.pro, + src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1069 +Problem: Vim9: fail to check for white space in list. +Solution: Add check for white space. +Files: src/list.c + +Patch 8.2.1070 +Problem: Vim9: leaking memory when lacking white space in dict. +Solution: Clear the typval. +Files: src/dict.c + +Patch 8.2.1071 +Problem: Vim9: no line break allowed inside a lambda. +Solution: Handle line break inside a lambda in Vim9 script. +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/userfunc.c, + src/proto/userfunc.pro, src/popupwin.c, src/vim9compile.c, + src/ex_eval.c, src/globals.h, src/structs.h, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1072 +Problem: Missing libvterm test. +Solution: Sync with libvterm revision 768. +Files: src/libvterm/src/state.c, src/libvterm/t/63screen_resize.test + +Patch 8.2.1073 +Problem: Vim9: no line break allowed in () expression. +Solution: Skip a line break. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1074 +Problem: Vim9: no line break allowed after some operators. +Solution: Skip a line break after the operator. Add + eval_may_get_next_line() to simplify checking for a line break. +Files: src/eval.c, src/proto/eval.pro, src/dict.c, src/list.c, + src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1075 +Problem: Vim9: no line break allowed in :echo expression. +Solution: Skip linebreak. +Files: src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1076 +Problem: Vim9: no line break allowed in :if expression. +Solution: Skip linebreak. +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.1077 +Problem: No enough test coverage for highlighting. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6351) +Files: runtime/doc/syntax.txt, src/testdir/test_cmdline.vim, + src/testdir/test_highlight.vim, src/testdir/test_match.vim + +Patch 8.2.1078 +Problem: Highlight and match functionality together in one file. +Solution: Move match functionality to a separate file. (Yegappan Lakshmanan, + closes #6352) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/highlight.c, src/match.c, src/proto.h, + src/proto/highlight.pro, src/proto/match.pro + +Patch 8.2.1079 +Problem: Vim9: no line break allowed in a while loop. +Solution: Update stored loop lines when finding line breaks. +Files: src/structs.h, src/globals.h, src/eval.c, src/evalvars.c, + src/ex_docmd.c, src/proto/ex_docmd.pro, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.1080 +Problem: Vim9: no line break allowed in a for loop. +Solution: Skip line breaks in for command. +Files: src/eval.c, src/ex_eval.c, src/proto/eval.pro, src/userfunc.c, + src/structs.h, src/globals.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1081 +Problem: Lua: cannot use table.insert() and table.remove(). +Solution: Add the list functions. (Prabir Shrestha, closes #6353) +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.1082 +Problem: Coverity complains about ignoring dict_add() return value. +Solution: Add (void). +Files: src/evalfunc.c + +Patch 8.2.1083 +Problem: Crash when using reduce() on a NULL list. +Solution: Only access the list when not NULL. +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.1084 +Problem: Lua: registering function has useless code. +Solution: Remove clearing grow arrays. +Files: src/userfunc.c + +Patch 8.2.1085 +Problem: Coverity complains about ignoring dict_add() return value. +Solution: Add (void). +Files: src/register.c + +Patch 8.2.1086 +Problem: Possibly using freed memory when text properties used when + changing indent of a line. +Solution: Compute the offset before calling ml_replace(). +Files: src/indent.c + +Patch 8.2.1087 +Problem: Possible memory leak when file expansion fails. +Solution: Clear the grow array when returning FAIL. Use an error message + instead of an empty string. +Files: src/filepath.c + +Patch 8.2.1088 +Problem: A very long translation might cause a buffer overflow. +Solution: Truncate the message if needed. +Files: src/fileio.c + +Patch 8.2.1089 +Problem: Coverity warns for pointer computation. +Solution: Avoid computing a pointer to invalid memory. +Files: src/spellfile.c + +Patch 8.2.1090 +Problem: May use NULL pointer when skipping over name. +Solution: Always set ll_name_end. +Files: src/eval.c + +Patch 8.2.1091 +Problem: No check if opening a pty works. +Solution: Check for invalid file descriptor. +Files: src/os_unix.c + +Patch 8.2.1092 +Problem: Not checking if saving for undo succeeds. +Solution: Bail out if u_savesub() returns FAIL. +Files: src/textprop.c + +Patch 8.2.1093 +Problem: Python: double free when adding item to dict fails. +Solution: Remove vim_free() call. +Files: src/if_py_both.h + +Patch 8.2.1094 +Problem: Dead code in libvterm. +Solution: Remove condition that is always true. +Files: src/libvterm/src/pen.c + +Patch 8.2.1095 +Problem: May use pointer after freeing it when text properties are used. +Solution: Update redo buffer before calling ml_replace(). +Files: src/spellsuggest.c + +Patch 8.2.1096 +Problem: Vim9: return type of getqflist() is wrong. +Solution: Let the return type depend on the arguments. Also for + getloclist(). (closes #6357) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1097 +Problem: Highlight code not sufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6359) +Files: src/testdir/test_filter_cmd.vim, src/testdir/test_highlight.vim + +Patch 8.2.1098 +Problem: Vim9: cannot use line break in :throw argument. +Solution: Check for line break. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1099 +Problem: Vim9: cannot use line break in :cexpr argument. +Solution: Check for line break. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1100 +Problem: Vim9: cannot use line break in :execute, :echomsg and :echoerr + argument. +Solution: Check for line break. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1101 +Problem: No error when using wrong arguments for setqflist() or + setloclist(). +Solution: Check for the error. +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1102 +Problem: Coverity gets confused by an unnecessary NULL check. +Solution: Remove the check for NULL. +Files: src/quickfix.c + +Patch 8.2.1103 +Problem: Coverity reports an unnecessary NULL check. +Solution: Remove the check for NULL. +Files: src/eval.c + +Patch 8.2.1104 +Problem: Coverity warns for possible NULL pointer use. +Solution: Check "pbyts" is not NULL. +Files: src/spellsuggest.c + +Patch 8.2.1105 +Problem: Insufficient test coverage for Lua. +Solution: Add tests. (Yegappan Lakshmanan, closes #6368) Fix uncovered + memory leak. Avoid unnecessary copy/free. +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.1106 +Problem: Crash when trying to use s: variable in typed command. +Solution: Don't use the script index when not set. (Ken Takata, + closes #6366) +Files: src/vim9compile.c, src/testdir/test_vimscript.vim + +Patch 8.2.1107 +Problem: 'imactivatefunc' and 'imstatusfunc' are not used in the GUI. +Solution: Adjust the #ifdefs. (closes #6367) +Files: runtime/doc/options.txt, src/gui_xim.c, + src/testdir/test_iminsert.vim + +Patch 8.2.1108 +Problem: Mouse left-right scroll is not supported in terminal window. +Solution: Implement mouse codes 6 and 7. (Trygve Aaberge, closes #6363) +Files: src/libvterm/src/mouse.c, src/mouse.c, src/terminal.c, + src/testdir/mouse.vim, src/testdir/test_termcodes.vim + +Patch 8.2.1109 (after 8.2.1106) +Problem: Still crashing when using s:variable. +Solution: Remove assignment. (Ken Takata) +Files: src/vim9compile.c + +Patch 8.2.1110 +Problem: Vim9: line continuation does not work in function arguments. +Solution: Pass "evalarg" to get_func_tv(). Fix seeing double quoted string + as comment. +Files: src/userfunc.c, src/proto/userfunc.pro, src/eval.c, src/ex_eval.c, + src/list.c, src/dict.c, src/proto/eval.pro, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.1111 +Problem: Inconsistent naming of get_list_tv() and eval_dict(). +Solution: Rename get_list_tv() to eval_list(). Similarly for eval_number(), + eval_string(), eval_lit_string() and a few others. +Files: src/eval.c, src/list.c, src/proto/list.pro, src/vim9compile.c, + src/typval.c, src/proto/typval.pro, src/vim9script.c, + src/evalfunc.c, src/evalvars.c, src/proto/evalvars.pro, + src/vim9execute.c + +Patch 8.2.1112 +Problem: Vim9: no line continuation allowed in method call. +Solution: Handle line continuation in expression before method call. +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1113 +Problem: No test for verbose output of :call. +Solution: Add a test. +Files: src/testdir/test_user_func.vim + +Patch 8.2.1114 +Problem: Terminal test sometimes times out. +Solution: Split the test in two parts. +Files: src/testdir/Makefile, src/testdir/Make_all.mak, + src/testdir/term_util.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal2.vim + +Patch 8.2.1115 +Problem: Iminsert test fails when compiled with VIMDLL. +Solution: Change condition. (Ken Takata, closes #6376) +Files: src/testdir/test_iminsert.vim + +Patch 8.2.1116 +Problem: Vim9: parsing command checks for list twice. +Solution: Adjust how a command is parsed. +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1117 +Problem: Coverity warns for using uninitialized field. +Solution: Initialize v_lock. +Files: src/if_lua.c + +Patch 8.2.1118 +Problem: Condition can never be true, dead code. +Solution: Remove the dead code. +Files: src/move.c + +Patch 8.2.1119 +Problem: Configure fails with Xcode 12 beta. +Solution: use "return" instead of "exit()". (Nico Weber, closes #6381) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.1120 +Problem: Python code not tested properly. +Solution: Add more tests and convert old-style test into new-style test. + (Yegappan Lakshmanan, closes #6370) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test86.in, src/testdir/test86.ok, + src/testdir/test_python2.vim + +Patch 8.2.1121 +Problem: Command completion not working after ++arg. +Solution: Move skipping up. (Christian Brabandt, closes #6382) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.1122 +Problem: Vim9: line continuation in dict member not recognized. +Solution: Check for line continuation. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1123 +Problem: Python 3 test is old style. +Solution: Turn into new style test. (Yegappan Lakshmanan, closes #6385) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test87.in, src/testdir/test87.ok, + src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.1124 +Problem: Vim9: no line break allowed in :import command. +Solution: Skip over line breaks. +Files: src/vim9script.c, src/proto/vim9script.pro, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1125 +Problem: Vim9: double quote can be a string or a comment. +Solution: Only support comments starting with # to avoid confusion. +Files: src/eval.c, src/proto/eval.pro, src/dict.c, src/list.c, + src/vim9script.c + +Patch 8.2.1126 +Problem: Vim9: using :copen causes an error. +Solution: Add flag LET_NO_COMMAND in set_var(). +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1127 +Problem: Vim9: getting a dict member may not work. +Solution: Clear the dict only after copying the item. (closes #6390) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1128 +Problem: The write message mentions characters, but it's actually bytes. +Solution: Change "C" to "B" and "characters" to "bytes". +Files: runtime/doc/options.txt, src/fileio.c, + src/testdir/test_cscope.vim, src/testdir/test_netbeans.vim, + src/testdir/dumps/Test_diff_syntax_1.dump, + src/testdir/dumps/Test_long_file_name_1.dump, + src/testdir/dumps/Test_display_unprintable_01.dump, + src/testdir/dumps/Test_tselect_1.dump + +Patch 8.2.1129 +Problem: Vim9: bar not recognized after not compiled command. +Solution: Check for bar for commands where this is possible. (closes #6391) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1130 +Problem: Vim9: bar not recognized after function call +Solution: Skip whitespace. (closes #6391) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1131 +Problem: Vim9: error message for returning a value in a function that does + not return anything is not clear. +Solution: Add a specific message. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1132 +Problem: Vim9: return type of repeat() is not specific enough. +Solution: Return the type of the first argument. (closes #6395) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1133 +Problem: Vim9: return type of add() is not specific enough. +Solution: Return the type of the first argument. (closes #6395) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1134 +Problem: Vim9: getting a list member may not work. +Solution: Clear the list only after copying the item. (closes #6393) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1135 +Problem: Vim9: getting a dict member may not work. +Solution: Clear the dict only after copying the item. +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1136 +Problem: Vim9: return type of argv() is always any. +Solution: Use list<string> if there is no argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1137 +Problem: Vim9: modifiers not cleared after compiling function. +Solution: Clear command modifiers. (closes #6396) +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/testdir/test_vim9_func.vim, + src/testdir/dumps/Test_vim9_silent_echo.dump + +Patch 8.2.1138 +Problem: Vim9: return type of copy() and deepcopy() is any. +Solution: Use type of the argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1139 (after 8.2.1137) +Problem: Vim9: test for silent echo fails in some environments. +Solution: Use :function instead of :def. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1140 +Problem: Vim9: return type of extend() is any. +Solution: Use type of the argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1141 +Problem: Vim9: return type of filter() is any. +Solution: Use type of the argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1142 +Problem: Vim9: return type of insert() is any. +Solution: Use type of the first argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1143 +Problem: Vim9: return type of remove() is any. +Solution: Use the member type of the first argument, if known. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1144 +Problem: Vim9: return type of reverse() is any. +Solution: Use the type of the first argument. +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1145 +Problem: Vim9: "for" only accepts a list at compile time. +Solution: Also accept a list at runtime. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1146 +Problem: Not enough testing for Python. +Solution: Add more tests. Fix uncovered problems. (Yegappan Lakshmanan, + closes #6392) +Files: src/if_py_both.h, src/if_python3.c, src/testdir/shared.vim, + src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.1147 +Problem: :confirm may happen in cooked mode. (Jason Franklin) +Solution: Switch to raw mode before prompting. (Brandon Pfeifer) +Files: src/message.c, src/testdir/test_excmd.vim + +Patch 8.2.1148 +Problem: Warning for using int instead of size_t. +Solution: Change "len" argument to size_t. (Mike Williams) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9script.c + +Patch 8.2.1149 +Problem: Vim9: :eval command not handled properly. +Solution: Compile the :eval command. (closes #6408) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1150 +Problem: ml_get error when using Python. (Yegappan Lakshmanan) +Solution: Check the line number is not out of range. Call "Check" with + "fromObj" instead of "from". +Files: src/if_py_both.h, src/testdir/test_python2.vim, + src/testdir/test_python3.vim + +Patch 8.2.1151 +Problem: Insufficient test coverage for Python. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #6415) +Files: src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.1152 +Problem: Vim9: function reference is missing script prefix. +Solution: Use the actual function name instead of the name searched for in + the script context. (closes #6412) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1153 +Problem: Vim9: script test fails on some systems. +Solution: Return proper value from Compare(). +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1154 +Problem: Vim9: crash when using imported function. +Solution: Check for a function type. Set the script context when calling a + function. (closes #6412) +Files: src/evalvars.c, src/scriptfile.c, src/proto/scriptfile.pro, + src/vim9execute.c, src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1155 +Problem: Vim9: cannot handle line break inside lambda. +Solution: Pass the compilation context through. (closes #6407, closes #6409) +Files: src/structs.h, src/vim9compile.c, src/proto/vim9compile.pro, + src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1156 +Problem: Vim9: No error for invalid command in compiled function. +Solution: Handle CMD_SIZE. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1157 +Problem: Vim9: dict.name is not recognized as an expression. +Solution: Recognize ".name". (closes #6418) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1158 (after 8.2.1155) +Problem: Build error. +Solution: Add missing change to globals. +Files: src/globals.h + +Patch 8.2.1159 +Problem: Vim9: no error for missing space after a comma. +Solution: Check for white space. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1160 +Problem: Vim9: memory leak in allocated types. +Solution: Free the type pointers. +Files: src/vim9script.c, src/userfunc.c, src/vim9compile.c, + src/proto/vim9compile.pro + +Patch 8.2.1161 +Problem: Vim9: using freed memory. +Solution: Put pointer back in evalarg instead of freeing it. +Files: src/userfunc.c, src/vim9compile.c, src/eval.c, src/proto/eval.pro, + src/structs.h + +Patch 8.2.1162 +Problem: Crash when using a lambda. +Solution: Check for evalarg to be NULL. +Files: src/userfunc.c + +Patch 8.2.1163 (after 8.2.1161) +Problem: Build error. +Solution: Add missing change to globals. +Files: src/globals.h + +Patch 8.2.1164 +Problem: Text cleared by checking terminal properties not redrawn. (Alexey + Radkov) +Solution: Mark the screen characters as invalid. (closes #6422) +Files: src/screen.c, src/proto/screen.pro, src/term.c + +Patch 8.2.1165 +Problem: Insufficient testing for the Tcl interface. +Solution: Add more tests. (Yegappan Lakshmanan, closes #6423) +Files: src/testdir/test_tcl.vim + +Patch 8.2.1166 +Problem: Once mouse move events are enabled getchar() returns them. +Solution: Ignore K_MOUSEMOVE in getchar(). (closes #6424) +Files: runtime/doc/eval.txt, src/getchar.c + +Patch 8.2.1167 +Problem: Vim9: builtin function method call only supports first argument. +Solution: Shift arguments when needed. (closes #6305, closes #6419) +Files: src/evalfunc.c, src/vim9compile.c, src/vim9execute.c, + src/vim9.h, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1168 +Problem: Wrong method argument for appendbufline(). +Solution: Use FEARG_3. +Files: src/evalfunc.c + +Patch 8.2.1169 +Problem: Write NUL past allocated space using corrupted spell file. + (Markus Vervier) +Solution: Init "c" every time. +Files: src/spellfile.c + +Patch 8.2.1170 +Problem: Cursor off by one with block paste while 'virtualedit' is "all". +Solution: Adjust condition. (Hugo Gualandi, closes #6430) +Files: src/register.c, src/testdir/test_registers.vim + +Patch 8.2.1171 +Problem: Possible crash when out of memory. +Solution: Check for NULL pointer. (Dominique Pellé, closes #6432) +Files: src/syntax.c + +Patch 8.2.1172 +Problem: Error messages when doing "make clean" in the runtime/doc or + src/tee directories. +Solution: Use "rm -f". +Files: runtime/doc/Makefile, src/tee/Makefile + +Patch 8.2.1173 +Problem: Tee doesn't build on some systems. +Solution: Include header files. (Dominique Pelle, closes #6431) +Files: src/tee/tee.c + +Patch 8.2.1174 +Problem: No test for the "recording @x" message. +Solution: Add a test. (Dominique Pellé, closes #6427) +Files: src/testdir/test_registers.vim + +Patch 8.2.1175 +Problem: Vim9: Cannot split a line before ".member". +Solution: Check for ".member" after line break. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1176 +Problem: Vim9: not enough type checking in Vim9 script. +Solution: Use same type checking as in a :def function. +Files: src/vim9compile.c, src/proto/vim9compile.pro, + src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1177 +Problem: Terminal2 test sometimes hangs in the GUI. +Solution: Move some tests to other files to further locate the problem. + Set the GUI to a fixed screen size. +Files: src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim, + src/testdir/test_terminal3.vim, src/testdir/Make_all.mak, + src/testdir/runtest.vim + +Patch 8.2.1178 +Problem: Vim9: filter function recognized as command modifier, leading to a + crash. +Solution: Clear cmdmod after freeing items. Do not recognize a command + modifier followed by non-white space. (closes #6434) +Files: src/ex_docmd.c, src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1179 +Problem: Test_termwinscroll() sometimes hangs in the GUI. +Solution: Skip the test in the GUI. +Files: src/testdir/test_terminal2.vim + +Patch 8.2.1180 +Problem: Build failure in small version. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.1181 +Problem: Json code not fully tested. +Solution: Add more test coverage. (Dominique Pellé, closes #6433) +Files: src/testdir/test_json.vim + +Patch 8.2.1182 +Problem: Vim9: no check for whitespace after comma in lambda. +Solution: Give error if white space is missing. +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1183 +Problem: assert_fails() checks the last error message. +Solution: Check the first error, it is more relevant. Fix all the tests + that rely on the old behavior. +Files: runtime/doc/testing.txt, src/message.c, src/globals.h, + src/testing.c, src/testdir/test_autocmd.vim, + src/testdir/test_buffer.vim, src/testdir/test_cd.vim, + src/testdir/test_channel.vim, src/testdir/test_clientserver.vim, + src/testdir/test_cmdline.vim, src/testdir/test_cpoptions.vim, + src/testdir/test_cscope.vim, src/if_cscope.c, + src/testdir/test_excmd.vim, src/evalvars.c, + src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_json.vim, src/testdir/test_let.vim, + src/testdir/test_listdict.vim, src/testdir/test_listener.vim, + src/testdir/test_match.vim, src/testdir/test_menu.vim, + src/testdir/test_method.vim, src/testdir/test_normal.vim, + src/testdir/test_popup.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_quickfix.vim, + src/testdir/test_random.vim, src/testdir/test_search.vim, + src/testdir/test_signs.vim, src/testdir/test_spell.vim, + src/testdir/test_substitute.vim, src/testdir/test_syntax.vim, + src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim, + src/testdir/test_terminal.vim, src/testdir/test_textprop.vim, + src/testdir/test_trycatch.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim, src/vim9compile.c, + src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim, + src/testdir/test_winbuf_close.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_writefile.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_utf8.vim, + src/testdir/test_global.vim, src/testdir/test_tagfunc.vim + +Patch 8.2.1184 (after 8.2.1183) +Problem: Some tests fail. +Solution: Adjust tests for different assert_fails() behavior. Remove unused + variable. +Files: src/testdir/test_assert.vim, src/testdir/test_eval_stuff.vim, + src/evalvars.c + +Patch 8.2.1185 (after 8.2.1183) +Problem: Some other tests fail. +Solution: Adjust tests for different assert_fails() behavior. +Files: src/testdir/test_lua.vim, src/testdir/test_tcl.vim + +Patch 8.2.1186 +Problem: With SGR mouse codes balloon doesn't show up after click. +Solution: Add the MOUSE_RELEASE bits to mouse_code. +Files: src/mouse.c + +Patch 8.2.1187 +Problem: Terminal2 test sometimes hangs in the GUI on Travis. +Solution: Disable Test_zz2_terminal_guioptions_bang() for now. +Files: src/testdir/test_terminal2.vim + +Patch 8.2.1188 +Problem: Memory leak with invalid json input. +Solution: Free all keys at the end. (Dominique Pellé, closes #6443, + closes #6442) +Files: src/json.c, src/testdir/test_json.vim + +Patch 8.2.1189 +Problem: Vim9: line continuation in lambda doesn't always work. +Solution: Do not use a local evalarg unless there isn't one. (closes #6439) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1190 +Problem: Vim9: checking for Vim9 syntax is spread out. +Solution: Use in_vim9script(). +Files: src/vim9script.c, src/dict.c, src/eval.c, src/evalvars.c, + src/ex_docmd.c, src/list.c, src/scriptfile.c, src/userfunc.c + +Patch 8.2.1191 +Problem: Vim9: crash when function calls itself. +Solution: Add status UF_COMPILING. (closes #6441) +Files: src/structs.h, src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1192 +Problem: Lua test fails with older Lua version. +Solution: Adjust expected error messages. (closes #6444) +Files: src/testdir/test_lua.vim + +Patch 8.2.1193 +Problem: Terminal window not redrawn when dragging a popup window over it. +Solution: Redraw terminal window. (fixes #6438) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_term_01.dump, + src/testdir/dumps/Test_popupwin_term_02.dump + +Patch 8.2.1194 +Problem: Test failure because shell prompt differs. +Solution: Set the shell prompt. +Files: src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_term_01.dump, + src/testdir/dumps/Test_popupwin_term_02.dump + +Patch 8.2.1195 +Problem: Clientserver test fails on MS-Windows. +Solution: Expect a different error message. +Files: src/testdir/test_clientserver.vim + +Patch 8.2.1196 +Problem: Build failure with normal features. +Solution: Add #ifdef. +Files: src/popupwin.c + +Patch 8.2.1197 +Problem: Clientserver test still fails on MS-Windows. +Solution: Expect a different error message. +Files: src/testdir/test_clientserver.vim + +Patch 8.2.1198 +Problem: Terminal2 test sometimes hangs in the GUI on Travis. +Solution: Move test function to terminal3 to see if the problem moves too. +Files: src/testdir/test_terminal2.vim, src/testdir/test_terminal3.vim + +Patch 8.2.1199 +Problem: Not all assert functions are fully tested. +Solution: Test more assert functions. +Files: src/testing.c, src/testdir/test_assert.vim + +Patch 8.2.1200 +Problem: Vim9: cannot disassemble a lambda function. +Solution: Recognize "<lambda>123" as a function name. +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1201 +Problem: Vim9: crash when passing number as dict key. +Solution: Check key type to be string. (closes #6449) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1202 +Problem: Vim9: crash when calling a closure from a builtin function. +Solution: Use the current execution context. (closes #6441) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1203 +Problem: Unused assignments in expression evaluation. +Solution: Move declarations and assignments to inner blocks where possible. +Files: src/eval.c + +Patch 8.2.1204 +Problem: Vim9: true and false not recognized in Vim9 script. +Solution: Recognize true and false. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1205 +Problem: Vim9: && and || work differently when not compiled. +Solution: Keep the value. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1206 +Problem: Vim9: crash in expr test when run in the GUI. +Solution: Temporarily comment out two test lines. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1207 +Problem: Vim9: crash in expr test when run in the GUI. +Solution: Break out of loop over hashtab also when function got removed and + added. +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1208 +Problem: Build failure. +Solution: Add missing change. +Files: src/structs.h + +Patch 8.2.1209 +Problem: Vim9: test failure. +Solution: Add missing changes to hashtab. +Files: src/hashtab.c + +Patch 8.2.1210 +Problem: Using ht_used when looping through a hashtab is less reliable. +Solution: Use ht_changed in a few more places. +Files: src/userfunc.c, src/if_py_both.h + +Patch 8.2.1211 (after 8.2.1118) +Problem: Removed more than dead code. +Solution: Put back the decrement. +Files: src/move.c, src/testdir/test_diffmode.vim + +Patch 8.2.1212 +Problem: Cannot build with Lua 5.4. +Solution: Use luaL_typeerror instead defining it. (closes #6454) +Files: src/if_lua.c + +Patch 8.2.1213 +Problem: Mouse codes not tested sufficiently. +Solution: Add more tests for mouse codes. (closes #6436) +Files: src/testdir/test_termcodes.vim + +Patch 8.2.1214 +Problem: MS-Windows: default _vimrc not correct in silent install mode. +Solution: Add the LoadDefaultVimrc macro. (Ken Takata, closes #6451) +Files: nsis/gvim.nsi + +Patch 8.2.1215 +Problem: Atari MiNT support is outdated. +Solution: Nobody responded this code is still useful, so let's delete it. +Files: Filelist, src/os_mint.h, src/vim.h, src/Make_mint.mak, + src/digraph.c, src/fileio.c, src/memfile.c, src/os_unix.c, + src/term.c, READMEdir/README_extra.txt, runtime/doc/os_mint.txt, + src/INSTALL + +Patch 8.2.1216 +Problem: Startup test fails. +Solution: Adjust expected values for deleted lines. +Files: src/testdir/test_startup.vim + +Patch 8.2.1217 +Problem: Startup test depends on random source file. +Solution: Write a test file to find quickfix errors in. +Files: src/testdir/test_startup.vim + +Patch 8.2.1218 +Problem: Vim9: cannot use 'text'->func(). +Solution: Recognize string at start of command. +Files: src/vim9compile.c, src/ex_docmd.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1219 +Problem: Symlink not followed if dirname ends in //. +Solution: Resolve symlink earlier. (Tomáš Janoušek, closes #6454) +Files: src/memline.c, src/testdir/test_swap.vim + +Patch 8.2.1220 +Problem: memory access error when dragging a popup window over a buffer + with folding. +Solution: Avoid going over the end of the cache. (closes #6438) +Files: src/mouse.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_term_01.dump, + src/testdir/dumps/Test_popupwin_term_02.dump, + src/testdir/dumps/Test_popupwin_term_03.dump, + src/testdir/dumps/Test_popupwin_term_04.dump + +Patch 8.2.1221 +Problem: Memory leak when updating popup window. +Solution: Clear search highlighting. +Files: src/popupwin.c + +Patch 8.2.1222 +Problem: When using valgrind a Vim command started by a test uses the same + log file name which gets overwritten. +Solution: Fix regexp to rename the log file. +Files: src/testdir/shared.vim + +Patch 8.2.1223 +Problem: Vim9: invalid type error for function default value. +Solution: Use right argument index. (closes #6458) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1224 +Problem: Vim9: arguments from partial are not used. +Solution: Put the partial arguments on the stack. (closes #6460) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1225 +Problem: Linker errors when building with dynamic Python 3.9. +Solution: Add #defined items. (closes #6461) +Files: src/if_python3.c + +Patch 8.2.1226 +Problem: MS-Windows: windows positioning wrong when the taskbar is placed + at the top or left of the screen. +Solution: Use GetWindowRect and MoveWindow APIs. (Yukihiro Nakadaira, + Ken Takata, closes #6455) +Files: src/gui_w32.c + +Patch 8.2.1227 +Problem: Vim9: allowing both quoted and # comments is confusing. +Solution: Only support # comments in Vim9 script. +Files: runtime/doc/vim9.txt, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/vim9compile.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1228 +Problem: Scrollbars not flush against the window edges when maximised. +Solution: Add padding. (Ken Takata, closes #5602, closes #6466) +Files: src/gui.c, src/gui_athena.c, src/gui_gtk.c, src/gui_haiku.cc, + src/gui_mac.c, src/gui_motif.c, src/gui_photon.c, src/gui_w32.c, + src/proto/gui_athena.pro, src/proto/gui_gtk.pro, + src/proto/gui_haiku.pro, src/proto/gui_mac.pro, + src/proto/gui_motif.pro, src/proto/gui_photon.pro, + src/proto/gui_w32.pro + +Patch 8.2.1229 +Problem: Build error without the eval feature. +Solution: Declare starts_with_colon. Make function local. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro + +Patch 8.2.1230 +Problem: Vim9: list index error not caught by try/catch. +Solution: Do not bail out if an error is inside try/catch. (closes #6462) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1231 +Problem: MS-Windows: GUI code can be cleaned up. +Solution: Do a bit of cleaning up. (Ken Takata, closes #6465) +Files: src/gui_w32.c, src/proto/gui_w32.pro + +Patch 8.2.1232 +Problem: MS-Windows GUI: Snap cancelled by split command. +Solution: Do not cancel Snap when splitting a window. (Ken Takata, + closes #6467) +Files: src/gui_w32.c + +Patch 8.2.1233 +Problem: Vim9: various errors not caught by try/catch. +Solution: Do not bail out if an error is inside try/catch. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1234 +Problem: Lua build problem with old compiler. +Solution: Move declarations to start of the block. (Taro Muraoka, + closes #6477) +Files: src/if_lua.c + +Patch 8.2.1235 +Problem: Not all mouse codes covered by tests. +Solution: Add more tests for the mouse. (Yegappan Lakshmanan, closes #6472) +Files: src/testdir/mouse.vim, src/testdir/test_termcodes.vim + +Patch 8.2.1236 +Problem: Vim9: a few errors not caught by try/catch. +Solution: Do not bail out if an error is inside try/catch. Fix that a not + matching catch doesn't jump to :endtry. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1237 +Problem: Changing 'completepopup' after opening a popup has no effect. (Jay + Sitter) +Solution: Close the popup when the options are changed. (closes #6471) +Files: runtime/doc/options.txt, src/popupwin.c, src/proto/popupwin.pro, + src/optionstr.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_infopopup_8.dump + +Patch 8.2.1238 +Problem: Vim9: a few remaining errors not caught by try/catch. +Solution: Do not bail out if an error is inside try/catch. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1239 +Problem: "maxwidth" in 'completepopup' not obeyed. (Jay Sitter) +Solution: Add separate field for value from option. (closes #6470) +Files: src/structs.h, src/popupwin.c, src/popupmenu.c, + src/testdir/dumps/Test_popupwin_infopopup_9.dump + +Patch 8.2.1240 +Problem: GUI tests sometimes fail because of translations. +Solution: Reload the menus without translation. (Taro Muraoka, closes #6486) +Files: src/testdir/runtest.vim + +Patch 8.2.1241 +Problem: Cannot use getbufinfo() as a method. +Solution: Support using getbufinfo() as a method. (closes #6458) +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_bufwintabinfo.vim + +Patch 8.2.1242 +Problem: Vim9: no error if calling a function with wrong argument type. +Solution: Check types of arguments. (closes #6469) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1243 +Problem: Vim9: cannot have a comment or empty line halfway a list at script + level. +Solution: Skip more than one line if needed. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/eval.c, + src/scriptfile.c + +Patch 8.2.1244 +Problem: Vim9: in lambda index assumes a list. +Solution: Use the value type to decide about list or dict. (closes #6479) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1245 +Problem: Build failure in tiny version. +Solution: Add #ifdef. +Files: src/scriptfile.c + +Patch 8.2.1246 +Problem: Vim9: comment after assignment doesn't work. +Solution: Skip over white space. (closes #6481) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1247 +Problem: Vim9: cannot index a character in a string. +Solution: Add ISN_STRINDEX instruction. (closes #6478) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1248 +Problem: Netbeans test is flaky in the GUI. +Solution: Filter out geometry messages. (Taro Muraoka, closes #6487) +Files: src/testdir/test_netbeans.vim + +Patch 8.2.1249 +Problem: Vim9: disassemble test fails. +Solution: Change INDEX to LISTINDEX. Add test for STRINDEX. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1250 +Problem: Vim9: cannot use the g:, b:, t: and w: namespaces. +Solution: Add instructions to push a dict for the namespaces. (closes #6480) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1251 +Problem: Vim9: warning for pointer usage, test failure undetected. +Solution: Fix pointer indirection. Give error when executing function + failed for any reason. Fix instruction names. +Files: src/vim9execute.c, src/userfunc.c, src/proto/userfunc.pro + +Patch 8.2.1252 +Problem: ":marks" may show '< and '> mixed up. +Solution: Show the mark position as where '< and '> would jump. +Files: src/mark.c, src/testdir/test_marks.vim + +Patch 8.2.1253 +Problem: CTRL-K in Insert mode gets <CursorHold> inserted. (Roland + Puntaier) +Solution: Do not reset did_cursorhold, restore it. (closes #6447) +Files: src/normal.c + +Patch 8.2.1254 +Problem: MS-Windows: regexp test may fail if 'iskeyword' set wrongly. +Solution: Override the 'iskeyword' value. (Taro Muraoka, closes #6502) +Files: src/testdir/test_regexp_utf8.vim + +Patch 8.2.1255 +Problem: Cannot use a lambda with quickfix functions. +Solution: Add support for lambda. (Yegappan Lakshmanan, closes #6499) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/quickfix.txt, src/channel.c, src/evalvars.c, + src/optionstr.c, src/proto/evalvars.pro, src/proto/quickfix.pro, + src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1256 +Problem: Vim9: type wrong after getting dict item in lambda. +Solution: Set the type to "any" after enforcing dict type. (closes #6491) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1257 +Problem: Vim9: list unpack doesn't work at the script level. +Solution: Detect unpack assignment better. (closes #6494) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1258 (after 8.2.1253) +Problem: CursorHold does not work well.a (Shane-XB-Qian) +Solution: Only restore did_cursorhold when using :normal. +Files: src/normal.c + +Patch 8.2.1259 +Problem: Empty group in 'tabline' may cause using an invalid pointer. +Solution: Set the group start position. (closes #6505) +Files: src/buffer.c, src/testdir/test_tabline.vim + +Patch 8.2.1260 +Problem: There is no good test for CursorHold. +Solution: Add a test. Remove duplicated test. (Yegappan Lakshmanan, + closes #6503) +Files: src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim, + src/testdir/test_normal.vim + +Patch 8.2.1261 +Problem: Vim9: common type of function not tested. +Solution: Add a test. Fix uncovered problems. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1262 +Problem: src/ex_cmds.c file is too big. +Solution: Move help related code to src/help.c. (Yegappan Lakshmanan, + closes #6506) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/cmdexpand.c, src/ex_cmds.c, src/help.c, src/proto.h, + src/proto/ex_cmds.pro, src/proto/help.pro + +Patch 8.2.1263 +Problem: Vim9: comparators use 'ignorecase' in Vim9 script. +Solution: Ignore 'ignorecase'. Use true and false instead of 1 and 0. + (closes #6497) +Files: src/eval.c, src/typval.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1264 +Problem: Terminal getwinpos() test is a bit flaky. +Solution: Call getwinpos() a bit later. +Files: src/testdir/test_terminal3.vim + +Patch 8.2.1265 +Problem: Crash with EXITFREE when split() fails. +Solution: Restore 'cpoptions'. +Files: src/evalfunc.c + +Patch 8.2.1266 (after 8.2.1262) +Problem: Makefile preference were accidentally included. +Solution: Revert the Makefile changes. +Files: src/Makefile + +Patch 8.2.1267 +Problem: MS-Windows: tests may fail due to $PROMPT value. +Solution: Set $PROMPT for testing. (Taro Muraoka, closes #6510) +Files: src/testdir/runtest/vim + +Patch 8.2.1268 +Problem: Vim9: no error for using double quote comment after :func or :def. +Solution: Only accept double quote when not in Vim9 script and not after + :def. (closes #6483) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1269 +Problem: Language and locale code spread out. +Solution: Move relevant code to src/locale.c. (Yegappan Lakshmanan, + closes #6509) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_morph.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/ex_cmds2.c, src/locale.c, src/main.c, src/proto.h, + src/proto/ex_cmds2.pro, src/proto/locale.pro + +Patch 8.2.1270 +Problem: Vim9: not skipping over function type declaration with only a + return type. +Solution: Skip over the return type. (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1271 +Problem: Vim9: Error for Funcref function argument type. +Solution: Find the actual function type if possible. (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1272 +Problem: Vim9: type not checked if declaration also assigns value. +Solution: Check the type. (issue #6507) +Files: src/eval.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9script.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1273 +Problem: MS-Windows: terminal test may leave file behind. +Solution: Wait a moment for process to end before deleting the file. + (Taro Muraoka, closes #6513) +Files: src/testdir/test_terminal.vim + +Patch 8.2.1274 +Problem: Vim9: no error for missing white space in assignment at script + level. +Solution: Check for white space. (closes #6495) +Files: src/eval.c, src/evalvars.c, src/testdir/test_vim9_script.vim, + src/testdir/test_let.vim + +Patch 8.2.1275 +Problem: Vim9: compiler warning for buffer size. +Solution: Change the offset from 10 to 15. (Dominique Pellé, closes #6518) +Files: src/vim9script.c + +Patch 8.2.1276 +Problem: MS-Windows: system test may fail if more.exe is installed. +Solution: Explicitly use more.com. (Taro Muraoka, Ken Takata, closes #6517) +Files: src/testdir/test_system.vim + +Patch 8.2.1277 +Problem: Tests on Travis do not run with EXITFREE. +Solution: Add EXITFREE to all builds to uncover any mistakes. +Files: .travis.yml + +Patch 8.2.1278 +Problem: Vim9: line break after "->" only allowed in :def function. +Solution: Only allow line break after "->". (closes #6492) +Files: src/vim9compile.c, src/globals.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.1279 +Problem: Some tests on Travis have EXITFREE duplicated. +Solution: Remove EXITFREE from shadowopt. Add "shadow" to job name. +Files: .travis.yml + +Patch 8.2.1280 +Problem: Ex command error cannot contain an argument. +Solution: Add ex_errmsg() and translate earlier. Use e_trailing_arg where + possible. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/buffer.c, + src/ex_eval.c, src/match.c, src/testdir/test_tabpage.vim + +Patch 8.2.1281 +Problem: The "trailing characters" error can be hard to understand. +Solution: Add the trailing characters to the message. +Files: src/cmdhist.c, src/eval.c, src/evalfunc.c, src/evalvars.c, + src/ex_cmds.c, src/ex_docmd.c, src/ex_eval.c, src/json.c, + src/menu.c, src/quickfix.c, src/sign.c, src/userfunc.c + +Patch 8.2.1282 +Problem: Vim9: crash when using CheckScriptFailure() in + Test_vim9script_call_fail_decl(). +Solution: Do not decrement the def_functions len unless the function was + newly added. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1283 +Problem: Vim9: error for misplaced -> lacks argument. +Solution: Use the pointer before it was advanced. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1284 +Problem: Vim9: skipping over type includes following white space, leading + to an error for missing white space. +Solution: Do not skip over white space after the type. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1285 +Problem: Vim9: argument types are not checked on assignment. +Solution: Check function argument types. (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1286 +Problem: Vim9: No error when using a type on a window variable +Solution: Recognize the syntax and give an error. (closes #6521) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1287 +Problem: Vim9: crash when using an imported function. +Solution: Add the function type to the imported entry. (closes #6522) +Files: src/vim9script.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1288 +Problem: Vim9: cannot use mark in range. +Solution: Use the flag that a colon was seen. (closes #6528) +Files: src/ex_docmd.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1289 +Problem: Crash when using a custom completion function. +Solution: Initialize all of the expand_T. (closes #6532) +Files: src/cmdexpand.c + +Patch 8.2.1290 +Problem: Vim9: cannot replace a global function. +Solution: Allow for "!" on a global function. (closes #6524) Also fix that + :delfunc on a :def function only made it empty. +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1291 +Problem: Vim9: type of varargs items is not checked. +Solution: Check the list item types. (closes #6523) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1292 +Problem: AIDL filetype not recognized. +Solution: Add filetype detection. (Dominique Pellé, closes #6533) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1293 +Problem: Vim9: :execute mixes up () expression and function call. +Solution: Do not skip white space when looking for the "(". (closes #6531) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1294 +Problem: Vim9: error when using vim9script in TextYankPost. +Solution: Use EX_LOCKOK instead of the EX_CMDWIN flag for command that can + be used when text is locked. (closes #6529) +Files: src/ex_cmds.h, src/ex_docmd.c + +Patch 8.2.1295 +Problem: Tests 44 and 99 are old style. +Solution: Convert to new style tests. (Yegappan Lakshmanan, closes #6536) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms, + src/testdir/test44.in, src/testdir/test44.ok, + src/testdir/test99.in, src/testdir/test99.ok, + src/testdir/test_regexp_utf8.vim + +Patch 8.2.1296 +Problem: Some part of using 'smartcase' was not tested. +Solution: Add more tests. (Dominique Pellé, closes #6538) +Files: src/testdir/test_search.vim + +Patch 8.2.1297 +Problem: When a test fails it's often not easy to see what the call stack + is. +Solution: Add more entries from the call stack in the exception message. +Files: runtime/doc/cmdline.txt, src/scriptfile.c, + src/proto/scriptfile.pro, src/debugger.c, src/ex_docmd.c, + src/ex_eval.c, src/message.c, src/testing.c, + src/testdir/test_expand_func.vim + +Patch 8.2.1298 +Problem: Compiler warning for unused argument in small version. +Solution: Add UNUSED. +Files: src/scriptfile.c + +Patch 8.2.1299 +Problem: Compiler warning for using size_t for int and void pointer. +Solution: Add type casts. +Files: src/scriptfile.c + +Patch 8.2.1300 +Problem: Vim9: optional argument type not parsed properly. +Solution: Skip over the "?". (issue #6507) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/evalvars.c, + src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1301 +Problem: Vim9: varargs argument type not parsed properly. +Solution: Skip over the "...". (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1302 +Problem: Vim9: varargs arg after optional arg does not work +Solution: Check for the "..." first. (issue #6507) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1303 +Problem: Calling popup_setoptions() resets 'signcolumn'. +Solution: Only set 'signcolumn' when creating the popup. (closes #6542) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1304 +Problem: Debug backtrace isn't tested much. +Solution: Add more specific tests. (Ben Jackson, closes #6540) +Files: src/testdir/runtest.vim, src/testdir/test_debugger.vim + +Patch 8.2.1305 +Problem: Some tests are still old style. +Solution: Convert tests 52 and 70 to new style. (Yegappan Lakshmanan, + closes #6544) Fix error in FinishTesting(). +Files: src/testdir/runtest.vim, src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_vms.mms, + src/testdir/test52.in, src/testdir/test52.ok, + src/testdir/test70.in, src/testdir/test70.ok, + src/testdir/test_mzscheme.vim, src/testdir/test_writefile.vim + +Patch 8.2.1306 +Problem: Checking for first character of dict key is inconsistent. +Solution: Add eval_isdictc(). (closes #6546) +Files: src/eval.c, src/proto/eval.pro, src/vim9compile.c, + src/testdir/test_listdict.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_let.vim + +Patch 8.2.1307 +Problem: popup window width does not include number, fold of sign column + width. +Solution: Take number, fold and sign column with into account. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_sign_2.dump + +Patch 8.2.1308 +Problem: Vim9: accidentally using "x" causes Vim to exit. +Solution: Disallow using ":x" or "xit" in Vim9 script. (closes #6399) +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9script.c, + src/proto/vim9script.pro, src/ex_docmd.c, src/ex_cmds.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1309 +Problem: Build failure with tiny version. +Solution: Add #ifdef. +Files: src/ex_cmds.c, src/ex_docmd.c + +Patch 8.2.1310 +Problem: Configure with Xcode 12 fails to check for tgetent. +Solution: Declare tgetent(). (Ozaki Kiichi, closes #6558) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.1311 +Problem: Test failures with legacy Vim script. +Solution: Actually check for Vim9 script. +Files: src/vim9script.c + +Patch 8.2.1312 +Problem: MS-Windows: terminal test may fail if dir.exe exists. +Solution: Use dir.com. (Ken Takata, closes #6557) +Files: src/testdir/test_terminal3.vim + +Patch 8.2.1313 +Problem: Vim9 script: cannot assign to environment variable. +Solution: Recognize environment variable assignment. (closes #6548) + Also options and registers. +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1314 +Problem: Vim9: rule for comment after :function is confusing. +Solution: Allow double quoted comment after :function in vim9script. + (closes #6556) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1315 +Problem: MS-Windows: test log contains escape sequences. +Solution: Do not use t_md and t_me but ANSI escape sequences. (Ken Takata, + closes #6559) +Files: src/testdir/runtest.vim + +Patch 8.2.1316 +Problem: Test 42 is still old style. +Solution: Turn it into a new style test. (Yegappan Lakshmanan, closes #6561) +Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_vms.mms, + src/testdir/test42.in, src/testdir/test42.ok, + src/testdir/test_writefile.vim + +Patch 8.2.1317 +Problem: MS-Windows tests on AppVeyor are slow. +Solution: Use GitHub Actions. (Ken Takata, closes #6569) +Files: Filelist, .github/workflows/ci-windows.yaml, appveyor.yml, + ci/appveyor.bat + +Patch 8.2.1318 +Problem: No status badge for Github CI. +Solution: Add a badge. +Files: README.md + +Patch 8.2.1319 +Problem: Status badge for Github CI has wrong link. +Solution: Rename and use the right link +Files: README.md, .github/workflows/ci-windows.yaml + +Patch 8.2.1320 +Problem: Vim9: cannot declare some single letter variables. +Solution: Do not recognize a colon for a namespace for single letter + variables. (closes #6547) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1321 +Problem: GitHub CI also runs on tag push. +Solution: Skip CI on push. (Ken Takata, closes #6571) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1322 +Problem: Vim9: method on double quoted string doesn't work. +Solution: Recognize double quoted string. (closes #6562) +Files: src/ex_docmd.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1323 +Problem: Vim9: invalid operators only rejected in :def function. +Solution: Also reject them at script level. (closes #6564) +Files: src/eval.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1324 +Problem: Vim9: line break after "=" does not work. +Solution: Also allow for NUL after "=". (closes #6549) +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1325 +Problem: Vim9: using Vim9 script for autoload not tested. +Solution: Add a test. Update help. +Files: runtime/doc/vim9.txt, src/testdir/test_autoload.vim, + src/testdir/sautest/autoload/auto9.vim + +Patch 8.2.1326 +Problem: Vim9: skipping over white space after list. +Solution: Do not skip white space, a following [] would be misinterpreted. + (closes #6552) Fix a few side effects. +Files: src/list.c, src/dict.c, src/eval.c, src/userfunc.c, + src/testdir/test_functions.vim, src/testdir/test_gn.vim, + src/testdir/test_popupwin.vim, src/testdir/test_tabpage.vim, + src/testdir/test_textprop.vim, src/testdir/test_textobjects.vim + +Patch 8.2.1327 +Problem: Mac: configure can't find Tcl libraries. +Solution: Adjust configure check. (closes #6575) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.1328 +Problem: No space allowed before comma in list. +Solution: Legacy Vim script allows it. (closes #6577) +Files: src/dict.c, src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.1329 +Problem: Vim9: cannot define global function inside :def function. +Solution: Assign to global variable instead of local. (closes #6584) +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, + src/vim9.h, src/vim9execute.c, src/structs.h, + src/misc2.c, src/proto/misc2.pro, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1330 +Problem: Github workflow takes longer than needed. +Solution: Do two test runs in parallel instead of sequentially. (Ken Takata, + closes #6579) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1331 +Problem: Vim9: :echo with two lists doesn't work. +Solution: Do not skip white space before []. (closes #6552) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1332 +Problem: Vim9: memory leak when using nested global function. +Solution: Delete the function when deleting the instruction. Disable test + that still causes a leak. +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.1333 +Problem: Vim9: memory leak when using nested global function. +Solution: Swap from and to when copying the lines. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1334 +Problem: Github workflow timeout needs tuning +Solution: Use a 10 minute timeout. Fail when timing out. (Ken Takata, + closes #6590) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1335 +Problem: CTRL-C in the GUI doesn't interrupt. (Sergey Vlasov) +Solution: Recognize "C" with CTRL modifier as CTRL-C. (issue #6565) +Files: src/gui.c, src/proto/gui.pro, src/gui_gtk_x11.c, src/gui_x11.c, + src/gui_photon.c + +Patch 8.2.1336 (after 8.2.1335) +Problem: Build failure on non-Unix systems. +Solution: Add #ifdef. +Files: src/gui.c + +Patch 8.2.1337 +Problem: Vim9: cannot use empty key in dict assignment. +Solution: Allow empty key. (closes #6591) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1338 +Problem: Vim9: assigning to script-local variable doesn't check type. +Solution: Use the type. (issue #6591) +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1339 +Problem: Vim9: assigning to global dict variable doesn't work. +Solution: Guess variable type based in index type. (issue #6591) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1340 +Problem: Some tests fail on Cirrus CI and/or with FreeBSD. +Solution: Make 'backupskip' empty. Do not run tests as root. Check for + directory when using viminfo. (Ozaki Kiichi, closes #6596) +Files: .cirrus.yml, src/testdir/test_backup.vim, + src/testdir/test_edit.vim, src/testdir/test_viminfo.vim, + src/testdir/test_writefile.vim, src/viminfo.c + +Patch 8.2.1341 +Problem: Build failures. +Solution: Add missing error message. +Files: src/globals.h + +Patch 8.2.1342 +Problem: Vim9: accidentally using "x" gives a confusing error. +Solution: Disallow using ":t" in Vim9 script. (issue #6399) +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9script.c, + src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1343 +Problem: Vim9: cannot find global function when using g: when local + function with the same name exists. +Solution: Find global function when using g:. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1344 +Problem: Vim9: No test for trying to redefine global function. +Solution: Add a test. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1345 +Problem: Redraw error when using visual block and scroll. +Solution: Add check for w_topline. (closes #6597) +Files: src/drawscreen.c, src/testdir/test_display.vim, + src/testdir/dumps/Test_display_visual_block_scroll.dump + +Patch 8.2.1346 +Problem: Small build fails. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.1347 +Problem: Cannot easily get the script ID. +Solution: Support expand('<SID>'). +Files: runtime/doc/map.txt, src/ex_docmd.c, + src/testdir/test_expand_func.vim + +Patch 8.2.1348 +Problem: Build failure without the eval feature. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.1349 +Problem: Vim9: can define a function with the name of an import. +Solution: Disallow using an existing name. (closes #6585) +Files: src/userfunc.c, src/vim9compile.c, src/globals.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.1350 +Problem: Vim9: no test for error message when redefining function. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1351 +Problem: Vim9: no proper error if using namespace for nested function. +Solution: Specifically check for a namespace. (closes #6582) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1352 +Problem: Vim9: no error for shadowing a script-local function by a nested + function. +Solution: Check for script-local function. (closes #6586) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1353 +Problem: Crash when drawing double-wide character in terminal window. + (Masato Nishihata) +Solution: Check getcell() returning NULL. (issue #6141) +Files: src/libvterm/src/screen.c, src/testdir/test_terminal.vim + +Patch 8.2.1354 +Problem: Test 59 is old style. +Solution: Convert into a new style test. (Yegappan Lakshmanan, closes #6604) +Files: runtime/doc/eval.txt, src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_vms.mms, src/testdir/test59.in, + src/testdir/test59.ok, src/testdir/test_spell_utf8.vim + +Patch 8.2.1355 +Problem: Vim9: no error using :let for options and registers. +Solution: Give an error. (closes #6568) +Files: src/evalvars.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1356 +Problem: Vim9: cannot get the percent register. +Solution: Check for readable registers instead of writable. (closes #6566) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1357 +Problem: Vim9: cannot assign to / register. +Solution: Adjust check for assignment. (issue #6566) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1358 +Problem: Vim9: test fails with +dnd is not available. +Solution: Add condition. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1359 +Problem: Vim9: cannot assign to / register in Vim9 script. +Solution: Adjust check for assignment in Vim9 script. (closes #6567) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1360 +Problem: Stray error for white space after expression. +Solution: Ignore trailing white space. (closes #6608) +Files: src/eval.c, src/testdir/test_filter_map.vim + +Patch 8.2.1361 +Problem: Error for white space after expression in assignment. +Solution: Skip over white space. (closes #6617) +Files: src/eval.c, src/testdir/test_expr.vim + +Patch 8.2.1362 +Problem: Last entry of ":set term=xxx" overwritten by error message when + 'cmdheight' is two or more. (Tony Mechelynck) +Solution: Output extra line breaks. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.1363 +Problem: Test trying to run terminal when it is not supported. +Solution: Check if Vim can be run in a terminal. +Files: src/testdir/test_termcodes.vim + +Patch 8.2.1364 +Problem: Invalid memory access when searching for raw string. +Solution: Check for delimiter match before following quote. (closes #6578) +Files: src/search.c + +Patch 8.2.1365 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space. (closes #6618) +Files: src/eval.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1366 +Problem: Test 49 is old style. +Solution: Convert several tests to new style. (Yegappan Lakshmanan, + closes #6629) +Files: src/testdir/script_util.vim, src/testdir/test49.ok, + src/testdir/test49.vim, src/testdir/test_vimscript.vim + +Patch 8.2.1367 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space around *, / and %. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1368 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space around <, !=, etc. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1369 +Problem: MS-Windows: autocommand test sometimes fails. +Solution: Do not rely on the cat command. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.1370 +Problem: MS-Windows: warning for using fstat() with stat_T. +Solution: use _fstat64() if available. (Naruhiko Nishino, closes #6625) +Files: src/macros.h + +Patch 8.2.1371 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space around && and ||. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1372 +Problem: Vim9: no error for missing white space around operator. +Solution: Check for white space around ? and :. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1373 +Problem: Vim9: no error for assigning to non-existing script var. +Solution: Check that in Vim9 script the variable was defined. (closes #6630) +Files: src/vim9compile.c, src/userfunc.c, src/structs.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.1374 +Problem: Vim9: error for assigning empty list to script variable. +Solution: Use t_unknown for empty list member. (closes #6595) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1375 +Problem: Vim9: method name with digit not accepted. +Solution: Use eval_isnamec() instead of eval_isnamec1(). (closes #6613) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1376 +Problem: Vim9: expression mapping causes error for using :import. +Solution: Add EX_LOCK_OK to :import and :export. (closes #6606) +Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1377 +Problem: Triggering the ATTENTION prompt causes typeahead to be messed up. +Solution: Increment tb_change_cnt. (closes #6541) +Files: src/getchar.c + +Patch 8.2.1378 +Problem: Cannot put space between function name and paren. +Solution: Allow this for backwards compatibility. +Files: src/eval.c, src/testdir/test_expr.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1379 +Problem: Curly braces expression ending in " }" does not work. +Solution: Skip over white space when checking for "}". (closes #6634) +Files: src/dict.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.1380 +Problem: Vim9: return type of getreg() is always a string. +Solution: Use list of strings when there are three arguments. (closes #6633) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1381 +Problem: MS-Windows: crash with Python 3.5 when stdin is redirected. +Solution: Reconnect stdin. (Yasuhiro Matsumoto, Ken Takata, closes #6641) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/if_python3.c + +Patch 8.2.1382 +Problem: Vim9: using :import in filetype plugin gives an error. +Solution: Allow commands with the EX_LOCK_OK flag. (closes #6636) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1383 +Problem: Test 49 is old style. +Solution: Convert test cases to new style. (Yegappan Lakshmanan, + closes #6638) +Files: src/testdir/test49.ok, src/testdir/test49.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.1384 +Problem: No ATTENTION prompt for :vimgrep first match file. +Solution: When there is an existing swap file do not keep the dummy buffer. + (closes #6649) +Files: src/quickfix.c, src/testdir/runtest.vim, + src/testdir/test_quickfix.vim + +Patch 8.2.1385 +Problem: No testing on ARM. +Solution: Add a test on Travis for ARM. (Ozaki Kiichi, closes #6615) +Files: .travis.yml + +Patch 8.2.1386 +Problem: Backslash not removed after space in option with space in + 'isfname'. +Solution: Do remove backslash before space, also when it is in 'isfname'. + (Yasuhiro Matsumoto, closes #6651) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.2.1387 +Problem: Vim9: cannot assign to single letter variable with type. +Solution: Exclude the colon from the variable name. (closes #6647) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1388 +Problem: Vim9: += only works for numbers. +Solution: Use += as concatenate for a list. (closes #6646) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1389 +Problem: File missing from the distribution. +Solution: Add script_util.vim to the list of distributes files. +Files: Filelist + +Patch 8.2.1390 +Problem: Vim9: type error after storing an option value. +Solution: Drop the type after a STOREOPT instruction. (closes #6632) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1391 +Problem: Vim9: no error for shadowing a script function. +Solution: Check for already defined items. (closes #6652) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1392 +Problem: Vim9: error line number incorrect after skipping over comment + lines. +Solution: Insert empty lines for skipped lines. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1393 +Problem: Insufficient testing for script debugging. +Solution: Add more tests. (Ben Jackson) +Files: src/testdir/test_debugger.vim + +Patch 8.2.1394 +Problem: Vim9: compiling a function interferes with command modifiers. +Solution: Save and restore command modifiers. (closes #6658) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1395 +Problem: Vim9: no error if declaring a funcref with a lower case letter. +Solution: Check the name after the type is inferred. Fix confusing name. +Files: src/vim9compile.c, src/dict.c, src/eval.c, src/evalvars.c, + src/proto/evalvars.pro, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1396 +Problem: Vim9: no error for unexpectedly returning a value. +Solution: Only set the return type for lambda's. Make using function type + in a function reference work. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1397 +Problem: Vim9: return type of maparg() not adjusted for fourth argument. +Solution: Check if fourth argument is present. (closes #6645) +Files: src/evalfunc.c, src/testdir/test_maparg.vim + +Patch 8.2.1398 +Problem: Autoload script sourced twice if sourced directly. +Solution: Do not source an autoload script again. (issue #6644) +Files: src/scriptfile.c, src/testdir/sautest/autoload/sourced.vim + +Patch 8.2.1399 +Problem: Vim9: may find imported item in wrong script. +Solution: When looking up script-local function use the embedded script ID. + (issue #6644) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1400 +Problem: Vim9: test does not delete written files. +Solution: Correct file names. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1401 +Problem: Cannot jump to the last used tabpage. +Solution: Add g<Tab> and tabpagnr('#'). (Yegappan Lakshmanan, closes #6661, + neovim #11626) +Files: runtime/doc/eval.txt, runtime/doc/index.txt, + runtime/doc/tabpage.txt, src/evalwindow.c, src/globals.h, + src/normal.c, src/proto/window.pro, src/testdir/test_tabpage.vim, + src/window.c + +Patch 8.2.1402 +Problem: s390x tests always fail. +Solution: Temporarily disable s390x tests. +Files: .travis.yml + +Patch 8.2.1403 +Problem: Vim9: Vim highlighting fails in cmdline window if it uses Vim9 + commands. +Solution: Allow using :vim9script, :import and :export while in the cmdline + window. (closes #6656) +Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1404 +Problem: Vim9: script test fails in the GUI. +Solution: Use another key to map. Improve cleanup. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1405 +Problem: Vim9: vim9compile.c is getting too big. +Solution: Split off type code to vim9type.c. +Files: Filelist, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9type.c, src/proto/vim9type.pro, src/proto.h, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Makefile + +Patch 8.2.1406 +Problem: Popupwindow lacks scrollbar if no "maxheight" is used. +Solution: Compute the max height depending on the position. (closes #6664) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_toohigh_1.dump, + src/testdir/dumps/Test_popupwin_toohigh_2.dump + +Patch 8.2.1407 +Problem: Vim9: type of list and dict only depends on first item. +Solution: Use all items to decide about the type. +Files: src/vim9compile.c, src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_expr.vim, runtime/doc/vim9.txt + +Patch 8.2.1408 +Problem: Vim9: type casting not supported. +Solution: Introduce type casting. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1409 +Problem: Npmrc and php.ini filetypes not recognized. +Solution: Add filetype detection. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1410 +Problem: Adding compiler plugin requires test change. +Solution: Include compiler plugin and adjust test. +Files: src/testdir/test_compiler.vim, runtime/compiler/xo.vim + +Patch 8.2.1411 +Problem: when splitting a window localdir is copied but prevdir is not. +Solution: Also copy prevdir. (closes #6667) +Files: src/window.c, src/testdir/test_cd.vim + +Patch 8.2.1412 +Problem: Vim: not operator does not result in boolean. +Solution: Make type depend on operator. (issue 6678) Fix using "false" and + "true" in Vim9 script. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1413 (after 8.2.1401) +Problem: Previous tab page not usable from an Ex command. +Solution: Add the "#" argument for :tabnext et al. (Yegappan Lakshmanan, + closes #6677) +Files: runtime/doc/tabpage.txt, src/ex_docmd.c, src/window.c, + src/testdir/test_tabpage.vim + +Patch 8.2.1414 +Problem: Popupwindow missing last couple of lines when cursor is in the + first line. +Solution: Compute the max height also when top aligned. (closes #6664) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_toohigh_3.dump, + src/testdir/dumps/Test_popupwin_nospace.dump + +Patch 8.2.1415 +Problem: Closing a popup window with CTRL-C interrupts 'statusline' if it + calls a function. +Solution: Reset got_int while redrawing. (closes #6675) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_ctrl_c.dump + +Patch 8.2.1416 +Problem: Vim9: boolean evaluation does not work as intended. +Solution: Use tv2bool() in Vim9 script. (closes #6681) +Files: src/eval.c, src/testdir/test_vim9_expr.vim, src/testdir/vim9.vim + +Patch 8.2.1417 +Problem: Test 49 is old style. +Solution: Convert more parts to new style test. (Yegappan Lakshmanan, + closes #6682) +Files: src/testdir/test49.ok, src/testdir/test49.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.1418 +Problem: Vim9: invalid error for missing white space after function. +Solution: Do not skip over white space. (closes #6679) +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1419 +Problem: Vim9: not operator applied too early. +Solution: Implement the "numeric_only" argument. (closes #6680) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1420 +Problem: Test 49 is old style. +Solution: Convert remaining parts to new style. Remove obsolete items. + (Yegappan Lakshmanan, closes #6683) +Files: Filelist, runtime/doc/testing.txt, src/Make_mvc.mak, src/Makefile, + src/testdir/Make_all.mak, src/testdir/Make_amiga.mak, + src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_vms.mms, src/testdir/Makefile, + src/testdir/README.txt, src/testdir/test49.in, + src/testdir/test49.ok, src/testdir/test49.vim, + src/testdir/test_quickfix.vim, src/testdir/test_vimscript.vim + +Patch 8.2.1421 +Problem: Vim9: handling "+" and "-" before number differs from Vim script. +Solution: Use the same sequence of commands. +Files: src/vim9compile.c + +Patch 8.2.1422 +Problem: The Mac GUI implementation is outdated and probably doesn't even + work. +Solution: Remove the Mac GUI code. The MacVim project provides the + supported Vim GUI version. +Files: Filelist, src/gui_mac.c, src/proto/gui_mac.pro, src/proto.h, + src/Makefile, src/configure.ac, src/auto/configure, + src/evalfunc.c, src/fileio.c, src/gui.c, src/if_mzsch.c, + src/main.c, src/misc2.c, src/mouse.c, src/os_mac_conv.c, + src/os_unix.c, src/feature.h, src/globals.h, src/gui.h, + src/option.h, src/optiondefs.h, src/os_mac.h, src/structs.h, + src/vim.h, src/INSTALLmac.txt + +Patch 8.2.1423 +Problem: Vim9: find global function when looking for script-local. +Solution: Don't strip prefix if name starts with "s:". (closes #6688) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1424 (after 8.2.1422) +Problem: Mac build fails. +Solution: Adjust configure to not fall back to Athena. Adjust some other + files. +Files: src/configure.ac, src/auto/configure, src/os_macosx.m, + src/version.c + +Patch 8.2.1425 +Problem: Vim9: cannot use call() without :call. +Solution: Do not skip over "call(". (closes #6689) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1426 +Problem: Vim9: cannot call autoload function in :def function. +Solution: Load the autoload script. (closes #6690) +Files: src/vim9execute.c, src/vim9compile.c, src/scriptfile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1427 +Problem: Vim9: cannot use a range with marks in :def function. +Solution: Parse range after colon. (closes #6686) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1428 +Problem: Vim9: :def function does not abort on nested function error. +Solution: Check whether an error message was given. (closes #6691) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1429 +Problem: Vim9: no error for missing white after : in dict. +Solution: Check for white space. (closes #6671) Also check that there is no + white before the :. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1430 +Problem: Vim9: error for missing comma instead of extra white space. +Solution: Check if comma can be found after white space. (closes #6668) + Also check for extra white space in literal dict. (closes #6670) +Files: src/list.c, src/dict.c, src/vim9compile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1431 +Problem: Vim9: no error for white space before comma in dict. +Solution: Check for extra white space. (closes #6674) +Files: src/vim9compile.c, src/dict.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1432 +Problem: Various inconsistencies in test files. +Solution: Add modelines where they were missing. Use Check commands instead + of silently skipping over tests. Adjust indents and comments. + (Ken Takata, closes #6695) +Files: src/testdir/test_arglist.vim, src/testdir/test_assert.vim, + src/testdir/test_autochdir.vim, src/testdir/test_autocmd.vim, + src/testdir/test_autoload.vim, src/testdir/test_balloon.vim, + src/testdir/test_balloon_gui.vim, src/testdir/test_behave.vim, + src/testdir/test_blockedit.vim, src/testdir/test_breakindent.vim, + src/testdir/test_bufline.vim, src/testdir/test_bufwintabinfo.vim, + src/testdir/test_cd.vim, src/testdir/test_changedtick.vim, + src/testdir/test_changelist.vim, src/testdir/test_channel.vim, + src/testdir/test_checkpath.vim, src/testdir/test_cindent.vim, + src/testdir/test_cjk_linebreak.vim, + src/testdir/test_clientserver.vim, + src/testdir/test_close_count.vim, src/testdir/test_cmdline.vim, + src/testdir/test_command_count.vim, + src/testdir/test_comparators.vim, src/testdir/test_compiler.vim, + src/testdir/test_crypt.vim, src/testdir/test_cursorline.vim, + src/testdir/test_curswant.vim, src/testdir/test_debugger.vim, + src/testdir/test_delete.vim, src/testdir/test_diffmode.vim, + src/testdir/test_digraph.vim, src/testdir/test_display.vim, + src/testdir/test_edit.vim, src/testdir/test_environ.vim, + src/testdir/test_erasebackword.vim, + src/testdir/test_escaped_glob.vim, src/testdir/test_ex_equal.vim, + src/testdir/test_ex_undo.vim, src/testdir/test_ex_z.vim, + src/testdir/test_exec_while_if.vim, src/testdir/test_exists.vim, + src/testdir/test_exists_autocmd.vim, src/testdir/test_exit.vim, + src/testdir/test_expand_dllpath.vim, + src/testdir/test_expr_utf8.vim, src/testdir/test_feedkeys.vim, + src/testdir/test_file_size.vim, src/testdir/test_fileformat.vim, + src/testdir/test_filter_cmd.vim, + src/testdir/test_find_complete.vim, src/testdir/test_findfile.vim, + src/testdir/test_fixeol.vim, src/testdir/test_flatten.vim, + src/testdir/test_fnameescape.vim, src/testdir/test_fold.vim, + src/testdir/test_functions.vim, src/testdir/test_ga.vim, + src/testdir/test_getcwd.vim, src/testdir/test_getvar.vim, + src/testdir/test_glob2regpat.vim, src/testdir/test_global.vim, + src/testdir/test_gui.vim, src/testdir/test_gui_init.vim, + src/testdir/test_highlight.vim, src/testdir/test_hlsearch.vim, + src/testdir/test_iminsert.vim, + src/testdir/test_increment_dbcs.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_interrupt.vim, + src/testdir/test_job_fails.vim, src/testdir/test_join.vim, + src/testdir/test_json.vim, src/testdir/test_jumplist.vim, + src/testdir/test_jumps.vim, src/testdir/test_lambda.vim, + src/testdir/test_langmap.vim, src/testdir/test_largefile.vim, + src/testdir/test_lineending.vim, src/testdir/test_listchars.vim, + src/testdir/test_listener.vim, src/testdir/test_listlbr.vim, + src/testdir/test_listlbr_utf8.vim, + src/testdir/test_makeencoding.vim, src/testdir/test_man.vim, + src/testdir/test_mapping.vim, src/testdir/test_marks.vim, + src/testdir/test_matchadd_conceal.vim, + src/testdir/test_matchadd_conceal_utf8.vim, + src/testdir/test_memory_usage.vim, src/testdir/test_menu.vim, + src/testdir/test_messages.vim, src/testdir/test_mksession.vim, + src/testdir/test_modeline.vim, + src/testdir/test_nested_function.vim, src/testdir/test_number.vim, + src/testdir/test_options.vim, src/testdir/test_packadd.vim, + src/testdir/test_partial.vim, src/testdir/test_paste.vim, + src/testdir/test_plus_arg_edit.vim, src/testdir/test_preview.vim, + src/testdir/test_profile.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_quickfix.vim, src/testdir/test_quotestar.vim, + src/testdir/test_random.vim, src/testdir/test_recover.vim, + src/testdir/test_regex_char_classes.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_registers.vim, + src/testdir/test_rename.vim, src/testdir/test_retab.vim, + src/testdir/test_scriptnames.vim, src/testdir/test_scroll_opt.vim, + src/testdir/test_scrollbind.vim, src/testdir/test_search_stat.vim, + src/testdir/test_searchpos.vim, src/testdir/test_set.vim, + src/testdir/test_sha256.vim, src/testdir/test_shift.vim, + src/testdir/test_shortpathname.vim, src/testdir/test_signs.vim, + src/testdir/test_sort.vim, src/testdir/test_sound.vim, + src/testdir/test_source_utf8.vim, src/testdir/test_spellfile.vim, + src/testdir/test_startup.vim, src/testdir/test_startup_utf8.vim, + src/testdir/test_stat.vim, src/testdir/test_suspend.vim, + src/testdir/test_swap.vim, src/testdir/test_syntax.vim, + src/testdir/test_tab.vim, src/testdir/test_tabline.vim, + src/testdir/test_tagcase.vim, src/testdir/test_tagjump.vim, + src/testdir/test_taglist.vim, src/testdir/test_termcodes.vim, + src/testdir/test_termencoding.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal2.vim, src/testdir/test_terminal3.vim, + src/testdir/test_terminal_fail.vim, + src/testdir/test_true_false.vim, + src/testdir/test_utf8_comparisons.vim, + src/testdir/test_vartabs.vim, src/testdir/test_version.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_winbar.vim, + src/testdir/test_winbuf_close.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_window_id.vim, + src/testdir/test_windows_home.vim, src/testdir/test_wnext.vim, + src/testdir/test_wordcount.vim, src/testdir/test_writefile.vim, + src/testdir/test_xxd.vim + +Patch 8.2.1433 +Problem: Vim9: cannot mingle comments in multi-line lambda. +Solution: Skip over NULL lines. (closes #6694) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1434 +Problem: Vim9: crash when lambda uses outer function argument. +Solution: Set the flag that the outer context is used. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1435 +Problem: Vim9: always converting to string for ".." leads to mistakes. +Solution: Only automatically convert simple types. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9.h, + src/vim9execute.c, src/proto/vim9execute.pro, src/eval.c, + src/evalfunc.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1436 +Problem: Function implementing :substitute has unexpected name. +Solution: Rename from do_sub() to ex_substitute(). +Files: src/ex_cmds.c, src/proto/ex_cmds.pro, src/ex_docmd.c, + src/ex_cmds.h + +Patch 8.2.1437 +Problem: Vim9: 'statusline' is evaluated using Vim9 script syntax. +Solution: Always use legacy script syntax. +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1438 +Problem: Missing tests for interrupting script execution from debugger. +Solution: Add tests. (Yegappan Lakshmanan, closes #6697) +Files: src/testdir/test_debugger.vim + +Patch 8.2.1439 +Problem: Tiny and small builds have no test coverage. +Solution: Restore tests that do not depend on the +eval feature. + (Ken Takata, closes #6696) +Files: .travis.yml, Filelist, Makefile, runtime/doc/testing.txt, + src/Make_mvc.mak, src/Makefile, src/testdir/Make_all.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Make_vms.mms, + src/testdir/Makefile, src/testdir/runtest.vim, + src/testdir/test1.in, src/testdir/test1.ok, src/testdir/test20.in, + src/testdir/test20.ok, src/testdir/test21.in, + src/testdir/test21.ok, src/testdir/test22.in, + src/testdir/test22.ok, src/testdir/test23.in, + src/testdir/test23.ok, src/testdir/test24.in, + src/testdir/test24.ok, src/testdir/test25.in, + src/testdir/test25.ok, src/testdir/test26.in, + src/testdir/test26.ok, src/testdir/test27.in, + src/testdir/test27.ok, src/testdir/test_options.vim + +Patch 8.2.1440 +Problem: Debugger code insufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #6700) +Files: src/testdir/test_debugger.vim, src/testdir/test_vimscript.vim + +Patch 8.2.1441 +Problem: Running tests in tiny version gives error for summarize.vim. +Solution: Set 'cpoptions' to allow for line continuation. Restore + redirecting test output to /dev/null. +Files: src/testdir/summarize.vim, src/testdir/Makefile + +Patch 8.2.1442 +Problem: Outdated references to the Mac Carbon GUI. +Solution: Remove or update references. (Yee Cheng Chin, closes #6703) +Files: READMEdir/README_extra.txt, src/Makefile, src/configure.ac, + src/auto/configure, src/gui_haiku.cc, src/os_macosx.m, + src/testdir/test_iminsert.vim, src/vim.h + +Patch 8.2.1443 +Problem: Vim9: crash when interrupting a nested :def function. +Solution: Push a dummy return value onto the stack. (closes #6701) +Files: src/vim9execute.c + +Patch 8.2.1444 +Problem: Error messages are spread out and names can be confusing. +Solution: Start moving error messages to a separate file and use clear + names. +Files: Filelist, src/vim.h, src/globals.h, src/errors.h, src/Makefile, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/dict.c, src/evalvars.c, src/ex_docmd.c, src/list.c, + src/userfunc.c, src/vim9compile.c, src/vim9execute.c, + src/vim9script.c, src/vim9type.c + +Patch 8.2.1445 +Problem: Vim9: function expanded name is cleared when sourcing a script + again. +Solution: Only clear the expanded name when deleting the function. + (closes #6707) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1446 +Problem: Vim9: line number in error message is not correct. +Solution: Set SOURCING_LNUM before calling emsg(). (closes #6708) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1447 +Problem: Vim9: return type of keys() is list<any>. +Solution: Should be list<string>. (closes #6711) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1448 +Problem: Test 77a for VMS depends on small.vim which does not exist. +Solution: Use the 'silent while 0" trick. (issue #6696) +Files: src/testdir/test77a.in + +Patch 8.2.1449 +Problem: Some test makefiles delete files that are not generated. +Solution: Remove the deletion commands. +Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Make_amiga.mak, src/testdir/Make_vms.mms + +Patch 8.2.1450 +Problem: Vim9: no check that script-local items don't become global. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1451 +Problem: Vim9: list type at script level only uses first item. +Solution: Use all members, like in a compiled function. (closes #6712) + Also for dictionary. +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1452 +Problem: Vim9: dead code in to_name_end(). +Solution: Remove check for lambda and dict, it won't be used. +Files: src/vim9compile.c + +Patch 8.2.1453 +Problem: Vim9: failure to compile lambda not tested. +Solution: Add a test case. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1454 +Problem: Vim9: failure invoking lambda with wrong arguments. +Solution: Handle invalid arguments. Add a test. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1455 +Problem: Vim9: crash when using typecast before constant. +Solution: Generate constant before checking type. Add tets. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1456 +Problem: MS-Windows: test files are not deleted. +Solution: use "del" instead of $(DEL). +Files: src/testdir/Make_dos.mak + +Patch 8.2.1457 +Problem: Vim9: the output of :disassemble cannot be interrupted. +Solution: Check got_int. (closes #6715) +Files: src/vim9execute.c + +Patch 8.2.1458 +Problem: .gawk files not recognized. +Solution: Recognize .gawk files. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1459 +Problem: Vim9: declaring a script variable at the script level does not + infer the type. +Solution: Get the type from the value. (closes #6716) +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1460 +Problem: Error messages are spread out. +Solution: Move more messages into errors.h. +Files: src/errors.h, src/globals.h, src/vim9compile.c, src/vim9execute.c, + src/vim9script.c, src/vim9type.c, src/scriptfile.c, src/ex_cmds.c, + src/ex_docmd.c, src/match.c, src/eval.c, src/evalvars.c, + src/userfunc.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1461 +Problem: Vim9: string indexes are counted in bytes. +Solution: Use character indexes. (closes #6574) +Files: runtime/doc/eval.txt, src/eval.c, src/proto/eval.pro, + src/vim9execute.c, src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1462 +Problem: Vim9: string slice not supported yet. +Solution: Add support for string slicing. +Files: src/errors.h, src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/eval.c, src/proto/eval.pro, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1463 +Problem: Vim9: list slice not supported yet. +Solution: Add support for list slicing. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/eval.c, + src/list.c, src/proto/list.pro, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1464 +Problem: Vim9: build warning for unused variable. +Solution: Delete the variable declaration. +Files: src/vim9execute.c + +Patch 8.2.1465 +Problem: Vim9: subscript not handled properly. +Solution: Adjust error message. Remove dead code. Disallow string to + number conversion in scripts. +Files: src/errors.h, src/vim9compile.c, src/vim9execute.c, src/eval.c, + src/typval.c, src/list.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1466 +Problem: Vim9: cannot index or slice a variable with type "any". +Solution: Add runtime index and slice. +Files: src/eval.c, src/proto/eval.pro, src/vim9compile.c, + src/vim9execute.c, src/vim9.h, src/errors.h, src/list.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1467 +Problem: Vim9: :echomsg doesn't like a dict argument. +Solution: Convert arguments like in legacy script. (closes #6717) +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1468 +Problem: Vim9: invalid error for missing white space. +Solution: Don't skip over white space after index. (closes #6718) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1469 +Problem: Vim9: cannot assign string to string option. +Solution: Change checks for option value. (closes #6720) +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1470 +Problem: Errors in spell file not tested. +Solution: Add test for spell file errors. (Yegappan Lakshmanan, + closes #6721) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.1471 +Problem: :const only locks the variable, not the value. +Solution: Lock the value as ":lockvar 1 var" would do. (closes #6719) +Files: src/evalvars.c, src/testdir/test_const.vim + +Patch 8.2.1472 +Problem: ":argdel" does not work like ":.argdel" as documented. (Alexey + Demin) +Solution: Make ":argdel" work like ":.argdel". (closes #6727) + Also fix giving the error "0 more files to edit". +Files: src/arglist.c, src/ex_docmd.c, src/testdir/test_arglist.vim + +Patch 8.2.1473 +Problem: Items in a list given to :const can still be modified. +Solution: Work like ":lockvar! name" but don't lock referenced items. + Make locking a blob work. +Files: runtime/doc/eval.txt, src/evalvars.c, src/eval.c, + src/testdir/test_const.vim + +Patch 8.2.1474 +Problem: /usr/lib/udef/rules.d not recognized as udevrules. +Solution: Adjust match pattern. (Haochen Tong, closes 36722) +Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim + +Patch 8.2.1475 +Problem: Vim9: can't use v:true for option flags. +Solution: Add tv_get_bool_chk(). (closes #6725) +Files: src/typval.c, src/proto/typval.pro, src/channel.c + +Patch 8.2.1476 (after 8.2.1474) +Problem: Filetype test fails on MS-Windows. +Solution: Remove "^" from pattern. +Files: runtime/autoload/dist/ft.vim + +Patch 8.2.1477 +Problem: Vim9: error when using bufnr('%'). +Solution: Don't give an error for using a string argument. (closes #6723) +Files: src/evalbuffer.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1478 +Problem: Vim9: cannot use "true" for some popup options. +Solution: Add dict_get_bool(). (closes #6725) +Files: src/dict.c, src/proto/dict.pro, src/popupwin.c + +Patch 8.2.1479 +Problem: Vim9: error for list index uses wrong line number. +Solution: Set source line number. (closes #6724) Add a way to assert the + line number of the error with assert_fails(). +Files: runtime/doc/testing.txt, src/vim9execute.c, src/testing.c, + src/evalfunc.c, src/message.c, src/globals.h, src/testdir/vim9.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1480 +Problem: Vim9: skip expression in search() gives error. +Solution: use tv_get_bool() eval_expr_to_bool(). (closes #6729) +Files: src/eval.c, src/typval.c, src/proto/typval.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.1481 +Problem: Vim9: line number reported with error may be wrong. +Solution: Check line number in tests. +Files: src/testdir/test_vim9_expr.vim, src/testdir/vim9.vim, + src/vim9execute.c + +Patch 8.2.1482 +Problem: Vim9: crash when using a nested lambda. +Solution: Do not clear the growarray when not evaluating. Correct pointer + when getting the next line. (closes #6731) +Files: src/eval.c, src/scriptfile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1483 +Problem: Vim9: error for using special as number when returning "false" + from a popup filter. +Solution: Use tv_get_bool(). (closes #6733) +Files: src/popupwin.c + +Patch 8.2.1484 +Problem: Flaky failure in assert_fails(). +Solution: Only used fourth argument if there is a third argument. +Files: src/testing.c + +Patch 8.2.1485 +Problem: Vim9: readdirex() expression doesn't accept bool. +Solution: Accept both -1 and bool. (closes #6737) +Files: src/filepath.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1486 +Problem: Vim9: readdir() expression doesn't accept bool. +Solution: Merge with code for readdirex(). (closes #6737) +Files: src/filepath.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1487 +Problem: Travis: installing snd-dummy is not always useful. +Solution: Only install snd-dummy on amd64. (Ozaki Kiichi, closes #6738) +Files: .travis.yml, ci/load-snd-dummy.sh + +Patch 8.2.1488 +Problem: Text does not scroll when inserting above first line. +Solution: Adjust off-by-one error. (Ken Takata, closes #6739) +Files: src/drawscreen.c, src/testdir/test_display.vim, + src/testdir/dumps/Test_display_scroll_at_topline.dump + +Patch 8.2.1489 +Problem: Vim9: error when setting an option with setbufvar(). +Solution: Do not get a number from a string value. (closes #6740) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1490 +Problem: Vim9: using /= with float and number doesn't work. +Solution: Better support assignment with operator. (closes #6742) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1491 +Problem: Vim9: crash when compiling heredoc lines start with comment. +Solution: Skip over NULL pointers. Do not remove comment and empty lines + when fetching function lines. (closes #6743) +Files: src/vim9compile.c, src/scriptfile.c, src/proto/scriptfile.pro, + src/structs.h, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/ex_cmds.h, src/autocmd.c, src/proto/autocmd.pro, + src/ex_getln.c, src/proto/ex_getln.pro, src/userfunc.c, + src/proto/userfunc.pro, src/evalfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1492 +Problem: Build failures. +Solution: Move typedef out of #ifdef. Adjust argument types. Discover + America. +Files: src/structs.h, src/ex_docmd.c + +Patch 8.2.1493 +Problem: Not enough test coverage for the spell file handling. +Solution: Add spell file tests. (Yegappan Lakshmanan, closes #6728) +Files: src/spellfile.c, src/testdir/test_spellfile.vim + +Patch 8.2.1494 +Problem: Missing change to calling eval_getline(). +Solution: Change last argument. +Files: src/eval.c + +Patch 8.2.1495 +Problem: "make clean" may delete too many files. +Solution: Do not delete $APPDIR. (closes #6751) +Files: src/Makefile + +Patch 8.2.1496 +Problem: Vim9: cannot use " #" in a mapping. +Solution: Do not remove a comment with the EX_NOTRLCOM flag. (closes #6746) +Files: src/ex_docmd.c, src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1497 +Problem: CursorHold test is flaky. (Jakub Kądziołka) +Solution: Use WaitForAssert() (closes #6754) +Files: src/testdir/test_autocmd.vim + +Patch 8.2.1498 +Problem: On slow systems tests can be flaky. +Solution: Use TermWait() instead of term-wait(). (Yegappan Lakshmanan, + closes #6756) +Files: src/testdir/test_digraph.vim, src/testdir/test_display.vim, + src/testdir/test_popupwin.vim, src/testdir/test_termcodes.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal3.vim, + src/testdir/test_writefile.vim + +Patch 8.2.1499 +Problem: Vim9: error when using "$" with col(). +Solution: Reorder getting the column value. (closes #6744) +Files: src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1500 +Problem: Vim9: error when using address without a command. +Solution: Execute the range itself. (closes #6747) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1501 +Problem: Vim9: concatenating to constant reverses order. +Solution: Generate constant before option, register and environment + variable. (closes #6757) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1502 +Problem: Vim9: can use += with a :let command at script level. +Solution: Give an error. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1503 +Problem: Vim9: error for an autocmd defined in a :def function in legacy + Vim script. +Solution: Don't check the variable type. (closes #6758) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1504 +Problem: Vim9: white space checks are only done for a :def function. +Solution: Also do checks at the script level. Adjust the name of a few + error messages. +Files: src/userfunc.c, src/errors.h, src/dict.c, src/list.c, + src/vim9compile.c, src/vim9script.c, src/vim9type.c, + src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/vim9.vim + +Patch 8.2.1505 +Problem: Not all file read and writecode is tested. +Solution: Add a few tests. (Dominique Pellé, closes #6764) +Files: src/testdir/test_eval_stuff.vim, src/testdir/test_fnamemodify.vim, + src/testdir/test_functions.vim + +Patch 8.2.1506 +Problem: Vim9: no error when using a number other than 0 or 1 as bool. +Solution: Check the number is 0 or 1. +Files: src/errors.h, src/typval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1507 +Problem: Using malloc() directly. +Solution: Use ALLOC_ONE(). Remove superfluous typecast. (Hussam al-Homsi, + closes #6768) +Files: src/eval.c, src/memline.c, src/vimrun.c + +Patch 8.2.1508 +Problem: Not all debugger commands covered by tests. +Solution: Add tests for going up/down in the stack. (Ben Jackson, + closes #6765) +Files: src/testdir/test_debugger.vim + +Patch 8.2.1509 +Problem: Vertical separator is cleared when dragging a popup window using a + multi-byte character for the border. +Solution: Only clear the character before the window if it is using a + multi-byte character. (closes #6766) +Files: src/screen.c + +Patch 8.2.1510 +Problem: Using "var" in a :def function may refer to a legacy Vim script + variable. +Solution: Require using "s:" to refer to a legacy Vim script variable. + (closes #6771) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1511 +Problem: Putting a string in Visual block mode ignores multi-byte + characters. +Solution: Adjust the column for Visual block mode. (closes #6767) +Files: src/register.c, src/testdir/test_visual.vim + +Patch 8.2.1512 +Problem: Failure after ternary expression fails. +Solution: Restore eval_flags. (Yasuhiro Matsumoto, closes #6776) +Files: src/eval.c, src/testdir/test_vimscript.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1513 +Problem: Cannot interrupt shell used for filename expansion. (Dominique + Pellé) +Solution: Do set tmode in mch_delay(). (closes #6770) +Files: src/vim.h, src/os_unix.c, src/proto/os_unix.pro, src/term.c, + src/channel.c, src/if_cscope.c, src/os_amiga.c, src/ui.c, + src/proto/os_amiga.pro, src/os_win32.c, src/proto/os_win32.pro + +Patch 8.2.1514 +Problem: Multibyte vertical separator is cleared when dragging a popup + window using a multi-byte character for the border. +Solution: Only clear the character before the window if it is double width. + (closes #6766) +Files: src/screen.c + +Patch 8.2.1515 +Problem: Vim9: can create s:var in legacy script but cannot unlet. +Solution: Allow :unlet for legacy script var. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1516 +Problem: Vim9: error for :exe has wrong line number. +Solution: Set line number before calling do_cmdline_cmd(). (closes #6774) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1517 +Problem: Cannot easily get the character under the cursor. +Solution: Add the {chars} argument to strpart(). +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.2.1518 +Problem: Vim9: cannot assign to local option. +Solution: Skip over "&l:" and "&g:". (closes #6749) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/testdir/vim9.vim, + src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1519 +Problem: Vim9: Ex command default range is not set. +Solution: When range is not given use default. (closes #6779) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1520 +Problem: Vim9: CTRL-] used in :def function does not work. +Solution: Omit count or prepend colon. (closes #6769) +Files: src/normal.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1521 +Problem: Reading past end of buffer when reading spellfile. (Yegappan + Lakshmanan) +Solution: Store the byte length and check for it. +Files: src/spellfile.c, src/spell.h + +Patch 8.2.1522 +Problem: Not enough test coverage for the spell file handling. +Solution: Add spell file tests. (Yegappan Lakshmanan, closes #6763) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.1523 +Problem: Still not enough test coverage for the spell file handling. +Solution: Add spell file tests. (Yegappan Lakshmanan, closes #6790) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.1524 +Problem: No longer get an error for string concatenation with float. + (Tsuyoshi Cho) +Solution: Only convert float for Vim9 script. (closes #6787) +Files: src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.1525 +Problem: Messages from tests were not always displayed. +Solution: Always show messages, the timing is always useful. (Ken Takata, + closes #6792) +Files: src/testdir/Make_dos.mak, src/testdir/Make_ming.mak, + src/testdir/Makefile + +Patch 8.2.1526 +Problem: Line in testdir Makefile got commented out. (Christian Brabandt) +Solution: Revert. +Files: src/testdir/Makefile + +Patch 8.2.1527 +Problem: Vim9: cannot use a function name as a function reference at script + level. +Solution: Check if a name is a function name. (closes #6789) +Files: src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1528 +Problem: Vim9: :endif not found after "if false". +Solution: When skipping still check for a following command. (closes #6797) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1529 +Problem: Vim9: :elseif may be compiled when not needed. +Solution: Do evaluate the :elseif expression. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1530 +Problem: Vim9: test fails on MS-Windows. +Solution: Skip Ex command inside "if false". +Files: src/vim9compile.c + +Patch 8.2.1531 +Problem: Vim9: test still fails on MS-Windows. +Solution: When skipping expect function to be NULL. +Files: src/vim9compile.c + +Patch 8.2.1532 +Problem: Compiler warning for conversion of size_t to long. +Solution: Add type cast. +Files: src/eval.c + +Patch 8.2.1533 +Problem: Vim9: error when passing getreginfo() result to setreg(). +Solution: Use dict_get_bool() for "isunnamed". (closes #6784) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1534 +Problem: Vim9: type error for argument type is not at call position. +Solution: Set the context and stack after checking the arguments. + (issue #6785) +Files: src/userfunc.c, src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1535 +Problem: It is not possible to specify cell widths of characters. +Solution: Add setcellwidths(). +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/mbyte.c, + src/proto/mbyte.pro, src/errors.h, src/testdir/test_utf8.vim + +Patch 8.2.1536 +Problem: Cannot get the class of a character; emoji widths are wrong in + some environments. +Solution: Add charclass(). Update some emoji widths. Add script to check + emoji widths. +Files: Filelist, runtime/doc/eval.txt, runtime/doc/usr_41.txt, + src/evalfunc.c, src/mbyte.c, src/proto/mbyte.pro, + src/testdir/emoji_list.vim, src/testdir/test_functions.vim + +Patch 8.2.1537 +Problem: Memory access error when using setcellwidths(). +Solution: Use array and pointers correctly. +Files: src/mbyte.c, src/errors.h, src/testdir/test_utf8.vim + +Patch 8.2.1538 +Problem: Python: iteration over vim objects fails to keep reference. +Solution: Keep a reference for the object. (Paul Ollis, closes #6803, + closes #6806) +Files: src/if_py_both.h, src/testdir/test_python3.vim + +Patch 8.2.1539 +Problem: Using invalid script ID causes a crash. +Solution: Check the script ID to be valid. (closes #6804) +Files: src/globals.h, src/evalvars.c, src/profiler.c, src/scriptfile.c, + src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1540 +Problem: The user cannot try out emoji character widths. +Solution: Move the emoji script to the runtime/tools directory. +Files: Filelist, src/testdir/emoji_list.vim, runtime/tools/emoji_list.vim + +Patch 8.2.1541 +Problem: Vim9: cannot find function reference for s:Func. +Solution: Recognize <SNR> prefix. (closes #6805) +Files: src/userfunc.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1542 +Problem: Vim9: test with invalid SID does not work in the GUI. +Solution: Skip the test in the GUI. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1543 +Problem: Vim9: test with invalid SID is skipped in the GUI. +Solution: Read the CTRL-C that feedkeys() put in typeahead. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1544 +Problem: Cannot translate messages in a Vim script. +Solution: Add gettext(). Try it out for a few messages in the options + window. +Files: Filelist, src/po/Makefile, src/po/README.txt, runtime/optwin.vim, + src/evalfunc.c, src/po/tojavascript.vim, src/po/fixfilenames.vim, + runtime/doc/eval.txt, runtime/doc/usr_41.txt + +Patch 8.2.1545 +Problem: ch_logfile() is unclear about closing when forking. +Solution: Adjust the log messages. +Files: src/channel.c, src/os_unix.c + +Patch 8.2.1546 +Problem: Build rule for Vim.app is unused. +Solution: Delete the related build rules. +Files: src/Makefile + +Patch 8.2.1547 +Problem: Various comment problems. +Solution: Update comments. +Files: src/arglist.c, src/map.c, src/mbyte.c, src/tag.c, src/undo.c, + src/testdir/README.txt, src/testdir/test_put.vim, + src/libvterm/README + +Patch 8.2.1548 +Problem: Cannot move position of "%%" in message translations. (Emir Sarı) +Solution: Improve the check script. +Files: src/po/check.vim + +Patch 8.2.1549 +Problem: The "r" command fails for keys with modifiers if 'esckeys' is off + and modifyOtherKeys is used. (Lauri Tirkkonen) +Solution: Temporarily disable bracketed paste and modifyOtherKeys if + 'esckeys' is off. (closes #6809) +Files: src/normal.c + +Patch 8.2.1550 +Problem: Vim9: bufname('%') gives an error. +Solution: Only give an error for wrong argument type. (closes #6807) +Files: src/evalbuffer.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1551 +Problem: Vim9: error for argument type does not mention the number. +Solution: Pass the argument number to where the error is given. +Files: src/vim9type.c, src/proto/vim9type.pro, src/vim9compile.c, + src/vim9execute.c, src/vim9script.c, src/eval.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1552 +Problem: Warnings from asan with clang-11. (James McCoy) +Solution: Avoid using a NULL pointer. (issue #6811) +Files: src/fold.c + +Patch 8.2.1553 (after 8.2.1552) +Problem: Crash in edit test. +Solution: Avoid using invalid pointer. +Files: src/fold.c + +Patch 8.2.1554 +Problem: Crash in normal test. +Solution: Skip adjusting marks if there are no folds. +Files: src/fold.c + +Patch 8.2.1555 +Problem: Not all tests are executed on Github Actions. +Solution: Copy "src" to "src2" earlier. Recognize "src2" in a couple more + places. Add two tests to the list of flaky tests. (Ken Takata, + closes #6798) +Files: .github/workflows/ci-windows.yaml, src/testdir/runtest.vim, + src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.1556 +Problem: Cursorline highlighting always overrules sign highlighting. +Solution: Combine the highlighting, use the priority to decide how. + (closes #6812) +Files: runtime/doc/sign.txt, src/structs.h, src/drawline.c, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim, + src/testdir/test_signs.vim, + src/testdir/dumps/Test_sign_cursor_5.dump, + src/testdir/dumps/Test_sign_cursor_6.dump + +Patch 8.2.1557 +Problem: Crash in :vimgrep when started as "vim -n". (Raul Segura) +Solution: Check mfp pointer. (Yegappan Lakshmanan, closes #6827) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1558 +Problem: Signs test fails. +Solution: Add missing change to sign.c. +Files: src/sign.c + +Patch 8.2.1559 +Problem: s390x tests work again. +Solution: re-enable s390x tests. (James McCoy, closes #6829) +Files: .travis.yml + +Patch 8.2.1560 +Problem: Using NULL pointers in some code. (James McCoy) +Solution: Avoid adding to a NULL pointer. Use byte as unsigned. +Files: src/fold.c, src/eval.c, src/spellsuggest.c, src/spellfile.c, + src/vim9compile.c + +Patch 8.2.1561 +Problem: Using NULL pointers in fold code. +Solution: Avoid using a NULL pointer. (Dominique Pellé, closes #6831, + closes #6831) +Files: src/fold.c + +Patch 8.2.1562 +Problem: Vim9: error when using "%" where a buffer is expected. +Solution: Add tv_get_buf_from_arg(). (closes #6814) +Files: src/typval.c, src/proto/typval.pro, src/evalbuffer.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1563 +Problem: Vim9: error when using '%" with setbufvar() or getbufvar(). +Solution: Use tv_get_buf_from_arg(). (closes #6816) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1564 +Problem: A few remaining errors from ubsan. +Solution: Avoid the warnings. (Dominique Pellé, closes #6837) +Files: src/spellfile.c, src/spellsuggest.c, src/viminfo.c + +Patch 8.2.1565 +Problem: Spellfile test sometimes fails. +Solution: Check running into the end of the file. +Files: src/spellfile.c + +Patch 8.2.1566 +Problem: Not all Bazel files are recognized. +Solution: Add *.bazel and *.BUILD. (closes #6836) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1567 +Problem: No example to use ubsan with clang. +Solution: Add example commands. (Dominique Pellé, issue #6811) +Files: src/Makefile + +Patch 8.2.1568 +Problem: prop_find() skips properties in the same line if "skipstart" is + used. +Solution: Use "continue" instead of "break". (closes #6840) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1569 +Problem: Vim9: fixes for functions not tested; failure in getchangelist(). +Solution: Add tests. (closes #6813, closes #6815, closes #6817) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1570 +Problem: Configure check for dirfd() does not work on HPUX. (Michael Osipov) +Solution: Use AC_TRY_LINK instead of AC_TRY_COMPILE. (closes #6838) +Files: src/configure.ac, src/auto/configure, src/fileio.c, src/globals.h + +Patch 8.2.1571 +Problem: Vim9: count() third argument cannot be "true". +Solution: Use tv_get_bool_chk(). (closes #6818) +Files: src/typval.c, src/list.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1572 +Problem: Vim9: expand() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6819) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1573 +Problem: Vim9: getreg() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6820) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1574 +Problem: Vim9: glob() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6821) +Files: src/filepath.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1575 +Problem: Vim9: globpath() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6821) +Files: src/filepath.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1576 +Problem: Vim9: index() does not take "true" as argument. +Solution: Use tv_get_bool_chk(). (closes #6823) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1577 +Problem: Vim9: hasmapto(), mapcheck() and maparg() do not take "true" as + argument. +Solution: Use tv_get_bool(). (closes #6822, closes #6824) +Files: src/evalfunc.c, src/map.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1578 +Problem: Vim9: popup_clear() does not take "true" as argument. +Solution: Use tv_get_bool(). (closes #6826) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1579 +Problem: Reports from asan are not optimal. +Solution: Use clang with ubsan. (James McCoy, closes #6811) +Files: .travis.yml + +Patch 8.2.1580 +Problem: Wildmenu does not work properly. +Solution: Do not call may_do_incsearch_highlighting() if completion is in + progress. +Files: src/ex_getln.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_1.dump, + src/testdir/dumps/Test_wildmenu_2.dump, + src/testdir/dumps/Test_wildmenu_3.dump, + src/testdir/dumps/Test_wildmenu_4.dump + +Patch 8.2.1581 +Problem: Using line() for global popup window doesn't work. +Solution: Set tabpage to "curtab". (closes #6847) +Files: src/evalwindow.c, src/testdir/test_popupwin.vim + +Patch 8.2.1582 +Problem: The channel log does not show typed text. +Solution: Add raw typed text to the log file. +Files: src/ui.c, src/os_win32.c + +Patch 8.2.1583 +Problem: MS-Windows: cannot easily measure code coverage. +Solution: Add the COVERAGE option. (Ken Takata, closes #6842) +Files: src/Make_cyg_ming.mak + +Patch 8.2.1584 +Problem: Vim9: cannot use "true" for "skipstart" in prop_find(). +Solution: Use dict_get_bool() instead of tv_get_number(). (closes #6852) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1585 +Problem: Messages in errors.h not translated, xgettext on MS-Windows not + fully supported. +Solution: Add errors.h to list of input files. Update MS-Windows makefiles + to improve message translations. (Ken Takata, closes #6858) +Files: src/po/Make_cyg.mak, src/po/Make_ming.mak, src/po/Make_mvc.mak, + src/po/Makefile, src/po/README.txt, src/po/fixfilenames.vim + +Patch 8.2.1586 +Problem: :resize command not fully tested. +Solution: Add a couple of tests. (Dominique Pellé, closes #6857) +Files: src/testdir/test_window_cmd.vim + +Patch 8.2.1587 +Problem: Loop for handling keys for the command line is too long. +Solution: Move wild menu handling to separate functions. (Yegappan + Lakshmanan, closes #6856) +Files: src/cmdexpand.c, src/proto/cmdexpand.pro, src/ex_getln.c + +Patch 8.2.1588 +Problem: Cannot read back the prompt of a prompt buffer. +Solution: Add prompt_getprompt(). (Ben Jackson, closes #6851) +Files: runtime/doc/channel.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, src/channel.c, src/edit.c, src/evalfunc.c, + src/proto/channel.pro, src/proto/edit.pro, + src/testdir/test_prompt_buffer.vim + +Patch 8.2.1589 +Problem: Term_start() options for size are overruled by 'termwinsize'. + (Sergey Vlasov) +Solution: Set 'termwinsize' to the specified size. +Files: src/terminal.c, src/testdir/test_terminal2.vim, + src/testdir/term_util.vim + +Patch 8.2.1590 +Problem: Vim9: bufnr() doesn't take "true" argument. +Solution: use tv_get_bool_chk(). (closes #6863) +Files: src/evalbuffer.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1591 +Problem: Using winheight('.') in tests works but is wrong. +Solution: Use winheight(0). (issue #6863) +Files: src/testdir/test_functions.vim, src/testdir/test_quickfix.vim + +Patch 8.2.1592 +Problem: Vim9: passing "true" to char2nr() fails. +Solution: Use tv_get_bool_chk(). (closes #6865) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1593 +Problem: Tests do not check the error number properly. +Solution: Add a colon after the error number. (closes #6869) +Files: src/testdir/test_assert.vim, src/testdir/test_autocmd.vim, + src/testdir/test_backspace_opt.vim, src/testdir/test_channel.vim, + src/testdir/test_clientserver.vim, src/testdir/test_cmdline.vim, + src/testdir/test_const.vim, src/testdir/test_cscope.vim, + src/testdir/test_eval_stuff.vim, src/testdir/test_functions.vim, + src/testdir/test_global.vim, src/testdir/test_gui.vim, + src/testdir/test_hlsearch.vim, src/testdir/test_lambda.vim, + src/testdir/test_let.vim, src/testdir/test_listdict.vim, + src/testdir/test_move.vim, src/testdir/test_normal.vim, + src/testdir/test_popupwin.vim, src/testdir/test_put.vim, + src/testdir/test_quickfix.vim, src/testdir/test_rename.vim, + src/testdir/test_search.vim, src/testdir/test_signs.vim, + src/testdir/test_substitute.vim, src/testdir/test_syntax.vim, + src/testdir/test_tagfunc.vim, src/testdir/test_tagjump.vim, + src/testdir/test_taglist.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal2.vim, src/testdir/test_textprop.vim, + src/testdir/test_timers.vim, src/testdir/test_true_false.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_vimscript.vim, + src/testdir/test_winbar.vim, src/testdir/test_winbuf_close.vim, + src/testdir/test_window_cmd.vim, src/testdir/test_writefile.vim + +Patch 8.2.1594 +Problem: Pull requests on github do not notify a maintainer. +Solution: Add a CODEOWNERS file with a few initial entries. +Files: Filelist, .github/CODEOWNERS + +Patch 8.2.1595 +Problem: Cannot easily see what Vim sends to the terminal. +Solution: Write output to the channel log if it contains terminal control + sequences. Avoid warnings for tputs() argument. +Files: src/term.c, src/globals.h, src/edit.c, src/normal.c, + src/optionstr.c + +Patch 8.2.1596 +Problem: Using win_screenpos('.') in tests works but is wrong. +Solution: Use win_screenpos(0). +Files: src/testdir/test_terminal3.vim + +Patch 8.2.1597 +Problem: The channel source file is too big. +Solution: Move job related code to a new source file. +Files: Filelist, src/Makefile, src/Make_mvc.mak, src/Make_cyg_ming.mak, + src/channel.c, src/proto/channel.pro, src/job.c, + src/proto/job.pro, src/proto.h, src/edit.c, src/proto/edit.pro, + src/globals.h, src/configure.ac, src/auto/configure + +Patch 8.2.1598 +Problem: Starting a hidden terminal resizes the current window. +Solution: Do not resize the current window for a hidden terminal. + (closes #6872) +Files: src/terminal.c, src/testdir/test_terminal2.vim + +Patch 8.2.1599 +Problem: Missing line end when skipping a long line with :cgetfile. +Solution: Fix off-by-one error. (closes #6870) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1600 +Problem: Vim9: cannot use "true" with deepcopy(). +Solution: Use tv_get_bool_chk(). (closes #6867) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim, + src/testdir/test_listdict.vim + +Patch 8.2.1601 +Problem: Vim9: cannot use "true" with garbagecollect(). +Solution: Use tv_get_bool(). (closes #6871) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1602 +Problem: Vim9: cannot use "true" with getbufinfo(). +Solution: Use dict_get_bool(). (closes #6873) +Files: src/evalbuffer.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1603 +Problem: Vim9: cannot use "true" with getchar(). +Solution: use tv_get_bool_chk(). (closes #6874) +Files: src/getchar.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1604 +Problem: Vim9: cannot use "true" with getcompletion(). +Solution: use tv_get_bool_chk(). (closes #6875) +Files: src/cmdexpand.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1605 +Problem: Default maintainer on github is wrong. +Solution: Use Bram's account. +Files: .github/CODEOWNERS + +Patch 8.2.1606 +Problem: Vim9: cannot use "true" with has(). +Solution: Use tv_get_bool(). (closes #6876) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1607 +Problem: Vim9: getchar() test fails on MS-Windows. +Solution: First consume any available input. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1608 +Problem: Vim9: getchar() test fails with GUI. +Solution: Avoid that getchar(0) gets stuck on K_IGNORE. +Files: src/getchar.c + +Patch 8.2.1609 +Problem: Vim9: test fails when build without +channel. +Solution: Add check for +channel. (closes #6879) +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1610 +Problem: Vim9: cannot pass "true" to list2str() and str2list(). +Solution: Use tv_get_bool_chk(). (closes #6877) +Files: src/evalfunc.c, src/list.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1611 +Problem: Vim9: cannot pass "true" to nr2char(). +Solution: use tv_get_bool_chk(). (closes #6878) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1612 +Problem: Vim9: cannot pass "true" to prop_remove(). +Solution: Use dict_get_bool(). (closes #6853) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1613 +Problem: Vim9: cannot pass "true" to prop_type_add(). +Solution: Use tv_get_bool(). (closes #6850) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1614 +Problem: Vim9: cannot pass "true" to searchcount(). +Solution: Use tv_get_bool_chk(). (closes #6854) +Files: src/search.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1615 +Problem: Vim9: cannot pass "true" to searchdecl(). +Solution: use tv_get_bool_chk(). (closes #6881) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1616 +Problem: Vim9: cannot pass "true" to synID(). +Solution: Use tv_get_bool_chk(). (closes #6860) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1617 +Problem: Vim9: cannot pass "true" to win_splitmove(). +Solution: Use dict_get_bool(). (closes #6862) Alphabetize test functions. +Files: src/evalwindow.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1618 +Problem: Vim9: cannot pass "true" to setloclist(). +Solution: Use dict_get_bool(). (closes #6882) +Files: src/quickfix.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1619 +Problem: Vim9: cannot pass "true" to spellsuggest(). +Solution: Use tv_get_bool_chk(). (closes #6883) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1620 +Problem: searchcount() test fails. +Solution: Restore default flag value. +Files: src/search.c + +Patch 8.2.1621 +Problem: Crash when using submatch(0, 1) in substitute(). +Solution: Increment reference count. (closes #6887) +Files: src/regexp.c, src/testdir/test_substitute.vim + +Patch 8.2.1622 +Problem: Loop to handle keys for the command line is too long. +Solution: Move code to functions. (Yegappan Lakshmanan, closes #6880) +Files: src/ex_getln.c + +Patch 8.2.1623 +Problem: Vim9: using :call where it is not needed. +Solution: Remove :call. (closes #6892) +Files: src/testdir/test_maparg.vim, src/testdir/test_textprop.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1624 +Problem: Vim9: cannot pass "true" to split(), str2nr() and strchars(). +Solution: Use tv_get_bool_chk(). (closes #6884, closes #6885, closes #6886) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1625 +Problem: Compiler warning for use of fptr_T. +Solution: Make the type less strict. +Files: src/regexp.c + +Patch 8.2.1626 +Problem: Test for strchars() fails with different error number. +Solution: Adjust the error number. +Files: src/testdir/test_utf8.vim + +Patch 8.2.1627 +Problem: Vim9: cannot pass "true" to submatch(), term_gettty() and + term_start() +Solution: Use tv_get_bool_chk(). (closes #6888, closes #6890, closes #6889) +Files: src/evalfunc.c, src/terminal.c, src/job.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1628 +Problem: Vim9: cannot pass "true" to timer_paused(). +Solution: Use tv_get_bool(). (closes #6891) +Files: src/time.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1629 +Problem: Test fails without terminal feature. +Solution: Check for terminal feature. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1630 +Problem: Terminal test fails. +Solution: Correct argument to term_start(). Correct error number. +Files: src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim + +Patch 8.2.1631 +Problem: test_fails() does not check the context of the line number. +Solution: Use another argument to specify the context of the line number. +Files: runtime/doc/testing.txt, runtime/doc/eval.txt, + src/testdir/test_vim9_func.vim, src/testing.c, src/globals.h, + src/evalfunc.c, src/message.c + +Patch 8.2.1632 +Problem: Not checking the context of test_fails(). +Solution: Add the line number and context arguments. Give error if + assert_fails() argument types are wrong. +Files: src/testing.c, src/errors.h, src/testdir/test_assert.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1633 +Problem: Some error messages are internal but do not use iemsg(). +Solution: Use iemsg(). (Dominique Pellé, closes #6894) +Files: src/regexp.c, src/regexp_bt.c, src/regexp_nfa.c + +Patch 8.2.1634 +Problem: Loop to handle keys for the command line is too long. +Solution: Move a few more parts to separate functions. (Yegappan Lakshmanan, + closes #6895) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.1635 +Problem: No digraph for 0x2022 BULLET. +Solution: Use "oo". (Hans Ginzel, closes #6904) +Files: src/digraph.c, runtime/doc/digraph.txt + +Patch 8.2.1636 +Problem: Get stuck if a popup filter causes an error. +Solution: Check whether the function can be called and does not cause an + error. (closes #6902) +Files: src/structs.h, src/popupwin.c, src/testdir/test_popupwin.vim + src/testdir/dumps/Test_popupwin_wrong_name.dump, + src/testdir/dumps/Test_popupwin_three_errors_1.dump, + src/testdir/dumps/Test_popupwin_three_errors_2.dump + +Patch 8.2.1637 +Problem: Vim9: :put ={expr} does not work inside :def function. +Solution: Add ISN_PUT. (closes #6397) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/register.c, + src/proto/register.pro, src/edit.c, src/ex_docmd.c, src/mouse.c, + src/normal.c, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1638 +Problem: Leaking memory when popup filter function can't be called. +Solution: Don't return too soon. +Files: src/popupwin.c + +Patch 8.2.1639 +Problem: Options window cannot be translated. +Solution: Get the translation for "local to" texts once and use them in many + places. Fix that 'whichwrap' is not a local option. (issue #6800) +Files: runtime/optwin.vim + +Patch 8.2.1640 +Problem: Amiga: missing header for getgrgid(). +Solution: Add the grp.h header. (Ola Söder, closes #6906) +Files: src/os_amiga.h + +Patch 8.2.1641 +Problem: Vim9: cannot use 0 or 1 where a bool is expected. +Solution: Allow using 0 and 1 for a bool type. (closes #6903) +Files: src/vim9compile.c, src/vim9type.c, src/proto/vim9type.pro, + src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1642 +Problem: Options test fails. +Solution: Correct call to OptionG(). +Files: runtime/optwin.vim + +Patch 8.2.1643 +Problem: Vim9: :defcompile compiles dead functions. +Solution: Skip over dead functions. +Files: src/userfunc.c + +Patch 8.2.1644 +Problem: Vim9: cannot assign 1 and 0 to bool at script level. +Solution: Add the TTFLAG_BOOL_OK flag to the type. Fix name of test + function. +Files: src/vim9type.c, src/testdir/test_vim9_script.vim, + src/testdir/vim9.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.1645 +Problem: GTK3: icons become broken images when resized. +Solution: Use gtk_image_new_from_icon_name(). (closes #6916) + Fix compiler warnings. +Files: src/gui_gtk_x11.c + +Patch 8.2.1646 +Problem: Amiga: Unnecessary #include. +Solution: Remove the #include. (Ola Söder, closes #6908) +Files: src/version.c + +Patch 8.2.1647 +Problem: Vim9: result of expression with && and || cannot be assigned to a + bool variable. +Solution: Add the TTFLAG_BOOL_OK flag and convert the value if needed. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1648 +Problem: Amiga: no common build file for Amiga (-like) systems. +Solution: Turn Make_morph.mak into Make_ami.mak. (Ola Söder, closes #6805) +Files: Filelist, src/Make_ami.mak, src/Make_morph.mak, src/INSTALLami.txt + +Patch 8.2.1649 +Problem: GTK3: using old file chooser. +Solution: Use native file chooser on GTK 3.20 and above. (Yogeshwar + Velingker, closes #6909) +Files: src/gui_gtk.c + +Patch 8.2.1650 +Problem: Vim9: result of && and || expression cannot be assigned to a bool + at the script level. +Solution: Add the VAR_BOOL_OK flag. Convert to bool when needed. +Files: src/structs.h, src/vim9type.c, src/proto/vim9type.pro, + src/vim9script.c, src/evalvars.c, src/eval.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1651 +Problem: Spellfile code not completely tested. +Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #6918) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.1652 +Problem: Cannot translate lines in the options window. +Solution: Use the AddOption() function to split descriptions where indicated + by a line break. (issue #6800) +Files: runtime/optwin.vim + +Patch 8.2.1653 +Problem: Expand('<stack>') does not include the final line number. +Solution: Add the line number. (closes #6927) +Files: src/vim.h, src/scriptfile.c, src/proto/scriptfile.pro, + src/debugger.c, src/ex_docmd.c, src/ex_eval.c, src/message.c, + src/testing.c, src/testdir/test_expand_func.vim + +Patch 8.2.1654 +Problem: When job writes to hidden buffer current window has display + errors. (Johnny McArthur) +Solution: Use aucmd_prepbuf() instead of switch_to_win_for_buf(). + (closes #6925) +Files: src/channel.c + +Patch 8.2.1655 +Problem: Cannot build with Strawberry Perl 5.32.0. +Solution: Use Perl_sv_2pvbyte_flags. (closes #6921) +Files: src/if_perl.xs + +Patch 8.2.1656 +Problem: Vim9: callstack wrong if :def function calls :def function. +Solution: Set the line number before calling. (closes #6914) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1657 +Problem: Vim9: no proper error for nested ":def!". +Solution: Check for "!". (closes #6920) +Files: src/errors.h, src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1658 +Problem: Expand('<stack>') has trailing "..". +Solution: Remove the "..". (closes #6927) +Files: src/scriptfile.c, src/testdir/test_expand_func.vim + +Patch 8.2.1659 +Problem: Spellfile code not completely tested. +Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #6929) +Files: src/testdir/test_spell.vim, src/testdir/test_spellfile.vim + +Patch 8.2.1660 +Problem: Assert functions require passing expected result as the first + argument, which isn't obvious. +Solution: Use a method, as in "runtest()->assert_equal(expected)". +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1661 +Problem: Cannot connect to 127.0.0.1 for host with only IPv6 addresses. +Solution: pass AI_V4MAPPED flag to getaddrinfo. (Filipe Brandenburger, + closes #6931) +Files: src/channel.c + +Patch 8.2.1662 +Problem: :mksession does not restore shared terminal buffer properly. +Solution: Keep a hashtab with terminal buffers. (Rob Pilling, closes #6930) +Files: src/hashtab.c, src/proto/terminal.pro, src/session.c, + src/terminal.c, src/testdir/test_mksession.vim + +Patch 8.2.1663 +Problem: Options window entries cannot be translated. +Solution: Use AddOption() for all explanations. (closes #6800) +Files: runtime/optwin.vim + +Patch 8.2.1664 +Problem: Memory leak when using :mkview with a terminal buffer. +Solution: Don't use a hastab for :mkview. (Rob Pilling, closes #6935) +Files: src/session.c, src/terminal.c, src/testdir/test_mksession.vim + +Patch 8.2.1665 +Problem: Cannot do fuzzy string matching. +Solution: Add matchfuzzy(). (Yegappan Lakshmanan, closes #6932) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/proto/search.pro, src/search.c, src/testdir/test_functions.vim + +Patch 8.2.1666 +Problem: The initial value of 'backupskip' can have duplicate items. +Solution: Remove duplicates, like when it is set later. (Tom Ryder, + closes #6940) +Files: src/option.c, src/testdir/test_options.vim + +Patch 8.2.1667 +Problem: Local function name cannot shadow a global function name. +Solution: Ignore global functions when checking a script-local or scoped + function name. (closes #6926) +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.1668 +Problem: Vim9: not accepting 0 or 1 as bool when type is any. +Solution: Convert the type with the CHECKTYPE instruction. (closes #6913) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1669 +Problem: Vim9: memory leak when storing a value fails. +Solution: Free the value when not storing it. +Files: src/evalvars.c + +Patch 8.2.1670 +Problem: A couple of gcc compiler warnings. +Solution: Initialize local variables. (Dominique Pellé, closes #6944) +Files: src/memline.c, src/option.c + +Patch 8.2.1671 +Problem: Vim9: stray error for missing white space. +Solution: Do not skip over white space after member. (closes #6917) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1672 +Problem: v_lock is used when it is not initialized. (Yegappan Lakshmanan) +Solution: Initialize the typval in eval1(). +Files: src/eval.c + +Patch 8.2.1673 +Problem: complete_info() selected index has an invalid value. (Ben Jackson) +Solution: Set the index when there is only one match. (closes #6945) + Add test for complete_info(). +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.1674 +Problem: Vim9: internal error when using variable that was not set. +Solution: Give a meaningful error. (closes #6937) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1675 +Problem: MinGW: testdir makefile deletes non-existing file. +Solution: Use another way to delete the output file if it already exists. + (Michael Soyka) +Files: src/testdir/Make_ming.mak + +Patch 8.2.1676 +Problem: Compiler warnings for function typecast. +Solution: Add an intermediate cast to "void *". +Files: src/os_unix.c + +Patch 8.2.1677 +Problem: Memory access errors when calling setloclist() in an autocommand. +Solution: Give an error if the list was changed unexpectedly. (closes #6946) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1678 +Problem: Crash when using ":set" after ":ownsyntax". (Dhiraj Mishra) +Solution: Make sure 'spelloptions' is not NULL. (closes #6950) +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.2.1679 +Problem: Vim9: ":*" is not recognized as a range. +Solution: Move recognizing "*" into skip_range(). (closes #6938) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/cmdexpand.c, + src/ex_getln.c, src/userfunc.c, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.1680 +Problem: Vim9: line number for compare error is wrong. +Solution: Set SOURCING_LNUM. (closes #6936) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1681 +Problem: Vim9: unnecessary :call commands in tests. +Solution: Remove the commands. (issue #6936) +Files: src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1682 +Problem: Vim9: const works in an unexpected way. +Solution: ":const" only disallows changing the variable, not the value. + Make "list[0] = 9" work at the script level. +Files: src/vim9compile.c, src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1683 +Problem: Vim9: assignment test fails. +Solution: Include changes to find Ex command. +Files: src/ex_docmd.c + +Patch 8.2.1684 +Problem: "gF" does not use line number after file in Visual mode. +Solution: Look for ":123" after the Visual area. (closes #6952) +Files: src/findfile.c, src/testdir/test_gf.vim + +Patch 8.2.1685 +Problem: Vim9: cannot declare a constant value. +Solution: Introduce ":const!". +Files: runtime/doc/vim9.txt, src/ex_cmds.h, src/vim9compile.c, + src/vim9.h, src/vim9execute.c, src/evalvars.c, + src/proto/evalvars.pro, src/errors.h, src/vim.h, src/eval.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1686 +Problem: Vim9: "const!" not sufficiently tested. +Solution: Add a few more test cases. Fix type checking. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1687 +Problem: Vim9: out of bounds error. +Solution: Check that cmdidx is not negative. +Files: src/vim9compile.c + +Patch 8.2.1688 +Problem: Increment/decrement removes text property. +Solution: Insert the new number before deleting the old one. (closes #6962) +Files: src/ops.c, src/testdir/test_textprop.vim + +Patch 8.2.1689 +Problem: 'colorcolumn' doesn't show in indent. +Solution: Also draw the column when draw_state is WL_BRI or WL_SBR. + (Alexey Demin, closes #6948, closes #6619) +Files: src/drawline.c, src/testdir/dumps/Test_colorcolumn_2.dump, + src/testdir/dumps/Test_colorcolumn_3.dump, + src/testdir/test_highlight.vim + +Patch 8.2.1690 +Problem: Text properties not adjusted for "I" in Visual block mode. +Solution: Call inserted_bytes(). (closes #6961) +Files: src/ops.c, src/change.c, src/proto/change.pro, + src/testdir/test_textprop.vim + +Patch 8.2.1691 +Problem: Vim9: list<any> is not accepted where list<number> is expected. +Solution: Add functions to allocate and free a type_T, use it in + ISN_CHECKTYPE. (closes #6959) +Files: src/vim9.h, src/globals.h, src/vim9compile.c, src/vim9execute.c, + src/vim9type.c, src/proto/vim9type.pro, src/errors.h, + src/evalfunc.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1692 +Problem: Build fails because TTFLAG_STATIC is missing. +Solution: Include missing change. +Files: src/structs.h + +Patch 8.2.1693 +Problem: "hi def" does not work for cleared highlight. +Solution: Check the "sg_cleared" flag. (Maxim Kim, closes #6956, + closes #4405) +Files: src/highlight.c, src/testdir/test_highlight.vim + +Patch 8.2.1694 +Problem: Compiler warning for loss if data. +Solution: Add typecast. +Files: src/ops.c + +Patch 8.2.1695 +Problem: Vim9: crash when using varargs type "any". +Solution: Check if uf_va_type is &t_any. (closes #6957) +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.1696 +Problem: Unused (duplicate) macros. +Solution: Remove the macros. +Files: src/spell.c + +Patch 8.2.1697 +Problem: Inconsistent capitalization of error messages. +Solution: Always start with a capital. +Files: src/errors.h, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim, + src/testdir/test_assert.vim + +Patch 8.2.1698 +Problem: Cannot lock a variable in legacy Vim script like in Vim9. +Solution: Make ":lockvar 0" work. +Files: runtime/doc/eval.txt, src/evalvars.c, src/proto/evalvars.pro, + src/dict.c, src/eval.c, src/list.c, src/typval.c, src/userfunc.c, + src/testdir/test_const.vim, src/testdir/test_listdict.vim + +Patch 8.2.1699 +Problem: Build failure due to missing error message. +Solution: Add error message. +Files: src/errors.h + +Patch 8.2.1700 +Problem: Vim9: try/catch causes wrong value to be returned. +Solution: Reset tcd_return. (closes #6964) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1701 +Problem: Vim9: sort("i") does not work. +Solution: Don't try getting a number for a string argument. (closes #6958) +Files: src/list.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1702 +Problem: Crash when using undo after deleting folded lines. +Solution: Check for NULL pointer. (closes #6968) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.1703 +Problem: ":highlight clear" does not restore default link. +Solution: Remember the default link and restore it. (Antony Scriven, + closes #6970, closes #4405) +Files: runtime/doc/syntax.txt, src/highlight.c, + src/testdir/test_highlight.vim + +Patch 8.2.1704 +Problem: Vim9: crash in for loop when autoload script has an error. +Solution: Reset suppress_errthrow. Check for NULL list. (closes #6967) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1705 +Problem: "verbose hi Name" reports incorrect info after ":hi clear". +Solution: Store the script context. (Antony Scriven, closes #6975) +Files: src/highlight.c, src/testdir/test_highlight.vim + +Patch 8.2.1706 +Problem: Vim9: crash after running into the "Multiple closures" error. +Solution: When a function fails still update any closures. (closes #6973) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1707 +Problem: Small inconsistency in highlight test. +Solution: Use one argument for :execute. (Antony Scriven, #6975) +Files: src/testdir/test_highlight.vim + +Patch 8.2.1708 +Problem: Vim9: error message for function has unprintable characters. +Solution: use printable_func_name(). (closes #6965) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1709 +Problem: Vim9: memory leak when using multiple closures. +Solution: Free the partial. +Files: src/vim9execute.c + +Patch 8.2.1710 +Problem: Vim9: list of list type can be wrong. +Solution: Use VAR_UNKNOWN for empty list. Recognize VAR_UNKNOWN when + looking for a common type. (closes #6979) +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1711 +Problem: Vim9: leaking memory when using partial. +Solution: Do delete the function even when it was compiled. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/vim9execute.c + +Patch 8.2.1712 +Problem: Vim9: leaking memory when calling a lambda. +Solution: Decrement function reference from ISN_DCALL. +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro + +Patch 8.2.1713 +Problem: Motif GUI: crash when setting menu colors. (Andrzej Bylicki) +Solution: Add {} to make "n" incremented correctly. (closes #6989, + closes #5948) +Files: src/gui_motif.c + +Patch 8.2.1714 +Problem: Text properties corrupted with substitute command. (Filipe + Brandenburger) +Solution: Get the changed line again after using u_savesub(). (closes #6984) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.1715 +Problem: Motif GUI: commented out code missed {}. +Solution: Add {} and reenable the code. (similar to #6989) +Files: src/gui_motif.c + +Patch 8.2.1716 +Problem: Options window has duplicate translations. +Solution: Make one entry for "global or local to buffer". Fix wrong text. + (closes #6983) +Files: runtime/optwin.vim + +Patch 8.2.1717 +Problem: MS-Windows installer doesn't have Russian translations. +Solution: Add Russian translations. (closes #6985) +Files: nsis/gvim.nsi, nsis/lang/russian.nsi + +Patch 8.2.1718 +Problem: Vim9: :def function disallows "firstline" and "lastline" argument + names for no good reason. +Solution: Don't check the arguments for a :def function. (closes #6986) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1719 +Problem: Vim9: no error if comma is missing in between arguments. +Solution: Give an error message. +Files: src/errors.h, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1720 +Problem: Vim9: memory leak with heredoc that isn't executed. (Dominique + Pellé) +Solution: Don't clear the list items. (closes #6991) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1721 +Problem: MS-Windows installer doesn't work. +Solution: Write "Russian" in ASCII. (closes #6995, see #6985). +Files: nsis/lang/russian.nsi + +Patch 8.2.1722 +Problem: Vim9: cannot assign a lambda to a variable of type function. +Solution: Allow for assigning a partial to a variable of type function. + (Naruhiko Nishino, closes #6996) +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1723 +Problem: Vim9: Variable argument name cannot start with underscore. +Solution: Use eval_isnamec1(). (closes #6988) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1724 +Problem: Vim9: assignment tests spread out. +Solution: Create new test file for assignment tests. +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_vim9_expr.vim, + src/testdir/Make_all.mak + +Patch 8.2.1725 +Problem: Not all Pascal files are recognized. +Solution: Add filetype patterns. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1726 +Problem: Fuzzy matching only works on strings. +Solution: Support passing a dict. Add matchfuzzypos() to also get the match + positions. (Yegappan Lakshmanan, closes #6947) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/proto/search.pro, src/search.c, src/testdir/Make_all.mak, + src/testdir/test_functions.vim, src/testdir/test_matchfuzzy.vim + +Patch 8.2.1727 +Problem: A popup created with "cursorline" will ignore "firstline". +Solution: When both "cursorline" and "firstline" are present put the cursor + on "firstline". (closes #7000) Add the "winid" argument to + getcurpos(). +Files: runtime/doc/eval.txt, src/evalfunc.c, src/popupwin.c, + src/evalwindow.c, src/testdir/test_popupwin.vim, + src/testdir/test_functions.vim + +Patch 8.2.1728 +Problem: Compiler warning for using uninitialized variable. (John Marriott) +Solution: Initialize "neighbor". +Files: src/search.c + +Patch 8.2.1729 +Problem: Endless loop when ":normal" feeds popup window filter. +Solution: Add the ex_normal_busy_done flag. +Files: src/globals.h, src/getchar.c, src/evalfunc.c, src/ex_docmd.c, + src/menu.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_normal_cmd.dump + +Patch 8.2.1730 +Problem: Vim9: cannot use member of unknown type. +Solution: When type is unknown use "any". (closes #6997) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1731 +Problem: Vim9: cannot use += to append to empty NULL list. +Solution: Copy the list instead of extending it. (closes #6998) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1732 +Problem: Stuck when win_execute() for a popup causes an error. +Solution: Disable the filter callback on error. (issue #6999) +Files: src/popupwin.c, src/testdir/term_util.vim, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_win_execute.dump + +Patch 8.2.1733 +Problem: Vim9: memory leaks when using nested function. +Solution: Free function when compilation fails. +Files: src/vim9compile.c + +Patch 8.2.1734 +Problem: Vim9: cannot use a funcref for a closure twice. +Solution: Instead of putting the funcref on the stack use a growarray on the + execution context. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1735 +Problem: Github actions appear to timeout too soon. +Solution: use "timeout" instead of "ping". +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1736 +Problem: Failure to compile a pattern not tested much. +Solution: Add tests where a pattern fails to compile. (Yegappan Lakshmanan, + closes #7004) +Files: src/testdir/gen_opt_test.vim, src/testdir/test_arglist.vim, + src/testdir/test_autocmd.vim, src/testdir/test_buffer.vim, + src/testdir/test_checkpath.vim, src/testdir/test_cmdline.vim, + src/testdir/test_debugger.vim, src/testdir/test_functions.vim, + src/testdir/test_history.vim, src/testdir/test_listdict.vim, + src/testdir/test_options.vim, src/testdir/test_search_stat.vim, + src/testdir/test_sort.vim, src/testdir/test_substitute.vim, + src/testdir/test_syntax.vim, src/testdir/test_tagjump.vim, + src/testdir/test_user_func.vim + +Patch 8.2.1737 +Problem: Cursor line highlight in popup window is not always updated. +Solution: Check if the cursor has moved. (closes #7010) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + src/testdir/dumps/Test_popupwin_win_execute_cursorline.dump + +Patch 8.2.1738 +Problem: Mac: str2float() recognizes comma instead of decimal point. +Solution: Set LC_NUMERIC to "C". (closes #7003) +Files: src/os_mac_conv.c + +Patch 8.2.1739 +Problem: Vim9: crash when compiling a manually defined function. (Antony + Scriven) +Solution: Check that the script ID is positive. (closes #7012) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1740 +Problem: Test fails without the terminal feature. +Solution: Skip test if the terminal feature is not available. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1741 +Problem: pathshorten() only supports using one character. +Solution: Add an argument to control the length. (closes #7006) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/filepath.c, + src/proto/filepath.pro, src/testdir/test_functions.vim + +Patch 8.2.1742 +Problem: Test still fails without the terminal feature. +Solution: Put check for terminal feature in separate function. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.1743 +Problem: Cannot build without the eval feature. +Solution: Move shorten_dir outside of #ifdef. +Files: src/filepath.c + +Patch 8.2.1744 +Problem: Vim9: using ":const!" is weird. +Solution: Use "var" - "final" - "const" like Dart. "let" still works for + now. +Files: runtime/doc/vim9.txt, src/ex_cmds.h, src/errors.h, src/evalvars.c, + src/proto/evalvars.pro, src/cmdexpand.c, src/eval.c, + src/ex_docmd.c, src/vim9compile.c, src/vim9execute.c, + src/vim9script.c, src/vim.h, src/ex_cmdidxs.h, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1745 +Problem: Tiny version doesn't build. +Solution: Add dummy ex_var() function. +Files: src/ex_docmd.c + +Patch 8.2.1746 +Problem: Vim9: Cannot use "fina" for "finally". (Naruhiko Nishino) +Solution: Specifically check for "fina". (closes #7020) +Files: src/ex_docmd.c, src/testdir/test_trycatch.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1747 +Problem: Result of expand() unexpectedly depends on 'completeslash'. +Solution: Temporarily reset 'completeslash'. (Yasuhiro Matsumoto, + closes #7021) +Files: src/evalfunc.c, src/testdir/test_ins_complete.vim + +Patch 8.2.1748 +Problem: Closing split window in other tab may cause a crash. +Solution: Set tp_curwin properly. (Rob Pilling, closes #7018) +Files: src/window.c, src/testdir/test_winbuf_close.vim + +Patch 8.2.1749 +Problem: Vim9: crash when closure fails in nested function. +Solution: Handle function returns before dereferencing remaining closures. + (closes #7008) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1750 +Problem: Setting firstline with popup_setoptions() fails if cursorline is + set. +Solution: Use apply_options(). Update the popup before applying "zz". + (closes #7010) +Files: src/popupwin.c, src/proto/popupwin.pro, src/move.c, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_win_execute_cursorline.dump, + src/testdir/dumps/Test_popupwin_set_firstline_1.dump, + src/testdir/dumps/Test_popupwin_set_firstline_2.dump + +Patch 8.2.1751 +Problem: Using 2 where bool is expected may throw an error. +Solution: Make this backwards compatible. +Files: src/typval.c, src/evalfunc.c, src/testdir/test_search.vim, + src/testdir/test_terminal2.vim + +Patch 8.2.1752 +Problem: GTK GUI: cannot map alt-? with <A-?>. (Ingo Karkat) +Solution: Adjust the characters for which the shift modifier is removed. + (closes #7016) Make Motif and Win32 use the same function as GTK. +Files: src/misc2.c, src/gui_x11.c, src/gui_w32.c, + src/testdir/test_termcodes.vim + +Patch 8.2.1753 +Problem: Vim9: crash when using import at script level. +Solution: Give a "not implemented yet" error. (closes #7026) +Files: src/evalvars.c + +Patch 8.2.1754 +Problem: Completion with spell checking not tested. +Solution: Add a test case. (Dominique Pellé, closes #7024) +Files: src/testdir/test_spell.vim + +Patch 8.2.1755 +Problem: Vim9: crash when using invalid heredoc marker. (Dhiraj Mishra) +Solution: Check for NULL list. (closes #7027) Fix comment character. +Files: src/vim9compile.c, src/evalvars.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.1756 +Problem: Vim9: :let will soon be disallowed. +Solution: Add v:disallow_let temporarily. Fix tests. +Files: src/vim.h, src/errors.h, src/evalvars.c, src/vim9compile.c, + src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1757 +Problem: Mac: default locale is lacking the encoding. +Solution: Add ".UTF-8 to the locale. (Yee Cheng Chin, closes #7022) +Files: src/os_mac_conv.c, src/testdir/test_environ.vim + +Patch 8.2.1758 +Problem: Vim9: type of unmaterialized list is wrong. +Solution: Use list<number>. +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1759 +Problem: Vim9: Some tests are still using :let. +Solution: Change more declarations to use :var. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1760 +Problem: Vim9: crash when end marker is missing. (Dhiraj Mishra) +Solution: Check for end of function lines. (closes #7031) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1761 +Problem: Vim9: Some tests are still using :let. +Solution: Change more declarations to use :var. +Files: src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1762 +Problem: When a timer uses :stopinsert Insert mode completion isn't + stopped. (Stanley Chan) +Solution: Call ins_compl_prep(ESC). +Files: src/edit.c, src/testdir/test_ins_complete.vim, + src/testdir/dumps/Test_pum_stopped_by_timer.dump + +Patch 8.2.1763 +Problem: Vim9: cannot use "true" for popup window scrollbar option. +Solution: use dict_get_bool(). (closes #7029) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1764 +Problem: Vim9: no error when assigning to script var with wrong type. +Solution: Fix off-by-one error. (closes #7028) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1765 +Problem: Vim9: some tests use "var var". +Solution: Use "var name". (closes #7032) +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.1766 +Problem: Vim9: Some tests are still using :let. +Solution: Change the last few declarations to use :var. +Files: src/testdir/runtest.vim, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_maparg.vim, + src/testdir/test_popupwin.vim, src/testdir/test_textprop.vim + +Patch 8.2.1767 +Problem: Vim9: test fails with python support. +Solution: Use "let" in legacy function. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1768 +Problem: Cannot use the help menu from a terminal window. +Solution: Add ":tlnoremenu" commands. (Yee Cheng Chin, closes #7023) +Files: runtime/menu.vim, src/testdir/test_gui.vim + +Patch 8.2.1769 +Problem: A popup filter interferes with using :normal to move the cursor in + a popup. +Solution: Do not invoke the filter when ex_normal_busy is set. +Files: runtime/doc/popup.txt, src/getchar.c, src/evalfunc.c, + src/ex_docmd.c, src/menu.c, src/globals.h, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_normal_cmd.dump + +Patch 8.2.1770 +Problem: Invalid memory use when using SpellFileMissing autocmd. +Solution: Add test case. (Dominique Pellé, closes #7036) Fix using a window + that was closed. +Files: src/spell.c, src/testdir/test_spell.vim + +Patch 8.2.1771 +Problem: synIDattr() cannot get the value of ctermul. +Solution: Add the "ul" value for "what". (closes #7037) +Files: runtime/doc/eval.txt, src/highlight.c, src/evalfunc.c, + src/testdir/test_highlight.vim + +Patch 8.2.1772 +Problem: Cannot use CTRL-W <Down> to move out of a terminal window. +Solution: Use special_to_buf() instead of mb_char2bytes(). (closes #7045) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.1773 +Problem: Crash when calling mapset() with a list as first argument. +Solution: Check for NULL. (closes #7040) +Files: src/map.c, src/testdir/test_maparg.vim + +Patch 8.2.1774 +Problem: GTK: hang when forced to exit. +Solution: Do not clean up "mainwin" when really_exiting is set. + (Zdenek Dohnal, closes #7042) +Files: src/gui_gtk_x11.c + +Patch 8.2.1775 +Problem: MS-Windows: adding a long quickfix list is slow. +Solution: Shorten the buffer name only for the first entry. (Yegappan + Lakshmanan, closes #7039, closes #7033) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1776 +Problem: Filetype.vim may be loaded twice. +Solution: Do "syntax on" after "filetype on". (Adam Stankiewicz, + closes #7049) +Files: runtime/defaults.vim + +Patch 8.2.1777 +Problem: Vim9: some assignment tests in the wrong file. +Solution: Move assignment tests to test_vim9_assign. +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1778 +Problem: Vim9: returning from a partial call clears outer context, causing + a crash. +Solution: Put the outer context in the stack frame. (closes #7044) +Files: src/vim9execute.c, src/vim9.h, src/testdir/test_vim9_func.vim + +Patch 8.2.1779 +Problem: Some debian changelog files are not recognized. +Solution: Add */debian/changelog. (Jason Franklin) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1780 +Problem: Statusline not updated when splitting windows. +Solution: Call status_redraw_all(). (Jason Franklin, closes #5496) +Files: src/window.c, src/testdir/test_statusline.vim + +Patch 8.2.1781 +Problem: Writing to prompt buffer interferes with insert mode. +Solution: Use win_enter() instead of just setting "curwin". (Ben Jackson, + closes #7035) +Files: src/autocmd.c, src/testdir/test_prompt_buffer.vim + +Patch 8.2.1782 +Problem: Vim9: cannot pass boolean to mapset(). +Solution: Use get_tv_bool(). (closes #7041) +Files: src/map.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1783 (after 8.2.1781) +Problem: Try-catch test fails. +Solution: Don't call win_enter(), only call entering_window(). +Files: src/autocmd.c, src/window.c, src/proto/window.pro, + src/testdir/runtest.vim + +Patch 8.2.1784 +Problem: commits are not scanned for security problems +Solution: Enable Github code scanning. (Christian Brabandt, closes #7057) +Files: .github/workflows/codeql-analysis.yml + +Patch 8.2.1785 +Problem: Compiler warning for strcpy() out of bounds. (Christian Brabandt) +Solution: use memmove() instead. +Files: src/dict.c + +Patch 8.2.1786 +Problem: Various Normal mode commands not fully tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #7059) +Files: src/testdir/test_normal.vim, src/testdir/test_regexp_utf8.vim, + src/testdir/test_registers.vim, src/testdir/test_spellfile.vim, + src/testdir/test_tagjump.vim, src/testdir/test_visual.vim + +Patch 8.2.1787 +Problem: Crash with 'incsearch' and very long line. +Solution: Check whether regprog becomes NULL. (closes #7063) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.2.1788 +Problem: Vim9: still allows :let for declarations. +Solution: Make the default for v:disallow_let one. It can still be set to + zero to allow for using :let. +Files: src/evalvars.c, src/testdir/runtest.vim + +Patch 8.2.1789 +Problem: Vim9: crash with invalid list constant. (Dhiraj Mishra) +Solution: Return FAIL when compiling the list fails. (closes #7066) +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.1790 +Problem: MS-Windows with Python: crash when executed from Vifm. +Solution: Use NUL instead of CONIN. (Ken Takata, closes #7061, closes #7053) +Files: src/if_python3.c + +Patch 8.2.1791 +Problem: Vim9: debugger test fails. +Solution: Use "var" instead of "let". +Files: src/testdir/test_debugger.vim + +Patch 8.2.1792 +Problem: Configure does not recognize Racket 6.1+. +Solution: Add a check for "rktio". (closes #7062) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.1793 +Problem: Not consistently giving the "is a directory" warning. +Solution: Adjust check for illegal file name and directory. (Yasuhiro + Matsumoto, closes #7067) +Files: src/fileio.c, src/testdir/test_edit.vim + +Patch 8.2.1794 +Problem: No falsy Coalescing operator. +Solution: Add the "??" operator. Fix mistake with function argument count. +Files: runtime/doc/eval.txt, src/eval.c, src/vim9compile.c, + src/vim9type.c, src/testdir/test_expr.vim, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1795 +Problem: Vim9: operators && and || have a confusing result. +Solution: Make the result a boolean. +Files: runtime/doc/vim9.txt, src/eval.c, src/vim9compile.c, + src/vim9execute.c, src/vim9type.c, src/structs.h, src/vim9.h, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1796 +Problem: Vim9: invalid memory access with weird function name. (Dhiraj + Mishra) +Solution: Check the name is valid. Add a test. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1797 +Problem: Vim9: some parts of the code not tested. +Solution: Add a few tests. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1798 +Problem: Vim9: ternary operator condition is too permissive. +Solution: Use tv_get_bool_chk(). +Files: runtime/doc/vim9.txt, src/eval.c, src/vim9compile.c, + src/vim9execute.c, src/testdir/vim9.vim, + src/testdir/test_expr.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.1799 +Problem: Some Normal mode commands not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #7073) +Files: src/testdir/test_gf.vim, src/testdir/test_goto.vim, + src/testdir/test_normal.vim, src/testdir/test_registers.vim, + src/testdir/test_startup.vim, src/testdir/test_tabpage.vim, + src/testdir/test_visual.vim + +Patch 8.2.1800 +Problem: Vim9: memory leak if "if" condition is invalid. +Solution: Free ppconst earlier. +Files: src/vim9compile.c + +Patch 8.2.1801 +Problem: Undo file not found when using ":args" or ":next". +Solution: Handle like editing another file. (closes #7072) +Files: src/ex_cmds.c, src/testdir/test_undo.vim + +Patch 8.2.1802 +Problem: Vim9: crash with unterminated dict. (Dhiraj Mishra) +Solution: Return empty string instead of NULL. (closes #7084) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1803 +Problem: A few failures are not tested. +Solution: Test a few failures. (Dominique Pellé, closes #7075) +Files: src/testdir/test_arglist.vim, src/testdir/test_cmdline.vim, + src/testdir/test_json.vim, src/testdir/test_listdict.vim + +Patch 8.2.1804 +Problem: resolve('/') returns an empty string. +Solution: Don't remove single slash. (closes #7074) +Files: src/filepath.c, src/testdir/test_functions.vim + +Patch 8.2.1805 +Problem: Unix: terminal mode changed when using ":shell". +Solution: Avoid calling settmode() when not needed. (issue #7079) +Files: src/os_unix.c + +Patch 8.2.1806 +Problem: MS-Windows with Python: Vim freezes after import command. +Solution: Use either "NUL" or "CONIN$" when reopening stdin. (Yasuhiro + Matsumoto, closes #7083) +Files: src/if_python3.c + +Patch 8.2.1807 +Problem: Can use :help in a terminal popup window. +Solution: Give an error. (closes #7088) +Files: src/help.c, src/testdir/test_popupwin.vim + +Patch 8.2.1808 +Problem: No test coverage for ":spelldump!". +Solution: Add a test. (Dominique Pellé, closes #7089) +Files: src/testdir/test_spell.vim + +Patch 8.2.1809 +Problem: Mapping some keys with Ctrl does not work properly. +Solution: For terminal, GTK and Motif handle "@", "^" and "_" codes. +Files: src/misc2.c, src/proto/misc2.pro, src/term.c, src/gui_gtk_x11.c, + src/gui_x11.c, src/testdir/test_termcodes.vim + +Patch 8.2.1810 +Problem: Some code in normal.c not covered by tests. +Solution: Add normal mode tests. (Yegappan Lakshmanan, closes #7086) +Files: src/testdir/test_charsearch.vim, src/testdir/test_normal.vim + +Patch 8.2.1811 +Problem: Mapping Ctrl-key does not work for '{', '}' and '|'. +Solution: Remove the shift modifier. (closes #6457) +Files: runtime/doc/map.txt, src/misc2.c, src/testdir/test_termcodes.vim + +Patch 8.2.1812 +Problem: Vim9: nested closure throws an internal error. +Solution: Do not skip a local variable with a partial. (closes #7065) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1813 +Problem: Vim9: can assign wrong type to script dict. (Christian J. Robinson) +Solution: Check the type if known. +Files: src/structs.h, src/eval.c, src/vim9script.c, + src/proto/vim9script.pro, src/proto/evalvars.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.1814 (after 8.2.1813) +Problem: Missing change to remove "static". +Solution: Add the change. +Files: src/evalvars.c + +Patch 8.2.1815 +Problem: Vim9: memory leak when using function reference. +Solution: Temporarily disable the test. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1816 +Problem: Vim9: another memory leak when using function reference. +Solution: Temporarily disable the tests. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1817 +Problem: Vim9: wrong instruction when reusing a local variable spot. +Solution: Clear a newly allocated local variable. (closes #7080) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1818 +Problem: SE Linux: deprecation warning for security_context_t. +Solution: Use "char *" instead. (James McCoy, closes #7093) +Files: src/os_unix.c + +Patch 8.2.1819 +Problem: Vim9: Memory leak when using a closure. +Solution: Compute the minimal refcount in the funcstack. Reenable disabled + tests. +Files: src/vim9execute.c, src/proto/vim9execute.pro, src/structs.h, + src/eval.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1820 +Problem: Vim9: crash when error happens in timer callback. +Solution: Check that current_exception is not NULL. (closes #7100) +Files: src/ex_docmd.c + +Patch 8.2.1821 +Problem: Vim9: concatenating to a NULL list doesn't work. +Solution: Handle a NULL list like an empty list. (closes #7064) +Files: src/list.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1822 (after 8.2.1821) +Problem: List test doesn't fail. +Solution: Adjust the test for NULL list handling. +Files: src/testdir/test_listdict.vim + +Patch 8.2.1823 +Problem: "gN" does not select the matched string. +Solution: Move the cursor to the start of the match. +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.2.1824 +Problem: Vim9: variables at the script level escape their scope. +Solution: When leaving a scope remove variables declared in it. +Files: src/structs.h, src/ex_eval.c, src/evalvars.c, + src/proto/evalvars.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.1825 +Problem: Vim9: accessing freed memory. +Solution: Clear sv_name when the variable is deleted. +Files: src/ex_eval.c + +Patch 8.2.1826 +Problem: Vim9: cannot use a {} block at script level. +Solution: Recognize a {} block. +Files: src/ex_docmd.c, src/ex_cmds.h, src/ex_cmdidxs.h, src/ex_eval.c, + src/structs.h, src/proto/ex_eval.pro, src/errors.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.1827 +Problem: Filetype detection does not test enough file names. +Solution: Test more file names. (Adam Stankiewicz, closes #7099) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1828 +Problem: Build failure without the +eval feature. +Solution: Add dummies for ex_block and ex_endblock. +Files: src/ex_docmd.c + +Patch 8.2.1829 +Problem: Warnings when executing Github actions. +Solution: Use another method to set environment variables. (Ken Takata, + closes #7107) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1830 +Problem: MS-Windows: Python3 issue with stdin. +Solution: Check if stdin is readable. (Ken Takata, closes #7106) +Files: src/if_python3.c + +Patch 8.2.1831 +Problem: File missing from distribution. +Solution: Add the github code analyses file. +Files: Filelist + +Patch 8.2.1832 +Problem: readdirex() error is displayed as a message. (Yegappan Lakshmanan) +Solution: Use semsg() instead of smsg(). +Files: src/fileio.c, src/testdir/test_functions.vim + +Patch 8.2.1833 +Problem: When reading from stdin dup() is called twice. +Solution: Remove the dup() in main.c. (Ken Takata, closes #7110) +Files: src/main.c + +Patch 8.2.1834 +Problem: PyEval_InitThreads() is deprecated in Python 3.9. +Solution: Do not call PyEval_InitThreads in Python 3.9 and later. (Ken + Takata, closes #7113) Avoid warnings for functions. +Files: src/if_python3.c, src/if_py_both.h + +Patch 8.2.1835 +Problem: ":help ??" finds the "!!" tag. +Solution: Do not translate "?" into ".". (Naruhiko Nishino, closes #7114, + closes #7115) +Files: src/help.c, src/testdir/test_help_tagjump.vim + +Patch 8.2.1836 +Problem: Autocmd test fails on pacifist systems. +Solution: Check that /bin/kill exists. (James McCoy, closes #7117) + Tune the timing, make the autocmd test run faster. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.1837 +Problem: Using "gn" after "gN" does not work. +Solution: Extend the other end of the Visual area. (closes #7109) +Files: src/search.c, src/testdir/test_gn.vim + +Patch 8.2.1838 +Problem: Vim9: cannot insert a comment line in an expression. +Solution: Skip comment lines at the script level. (closes #7111) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1839 +Problem: Vim9: memory leaks reported in assign test. +Solution: Move the failing job_start() call to separate test files, it + causes false leak reports. +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_fails.vim, + src/testdir/Make_all.mak + +Patch 8.2.1840 +Problem: Vim9: error message is not clear about compilation error. +Solution: Say "compiling" instead of "processing". +Files: src/vim9compile.c, src/message.c, src/globals.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.1841 +Problem: Vim9: test for compilation error fails in normal build. +Solution: Invoke CheckRunVimInTerminal in a separate function. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.1842 +Problem: Crash when USE_FNAME_CASE is defined and using :browse. +Solution: Don't use read-only memory for ".". (Yegappan Lakshmanan, + closes #7123) +Files: src/ex_cmds.c, src/ex_docmd.c, src/testdir/test_edit.vim + +Patch 8.2.1843 +Problem: Netbeans: with huge buffer number memory allocation may fail. +Solution: Check for size overflow. +Files: src/netbeans.c + +Patch 8.2.1844 +Problem: Using "q" at the more prompt doesn't stop a long message. +Solution: Check for "got_int". (closes #7122) +Files: src/message.c, src/testdir/test_messages.vim, + src/testdir/dumps/Test_quit_long_message.dump + +Patch 8.2.1845 +Problem: Vim9: function defined in a block can't use variables defined in + that block. +Solution: First step: Make a second hashtab that holds all script variables, + also block-local ones, with more information. +Files: src/structs.h, src/evalvars.c, src/ex_eval.c, src/vim9script.c, + src/proto/vim9script.pro, src/scriptfile.c + +Patch 8.2.1846 +Problem: Vim9: variables declared in a local block are not found in + when a function is compiled. +Solution: Look for script variables in sn_all_vars. +Files: src/structs.h, src/vim9compile.c, src/proto/vim9compile.pro, + src/userfunc.c, src/proto/userfunc.pro, src/ex_eval.c, + src/vim9script.c, src/proto/vim9script.pro, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1847 +Problem: Vim9: using negative value for unsigned type. +Solution: Use zero instead of -1. +Files: src/vim9compile.c + +Patch 8.2.1848 +Problem: Crash when passing a NULL string or list to popup_settext(). +Solution: Check for NULL pointers. (closes #7132) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1849 +Problem: Vim9: garbage collection frees block-local variables. +Solution: Mark all script variables as used. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1850 +Problem: "vat" does not select tags correctly over line break. +Solution: Adjust the search pattern. (Aufar Gilbran, closes #7136) +Files: src/textobject.c, src/testdir/test_textobjects.vim + +Patch 8.2.1851 +Problem: Vim9: "!" followed by space incorrectly used. +Solution: Skip over trailing spaces. (closes #7131) +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1852 +Problem: map() returning zero for NULL list is unexpected. +Solution: Return the empty list. (closes #7133) +Files: src/list.c, src/testdir/test_filter_map.vim, + src/testdir/test_blob.vim + +Patch 8.2.1853 +Problem: "to_f" is recognized at "topleft" modifier. +Solution: Do not recognize modifier when "_" follows. (closes #7019) +Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1854 +Problem: Vim9: crash when throwing exception for NULL string. (Dhiraj + Mishra) +Solution: Handle NULL string like empty string. (closes #7139) +Files: src/vim9execute.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.1855 +Problem: Vim9: get error message when nothing is wrong. +Solution: Check called_emsg instead of did_emsg. (closes #7143) +Files: src/vim9compile.c, src/vim9execute.c, src/errors.h + +Patch 8.2.1856 +Problem: "2resize" uses size of current window. (Daniel Steinberg) +Solution: Use size of resized window. (Yasuhiro Matsumoto, closes #7152) +Files: src/ex_docmd.c, src/testdir/test_window_cmd.vim + +Patch 8.2.1857 +Problem: Vim9: using job_status() on an unused var gives an error. +Solution: Return "fail". (closes #7158) +Files: src/job.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1858 +Problem: Vim9: filter functions return number instead of bool. +Solution: Return v:true instead of one. (closes #7144) +Files: src/popupwin.c, src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1859 +Problem: Vim9: crash in unpack assignment. +Solution: Make sure an error message is turned into an exception. + (closes #7159) +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.1860 +Problem: Vim9: memory leak when throwing empty string. +Solution: Free the empty string. +Files: src/vim9execute.c + +Patch 8.2.1861 +Problem: Vim9: no specific error when parsing lambda fails. +Solution: Also give syntax errors when not evaluating. (closes #7154) +Files: src/dict.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1862 +Problem: vim9: memory leak when compiling lambda fails. +Solution: Call clear_evalarg(). +Files: src/vim9compile.c + +Patch 8.2.1863 +Problem: Json code not sufficiently tested. +Solution: Add more test cases. (Dominique Pellé, closes #7166) +Files: src/testdir/test_json.vim + +Patch 8.2.1864 +Problem: Vim9: no error for wrong list type. +Solution: Add flag to indicate a constant. (closes #7160) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.1865 +Problem: Vim9: add() does not check type of argument. +Solution: Inline the add() call. (closes #7160) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/errors.h, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1866 +Problem: Vim9: appending to pushed blob gives wrong result. +Solution: Set ga_maxlen when copying a blob. +Files: src/blob.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1867 +Problem: Vim9: argument to add() not checked for blob. +Solution: Add the BLOBAPPEND instruction. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/errors.h, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1868 +Problem: Vim9: no error for missing space after comma in dict. +Solution: Check for white space. (closes #6672) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1869 +Problem: Vim9: memory leak when using add(). +Solution: Free the added item. +Files: src/vim9execute.c + +Patch 8.2.1870 +Problem: Vim9: no need to keep all script variables. +Solution: Only keep script variables when a function was defined that could + use them. Fix freeing static string on exit. +Files: src/vim9script.c, src/proto/vim9script.pro, src/structs.h, + src/ex_eval.c, src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.1871 +Problem: Using %v in 'errorformat' may fail before %Z. +Solution: Set qf_viscol only when qf_col is set. (closes #7169) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1872 +Problem: Matchfuzzy() does not prefer sequential matches. +Solution: Give sequential matches a higher bonus. (Christian Brabandt, + closes #7140) +Files: src/search.c, src/testdir/test_matchfuzzy.vim + +Patch 8.2.1873 +Problem: Vim9: missing white space when using <f-args>. +Solution: Add spaces. (Christian J. Robinson) +Files: src/usercmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1874 +Problem: Can't do something just before leaving Insert mode. +Solution: Add the InsertLeavePre autocommand event. (closes #7177) +Files: runtime/doc/autocmd.txt, src/edit.c, src/vim.h, + src/autocmd.c, src/testdir/test_edit.vim + +Patch 8.2.1875 +Problem: Warning when building GTK gui. +Solution: Add missing function parameter. +Files: src/gui_gtk_f.c + +Patch 8.2.1876 +Problem: Vim9: argument types for builtin functions are not checked at + compile time. +Solution: Add an argument type checking mechanism. Implement type checks for + one function. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9compile.c, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/Make_all.mak + +Patch 8.2.1877 (after 8.2.1876) +Problem: Test for function list fails. +Solution: Move "obsolete" comments one line up. +Files: src/evalfunc.c + +Patch 8.2.1878 +Problem: GTK: error for redefining function. (Tony Mechelynck) +Solution: Remove "gtk_" prefix from local functions and prepend "gui_" to + global functions. +Files: src/gui_gtk_f.c, src/gui_gtk_f.h, src/gui_gtk.c, src/gui_gtk_x11.c + +Patch 8.2.1879 +Problem: Vim9: argument types of insert() not checked when compiling. +Solution: Add argument type checks for insert(). +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9compile.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.1880 +Problem: Vim9: Asan complains about adding zero to NULL. +Solution: Check for argument count first. +Files: src/vim9compile.c + +Patch 8.2.1881 +Problem: Cannot build with GTK3. +Solution: Adjust form functions. +Files: src/gui_gtk_f.c + +Patch 8.2.1882 +Problem: Vim9: v:disallow_let is no longer needed. +Solution: Remove v:disallow_let. +Files: src/evalvars.c, src/vim.h, src/vim9compile.c + +Patch 8.2.1883 +Problem: Compiler warnings when using Python. +Solution: Adjust PyCFunction to also have the second argument. Use "int" + return type for some functions. Insert "(void *)" to get rid of + the remaining warnings. +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c + +Patch 8.2.1884 +Problem: Compiler warning for uninitialized variable. (John Marriott) +Solution: Initialize with NULL. +Files: src/vim9compile.c, src/evalfunc.c + +Patch 8.2.1885 +Problem: Filetype tests unnecessarily creates swap files. +Solution: Disable 'swapfile'. (Ken Takata, closes #7183) +Files: src/testdir/test_filetype.vim + +Patch 8.2.1886 +Problem: Using ":silent!" in a popup filter has unexpected effect. +Solution: Use did_emsg instead of called_emsg. (closes #7178) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.1887 +Problem: Github actions not optimally configured. +Solution: Run CI on any pushed branches. Set fail-fast. (Ozaki Kiichi, + closes #7184) +Files: .github/workflows/ci-windows.yaml + +Patch 8.2.1888 +Problem: Vim9: Getbufline(-1, 1, '$') gives an error. +Solution: Return an empty list. (closes #7180) +Files: src/evalbuffer.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.1889 +Problem: Vim9: erroneous error for missing white space after {}. +Solution: Don't skip over white space after {}. (issue #7167) +Files: src/dict.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1890 +Problem: Vim9: strange error for subtracting from a list. +Solution: Check getting a number, not a string. (closes #7167) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1891 +Problem: Vim9: skipping over expression doesn't handle line breaks. +Solution: Pass evalarg to skip_expr(). (closes #7157) +Files: src/vim9compile.c, src/eval.c, src/proto/eval.pro, src/ex_docmd.c, + src/misc1.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1892 +Problem: Valgrind warns for using uninitialized access in tests. +Solution: Fix condition for breaking out of loop. (Dominique Pellé, + closes #7187) +Files: src/terminal.c + +Patch 8.2.1893 +Problem: Fuzzy matching does not support multiple words. +Solution: Add support for matching white space separated words. (Yegappan + Lakshmanan, closes #7163) +Files: runtime/doc/eval.txt, src/search.c, + src/testdir/test_matchfuzzy.vim + +Patch 8.2.1894 +Problem: Vim9: command modifiers are not supported. +Solution: Support "silent" and "silent!". +Files: src/structs.h, src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/evalvars.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.1895 (after 8.2.1894) +Problem: Vim9: silent command modifier test fails. +Solution: Add missing changes. +Files: src/ex_docmd.c + +Patch 8.2.1896 +Problem: Valgrind warns for using uninitialized memory. +Solution: NUL terminate the SmcOpenConnection() error message. (Dominique + Pellé, closes #7194) +Files: src/os_unix.c + +Patch 8.2.1897 +Problem: Command modifiers are saved and set inconsistently. +Solution: Separate parsing and applying command modifiers. Save values in + cmdmod_T. +Files: src/structs.h, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/ex_cmds.h, src/vim9compile.c + +Patch 8.2.1898 +Problem: Command modifier parsing always uses global cmdmod. +Solution: Pass in cmdmod_T to use. Rename struct fields consistently. +Files: src/structs.h, src/arglist.c, src/buffer.c, src/bufwrite.c, + src/diff.c, src/change.c, src/cmdhist.c, src/edit.c, + src/ex_cmds.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_getln.c, + src/fileio.c, src/filepath.c, src/gui.c, src/gui_gtk_x11.c, + src/help.c, src/if_cscope.c, src/indent.c, src/mark.c, + src/memline.c, src/message.c, src/option.c, src/ops.c, + src/os_unix.c, src/quickfix.c, src/register.c, src/scriptfile.c, + src/search.c, src/session.c, src/tag.c, src/terminal.c, + src/textformat.c, src/usercmd.c, src/vim9compile.c, src/window.c, + src/proto/ex_docmd.pro + +Patch 8.2.1899 +Problem: Crash in out-of-memory situation. +Solution: Bail out if shell_name is NULL. (Dominique Pellé, closes #7196) +Files: src/ex_cmds.c + +Patch 8.2.1900 +Problem: Vim9: command modifiers do not work. +Solution: Make most command modifiers work. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/usercmd.c, src/proto/usercmd.pro, src/scriptfile.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1901 +Problem: Variable completion does not work in command line window. +Solution: Use the "prevwin". (closes #7198) +Files: src/evalvars.c, src/testdir/test_ins_complete.vim + +Patch 8.2.1902 +Problem: Default option values are changed when using :badd for an existing + buffer. +Solution: When calling buflist_new() pass a zero line number. (closes #7195) +Files: src/ex_cmds.c, src/testdir/test_buffer.vim + +Patch 8.2.1903 (after 8.2.1902) +Problem: Buffer test fails with normal features. +Solution: Use 'numberwidth' instead of 'conceallevel' in the test. +Files: src/testdir/test_buffer.vim + +Patch 8.2.1904 +Problem: Still using default option values after using ":badd +1". +Solution: Find a window where options were set. Don't set the window when + using ":badd". +Files: src/buffer.c, src/ex_cmds.c, src/vim.h, + src/testdir/test_buffer.vim + +Patch 8.2.1905 +Problem: The wininfo list may contain stale entries. +Solution: When closing a window remove any other entry where the window + pointer is NULL. +Files: src/buffer.c, src/proto/buffer.pro, src/window.c + +Patch 8.2.1906 +Problem: Warning for signed/unsigned. +Solution: Use size_t instead of int. (Mike Williams) +Files: src/proto/usercmd.pro, src/usercmd.c, src/vim9execute.c + +Patch 8.2.1907 +Problem: Complete_info().selected may be wrong. +Solution: Update cp_number if it was never set. (issue #6945) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.1908 +Problem: Lua is initialized even when not used. +Solution: Put lua_init() after check for "eap->skip". (Christian Brabandt, + closes #7191). Avoid compiler warnings. +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.1909 +Problem: Number of status line items is limited to 80. +Solution: Dynamically allocate the arrays. (Rom Grk, closes #7181) +Files: runtime/doc/options.txt, src/buffer.c, src/optionstr.c, + src/proto/buffer.pro, src/screen.c, src/structs.h, + src/testdir/test_options.vim, src/testdir/test_statusline.vim, + src/vim.h + +Patch 8.2.1910 +Problem: Reading past the end of the command line. +Solution: Check for NUL. (closes #7204) +Files: src/ex_docmd.c, src/testdir/test_edit.vim + +Patch 8.2.1911 +Problem: Tiny build fails. +Solution: Add #ifdef. +Files: src/insexpand.c + +Patch 8.2.1912 +Problem: With Python 3.9 some tests fail. +Solution: Take into account the different error message. (James McCoy, + closes #7210) +Files: src/testdir/test_python3.vim + +Patch 8.2.1913 +Problem: GTK GUI: rounding for the cell height is too strict. +Solution: Round up above 15/16 of a pixel. (closes #7203) +Files: src/gui_gtk_x11.c + +Patch 8.2.1914 +Problem: Vim9: cannot put line break in expression for '=' register. +Solution: Pass fgetline to set_expr_line(). (closes #7209) +Files: src/register.c, src/proto/register.pro, src/ex_docmd.c, + src/eval.c, src/proto/eval.pro, src/misc2.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.1915 +Problem: Vim9: error for wrong number of arguments is not useful. +Solution: Mention whatever we have for the name. (closes #7208) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1916 +Problem: Vim9: function call is aborted even when "silent!" is used. +Solution: Use did_emsg instead of called_emsg. (closes #7213) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1917 +Problem: No test for improved Man command. +Solution: Test that shell arguments are properly escaped. +Files: src/testdir/test_man.vim + +Patch 8.2.1918 +Problem: Vim9: E1100 mentions :let. +Solution: Mention "var". (closes #7207) +Files: src/vim9script.c, src/errors.h + +Patch 8.2.1919 +Problem: Assert_fails() setting emsg_silent changes normal execution. +Solution: Use a separate flag in_assert_fails. +Files: src/testing.c, src/globals.h, src/buffer.c, src/change.c, + src/fileio.c, src/insexpand.c, src/message.c, src/misc1.c, + src/normal.c, src/screen.c, src/term.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim, src/testdir/gen_opt_test.vim, + src/testdir/test_autocmd.vim, src/testdir/test_mapping.vim, + src/testdir/test_popup.vim, src/testdir/test_terminal.vim + +Patch 8.2.1920 +Problem: Listlbr test fails when run after another test. +Solution: Add test separately to list of test targets. +Files: src/testdir/Make_all.mak, src/testdir/test_alot_utf8.vim + +Patch 8.2.1921 +Problem: Fuzzy matching does not recognize path separators. +Solution: Add a bonus for slash and backslash. (Yegappan Lakshmanan, + closes #7225) +Files: src/search.c, src/testdir/test_matchfuzzy.vim + +Patch 8.2.1922 +Problem: Win32: scrolling doesn't work properly when part of window is + off-screen. +Solution: Fall back to GDI scrolling if part of the window is off-screen. + Handle multi-monitor setup better. (Ken Takata, closes #7219) +Files: src/gui_w32.c + +Patch 8.2.1923 +Problem: Vim9: "filter" command modifier doesn't work. +Solution: Check for space on char before argument. (closes #7216, + closes #7222) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1924 +Problem: Vim9: crash when indexing dict with NULL key. +Solution: Use empty string instead of NULL. (closes #7229) Make error + message more useful for empty string. +Files: src/vim9execute.c, src/globals.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.1925 (after 8.2.1924) +Problem: List/dict test fails. +Solution: Correct expected exception. +File: src/testdir/test_listdict.vim + +Patch 8.2.1926 +Problem: Cannot use a space in 'spellfile'. (Filipe Brandenburger) +Solution: Permit using a space. (closes #7230) +Files: src/spell.c, src/testdir/gen_opt_test.vim + +Patch 8.2.1927 +Problem: Vim9: get unknown error with an error in a timer function. +Solution: Use did_emsg instead of called_emsg. (closes #7231) +Files: src/vim9compile.c, src/vim9execute.c + +Patch 8.2.1928 +Problem: Vim9: "silent!" not effective when list index is wrong. +Solution: Ignore list index failure when emsg_silent is set. (closes #7232) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.1929 +Problem: MS-Windows: problem loading Perl 5.32. +Solution: Define NO_THREAD_SAFE_LOCALE. (Ken Takata, closes #7234) +Files: src/if_perl.xs + +Patch 8.2.1930 +Problem: Wrong input if removing shift results in special key code. +Solution: Handle special key codes. (closes #7189) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.1931 +Problem: Vim9: arguments of extend() not checked at compile time. +Solution: Add argument type checking for extend(). +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.1932 +Problem: Compiler warnings when building with Athena GUI. +Solution: Fix function signatures. +Files: src/gui_at_fs.c + +Patch 8.2.1933 +Problem: Cannot sort using locale ordering. +Solution: Add a flag for :sort and sort() to use the locale. (Dominique + Pellé, closes #7237) +Files: runtime/doc/change.txt, runtime/doc/eval.txt, src/ex_cmds.c, + src/list.c, src/testdir/test_sort.vim + +Patch 8.2.1934 +Problem: Vim9: command modifiers in :def function not tested. +Solution: Add tests. Fix using modifier before filter command. +Files: src/ex_docmd.c, src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1935 (after 8.2.1933) +Problem: Sort test fails on Mac. +Solution: Disable the sort test with locale on Mac. +Files: src/testdir/test_sort.vim + +Patch 8.2.1936 +Problem: Session sets the local 'scrolloff' value to the global value. +Solution: Do not let restoring the global option value change the local + value. +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.1937 +Problem: Vim9: test for confirm modifier fails in some situations. +Solution: Add a short wait. Handle failure better. +Files: src/testdir/term_util.vim, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1938 +Problem: Wiping out a terminal buffer makes some tests fail. +Solution: Do not wipe out the terminal buffer unless wanted. +Files: src/testdir/term_util.vim, src/testdir/test_terminal.vim, + src/testdir/test_terminal3.vim + +Patch 8.2.1939 +Problem: Invalid memory access in Ex mode with global command. +Solution: Make sure the cursor is on a valid line. (closes #7238) +Files: src/move.c, src/testdir/test_ex_mode.vim + +Patch 8.2.1940 +Problem: Vim9: browse modifier test fails on Mac. +Solution: Only test when the +browse feature is available. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.1941 +Problem: Ex mode test fails on MS-Windows with GUI. +Solution: Skip the test when using gvim. +Files: src/testdir/test_ex_mode.vim + +Patch 8.2.1942 +Problem: Insufficient test coverage for the Netbeans interface. +Solution: Add more tests. Fix an uncovered bug. (Yegappan Lakshmanan, + closes #7240) +Files: runtime/doc/netbeans.txt, src/mouse.c, + src/testdir/test_netbeans.py, src/testdir/test_netbeans.vim, + src/testdir/test_quickfix.vim + +Patch 8.2.1943 +Problem: Vim9: wrong error message when colon is missing. +Solution: Check for a missing colon. (issue #7239) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1944 +Problem: Netbeans test is flaky. +Solution: Add a short delay. (Yegappan Lakshmanan, closes #7246) +Files: src/testdir/test_netbeans.vim + +Patch 8.2.1945 +Problem: Crash when passing NULL function to reduce(). +Solution: Check for NULL pointer and give an error. (Dominique Pellé, + closes #7243) +Files: src/list.c, src/errors.h, src/testdir/test_listdict.vim + +Patch 8.2.1946 +Problem: sort() with NULL string not tested. +Solution: Add a test. use v:collate. (Dominique Pellé, closes #7247) +Files: src/testdir/test_sort.vim + +Patch 8.2.1947 +Problem: Crash when using "zj" without folds. (Sean Dewar) +Solution: Check for at least one fold. (closes #7245) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.1948 +Problem: GUI: crash when handling message while closing a window. (Srinath + Avadhanula) +Solution: Don't handle message while closing a window. (closes #7250) +Files: src/window.c, src/globals.h, src/getchar.c + +Patch 8.2.1949 +Problem: Vim9: using extend() on null dict is silently ignored. +Solution: Give an error message. Initialize a dict variable with an empty + dictionary. (closes #7251) +Files: src/errors.h, src/list.c, src/evalvars.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.1950 +Problem: Vim9: crash when compiling function fails when getting type. +Solution: Handle NULL type. (closes #7253) +Files: src/vim9type.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1951 (after 8.2.1949) +Problem: Test for list and dict fails. +Solution: Adjust for using an empty list/dict for a null one. +Files: src/testdir/test_listdict.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim + +Patch 8.2.1952 +Problem: Vim9: crash when using a NULL dict key. +Solution: Use a NULL dict key like an empty string. (closes #7249) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.1953 +Problem: Vim9: extra "unknown" error after other error. +Solution: Restore did_emsg count after EXEC instruction. (closes #7254) + Improve error message from assert_fails() +Files: src/vim9execute.c, src/testing.c, + src/testdir/test_vim9_script.vim, src/testdir/test_assert.vim + +Patch 8.2.1954 +Problem: Vim9: not all command modifiers are tested. +Solution: Add tests for "keep" modifiers. Fix that marks are lost even + though ":lockmarks" is used. +Files: src/ex_cmds.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.1955 +Problem: Vim9: not all command modifiers are tested. +Solution: Add tests for remaining modifiers. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.1956 +Problem: Vim9: cannot specify argument types for lambda. +Solution: Allow adding argument types. Check arguments when calling a + function reference. +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9compile.c, + src/eval.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.1957 +Problem: Diff and cursorcolumn highlighting don't mix. +Solution: Fix condition for what attribute to use. (Christian Brabandt, + closes #7258, closes #7260) +Files: src/drawline.c, src/testdir/dumps/Test_diff_cuc_01.dump, + src/testdir/dumps/Test_diff_cuc_02.dump, + src/testdir/dumps/Test_diff_cuc_03.dump, + src/testdir/dumps/Test_diff_cuc_04.dump, + src/testdir/test_diffmode.vim + +Patch 8.2.1958 (after 8.2.1956) +Problem: Build failure with timers. +Solution: Add missing change. +Files: src/popupwin.c + +Patch 8.2.1959 +Problem: Crash when terminal buffer name is made empty. (Dhiraj Mishra) +Solution: Fall back to "[No Name]". (closes #7262) +Files: src/buffer.c, src/proto/buffer.pro, src/terminal.c, + src/testdir/test_terminal.vim + +Patch 8.2.1960 +Problem: Warning for uninitialized variable. +Solution: Initialize the variable. +Files: src/evalfunc.c + +Patch 8.2.1961 +Problem: Various comments can be improved. +Solution: Various comment adjustments. +Files: src/dict.c, src/structs.h, src/time.c, src/testdir/shared.vim, + src/testdir/test_netbeans.vim, src/gui_motif.c + +Patch 8.2.1962 +Problem: Netbeans may access freed memory. +Solution: Check the buffer pointer is still valid. Add a test. (Yegappan + Lakshmanan, closes #7248) +Files: src/netbeans.c, src/testdir/test_netbeans.vim + +Patch 8.2.1963 +Problem: Crash when using a popup window with "latin1" encoding. +Solution: Don't use ScreenLinesUC when enc_utf8 is false. (closes #7241) +Files: src/screen.c, src/terminal.c, src/testdir/test_popupwin.vim + +Patch 8.2.1964 +Problem: Not all ConTeXt files are recognized. +Solution: Add two patterns. (closes #7263) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.1965 +Problem: Vim9: tests fail without the channel feature. +Solution: Check if the channel feature is present. (Dominique Pellé, + closes #7270) +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1966 +Problem: Popup becomes current window after closing a terminal window. +Solution: When restoring the window after executing autocommands, check that + the window ID is still the same. (Naruhiko Nishino, + closes #7272) +Files: src/autocmd.c, src/window.c, src/proto/window.pro, src/structs.h, + src/testdir/test_popupwin.vim + +Patch 8.2.1967 +Problem: The session file does not restore the alternate file. +Solution: Add ":balt". Works like ":badd" and also sets the buffer as the + alternate file. Use it in the session file. (closes #7269, + closes #6714) +Files: runtime/doc/windows.txt, src/ex_cmds.h, src/ex_cmdidxs.h, + src/ex_docmd.c, src/vim.h, src/ex_cmds.c, src/session.c, + src/testdir/test_buffer.vim + +Patch 8.2.1968 +Problem: Vim9: has() assumes a feature does not change dynamically. +Solution: Check whether a feature may change dynamically. (closes #7265) +Files: src/vim9compile.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.1969 +Problem: Vim9: map() may change the list or dict item type. +Solution: Add mapnew(). +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/list.c, src/proto/list.pro, src/testdir/test_filter_map.vim + +Patch 8.2.1970 +Problem: It is easy to make mistakes when cleaning up swap files after the + system crashed. +Solution: Warn for the process still running after recovery. Do not + automatically delete a swap file created on another system. + (David Fries, closes #7273) +Files: src/memline.c, src/testdir/test_swap.vim + +Patch 8.2.1971 +Problem: Memory leak when map() fails. +Solution: Clear the typval. +Files: src/list.c + +Patch 8.2.1972 +Problem: Crash when recreating nested fold. +Solution: Check for empty growarray. (closes #7278) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.1973 +Problem: Finding a patch number can be a bit slow. +Solution: Use binary search. (closes #7279) +Files: src/version.c + +Patch 8.2.1974 +Problem: Vim9: test for has('gui_running') fails with VIMDLL. +Solution: Adjust the #ifdef. (Ken Takata, closes #7276) +Files: src/evalfunc.c + +Patch 8.2.1975 +Problem: Win32: memory leak when encoding conversion fails. +Solution: Free the allocated memory. (Ken Takata, closes #7277) +Files: src/os_win32.c + +Patch 8.2.1976 +Problem: Cannot backspace in prompt buffer after using cursor-left. (Maxim + Kim) +Solution: Ignore "arrow_used" in a prompt buffer. (closes #7281) +Files: src/edit.c, src/testdir/test_prompt_buffer.vim + +Patch 8.2.1977 +Problem: Vim9: error for using a string in a condition is confusing. +Solution: Give a more specific error. Also adjust the compile time type + checking for || and &&. +Files: src/vim9compile.c, src/vim9execute.c, src/proto/vim9execute.pro, + src/typval.c, src/errors.h, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1978 +Problem: Making a mapping work in all modes is complicated. +Solution: Add the <Cmd> special key. (Yegappan Lakshmanan, closes #7282, + closes 4784, based on patch by Bjorn Linse) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, + runtime/doc/map.txt, src/edit.c, src/errors.h, src/ex_docmd.c, + src/ex_getln.c, src/getchar.c, src/insexpand.c, src/keymap.h, + src/map.c, src/misc2.c, src/normal.c, src/ops.c, + src/proto/getchar.pro, src/screen.c, src/terminal.c, + src/testdir/test_mapping.vim + +Patch 8.2.1979 +Problem: "term_opencmd" option of term_start() is truncated. (Sergey + Vlasov) +Solution: Allocate the buffer to hold the command. (closes #7284) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.1980 +Problem: Vim9: some tests are not done at the script level. +Solution: Use CheckDefAndScriptSuccess() in more places. Fix uncovered + problems. +Files: src/eval.c, src/list.c, src/scriptfile.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.1981 +Problem: MinGW: parallel compilation might fail. +Solution: Add dependencies on $(OUTDIR). (Masamichi Abe, closes #7287) +Files: src/Make_cyg_ming.mak + +Patch 8.2.1982 +Problem: Quickfix window not updated when adding invalid entries. +Solution: Update the quickfix buffer properly. (Yegappan Lakshmanan, closes + #7291, closes #7271) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.1983 +Problem: ml_get error when using <Cmd> to open a terminal. +Solution: If the window changed reset the incsearch state. (closes #7289) +Files: src/ex_getln.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_from_cmd.dump + +Patch 8.2.1984 +Problem: Cannot use :vimgrep in omni completion, causing C completion to + fail. +Solution: Add the EX_LOCK_OK flag to :vimgrep. (closes #7292) +Files: src/ex_cmds.h, src/testdir/test_quickfix.vim + +Patch 8.2.1985 +Problem: Crash when closing terminal popup with <Cmd> mapping. +Solution: Check b_term is not NULL. (closes #7294) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.1986 +Problem: Expression test is flaky on Appveyor. +Solution: Temporarily disable the test in MS-Windows. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.1987 +Problem: MS-Windows: Win32.mak is no longer needed. +Solution: Do not include Win32.mak. (Jason McHugh, closes #7290) +Files: src/Make_mvc.mak, src/INSTALLpc.txt + +Patch 8.2.1988 +Problem: Still in Insert mode when opening terminal popup with a <Cmd> + mapping in Insert mode. +Solution: Exit Insert mode. (closes #7295) +Files: src/edit.c, src/testdir/test_terminal.vim + +Patch 8.2.1989 +Problem: Info popup triggers WinEnter and WinLeave autocommands. +Solution: Suppress autocommands for the info popup. (closes #7296) +Files: src/popupmenu.c, src/testdir/test_popupwin.vim + +Patch 8.2.1990 +Problem: Cursor position wrong in terminal popup with finished job. +Solution: Only add the top and left offset when not done already. + (closes #7298) +Files: src/popupwin.c, src/structs.h, src/drawline.c, src/move.c, + src/terminal.c, src/testdir/dumps/Test_terminal_popup_m1.dump + +Patch 8.2.1991 +Problem: Coverity warns for not using the ga_grow() return value. +Solution: Bail out if ga_grow() fails. (Yegappan Lakshmanan, closes #7303) +Files: src/getchar.c + +Patch 8.2.1992 +Problem: Build fails with small features. +Solution: Add #ifdef. +Files: src/move.c + +Patch 8.2.1993 +Problem: Occasional failure of the netbeans test. +Solution: Add "silent!". (Yegappan Lakshmanan, closes #7304) +Files: src/testdir/test_netbeans.vim + +Patch 8.2.1994 (after 8.2.1981) +Problem: MS-Windows: MinGW always does a full build. +Solution: Only check if $OUTDIR exists. (Masamichi Abe, closes #7311) +Files: src/Make_cyg_ming.mak + +Patch 8.2.1995 +Problem: The popup menu can cause too much redrawing. +Solution: Reduce the length of the displayed text. (Yasuhiro Matsumoto, + closes #7306) +Files: src/popupmenu.c + +Patch 8.2.1996 +Problem: Vim9: invalid error for argument of extend(). +Solution: Check if the type could match. (closes #7299) +Files: src/evalfunc.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.1997 +Problem: Window changes when using bufload() while in a terminal popup. +Solution: When searching for a window by ID also find a popup window. + (closes #7307) +Files: src/window.c, src/testdir/test_terminal.vim + +Patch 8.2.1998 +Problem: Terminal Cmd test sometimes fails to close popup. +Solution: Add "term_finish" option. +Files: src/testdir/test_terminal.vim + +Patch 8.2.1999 +Problem: Terminal popup test sometimes fails. +Solution: Wait for the popup to close. +Files: src/testdir/test_terminal.vim + +Patch 8.2.2000 +Problem: Vim9: dict.key assignment not implemented yet. +Solution: Implement dict.key assignment. (closes #7312) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2001 +Problem: Vim9: :def function does not apply 'maxfuncdepth'. +Solution: Use 'maxfuncdepth'. (issue #7313) +Files: src/vim9execute.c, src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.2002 +Problem: Vim9: lambda argument shadowed by function name. +Solution: Let function name be shadowed by lambda argument. (closes #7313) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2003 +Problem: Build error with +conceal but without +popupwin. +Solution: Add #ifdef. (Tom Ryder, closes #7316) +Files: src/drawline.c + +Patch 8.2.2004 (after 8.2.2002) +Problem: Compiler warning for uninitialized variable. +Solution: Initialize "ufunc". (John Marriott) +Files: src/vim9compile.c + +Patch 8.2.2005 +Problem: Redoing a mapping with <Cmd> doesn't work properly. +Solution: Fill the redo buffer. Use "<SNR>" instead of a key code. + (closes #7282) +Files: src/ops.c, src/getchar.c, src/testdir/test_mapping.vim + +Patch 8.2.2006 +Problem: .pbtxt files are not recognized. +Solution: Recognize .pbtxt as protobuf text buffers. (closes #7326) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2007 +Problem: Test for insert mode in popup is not reliable. +Solution: Wait for the popup to disappear. (Ozaki Kiichi, closes #7321) +Files: src/testdir/test_terminal.vim + +Patch 8.2.2008 +Problem: MS-Windows GUI: handling channel messages lags. +Solution: Reduce the wait time from 100 to 10 msec. (closes #7097) +Files: src/gui_w32.c + +Patch 8.2.2009 +Problem: MS-Windows: setting $LANG in gvimext only causes problems. +Solution: Do not set $LANG. (Ken Takata, closes #7325) +Files: src/GvimExt/gvimext.cpp + +Patch 8.2.2010 +Problem: Vim9: compiling fails for unreachable return statement. +Solution: Fix it. (closes #7319) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2011 +Problem: "syn sync" reports a very large number. +Solution: Use "at the first line". +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.2.2012 +Problem: Vim9: confusing error message when using bool wrongly. +Solution: Mention "Bool" instead of "Special". (closes #7323) +Files: src/typval.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.2013 +Problem: Vim9: not skipping white space after unary minus. +Solution: Skip whitespace. (closes #7324) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2014 +Problem: Using CTRL-O in a prompt buffer moves cursor to start of the line. +Solution: Do not move the cursor when restarting edit. (closes #7330) +Files: src/job.c, src/testdir/test_prompt_buffer.vim + +Patch 8.2.2015 +Problem: Vim9: literal dict #{} is not like any other language. +Solution: Support the JavaScript syntax. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/proto/vim9compile.pro, src/errors.h, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.2016 +Problem: Swap file test is a little flaky. +Solution: Don't set a byte to a fixed value, increment it. +Files: src/testdir/test_swap.vim + +Patch 8.2.2017 (after 8.2.2015) +Problem: Missing part of the dict change. +Solution: Also change the script level dict. +Files: src/dict.c + +Patch 8.2.2018 +Problem: Vim9: script variable not found from lambda. +Solution: In a lambda also check the script hashtab for a variable without a + scope. (closes #7329) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2019 (after 8.2.2016) +Problem: Swap file test fails on MS-Windows. +Solution: Add four to the process ID. (Ken Takata, closes #7333) +Files: src/testdir/test_swap.vim + +Patch 8.2.2020 +Problem: Some compilers do not like the "namespace" argument. +Solution: Rename to "use_namespace". (closes #7332) +Files: src/vim9compile.c, src/proto/vim9compile.pro + +Patch 8.2.2021 +Problem: Vim9: get E1099 when autocommand resets did_emsg. +Solution: Add did_emsg_cumul. (closes #7336) +Files: src/globals.h, src/ex_docmd.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2022 +Problem: Vim9: star command recognized erroneously. +Solution: Give an error for missing colon. (issue #7335) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2023 +Problem: Vim: memory leak when :execute fails. +Solution: Clear the growarray. +Files: src/vim9execute.c + +Patch 8.2.2024 +Problem: Flicker when redrawing a popup with a title and border. +Solution: Do not redraw the border where the title is displayed. (Naruhiko + Nishino, closes #7334) +Files: src/popupwin.c + +Patch 8.2.2025 +Problem: Amiga: Not all colors are used on OS4. +Solution: Adjust the #ifdef to include __amigaos4__. (Ola Söder, + closes #7328) +Files: src/term.c + +Patch 8.2.2026 +Problem: Coverity warns for possibly using not NUL terminated string. +Solution: Put a NUL in b0_hname just in case. +Files: src/memline.c + +Patch 8.2.2027 +Problem: Coverity warns for uninitialized field. +Solution: Set "v_lock". +Files: src/list.c + +Patch 8.2.2028 +Problem: Coverity warns for using an uninitialized variable. +Solution: Initialize to NULL. +Files: src/eval.c + +Patch 8.2.2029 +Problem: Coverity warns for not checking return value. +Solution: Check that u_save_cursor() returns OK. +Files: src/ops.c + +Patch 8.2.2030 +Problem: Some tests fail on Mac. +Solution: Avoid Mac test failures. Add additional test for wildmenu. + (Yegappan Lakshmanan, closes #7341) +Files: src/testdir/runtest.vim, src/testdir/test_cmdline.vim, + src/testdir/test_options.vim, src/testdir/test_popupwin.vim + +Patch 8.2.2031 +Problem: Some tests fail when run under valgrind. +Solution: Avoid timing problems. +Files: src/testdir/test_vim9_func.vim, src/testdir/test_channel.vim, + src/testdir/test_clientserver.vim, src/testdir/test_debugger.vim, + src/testdir/test_quotestar.vim + +Patch 8.2.2032 +Problem: Cabalconfig and cabalproject filetypes not recognized. +Solution: Detect more cabal files. (Marcin Szamotulski, closes #7339) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2033 +Problem: Vim9: :def without argument gives compilation error. +Solution: Add the DEF instruction. (closes #7344) +Files: src/ex_docmd.c, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2034 +Problem: Vim9: list unpack in for statement not compiled yet. +Solution: Compile list unpack. (closes #7345) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/errors.h, + src/eval.c, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2035 +Problem: MS-Windows: some tests may fail. +Solution: Avoid test failures. (Yegappan Lakshmanan, closes #7346) +Files: src/testdir/test_channel.vim, src/testdir/test_ex_mode.vim, + src/testdir/test_functions.vim + +Patch 8.2.2036 +Problem: Current buffer is messed up if creating a new buffer for the + quickfix window fails. +Solution: Check that creating the buffer succeeds. (closes #7352) +Files: src/quickfix.c, src/testdir/test_quickfix.vim, + src/testdir/dumps/Test_quickfix_window_fails.dump + +Patch 8.2.2037 +Problem: Compiler test depends on list of compiler plugins. +Solution: Compare with the actual list of compiler plugins. +Files: src/testdir/test_compiler.vim + +Patch 8.2.2038 +Problem: Compiler test fails on MS-Windows. +Solution: Sort the found compiler plugin names. +Files: src/testdir/test_compiler.vim + +Patch 8.2.2039 +Problem: Viminfo is not written when creating a new file. +Solution: Set "b_marks_read" in the new buffer. (Christian Brabandt, + closes #7350) +Files: src/bufwrite.c, src/testdir/test_viminfo.vim + +Patch 8.2.2040 +Problem: Terminal buffer disappears even when 'bufhidden' is "hide". + (Sergey Vlasov) +Solution: Check 'bufhidden' when a terminal buffer becomes hidden. + (closes #7358) +Files: src/buffer.c, src/testdir/test_terminal.vim + +Patch 8.2.2041 +Problem: Haskell filetype not optimally recognized. +Solution: Recognize all *.hsc files as Haskell. (Marcin Szamotulski, + closes #7354) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2042 +Problem: Build failure with +profile but without +reltime. +Solution: Adjust #ifdef. (Christian Brabandt, closes #7361) +Files: src/syntax.c + +Patch 8.2.2043 +Problem: GTK3: white border around text stands out. +Solution: Use current theme color. (closes #7357, issue #349) +Files: src/gui_gtk_x11.c + +Patch 8.2.2044 +Problem: MS-Windows: swap file test sometimes fails. +Solution: Use a more reliable way to change the process ID. When "timeout" + fails use "ping" to wait up to ten minutes. (Ken Takata, + closes #7365) +Files: .github/workflows/ci-windows.yaml, src/testdir/test_swap.vim + +Patch 8.2.2045 +Problem: Highlighting a character too much with incsearch. +Solution: Check "search_match_endcol". (Christian Brabandt, closes #7360) +Files: src/drawline.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_incsearch_newline1.dump, + src/testdir/dumps/Test_incsearch_newline2.dump, + src/testdir/dumps/Test_incsearch_newline3.dump, + src/testdir/dumps/Test_incsearch_newline4.dump, + src/testdir/dumps/Test_incsearch_newline5.dump + +Patch 8.2.2046 +Problem: Some test failures don't give a clear error. +Solution: Use assert_match() and assert_fails() instead of assert_true(). + (Ken Takata, closes #7368) +Files: src/testdir/test_autocmd.vim, src/testdir/test_backspace_opt.vim + +Patch 8.2.2047 +Problem: Amiga: FEAT_ARP defined when it should not. +Solution: Adjust #ifdef. (Ola Söder, closes #7370) +Files: src/feature.h + +Patch 8.2.2048 +Problem: Amiga: obsolete code. +Solution: Remove the unused lines. (Ola Söder, closes #7373) +Files: src/gui.c + +Patch 8.2.2049 +Problem: Amiga: obsolete function. +Solution: Remove the function. (Ola Söder, closes #7374) +Files: src/memfile.c + +Patch 8.2.2050 +Problem: Search test contains unneeded sleeps. +Solution: Rename the function, remove sleeps. (Christian Brabandt, + closes #7369) +Files: src/testdir/test_search.vim + +Patch 8.2.2051 +Problem: Vim9: crash when aborting a user function call. +Solution: Do not use the return value when aborting. (closes #7372) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2052 +Problem: Vim9: "edit +4 fname" gives an error. (Naruhiko Nishino) +Solution: Allow using a range in the +cmd argument. (closes #7364) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/vim.h, src/ex_cmds.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2053 +Problem: Vim9: lambda doesn't accept argument types. +Solution: Optionally accept argument types at the script level. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2054 +Problem: Amiga: FEAT_ARP defined when it should not. +Solution: Adjust "||" to "&&" in #ifdef. (Ola Söder, closes #7375) +Files: src/feature.h + +Patch 8.2.2055 +Problem: MS-Windows: two Vim instances may use the same temp file. +Solution: Use the process ID for the temp name. (Ken Takata, closes #7378) +Files: src/fileio.c + +Patch 8.2.2056 +Problem: Configure fails when building with the + "implicit-function-declaration" error enabled, specifically on Mac. +Solution: Declear the functions like in the source code. (suggestion by + Clemens Lang, closes #7380) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2057 +Problem: Getting the selection may trigger TextYankPost autocmd. +Solution: Only trigger the autocommand when yanking in Vim, not for getting + the selection. (closes #7367) +Files: src/clipboard.c, src/normal.c, src/register.c, + src/testdir/test_autocmd.vim + +Patch 8.2.2058 +Problem: Using mkview/loadview changes the jumplist. +Solution: Use ":keepjumps". Don't let ":badd" or ":balt" change the + jumplist. (closes #7371) +Files: src/session.c, src/ex_docmd.c, src/testdir/test_mksession.vim + +Patch 8.2.2059 +Problem: Amiga: can't find plugins. +Solution: Do not use "**" in the pattern. (Ola Söder, closes #7384) +Files: src/main.c + +Patch 8.2.2060 +Problem: Check for features implemented with "if". +Solution: Use the Check commands. (Ken Takata, closes #7383) +Files: src/testdir/test_autocmd.vim, src/testdir/test_compiler.vim, + src/testdir/test_delete.vim, src/testdir/test_diffmode.vim, + src/testdir/test_expr.vim, src/testdir/test_fold.vim + +Patch 8.2.2061 +Problem: Vim9: E1030 error when using empty string for term_sendkeys(). +Solution: Don't check for an invalid type unless the terminal can't be + found. (closes #7382) +Files: src/terminal.c, src/testdir/test_termcodes.vim + +Patch 8.2.2062 +Problem: <Cmd> does not handle CTRL-V. +Solution: Call get_literal() after encountering CTRL-V. (closes #7387) +Files: src/getchar.c, src/testdir/test_mapping.vim + +Patch 8.2.2063 +Problem: Vim9: only one level of indexing supported. +Solution: Handle more than one index in an assignment. +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_assign.vim + +Patch 8.2.2064 +Problem: terminal: cursor is on while redrawing, causing flicker. +Solution: Switch the cursor off while redrawing. Always add the top and + left offset to the cursor position when not done already. + (closes #5943) +Files: src/terminal.c, src/popupwin.c + +Patch 8.2.2065 +Problem: Using map() and filter() on a range() is inefficient. +Solution: Do not materialize the range. (closes #7388) +Files: src/list.c, src/testdir/test_functions.vim + +Patch 8.2.2066 +Problem: Vim9: assignment with += doesn't work. +Solution: Do not see the "+" as an addition operator. +Files: src/eval.c, src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2067 (after 8.2.2064) +Problem: Cursor position in popup terminal is wrong. +Solution: Don't check the flags. +Files: src/terminal.c, src/testdir/test_popupwin.vim + +Patch 8.2.2068 +Problem: Transparent syntax item uses start/end of containing region. +Solution: Do not change the startpos and endpos of a transparent region to + that of its containing region. (Adrian Ghizaru, closes #7349, + closes #7391) +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.2.2069 +Problem: The quickfix window is not updated after setqflist(). +Solution: Update the quickfix buffer. (Yegappan Lakshmanan, closes #7390, + closes #7385) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.2070 +Problem: Can't get the exit value in VimLeave or VimLeavePre autocommands. +Solution: Add v:exiting like in Neovim. (Yegappan Lakshmanan, closes #7395) +Files: runtime/doc/autocmd.txt, runtime/doc/eval.txt, src/evalvars.c, + src/main.c, src/testdir/test_exit.vim, src/vim.h + +Patch 8.2.2071 +Problem: Vim9: list assign doesn't accept an empty remainder list. +Solution: Recognize list assignment with ";". +Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2072 +Problem: Vim9: list assign not well tested. +Solution: Test with different destinations. Fix white space error. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2073 +Problem: Vim9: for with unpack only works for local variables. +Solution: Recognize different destinations. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2074 +Problem: Vim9: using :normal from Vim9 script can't handle range. +Solution: Execute a :normal command in legacy script context. (closes #7401) +Files: src/structs.h, src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2075 +Problem: Error for const argument to mapnew(). +Solution: Don't give an error. (closes #7400) +Files: src/list.c, src/testdir/test_filter_map.vim + +Patch 8.2.2076 +Problem: MS-Windows console: sometimes drops typed characters. +Solution: Do not wait longer than 10 msec for input. (issue #7164) +Files: src/os_win32.c + +Patch 8.2.2077 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/structs.h, src/ex_docmd.c + +Patch 8.2.2078 +Problem: Illegal memory access when using :print on invalid text. (Dhiraj + Mishra) +Solution: Check for more composing characters than supported. (closes #7399) +Files: src/message.c, src/testdir/test_utf8.vim + +Patch 8.2.2079 +Problem: Vim9: cannot put a linebreak before or after "in" of ":for". +Solution: Skip over linebreak. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2080 +Problem: Vim9: no proper error message for using s:var in for loop. +Solution: Give a specific error. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2081 +Problem: Vim9: cannot handle a linebreak after "=" in assignment. +Solution: Skip over linebreak. (closes #7407) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2082 +Problem: Vim9: can still use the deprecated #{} dict syntax. +Solution: Remove support for #{} in Vim9 script. (closes #7406, closes #7405) +Files: src/dict.c, src/proto/dict.pro, src/eval.c, src/vim9compile.c, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_popupwin.vim, + src/testdir/test_textprop.vim + +Patch 8.2.2083 +Problem: Vim9: crash when using ":silent!" and getting member fails. +Solution: Jump to on_fatal_error. (closes #7412) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2084 +Problem: CTRL-V U doesn't work to enter a Unicode character when + modifyOtherKeys is effective. (Ken Takata) +Solution: Add a flag to get_literal() for the shift key. (closes #7413) +Files: src/edit.c, src/proto/edit.pro, src/ex_getln.c, src/getchar.c, + src/normal.c, src/testdir/test_termcodes.vim + +Patch 8.2.2085 +Problem: Qt translation file is recognized as typescript. +Solution: Check the first line for "<?xml". (closes #7418) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2086 +Problem: Libvterm tests are only run on Linux. +Solution: Use static libraries. (Ozaki Kiichi, closes #7419) +Files: .travis.yml, src/Makefile, src/libvterm/Makefile, + src/libvterm/t/run-test.pl + +Patch 8.2.2087 +Problem: Vim9: memory leak when statement is truncated. +Solution: Increment the number of local variables. +Files: src/vim9compile.c + +Patch 8.2.2088 +Problem: Vim9: script test sometimes fails. +Solution: Unlet variables. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2089 +Problem: Libvterm test fails to build on Mac. +Solution: Adjust configure to remove a space between -L and the path that + follows. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2090 +Problem: Vim9: dict does not accept a key in quotes. +Solution: Recognize a key in single or double quotes. +Files: runtime/doc/vim9.txt, src/dict.c, src/proto/dict.pro, + src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2091 +Problem: MS-Windows: build warnings. +Solution: Add a #pragma to suppress the deprecation warning. (Ken Takata) + Avoid using a non-ASCII character. (closes #7421) +Files: src/message.c, src/os_win32.c + +Patch 8.2.2092 +Problem: Vim9: unpredictable errors for script tests. +Solution: Use a different script file name for each run. +Files: src/testdir/vim9.vim, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_quickfix.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2093 +Problem: Vim9: script test sometimes fails. +Solution: Do not find a script variable by its typval if the name was + cleared. +Files: src/vim9script.c + +Patch 8.2.2094 +Problem: When an expression fails getting the next command may be wrong. +Solution: Do not check for a next command after :eval fails. (closes #7415) +Files: src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2095 +Problem: Vim9: crash when failed dict member is followed by concatenation. +Solution: Remove the dict from the stack. (closes #7416) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2096 +Problem: Vim9: command modifiers not restored after assignment. +Solution: Jump to nextline instead of using continue. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2097 +Problem: Vim9: using :silent! when calling a function prevents aborting + that function. +Solution: Add emsg_silent_def and did_emsg_def. +Files: src/globals.h, src/message.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2098 +Problem: Vim9: function argument of sort() and map() not tested. +Solution: Add a couple of tests. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.2099 +Problem: Vim9: some checks are not tested. +Solution: Add a few more tests. Give better error messages. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2100 +Problem: Insufficient testing for function range and dict. +Solution: Add a few tests. (Dominique Pellé, closes #7428) +Files: src/testdir/test_functions.vim, src/testdir/test_lambda.vim, + src/testdir/test_signals.vim, src/testdir/test_user_func.vim + +Patch 8.2.2101 +Problem: Vim9: memory leak when literal dict has an error and when an + expression is not complete. +Solution: Clear the typval and the growarray. +Files: src/dict.c, src/vim9compile.c + +Patch 8.2.2102 +Problem: Vim9: not all error messages tested. +Solution: Add a few test cases. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.2103 +Problem: Vim9: unreachable code. +Solution: Remove the code to prepend s: to the variable name +Files: src/vim9compile.c + +Patch 8.2.2104 +Problem: Build problem with Ruby 2.7. +Solution: Adjust function declarations. (Ozaki Kiichi, closes #7430) +Files: src/configure.ac, src/auto/configure, src/if_ruby.c + +Patch 8.2.2105 +Problem: Sound test is a bit flaky. +Solution: Use WaitForAssert(). (Dominique Pellé, closes #7429) +Files: src/testdir/test_sound.vim + +Patch 8.2.2106 +Problem: TOML files are not recognized. +Solution: Match *.toml. (issue #7432) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2107 +Problem: Vim9: some errors not tested. +Solution: Add tests. Fix getting the right error. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2108 +Problem: Vim9: no test to check for :let error. +Solution: Add a test. Rename tests from _let_ to _var_. +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.2109 +Problem: "vim -" does not work well when modifyOtherKeys is enabled and a + shell command is executed on startup. +Solution: Only change modifyOtherKeys when executing a shell command in raw + mode. +Files: src/os_unix.c + +Patch 8.2.2110 +Problem: Cannot use ":shell" when reading from stdin. (Gary Johnson) +Solution: Revert patch 8.2.1833. +Files: src/main.c + +Patch 8.2.2111 +Problem: GTK: Menu background is the same color as the main window. +Solution: Fix white space around the text in another way. (closes #7437, + closes #7427) +Files: src/gui_gtk_x11.c + +Patch 8.2.2112 +Problem: Running tests may leave some files behind. +Solution: Delete the right files. Fix a few typos. (Dominique Pellé, + closes #7436) +Files: src/testdir/test_filetype.vim, src/testdir/test_messages.vim, + src/testdir/test_mksession.vim + +Patch 8.2.2113 +Problem: MS-Windows GUI: crash after using ":set guifont=" four times. +Solution: Check for NULL pointer. (Ken Takata, closes #7434) +Files: src/gui_dwrite.cpp, src/testdir/test_gui.vim + +Patch 8.2.2114 +Problem: Vim9: unreachable code in assignment. +Solution: Remove impossible condition and code. +Files: src/vim9compile.c + +Patch 8.2.2115 +Problem: Vim9: some errors not tested for; dead code. +Solution: Add a test. Remove dead code. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2116 +Problem: MS-Windows GUI: test for 'guifont' is incomplete. +Solution: Set 'renderoptions'. (Christian Brabandt) +Files: src/testdir/test_gui.vim + +Patch 8.2.2117 +Problem: Some functions use any value as a string. +Solution: Check that the value is a non-empty string. +Files: src/typval.c, src/proto/typval.pro, src/mbyte.c, src/filepath.c, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2118 +Problem: Dead code in the job support. (Dominique Pellé) +Solution: Define USE_ARGV before checking for it. +Files: src/job.c + +Patch 8.2.2119 +Problem: GTK3: status line background color is wrong. +Solution: Don't change the code for earlier GTK3 versions. (closes #7444) +Files: src/gui_gtk_x11.c + +Patch 8.2.2120 +Problem: Not all Perl functionality is tested. +Solution: Add a few more test cases. (Dominique Pellé, closes #7440) +Files: src/testdir/test_perl.vim + +Patch 8.2.2121 +Problem: Internal error when using \ze before \zs in a pattern. +Solution: Check the end is never before the start. (closes #7442) +Files: src/regexp_bt.c, src/regexp_nfa.c, + src/testdir/test_regexp_latin.vim + +Patch 8.2.2122 +Problem: Vim9: crash when sourcing vim9script early. +Solution: Use set_option_value() instead of setting p_cpo directly. + (closes #7441) +Files: src/scriptfile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2123 +Problem: After using a complete popup the buffer is listed. (Boris + Staletic) +Solution: Make the buffer unlisted. +Files: src/popupmenu.c, src/testdir/test_popupwin.vim + +Patch 8.2.2124 +Problem: Vim9: a range cannot be computed at runtime. +Solution: Add the ISN_RANGE instruction. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2125 (after 8.2.2122) +Problem: Vim9: leaking memory. +Solution: Free the saved 'cpo' value. +Files: src/scriptfile.c + +Patch 8.2.2126 +Problem: Ruby: missing function prototype. +Solution: Add the prototype. +Files: src/if_ruby.c + +Patch 8.2.2127 +Problem: Vim9: executing user command defined in Vim9 script not tested. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2128 +Problem: There is no way to do something on CTRL-Z. +Solution: Add VimSuspend and VimResume autocommand events. (closes #7450) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/ex_docmd.c, + src/normal.c, src/testdir/test_suspend.vim, src/vim.h + +Patch 8.2.2129 +Problem: MS-Windows: Checking if a file name is absolute is slow. +Solution: Do not use mch_FullName(). (closes #7033) +Files: src/os_mswin.c + +Patch 8.2.2130 +Problem: Insert mode completion messages end up in message history. +Solution: Set msg_hist_off. (closes #7452) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.2131 +Problem: Vim9: crash when lambda uses same var as assignment. +Solution: Do not let lookup_local change lv_from_outer, make a copy. + (closes #7461) +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.2132 +Problem: Padding not drawn properly for popup window with title. +Solution: Draw the padding below the title. (closes #7460) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_longtitle_3.dump, + src/testdir/dumps/Test_popupwin_longtitle_4.dump + +Patch 8.2.2133 +Problem: Vim9: checking for a non-empty string is too strict. +Solution: Check for any string. (closes #7447) +Files: src/typval.c, src/proto/typval.pro, src/errors.h, src/filepath.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2134 +Problem: Vim9: get E1099 when autocmd triggered in builtin function. +Solution: Check that did_emsg increased instead of checking that it changed. + (closes #7448) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2135 +Problem: Vim9: #{ still seen as start of dict in some places. +Solution: Remove check for { after #. (closes #7456) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2136 +Problem: Vim9: Using uninitialized variable. +Solution: Initialize "len" to zero. Clean up fnamemodify(). +Files: src/filepath.c + +Patch 8.2.2137 +Problem: Vim9: :echo and :execute give error for empty argument. +Solution: Ignore an empty argument. (closes #7468) +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2138 +Problem: Vim9: "exit_cb" causes Vim to exit. +Solution: Require white space after a command in Vim9 script. (closes #7467) + Also fix that Vim9 style heredoc was not always recognized. +Files: src/ex_cmds.h, src/ex_docmd.c, src/errors.h, src/userfunc.c, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_let.vim + +Patch 8.2.2139 +Problem: Vim9: unreachable code in assignment. +Solution: Don't check "new_local" when "has_index" is set. Add test for + wrong type of list index. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2140 +Problem: Build failure with tiny features. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.2141 +Problem: A user command with try/catch may not catch an expression error. +Solution: When an expression fails check for following "|". (closes #7469) +Files: src/eval.c, src/testdir/test_trycatch.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.2142 +Problem: Memory leak when heredoc is not terminated. +Solution: Free heredoc_trimmed. +Files: src/userfunc.c + +Patch 8.2.2143 +Problem: Vim9: dead code in compiling :unlet. +Solution: Don't check for "!" a second time. +Files: src/vim9compile.c + +Patch 8.2.2144 +Problem: Vim9: some corner cases not tested. +Solution: Add a few tests. +Files: src/testdir/test_vim9_script.vim, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2145 +Problem: Vim9: concatenating lists does not adjust type of result. +Solution: When list member types differ use "any" member type. + (closes #7473) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2146 +Problem: Vim9: automatic conversion of number to string for dict key. +Solution: Do not convert number to string. (closes #7474) +Files: src/dict.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2147 +Problem: Quickfix window title not updated in all tab pages. +Solution: Update the quickfix window title in all tab pages. (Yegappan + Lakshmanan, closes #7481, closes #7466) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.2148 +Problem: Vim9: crash when user command doesn't match. +Solution: Adjust command index. (closes #7479) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2149 +Problem: Popupwin test for latin1 sometimes fails. +Solution: Wait for the script to finish. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.2150 +Problem: Github actions CI isn't used for all available platforms. +Solution: Update the github workflows. (Ozaki Kiichi, closes #7433) +Files: .coveralls.yml, .github/workflows/ci-windows.yaml, + .github/workflows/ci.yml, .travis.yml, README.md, + ci/build-snd-dummy.sh, ci/setup-xvfb.sh + +Patch 8.2.2151 +Problem: $dir not expanded when configure checks for moonjit. +Solution: Use double quotes instead of single quotes. (closes #7478) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2152 +Problem: screenpos() does not include the WinBar offset. +Solution: Use W_WINROW() instead of directly using w_window. (closes #7487) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.2.2153 +Problem: Popupwin test for latin1 still fails sometimes. +Solution: Wait for the "cat" command to finish. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.2154 +Problem: Popupwin test for terminal buffer fails sometimes. +Solution: Wait for the prompt to appear. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.2155 +Problem: Warning from Github actions for code analysis. +Solution: Remove the "git checkout HEAD^2" block. +Files: .github/workflows/codeql-analysis.yml + +Patch 8.2.2156 +Problem: Github actions run on pushing a tag. +Solution: Don't run CI on tag push. Omit coveralls on pull-request. + (Ozaki Kiichi, closes #7489) +Files: .github/workflows/ci.yml, .github/workflows/codeql-analysis.yml + +Patch 8.2.2157 +Problem: Vim9: can delete a Vim9 script variable from a function. +Solution: Check the variable is defined in Vim9 script. (closes #7483) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2158 +Problem: CI on cirrus times out, coveralls doesn't always run. +Solution: Set timeout to 20 minutes. Adjust condition. (closes #7493) +Files: .cirrus.yml, .github/workflows/ci.yml + +Patch 8.2.2159 +Problem: Vim9: when declaring a list it is not allocated yet, causing a + following extend() to fail. +Solution: When fetching a variable value for a list or dict that is null + allocate the list or dict, so it can be used. (closes #7491) +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2160 +Problem: Various typos. +Solution: Fix spelling mistakes. (closes #7494) +Files: src/bufwrite.c, src/cindent.c, src/cmdexpand.c, src/eval.c, + src/ex_cmds.c, src/feature.h, src/getchar.c, src/gui_haiku.cc, + src/gui_xmdlg.c, src/help.c, src/if_ole.cpp, src/insexpand.c, + src/list.c, src/map.c, src/memline.c, src/normal.c, + src/os_win32.c, src/search.c, src/term.c, + src/testdir/test_arglist.vim, src/testdir/test_autocmd.vim, + src/testdir/test_debugger.vim, src/testdir/test_increment.vim, + src/testdir/test_menu.vim, src/testdir/test_netbeans.vim, + src/testdir/test_popupwin.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_sort.vim, + src/testdir/test_terminal2.vim, src/testdir/test_terminal3.vim, + src/testdir/test_vartabs.vim, src/testdir/test_vimscript.vim, + src/textprop.c, src/userfunc.c, src/vim9.h, src/vim9compile.c, + src/vim9execute.c + +Patch 8.2.2161 +Problem: Arguments -T and -x not tested yet. +Solution: Add a test. (Dominique Pellé, closes #7490) +Files: src/testdir/test_startup.vim + +Patch 8.2.2162 +Problem: Vim9: Cannot load or store autoload variables. +Solution: Add ISN_LOADAUTO and ISN_STOREAUTO. (closes #7485) +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/dict.c, + src/eval.c, src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2163 +Problem: Crash when discarded exception is the current exception. +Solution: Compare the exception with current_exception. (closes #7499) +Files: src/ex_eval.c + +Patch 8.2.2164 +Problem: Vim9: autoload function doesn't work in script that starts with + an upper case letter. +Solution: Check for the autoload character. (closes #7502) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2165 +Problem: Vim9: assignment to dict member does not work. +Solution: Fix recognizing dict member. (closes #7484) +Files: src/ex_docmd.c, src/eval.c, src/evalvars.c, src/vim.h + +Patch 8.2.2166 +Problem: Auto format doesn't work when deleting text. +Solution: Make "x" trigger auto format. (closes #7504) +Files: src/ops.c, src/testdir/test_textformat.vim + +Patch 8.2.2167 +Problem: Vim9: assign test fails. (Elimar Riesebieter) +Solution: Adjust the test for dict assignment. +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.2168 +Problem: Vim9: error for assigning to dict of dict. +Solution: Remember the destination type. (closes #7506) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2169 +Problem: Vim9: test leaves file behind. +Solution: Rename script files. (Dominique Pellé, closes #7511) + Use try/finally. +Files: src/testdir/test_vim9_script.vim, src/testdir/vim9.vim + +Patch 8.2.2170 +Problem: Vim9: a global function defined in a :def function fails if it + uses the context. +Solution: Create a partial to store the closure context. (see #7410) +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9execute.c, + src/structs.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2171 +Problem: Valgrind warning for using uninitialized value. +Solution: Do not use "startp" or "endp" unless there is a match. +Files: src/regexp_nfa.c + +Patch 8.2.2172 +Problem: Vim9: number of arguments is not always checked. (Yegappan + Lakshmanan) +Solution: Check number of arguments when calling function by name. +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9execute.c, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.2173 +Problem: Vim9: get internal error when assigning to undefined variable. +Solution: Add error message. (closes #7475) +Files: src/vim9compile.c, src/vim9execute.c, src/errors.h, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2174 +Problem: Mac version doesn't specify the CPU architecture. +Solution: Add "arm64" or "x86_64". (Yee Cheng Chin, closes #7519) +Files: src/version.c + +Patch 8.2.2175 +Problem: Github actions: clang-11 handling suboptimal. +Solution: Separate step of installing clang-11. Get ubuntu release name + dynamically. (Ozaki Kiichi, closes #7514) +Files: .github/workflows/ci.yml + +Patch 8.2.2176 +Problem: Crash with a sequence of fold commands. +Solution: Bail out when there are no folds at all. Add a test (Dominique + Pellé) (closes #7515) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.2177 +Problem: Pattern "^" does not match if the first character in the line is + combining. (Rene Kita) +Solution: Do accept a match at the start of the line. (closes #6963) +Files: src/regexp_nfa.c, src/testdir/test_regexp_utf8.vim + +Patch 8.2.2178 +Problem: Python 3: non-utf8 character cannot be handled. +Solution: Change the string decode. (Björn Linse, closes #1053) +Files: src/if_py_both.h, src/if_python.c, src/if_python3.c, + src/testdir/test_python3.vim, src/testdir/test_python2.vim + +Patch 8.2.2179 +Problem: Vim9: crash when indexing a dict with a number. +Solution: Add ISN_STOREINDEX. (closes #7513) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/errors.h, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2180 +Problem: Vim9: test for error after error is flaky. +Solution: Wait for job to finish instead of a fixed delay. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2181 +Problem: Valgrind warnings for using uninitialized value. +Solution: Do not use "start" or "end" unless there is a match. +Files: src/regexp_nfa.c, src/regexp_bt.c + +Patch 8.2.2182 +Problem: Vim9: value of 'magic' is still relevant. +Solution: Always behave like 'magic' is on in Vim9 script (closes #7509) +Files: src/option.c, src/proto/option.pro, src/arglist.c, src/buffer.c, + src/cmdexpand.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, + src/insexpand.c, src/normal.c, src/search.c, src/tag.c, + src/structs.h, src/globals.h, src/ex_cmds.h, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2183 +Problem: Vim9: value of 'edcompatible' and 'gdefault' are used. +Solution: Ignore these deprecated options in Vim9 script. (closes #7508) +Files: src/ex_cmds.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2184 +Problem: Vim9: no error when using "2" for a line number. +Solution: Give an error message if the line number is invalid. (closes #7492) +Files: src/typval.c, src/evalfunc.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_cursor_func.vim + +Patch 8.2.2185 +Problem: BufUnload is not triggered for the quickfix dummy buffer. +Solution: Do trigger BufUnload. (Pontus Leitzler, closes #7518, closes #7517) + Fix white space around "=". +Files: src/quickfix.c, src/testdir/test_autocmd.vim + +Patch 8.2.2186 +Problem: Vim9: error when using 'opfunc'. +Solution: Do not expect a return value from 'opfunc'. (closes #7510) +Files: src/eval.c, src/proto/eval.pro, src/ops.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2187 +Problem: Python 3 test fails sometimes. (Christian Brabandt) +Solution: Accept two SystemError messages. +Files: src/testdir/test_python3.vim + +Patch 8.2.2188 +Problem: Vim9: crash when calling global function from :def function. +Solution: Set the outer context. Define the partial for the context on the + original function. Use a refcount to keep track of which ufunc is + using a dfunc. (closes #7525) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9execute.c, + src/proto/vim9execute.pro, src/userfunc.c, src/proto/userfunc.pro, + src/structs.h, src/vim9.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2189 +Problem: Cannot repeat a command that uses the small delete register. +Solution: Store the register name instead of the contents. (Christian + Brabandt, closes #7527) +Files: src/ops.c, src/register.c, src/testdir/test_registers.vim + +Patch 8.2.2190 +Problem: Vim9: crash when compiled with EXITFREE. +Solution: Check that df_ufunc is not NULL. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2191 +Problem: Vim9: using wrong name with lambda in nested function. +Solution: Copy the lambda name earlier. (closes #7525) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2192 +Problem: Codecov on github actions fails. +Solution: Revert to codecov script. (Ozaki Kiichi, closes #7529) +Files: Filelist, .github/workflows/ci.yml + +Patch 8.2.2193 +Problem: Vim9: can change constant in :def function. +Solution: Check if a variable is locked. (issue #7526) +Files: src/evalvars.c, src/proto/evalvars.pro, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2194 +Problem: Vim9: cannot use :const or :final at the script level. +Solution: Support using :const and :final. (closes #7526) +Files: src/vim.h, src/evalvars.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2195 +Problem: Failing tests for :const. +Solution: Add missing check for ASSIGN_FINAL. +Files: src/eval.c, src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2196 +Problem: :version output has extra spaces in compile and link command. +Solution: Adjust QUOTESED. (closes #7505) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2197 +Problem: Assert arguments order reversed. +Solution: Swap the arguments. (Christian Brabandt, closes #7531) +Files: src/testdir/test_registers.vim + +Patch 8.2.2198 +Problem: ml_get error when resizing window and using text property. +Solution: Validate botline of the right window. (closes #7528) +Files: src/move.c, src/proto/move.pro, src/textprop.c, + src/testdir/test_textprop.vim + +Patch 8.2.2199 +Problem: First write after setting 'eol' does not have NL added. (Tomáš + Janoušek) +Solution: Only use b_no_eol_lnum when doing a binary write. (closes #7535) +Files: src/bufwrite.c, src/testdir/test_writefile.vim + +Patch 8.2.2200 +Problem: Vim9: lambda without white space around -> is confusing. +Solution: Require white space in a :def function. (issue #7503) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2201 +Problem: Write file test fails on MS-Windows. +Solution: Force edit after setting 'fileformat'. +Files: src/testdir/test_writefile.vim + +Patch 8.2.2202 +Problem: Write file test still fails on MS-Windows. +Solution: Set fileformat with the :edit command +Files: src/testdir/test_writefile.vim + +Patch 8.2.2203 +Problem: Moodle gift files are not recognized. +Solution: Add a filetype pattern. (Delim Temizer) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2204 +Problem: Vim9: using -> both for method and lambda is confusing. +Solution: Use => for lambda in :def function. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/userfunc.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2205 +Problem: Vim9: memory leak when parsing lambda fails. +Solution: Clear growarrays. +Files: src/userfunc.c + +Patch 8.2.2206 +Problem: :exe command line completion only works for first argument. +Solution: Skip over text if more is following. (closes #7546) +Files: src/eval.c, src/testdir/test_cmdline.vim + +Patch 8.2.2207 +Problem: Illegal memory access if popup menu items are changed while the + menu is visible. (Tomáš Janoušek) +Solution: Make a copy of the text. (closes #7537) +Files: src/popupmenu.c, src/testdir/test_popup.vim, + src/testdir/dumps/Test_popup_command_04.dump, + src/testdir/dumps/Test_popup_command_05.dump + +Patch 8.2.2208 +Problem: Vim9: after reloading a script variable index may be invalid. +Solution: When the sequence number doesn't match give an error for using a + script-local variable from a compiled function. (closes #7547) +Files: src/vim9.h, src/structs.h, src/errors.h, src/vim9compile.c, + src/vim9execute.c, src/scriptfile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2209 +Problem: Vim9: return type of => lambda not parsed. +Solution: Parse and use the return type. +Files: src/vim9compile.c, src/userfunc.c, src/vim9type.c, + src/proto/vim9type.pro, src/vim9script.c, src/eval.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2210 +Problem: Vim9: allocating a type to set TTFLAG_BOOL_OK. +Solution: Add t_number_bool. +Files: src/globals.h, src/vim9type.c, src/vim9compile.c + +Patch 8.2.2211 +Problem: MS-Windows: can't load Python dll if not in the path. +Solution: Use the InstallPath registry entry. (Kelvin Lee, closes #7540) +Files: src/if_python3.c + +Patch 8.2.2212 +Problem: Vim9: lambda with => does not work at the script level. +Solution: Make it work. +Files: src/eval.c, src/vim9type.c, src/userfunc.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2213 +Problem: Checking white space around -> is not backwards compatible. +Solution: Only check white space around =>. +Files: src/userfunc.c + +Patch 8.2.2214 +Problem: ":e#" does not give a warning for missing white space. +Solution: Adjust the check for white space. (closes #7545) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2215 +Problem: Vim9: `=expr` not recognized in global command. +Solution: Skip over pattern. (issue #7541) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2216 +Problem: Vim9: range with missing colon can be hard to spot. +Solution: Include the start of the range in the error. (closes #7543) +Files: src/errors.h, src/ex_docmd.c, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2217 +Problem: Vim9: command modifiers not restored in catch block. +Solution: Restore command modifiers. (closes #7542) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2218 +Problem: Vim9: failure if passing more arguments to a lambda than expected. +Solution: Only put expected arguments on the stack. (closes #7548) +Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2219 +Problem: Vim9: method call with expression not supported. +Solution: Implement expr->(expr)(). +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2220 +Problem: Vim9: memory leak when parsing nested parenthesis. +Solution: Clear newargs. +Files: src/userfunc.c + +Patch 8.2.2221 +Problem: If <Down> is mapped on the command line 'wildchar' is inserted. +Solution: Set KeyTyped when using 'wildchar'. (closes #7552) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.2222 +Problem: Vim9: cannot keep script variables when reloading. +Solution: Add the "noclear" argument to :vim9script. +Files: runtime/doc/vim9.txt, src/structs.h, src/scriptfile.c, + src/vim9script.c, src/ex_cmds.h, src/ex_docmd.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2223 +Problem: Vim9: Reloading marks a :def function as deleted. +Solution: Clear the function contents but keep the index. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2224 +Problem: Vim9: crash if script reloaded with different variable type. +Solution: Check the type when accessing the variable. +Files: src/vim9execute.c, src/vim9compile.c, src/vim9.h, src/vim9type.c, + src/proto/vim9type.pro, src/errors.h, src/evalvars.c, + src/vim9script.c, src/proto/vim9script.pro, + src/testdir/test_vim9_script.vim + +Patch 8.2.2225 +Problem: Vim9: error when using :import in legacy script twice. +Solution: Make it possible to redefine an import when reloading. +Files: src/vim9script.c, src/proto/vim9script.pro, src/structs.h, + src/evalvars.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2226 +Problem: Vim9: script test fails. +Solution: Add missing change. +Files: src/scriptfile.c + +Patch 8.2.2227 +Problem: Vim9: recognizing lambda is too complicated. +Solution: Call compile_lambda() and check for NOTDONE. +Files: src/vim9compile.c, src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2228 +Problem: Vim9: cannot use ":e #" because # starts a comment. +Solution: Support using %% instead of #. +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2229 +Problem: build failure without the +eval feature. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.2230 +Problem: Vim9: insert completion runs into error. +Solution: Insert colon before range. (closes #7556) +Files: src/insexpand.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2231 +Problem: When "--remote file" is used "file" is not reloaded. +Solution: When a :drop command is used for a file that is already displayed + in a window and it has not been changed, check if it needs to be + reloaded. (closes #7560) +Files: src/ex_cmds.c, src/testdir/test_clientserver.vim + +Patch 8.2.2232 +Problem: Compiler error for falling through into next case. +Solution: Move FALLTHROUGH below the #endif +Files: src/ex_docmd.c + +Patch 8.2.2233 +Problem: Cannot convert a byte index into a character index. +Solution: Add charidx(). (Yegappan Lakshmanan, closes #7561) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/test_functions.vim + +Patch 8.2.2234 +Problem: Command line wildmenu test often fails with Unix GUI. +Solution: Skip the test where it is expected to fail. +Files: src/testdir/test_cmdline.vim + +Patch 8.2.2235 +Problem: Build failure with some Ruby versions. +Solution: Adjust the code for Ruby 3.0. (Ozaki Kiichi, closes #7564) +Files: ci/config.mk.clang.sed, src/if_ruby.c + +Patch 8.2.2236 +Problem: 'scroll' option can change when setting the statusline or tabline + but the option context is not updated. +Solution: Update the script context when the scroll option is changed as a + side effect. (Christian Brabandt, closes #7533) +Files: runtime/doc/options.txt, src/scriptfile.c, + src/testdir/test_options.vim, src/vim.h, src/window.c + +Patch 8.2.2237 +Problem: CI on Mac fails in sed command. +Solution: Set LC_ALL to "C". (Ozaki Kiichi, closes #7565) +Files: .github/workflows/ci.yml + +Patch 8.2.2238 +Problem: Vim9: cannot load a Vim9 script without the +eval feature. +Solution: Support Vim9 script syntax without the +eval feature. +Files: src/ex_docmd.c, src/vim9script.c, src/globals.h, src/main.c, + src/autocmd.c, src/buffer.c, src/structs.h, src/menu.c, + src/scriptfile.c, src/usercmd.c, src/proto.h, src/errors.h + +Patch 8.2.2239 +Problem: Vim9: concatenating lines with backslash is inconvenient. +Solution: Support concatenating lines starting with '|', useful for + :autocmd, :command, etc. (closes #6702) +Files: runtime/doc/vim9.txt, src/scriptfile.c, src/vim9script.c, + src/proto/vim9script.pro, src/vim9compile.c, + src/proto/vim9compile.pro, src/userfunc.c, src/structs.h, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2240 +Problem: Clientserver test fails if full path is used. +Solution: Ignore the path preceding the file name. +Files: src/testdir/test_clientserver.vim + +Patch 8.2.2241 +Problem: Build with Ruby and clang may fail. +Solution: Adjust configure and sed script. (Ozaki Kiichi, closes #7566) +Files: ci/config.mk.clang.sed, src/auto/configure, src/configure.ac + +Patch 8.2.2242 +Problem: Vim9: line continuation with bar does not work at script level. +Solution: Check for Vim9 script. +Files: src/structs.h, src/ex_docmd.c, src/userfunc.c, src/scriptfile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2243 +Problem: Crash when popup mask contains zeroes. +Solution: Check boundaries properly. (closes #7569) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2244 +Problem: Crash when making the window width of the not-current window + negative. +Solution: Make sure the window width is not negative. (closes #7568) +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.2.2245 +Problem: Vim9: return value of winrestcmd() cannot be executed. +Solution: Put colons before each range. (closes #7571) +Files: src/evalwindow.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2246 +Problem: Cursor keys not recognized at the hit-Enter prompt after executing + an external command. +Solution: Change the codes for the extra cursor keys. (closes #7562) + Tune the delays to avoid test flakiness. +Files: runtime/doc/term.txt, src/term.c, src/testdir/test_terminal3.vim + +Patch 8.2.2247 +Problem: VMS: various smaller problems. +Solution: Fix VMS building and other problems. (Zoltan Arpadffy) +Files: src/term.c, src/gui_gtk_vms.h, src/os_vms_conf.h, src/gui_x11.c, + src/Make_vms.mms, src/macros.h, src/gui.h, src/os_unix.h + +Patch 8.2.2248 +Problem: ASAN error on exit with GUI. +Solution: Check the window still has lines. (Christian Brabandt, + closes #7573) +Files: src/term.c + +Patch 8.2.2249 +Problem: Termcodes test is flaky when used over ssh with X forwarding. +Solution: Set 'mousetime' to a larger value. (Dominique Pellé, closes #7576, + closes #7563) +Files: src/testdir/test_termcodes.vim + +Patch 8.2.2250 +Problem: Vim9: sublist is ambiguous. +Solution: Require white space around the colon. (closes #7409) +Files: src/vim9compile.c, src/eval.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2251 +Problem: Test failures in legacy script. +Solution: Check for Vim9 script. +Files: src/eval.c + +Patch 8.2.2252 +Problem: Vim9: crash when using lambda without return type in dict. +Solution: Without a return type use t_unknown. (closes #7587) +Files: src/vim9type.c, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2253 +Problem: Vim9: expr test fails. +Solution: Add missing assignment. +Files: src/userfunc.c + +Patch 8.2.2254 +Problem: Vim9: bool option type is number. +Solution: Have get_option_value() return a different value for bool and + number options. (closes #7583) +Files: src/option.h, src/option.c, src/proto/option.pro, src/evalvars.c, + src/if_mzsch.c, src/if_ruby.c, src/spell.c, src/typval.c, + src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2255 (after 8.2.2254) +Problem: Tcl test fails. +Solution: Change option handling. +Files: src/if_tcl.c + +Patch 8.2.2256 +Problem: Vim9: cannot use function( after line break in :def function. +Solution: Check for "(" after "function". (closes #7581) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2257 +Problem: Vim9: using -> for lambda is ambiguous. +Solution: Stop supporting ->, must use =>. +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2258 +Problem: Not all OCaml related files are detected. +Solution: Update OCaml file type detection. (Markus Mottl, closes #7590) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2259 +Problem: Test_Executable() fails when using chroot. +Solution: Ignore the difference between "sbin" and "bin". +Files: src/testdir/test_functions.vim + +Patch 8.2.2260 +Problem: Window resize test fails in very wide terminal. +Solution: Resize using the 'columns' option. (Vladimir Lomov, closes #7592) +Files: src/testdir/test_window_cmd.vim + +Patch 8.2.2261 +Problem: Vim9: boolean option gets string type. +Solution: Check for VAR_BOOL. (closes #7588) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2262 +Problem: Vim9: converting bool to string prefixes v:. +Solution: Do not use the v: prefix. +Files: src/evalvars.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2263 +Problem: Vim9: compilation error with try-catch in skipped block. +Solution: Do not bail out when generate_instr() returns NULL. (closes #7584) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2264 +Problem: Vim9: no error for mismatched :endfunc or :enddef. +Solution: Check for the mismatch. (issue #7582) +Files: src/errors.h, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2265 +Problem: Error message for missing endfunc/enddef is last line. +Solution: Report the line where the function starts. (closes #7582) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2266 +Problem: Vim9: it can be hard to see where white space is missing. +Solution: Mention the text where the error was seen. (closes #7580) +Files: src/errors.h, src/eval.c, src/evalvars.c, src/userfunc.c, + src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2267 +Problem: Vim9: cannot use unlet for a dict member. +Solution: Pass GLV_NO_DECL to get_lval(). (closes #7585) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2268 +Problem: Vim9: list unpack seen as declaration. +Solution: Check for "var". (closes #7594) +Files: src/vim9compile.c, src/evalvars.c, src/eval.c, src/vim.h, + src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2269 +Problem: Not all :hardcopy code covered by tests. +Solution: Test more combinations. (Dominique Pellé, closes #7595) +Files: src/testdir/test_hardcopy.vim + +Patch 8.2.2270 +Problem: Warning for size_t to int conversion. (Randall W. Morris) +Solution: Add a type cast. +Files: src/vim9execute.c + +Patch 8.2.2271 +Problem: ml_get error when changing hidden buffer in Python. +Solution: Block updating folds. (closes #7598) +Files: src/evalbuffer.c, src/testdir/test_python3.vim + +Patch 8.2.2272 +Problem: Vim9: extend() can violate the type of a variable. +Solution: Add the type to the dictionary or list and check items against it. + (closes #7593) +Files: src/structs.h, src/evalvars.c, src/dict.c, src/list.c, + src/vim9script.c, src/proto/vim9script.pro, src/vim9compile.c, + src/vim9execute.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2273 +Problem: Build failure. +Solution: Add missing changes to header file. +Files: src/vim9.h + +Patch 8.2.2274 +Problem: badge for Travis is outdated. +Solution: Update badge for move from travis-ci.org to travis-ci.com. +Files: README.md + +Patch 8.2.2275 +Problem: CTRL-C not recognized in Mintty. +Solution: Recognize the modifyOtherKeys code ending in "u". (Christian + Brabandt, closes #7575) +Files: src/ui.c + +Patch 8.2.2276 +Problem: List of distributed files is outdated. +Solution: Update the file list. Minor comment updates. +Files: Filelist, src/clipboard.c, src/fileio.c, src/option.c, + src/screen.c, src/testdir/test_signals.vim, + src/testdir/Make_vms.mms + +Patch 8.2.2277 +Problem: Missing backslash. +Solution: Add backslash. +Files: Filelist + +Patch 8.2.2278 +Problem: Falling back to old regexp engine can some patterns. +Solution: Do not fall back once [[:lower:]] or [[:upper:]] is used. + (Christian Brabandt, closes #7572) +Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_regexp_utf8.vim + +Patch 8.2.2279 +Problem: Vim9: memory leak with catch in skipped block. +Solution: Free the pattern if not used. +Files: src/vim9compile.c + +Patch 8.2.2280 +Problem: Fuzzy matching doesn't give access to the scores. +Solution: Return the scores with a third list. (Yegappan Lakshmanan, + closes #7596) +Files: runtime/doc/eval.txt, src/search.c, + src/testdir/test_matchfuzzy.vim + +Patch 8.2.2281 +Problem: Vim9: compiled "wincmd" cannot be followed by bar. +Solution: Check for bar after "wincmd". (closes #7599) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2282 +Problem: Length check mismatch with argument of strncmp(). (Christian + Brabandt) +Solution: Adjust length check. +Files: src/ui.c + +Patch 8.2.2283 +Problem: Vim9: crash when lambda has fewer arguments than expected. +Solution: Don't check arguments when already failed. (closes #7606) +Files: src/vim9type.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2284 +Problem: Vim9: cannot set an option to a boolean value. +Solution: Check for VAR_BOOL. (closes #7603) +Files: src/evalvars.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2285 +Problem: Vim9: cannot set an option to a false. +Solution: For VAR_BOOL use string "0". (closes #7603) +Files: src/evalvars.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2286 +Problem: Sort test fails when locale is Canadian English. (Neil H Watson) +Solution: Expect a different sort order. (closes #7609) +Files: src/testdir/test_sort.vim + +Patch 8.2.2287 +Problem: Sort test fails when locale is French Canadian. +Solution: Expect a different sort order. (Dominique Pellé, closes #7609) +Files: src/testdir/test_sort.vim + +Patch 8.2.2288 +Problem: Vim9: line break and comment not always skipped. +Solution: Skip over white space and then line break more consistently. + (closes #7610) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2289 +Problem: Vim9: 'cpo' can become empty. +Solution: Use empty_option instead of an empty string. Update quickfix + buffer after restoring 'cpo'. (closes #7608) +Files: src/evalfunc.c, src/syntax.c, src/eval.c, src/quickfix.c, + src/evalbuffer.c, src/ex_eval.c, src/gui_motif.c, src/map.c, + src/testdir/test_quickfix.vim + +Patch 8.2.2290 +Problem: Vim9: unlet of global variable cannot be compiled. +Solution: Skip over variables that might be defined later. Give an error if + a subscript is found. (closes #7585) +Files: src/eval.c, src/vim9compile.c, src/vim.h, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2291 +Problem: Vim9: cannot use "null" for v:null. +Solution: Support "null" like "true" and "false". (closes #7495) +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/evalvars.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2292 +Problem: Vim: expr test fails. +Solution: Add missing part of "null" support. +Files: src/eval.c + +Patch 8.2.2293 +Problem: Build failure with Motif. (Tony Mechelynck) +Solution: Use empty_option instead of empty_options. +Files: src/gui_motif.c + +Patch 8.2.2294 +Problem: VMS: a few remaining problems. +Solution: Add VMS specific changes. Add Lua support. (Zoltan Arpadffy) +Files: src/fileio.c, src/os_vms_conf.h, src/Make_vms.mms, src/macros.h, + src/os_vms.c, src/vim9execute.c, src/gui_xmebw.c, src/os_unix.h + +Patch 8.2.2295 +Problem: Incsearch does not detect empty pattern properly. +Solution: Return magic state when skipping over a pattern. (Christian + Brabandt, closes #7612, closes #6420) +Files: src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/globals.h, + src/option.c, src/tag.c, src/proto/regexp.pro, src/regexp.c, + src/search.c, src/structs.h, src/vim9compile.c, + src/testdir/dumps/Test_incsearch_sub_01.dump, + src/testdir/dumps/Test_incsearch_sub_02.dump, + src/testdir/test_search.vim + +Patch 8.2.2296 +Problem: Cannot use CTRL-N and CTRL-P in a popup menu. +Solution: Use CTRL-N like <Down> and CTRL-P like <Up>. (closes #7614) +Files: runtime/doc/popup.txt, src/popupwin.c, + src/testdir/test_popupwin.vim + +Patch 8.2.2297 +Problem: Vim9: cannot set 'number' to a boolean value. +Solution: Use tv_get_bool(). (closes #7615) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2298 +Problem: Vim9: comment right after "(" of function not recognized. +Solution: Do not skip over white space before calling get_function_args(). + (closes #7613) +Files: src/userfunc.c, src/proto/userfunc.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.2299 +Problem: Vim9: invalid memory access making error message flaky. +Solution: Do not check cmd_argt for CMD_USER. (issue #7467) +Files: src/ex_docmd.c, src/vim9execute.c, src/errors.h, + src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2300 +Problem: Vim9: wrong order on type stack when using dict. +Solution: Generate constants before a dict. (closes #7619) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2301 +Problem: Vim9: cannot unlet a dict or list item. +Solution: Add ISN_UNLETINDEX. Refactor assignment code to use for unlet. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2302 +Problem: Vim9: using an option value may use uninitialized memory. +Solution: Clear v_lock. (closes #7620) +Files: src/typval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2303 +Problem: Vim9: backtick expansion doesn't work for :foldopen. +Solution: Do recognize backtick expansion. (closes #7621) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2304 +Problem: Vim9: no test for unletting an imported variable. +Solution: Add a test. Fix line number in error. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2305 +Problem: Vim9: "++var" and "--var" are silently accepted. +Solution: Give an error message. +Files: src/vim9compile.c, src/eval.c, src/proto/eval.pro, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2306 +Problem: Vim9: when using function reference type is not checked. +Solution: When using a function reference lookup the type and check the + argument types. (issue #7629) +Files: src/userfunc.c, src/proto/userfunc.pro, src/eval.c, src/structs.h, + src/vim9type.c, src/proto/vim9type.pro, src/vim9compile.c, + src/vim9execute.c, src/evalvars.c, src/evalfunc.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2307 +Problem: A shell command in the vimrc causes terminal output. +Solution: Do not call starttermcap() after a shell command if the termcap + wasn't active before. +Files: src/ex_cmds.c + +Patch 8.2.2308 +Problem: Vim9: no error when assigning lambda to funcref without return + value. +Solution: Default return value to "any". (closes #7629) +Files: src/userfunc.c, src/vim9compile.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.2309 +Problem: 0o777 not recognized as octal. +Solution: Use vim_isodigit(). (Ken Takata, closes #7633, closes #7631) +Files: src/charset.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.2310 +Problem: Vim9: winsaveview() return type is too generic. +Solution: use dict<number> instead of dict<any>. (closes #7626) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2311 +Problem: Vim9: cannot assign to a variable that shadows a command modifier. +Solution: Check for assignment after possible command modifier. + (closes #7632) +Files: src/vim9compile.c, src/ex_docmd.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2312 +Problem: Build failure with Ruby 3.0 and 32 bits. +Solution: Add #ifdef. (closes #7638) +Files: src/if_ruby.c + +Patch 8.2.2313 +Problem: Vim9: using uninitialized field when parsing range. ":silent!" not + respected when parsing range fails. +Solution: Initialize ea.skip. On pattern failure handle it like an error. + (closes #7636) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2314 +Problem: Vim9: returning zero takes two instructions. +Solution: Add ISN_RETURN_ZERO. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2315 +Problem: Vim9: "enddef" as dict key misinterpreted as function end. +Solution: Check for following colon. (closes #7640) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2316 +Problem: Vim9: cannot list a lambda function. +Solution: Support the <lambda>9 notation, like :disassemble. (closes #7634) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2317 +Problem: Vim9: command modifier before list unpack doesn't work. +Solution: Only recognize "[" directly after the name. (closes #7641) +Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2318 +Problem: Vim9: string and list index work differently. +Solution: Make string index work like list index. (closes #7643) +Files: src/eval.c, src/proto/eval.pro, src/vim9execute.c, src/list.c, + src/proto/vim9execute.pro, src/testdir/test_vim9_expr.vim + +Patch 8.2.2319 +Problem: "exptype_T" can be read as "expected type". +Solution: Rename to "exprtype_T", expression type. +Files: src/eval.c, src/typval.c, src/proto/typval.pro, src/vim9compile.c, + src/proto/vim9compile.pro, src/vim9execute.c, src/structs.h, + src/vim9.h + +Patch 8.2.2320 +Problem: Vim9: no error for comparing bool with string. +Solution: Check for wrong types when comparing. (closes #7639) +Files: src/typval.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.2321 +Problem: Vim9: cannot nest closures. +Solution: Add the nesting level to ISN_LOADOUTER and ISN_STOREOUTER. + (closes #7150, closes #7635) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/structs.h, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2322 +Problem: Vim9: closure nested limiting to one level. +Solution: Add outer_T. Also make STOREOUTER work. +Files: src/vim9execute.c, src/vim9.h, src/structs.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.2323 +Problem: Vim9: error when inferring type from empty dict/list. +Solution: When the member is t_unknown use t_any. (closes #7009) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2324 +Problem: Not easy to get mark en cursor position by character count. +Solution: Add functions that use character index. (Yegappan Lakshmanan, + closes #7648) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/eval.c, + src/evalfunc.c, src/proto/eval.pro, src/tag.c, + src/testdir/test_cursor_func.vim, src/typval.c + +Patch 8.2.2325 +Problem: Vim9: crash if map() changes the item type. +Solution: Check that the item type is still OK. (closes #7652) + Fix problem with mapnew() on range list. +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9compile.c, + src/list.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.2326 +Problem: Build error with +eval feature but without +spell. +Solution: Adjust #ifdef. (John Marriott) +Files: src/mbyte.c + +Patch 8.2.2327 +Problem: Debugging code included. +Solution: Remove the debugging code. +Files: src/vim9execute.c + +Patch 8.2.2328 +Problem: Some test files may not be deleted. +Solution: Add a delete() call, correct name. (Dominique Pellé, closes #7654) +Files: src/testdir/test_clientserver.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2329 +Problem: Not all ways Vim can be started are tested. +Solution: Add a test for different program names. (Dominique Pellé, + closes #7651) +Files: src/testdir/test_startup.vim + +Patch 8.2.2330 +Problem: Vim9: crash when using :trow in a not executed block. +Solution: Don't generate the instruction when skipping. (closes #7659) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2331 +Problem: Vim9: wrong error when modifying dict declared with :final. +Solution: Do not check for writable variable when an index follows. + (closes #7657) +Files: src/vim9compile.c, src/structs.h, src/vim9script.c, + src/proto/vim9script.pro, src/evalvars.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2332 +Problem: Vim9: missing :endif not reported when using :windo. +Solution: Pass a getline function to do_cmdline(). (closes #7650) +Files: src/vim9execute.c, src/structs.h, src/scriptfile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2333 +Problem: Vim9: warning for uninitialized variable. (Tony Mechelynck) +Solution: Initialize "res". +Files: src/vim9execute.c + +Patch 8.2.2334 +Problem: Pascal-like filetypes not always detected. +Solution: Improved Puppet, InstantFPC and Pascal detection. (Doug Kearns, + closes #7662) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.2.2335 +Problem: Vim9: "silent return" does not restore command modifiers. +Solution: Restore command modifiers before returning. (closes #7649) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2336 +Problem: Vim9: it is not possible to extend a dictionary with different + item types. +Solution: Add extendnew(). (closes #7666) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/list.c, src/proto/list.pro, src/testdir/test_listdict.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2337 +Problem: Configure test for GTK only says "no". (Harm te Hennepe) +Solution: Hint that a -def package is needed. (closes #5229) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2338 +Problem: Vim9: no error if using job_info() result wrongly. +Solution: Adjust return type on number of arguments. (closes #7667) +Files: src/evalfunc.c, src/globals.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2339 +Problem: Cannot get the type of a value as a string. +Solution: Add typename(). +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vimscript.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2340 +Problem: win_execute() unexpectedly returns number zero when failing. +Solution: Return an empty string. (closes #7665) +Files: src/evalwindow.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_execute_func.vim + +Patch 8.2.2341 +Problem: Expression command line completion shows variables but not + functions after "g:". (Gary Johnson) +Solution: Prefix "g:" when needed to a global function. +Files: src/evalfunc.c, src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_cmdline.vim + +Patch 8.2.2342 +Problem: "char" functions return the wrong column in Insert mode when the + cursor is beyond the end of the line. +Solution: Compute the column correctly. (Yegappan Lakshmanan, closes #7669) +Files: src/eval.c, src/evalfunc.c, src/testdir/test_cursor_func.vim + +Patch 8.2.2343 +Problem: Vim9: return type of readfile() is any. +Solution: Add readblob() so that readfile() can be expected to always + return a list of strings. (closes #7671) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/filepath.c, src/proto/filepath.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2344 +Problem: Using inclusive index for slice is not always desired. +Solution: Add the slice() method, which has an exclusive index. (closes + #7408) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/eval.c, src/proto/eval.pro, src/vim9execute.c, + src/proto/vim9execute.pro, src/list.c, src/proto/list.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2345 +Problem: No focus events in a terminal. +Solution: Add the t_fd and t_fe termcap entries and implement detecting + focus events. (Hayaki Saito, Magnus Groß, closes #7673, + closes #609, closes #5526) +Files: runtime/doc/term.txt, src/optiondefs.h, src/term.c, src/term.h + +Patch 8.2.2346 +Problem: Codecov reports every little coverage drop. +Solution: Tolerate a 0.05% drop. Hide the appveyor config file. (Ozaki + Kiichi, closes #7678) +Files: .appveyor.yml, appveyor.yml, .codecov.yml + +Patch 8.2.2347 +Problem: Build failure without GUI. +Solution: Add #ifdef. +Files: src/term.c + +Patch 8.2.2348 (after 8.2.2345) +Problem: No check for modified files after focus gained. (Mathias Stearn) +Solution: Call ui_focus_change(). +Files: src/term.c, src/ui.c + +Patch 8.2.2349 +Problem: Vim9: cannot handle line break after parenthesis at line end. +Solution: Skip over line break. (closes #7677) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2350 +Problem: Using "void" for no reason. +Solution: Use "char *". +Files: src/ex_docmd.c + +Patch 8.2.2351 +Problem: Vim9: error message for "throw" in function that was called with + "silent!". +Solution: Do not throw the exception when not caught or displayed. + (closes #7672) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2352 +Problem: If the focus lost/gained escape sequence is received twice it is + not ignored. (Christ van Willegen) +Solution: Adjust the logic to ignore the escape code. +Files: src/term.c + +Patch 8.2.2353 +Problem: Sparql files are not detected. +Solution: Add the sparql filetype. (closes #7679) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2354 +Problem: Crash with a weird combination of autocommands. +Solution: Increment b_nwindows when needed. (closes #7674) +Files: src/ex_cmds.c, src/buffer.c, src/proto/buffer.pro, + src/testdir/test_autocmd.vim + +Patch 8.2.2355 +Problem: Stray test failure on Appveyor. +Solution: Finish insert command. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2356 +Problem: Vim9: ":put =expr" does not handle a list properly. +Solution: Use the same logic as eval_to_string_eap(). (closes #7684) +Files: src/vim9execute.c, src/eval.c, src/proto/eval.pro, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2357 +Problem: Vim9: crash when parsing function return type fails. +Solution: Bail out and set return type to "unknown". (closes #7685) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2358 +Problem: Wrong #ifdef for use_xterm_like_mouse(). +Solution: Use FEAT_MOUSE_XTERM. +Files: src/term.c + +Patch 8.2.2359 +Problem: Strange test failure with MS-Windows. +Solution: Skip the system() call for now. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2360 +Problem: Test leaves file behind. +Solution: Delete the right file. (Dominique Pellé, closes #7689) +Files: src/testdir/test_filetype.vim + +Patch 8.2.2361 +Problem: Vim9: no highlight for "s///gc" when using 'opfunc'. +Solution: Reset 'lazyredraw' temporarily. (closes #7687) +Files: src/ex_cmds.c + +Patch 8.2.2362 +Problem: Vim9: check of builtin function argument type is incomplete. +Solution: Use need_type() instead of check_arg_type(). +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/evalfunc.c, + src/proto/evalfunc.pro, src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2363 +Problem: curpos() does not accept a string argument as before. +solution: Make a string argument work again. (Yegappan Lakshmanan, + closes #7690) +Files: src/evalfunc.c, src/testdir/test_cursor_func.vim + +Patch 8.2.2364 +Problem: Vim9: line break in lambda accesses freed memory. +Solution: Make a copy of the return type. (closes #7664) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2365 +Problem: Vim9: no check for map() changing item type at script level. +Solution: Check the new value type. +Files: src/list.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2366 +Problem: When using ":sleep" the cursor is always displayed. +Solution: Do not display the cursor when using ":sleep!". (Jeremy Lerner, + closes #7688) +Files: runtime/doc/index.txt, runtime/doc/various.txt, src/ex_cmds.h, + src/ex_docmd.c, src/normal.c, src/proto/ex_docmd.pro, src/term.c, + src/testdir/Make_all.mak, src/testdir/test_sleep.vim + +Patch 8.2.2367 +Problem: Test failures on some less often used systems. +Solution: Adjust printf formats and types. (James McCoy, closes #7691) +Files: src/errors.h, src/evalfunc.c, src/list.c, src/vim9execute.c + +Patch 8.2.2368 +Problem: Insufficient tests for setting options. +Solution: Add a few tests. (Dominique Pellé, closes #7695) +Files: src/testdir/test_options.vim + +Patch 8.2.2369 +Problem: Vim9: functions return true/false but can't be used as bool. +Solution: Add ret_number_bool(). (closes #7693) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2370 +Problem: Vim9: command fails in catch block. +Solution: Reset force_abort and need_rethrow. (closes #7692) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2371 +Problem: Vim9: crash when using types in :for with unpack. +Solution: Check for skip_var_list() failing. Pass include_type to + skip_var_one(). Skip type when compiling. (closes #7694) +Files: src/vim9compile.c, src/evalvars.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2372 (after 8.2.2371) +Problem: Confusing error message for wrong :let command. +Solution: Only check for type in Vim9 script. +Files: src/evalvars.c + +Patch 8.2.2373 +Problem: Vim9: list assignment only accepts a number index. +Solution: Accept "any" and do a runtime type check. (closes #7694) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2374 +Problem: Accessing uninitialized memory in test_undo. +Solution: Do not look in typebuf.tb_buf if it is empty. (Dominique Pellé, + closes #7697) +Files: src/edit.c + +Patch 8.2.2375 +Problem: Test for RGB color skipped in the terminal. +Solution: Run the GUI if possible. +Files: src/testdir/test_highlight.vim + +Patch 8.2.2376 +Problem: Vim9: crash when dividing by zero in compiled code using + constants. +Solution: Call num_divide() and num_modulus(). (closes #7704) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2377 +Problem: Vim9: crash when using a range after another expression. +Solution: Set the variable type to number. Fix using :put with a range and + the "=" register. (closes #7706) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2378 +Problem: Vim9: no error message for dividing by zero. +Solution: Give an error message. (issue #7704) +Files: src/errors.h, src/eval.c, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2379 +Problem: Finding spell suggestions twice if 'spellsuggest' contains number. +Solution: Only do internal suggestions once. (closes #7713) +Files: src/spellsuggest.c + +Patch 8.2.2380 +Problem: Vim9: occasional crash when using try/catch and a timer. +Solution: Save and restore "need_rethrow" when invoking a timer callback. + (closes #7708) +Files: src/time.c + +Patch 8.2.2381 +Problem: Vim9: divide by zero does not abort expression execution. +Solution: Use a "failed" flag. (issue #7704) +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/vim9compile.c, + src/testdir/vim9.vim, src/testdir/test_vim9_assign.vim + +Patch 8.2.2382 (after 8.2.2381) +Problem: Build failure. +Solution: Add missing changes. +Files: src/vim9execute.c + +Patch 8.2.2383 +Problem: Focus escape sequences are not named in ":set termcap" output. +Solution: Add the names to the list. (closes #7718) +Files: src/misc2.c + +Patch 8.2.2384 +Problem: Turtle filetype not recognized. +Solution: Add a rule to detect turtle files. (closes #7722) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2385 +Problem: "gj" and "gk" do not work correctly when inside a fold. +Solution: Move check for folding. (closes #7724, closes #4095) +Files: src/normal.c, src/testdir/test_fold.vim + +Patch 8.2.2386 +Problem: Vim9: crash when using ":silent! put". +Solution: When ignoring an error for ":silent!" rewind the stack and skip + ahead to restoring the cmdmod. (closes #7717) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2387 +Problem: Runtime type check does not mention argument index. +Solution: Add ct_arg_idx. (closes #7720) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2388 +Problem: No easy way to get the maximum or minimum number value. +Solution: Add v:numbermax and v:numbermin. +Files: src/evalvars.c, src/vim.h, src/testdir/test_eval_stuff.vim, + runtime/doc/eval.txt + +Patch 8.2.2389 +Problem: Test failure on a few systems. +Solution: Avoid that "char" value is negative. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h + +Patch 8.2.2390 +Problem: Vim9: using positive offset is unexpected. +Solution: Use int8_T instead of char. (James McCoy) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c + +Patch 8.2.2391 +Problem: Memory leak when creating a global function with closure. +Solution: Create a separate partial for every instantiated function. +Files: src/userfunc.c, src/vim9execute.c + +Patch 8.2.2392 +Problem: Fennel filetype not recognized. +Solution: Detect with pattern and hashbang. (Chinmay Dalal, closes #7729) +Files: runtime/filetype.vim, runtime/scripts.vim, + src/testdir/test_filetype.vim + +Patch 8.2.2393 +Problem: Vim9: error message when script line starts with "[{". +Solution: Do not give an error for checking for end of list. +Files: src/dict.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2394 +Problem: Vim9: min() and max() return type is "any". +Solution: Use return type "number". (closes #7728) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2395 +Problem: Vim9: error for wrong type may report wrong line number. +Solution: Save and restore the line number when evaluating the expression. + (closes #7727) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2396 +Problem: Vim9: no white space allowed before "->". +Solution: Allow for white space. (closes #7725) +Files: src/ex_docmd.c, src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2397 +Problem: Vim9: "%%" not seen as alternate file name for commands with a + buffer name argument. +Solution: Recognize "%%" like "#". (closes #7732) +Files: src/buffer.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2398 (after 8.2.2396) +Problem: Method test fails. +Solution: Adjust test for allowed white space. +Files: src/testdir/test_method.vim + +Patch 8.2.2399 (after 8.2.2385) +Problem: Fold test fails in wide terminal. +Solution: Adjust the test. (Dominique Pelle, closes #7731, closes #7739) +Files: src/testdir/test_fold.vim + +Patch 8.2.2400 +Problem: Vim9: compiled functions are not profiled. +Solution: Add initial changes to profile compiled functions. Fix that a + script-local function was hard to debug. +Files: runtime/doc/repeat.txt, src/vim9.h, src/vim9compile.c, + src/vim9execute.c, src/userfunc.c, src/proto/vim9compile.pro, + src/structs.h, src/vim9type.c, src/debugger.c, src/ex_cmds.h, + src/ex_docmd.c, src/profiler.c, src/proto/profiler.pro, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_profile.vim + +Patch 8.2.2401 +Problem: Build fails without +profiling feature. +Solution: Add #ifdefs. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/structs.h, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2402 +Problem: Some filetypes not detected. +Solution: Detect Ruby Signature and Puppet related files. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2403 +Problem: Vim9: profiling if/elseif/endif not correct. +Solution: Add profile instructions. Fix that "elseif" was wrong. +Files: src/vim9compile.c, src/testdir/test_profile.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2404 +Problem: Vim9: profiling try/catch not correct. +Solution: Add profile instructions. Fix that "entry" did not rethrow an + exception. +Files: src/vim9compile.c, src/vim9execute.c, src/testdir/test_profile.vim + +Patch 8.2.2405 +Problem: Vim9: no need to allow white space before "(" for :def. +Solution: Give an error for stray white space. (issue #7734) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2406 +Problem: Vim9: profiled :def function leaks memory. +Solution: Delete the profiled instructions. +Files: src/vim9compile.c + +Patch 8.2.2407 +Problem: Old jumplist code is never used. +Solution: Delete the dead code. (Yegappan Lakshmanan, closes #7740) +Files: src/mark.c + +Patch 8.2.2408 +Problem: MinGW: "--preprocessor" flag no longer supported. +Solution: Remove the flag, use the defaults. (Christopher Wellons, + closes #7741) +Files: src/GvimExt/Make_ming.mak, src/Make_cyg_ming.mak + +Patch 8.2.2409 +Problem: Vim9: profiling only works for one function. +Solution: Select the right instructions when calling and returning. + (closes #7743) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_profile.vim + +Patch 8.2.2410 +Problem: Build failure without the +profiling feature. +Solution: Add dummy argument to macro. +Files: src/vim9.h + +Patch 8.2.2411 +Problem: Profile test fails on MS-Windows. +Solution: Do the profiling in a separate Vim command. +Files: src/testdir/test_profile.vim + +Patch 8.2.2412 +Problem: Not all fields in "cstack" are initialized which might cause a + crash. +Solution: Use CLEAR_FIELD(). +Files: src/ex_docmd.c + +Patch 8.2.2413 +Problem: Crash when using :all while using a cmdline window. (Zdenek Dohnal) +Solution: Disallow :all from the cmdline window. +Files: src/arglist.c, src/ex_getln.c, src/testdir/test_arglist.vim + +Patch 8.2.2414 +Problem: Using freed memory when closing the cmdline window. +Solution: Check the window is still valid. +Files: src/ex_getln.c + +Patch 8.2.2415 +Problem: No way to check for the cmdwin feature, cmdline_hist is now always + enabled. +Solution: Add has('cmdwin') support. Skip arglist test on Windows + temporarily. +Files: runtime/doc/cmdline.txt, src/evalfunc.c, + src/testdir/test_autocmd.vim, src/testdir/test_arglist.vim, + src/testdir/test_cmdline.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_normal.vim, src/testdir/test_tabpage.vim, + src/testdir/test_termcodes.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.2416 +Problem: May get stuck in command line window state. +Solution: Reset "cmdwin_type" when editing buffer fails. Make arglist test + pass on MS-Windows. +Files: src/ex_getln.c, src/testdir/test_arglist.vim + +Patch 8.2.2417 +Problem: Condition stack values may be used when not set. +Solution: Clear cs_script_var_len and cs_block_id just in case they get used + later. (issue #7733) +Files: src/ex_eval.c + +Patch 8.2.2418 +Problem: Color not changed if ModeMsg highlight is set in InsertEnter + autocmd event. (Paul Swanson) +Solution: Call highlight_changed() after triggering InsertEnter. + (closes #7751) +Files: src/edit.c + +Patch 8.2.2419 +Problem: Autocmd test was failing on MS-Windows with GUI. +Solution: Remove stray feedkeys(). +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2420 +Problem: Too many problems with using all autocommand events. +Solution: Disallow defining an autocommand for all events. +Files: src/autocmd.c, src/errors.h, src/testdir/test_autocmd.vim, + src/testdir/test_quickfix.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.2421 +Problem: Double free when using autocommand with "argdel". (Houyunsong) +Solution: Add the arglist_locked flag. +Files: src/arglist.c, src/testdir/test_autocmd.vim + +Patch 8.2.2422 +Problem: Crash when deleting with line number out of range. (Houyunsong) +Solution: Avoid using a negative line number. +Files: src/normal.c, src/testdir/test_ex_mode.vim + +Patch 8.2.2423 (after 8.2.2422) +Problem: Missing error message. +Solution: Add the error message. +Files: src/errors.h + +Patch 8.2.2424 +Problem: Some tests are known to cause an error with ASAN. +Solution: Add CheckNotAsan. +Files: src/testdir/check.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_memory_usage.vim, src/testdir/test_ex_mode.vim + +Patch 8.2.2425 +Problem: Cursor on invalid line with range and :substitute. +Solution: Do not move the cursor when skipping commands. (closes #3434) +Files: src/ex_cmds.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.2426 +Problem: Allowing 'completefunc' to switch windows causes trouble. +Solution: use "textwinlock" instead of "textlock". +Files: src/insexpand.c, src/testdir/test_ins_complete.vim, + src/testdir/test_popup.vim + +Patch 8.2.2427 +Problem: Can still switch windows for 'completefunc'. +Solution: Also disallow switching windows for other completions. +Files: src/insexpand.c, src/testdir/test_ins_complete.vim, + src/testdir/test_popup.vim + +Patch 8.2.2428 +Problem: FocusGained does not work when 'ttymouse' is empty. +Solution: Don't use the short mouse code if there is a longer matching code. + (closes #7755) Add a test. +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.2429 +Problem: :goto does not work correctly with text properties. (Sam McCall) +Solution: Add a test. (Andrew Radev) Also use the text property size when + computing the remaining offset. (closes #5930) +Files: src/memline.c, src/testdir/test_textprop.vim + +Patch 8.2.2430 +Problem: :vimgrep expands wildcards twice. +Solution: Do not expand wildcards a second time. +Files: src/quickfix.c, src/arglist.c, src/testdir/test_quickfix.vim + +Patch 8.2.2431 +Problem: Warning for -fno-strength-reduce with Clang 11. +Solution: Adjust check for clang version number. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2432 +Problem: Libvterm tests are executed even when libtool doesn't work. +Solution: Only run libvterm tests if /usr/bin/gcc exists. +Files: src/Makefile + +Patch 8.2.2433 +Problem: Opening cmdline window gives error in BufLeave autocommand. +Solution: Reset cmdwin_type when triggering the autocommand. +Files: src/ex_cmds.c, src/testdir/test_cmdline.vim + +Patch 8.2.2434 +Problem: Vim9: no error when compiling str2nr() with a number. +Solution: Add argument type checks. (closes #7759) +Files: src/evalfunc.c, src/typval.c, src/proto/typval.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2435 +Problem: setline() gives an error for some types. +Solution: Allow any type, convert each item to a string. +Files: runtime/doc/eval.txt, src/evalbuffer.c, src/typval.c, + src/proto/typval.pro, src/debugger.c, src/vim9execute.c, + src/testdir/test_bufline.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2436 +Problem: Vim9 script test is a bit flaky. +Solution: Wait longer for exit callback. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2437 +Problem: Deprecation warnings with default configuration. +Solution: Add -Wno-deprecated-declarations. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2438 +Problem: Out of bounds compiler warning. +Solution: Increase the size of uf_name. +Files: src/structs.h + +Patch 8.2.2439 +Problem: Not easy to figure out what packages to get when installing Vim on + a new Ubuntu system. +Solution: Mention explicit commands that are easy to follow. +Files: src/INSTALL + +Patch 8.2.2440 +Problem: Documentation based on patches is outdated. +Solution: Add changes to documentation in a patch. +Files: runtime/doc/arabic.txt, runtime/doc/autocmd.txt, + runtime/doc/change.txt, runtime/doc/channel.txt, + runtime/doc/cmdline.txt, runtime/doc/debugger.txt, + runtime/doc/develop.txt, runtime/doc/digraph.txt, + runtime/doc/editing.txt, runtime/doc/eval.txt, + runtime/doc/filetype.txt, runtime/doc/ft_sql.txt, + runtime/doc/gui.txt, runtime/doc/gui_w32.txt, + runtime/doc/gui_x11.txt, runtime/doc/hangulin.txt, + runtime/doc/helphelp.txt, runtime/doc/help.txt, + runtime/doc/if_lua.txt, runtime/doc/if_mzsch.txt, + runtime/doc/if_tcl.txt, runtime/doc/indent.txt, + runtime/doc/index.txt, runtime/doc/insert.txt, + runtime/doc/intro.txt, runtime/doc/map.txt, runtime/doc/mbyte.txt, + runtime/doc/message.txt, runtime/doc/mlang.txt, + runtime/doc/motion.txt, runtime/doc/netbeans.txt, + runtime/doc/options.txt, runtime/doc/os_dos.txt, + runtime/doc/os_haiku.txt, runtime/doc/os_unix.txt, + runtime/doc/os_vms.txt, runtime/doc/os_win32.txt, + runtime/doc/pattern.txt, runtime/doc/pi_getscript.txt, + runtime/doc/pi_logipat.txt, runtime/doc/pi_netrw.txt, + runtime/doc/pi_tar.txt, runtime/doc/pi_vimball.txt, + runtime/doc/pi_zip.txt, runtime/doc/popup.txt, + runtime/doc/print.txt, runtime/doc/quickfix.txt, + runtime/doc/quickref.txt, runtime/doc/recover.txt, + runtime/doc/remote.txt, runtime/doc/repeat.txt, + runtime/doc/rileft.txt, runtime/doc/sign.txt, + runtime/doc/spell.txt, runtime/doc/starting.txt, + runtime/doc/syntax.txt, runtime/doc/tabpage.txt, + runtime/doc/tagsrch.txt, runtime/doc/terminal.txt, + runtime/doc/term.txt, runtime/doc/testing.txt, + runtime/doc/textprop.txt, runtime/doc/tips.txt, + runtime/doc/todo.txt, runtime/doc/uganda.txt, + runtime/doc/undo.txt, runtime/doc/usr_02.txt, + runtime/doc/usr_03.txt, runtime/doc/usr_04.txt, + runtime/doc/usr_05.txt, runtime/doc/usr_07.txt, + runtime/doc/usr_08.txt, runtime/doc/usr_10.txt, + runtime/doc/usr_11.txt, runtime/doc/usr_20.txt, + runtime/doc/usr_22.txt, runtime/doc/usr_23.txt, + runtime/doc/usr_24.txt, runtime/doc/usr_27.txt, + runtime/doc/usr_30.txt, runtime/doc/usr_31.txt, + runtime/doc/usr_40.txt, runtime/doc/usr_41.txt, + runtime/doc/usr_42.txt, runtime/doc/usr_44.txt, + runtime/doc/usr_45.txt, runtime/doc/usr_46.txt, + runtime/doc/usr_90.txt, runtime/doc/usr_toc.txt, + runtime/doc/various.txt, runtime/doc/version5.txt, + runtime/doc/version6.txt, runtime/doc/version7.txt, + runtime/doc/version8.txt, runtime/doc/vi_diff.txt, + runtime/doc/vim9.txt, runtime/doc/visual.txt, + runtime/doc/windows.txt + +Patch 8.2.2441 +Problem: Vim9: extend() does not give an error for a type mismatch. +Solution: Check the type of the second argument. (closes #7760) +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2442 +Problem: Automatic GUI selection does not check for GTK 3. +Solution: Make SKIP_GTK3 empty for automatic GUI support. Set SKIP_GTK3 to + YES when checking for GTK2. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2443 +Problem: Vim9: no compile time error for wrong str2float argument. +Solution: Check argument type. (closes #7759) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2444 +Problem: Vim9: compile error with combination of operator and list. +Solution: Generate constants before parsing a list or dict. (closes #7757) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2445 +Problem: Vim9: no proper error for lambda missing return type. +Solution: Check for this error. (closes #7758) +Files: src/errors.h, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2446 +Problem: Setting 'term' empty has different error if compiled with GUI. +Solution: Insert "else". (closes #7766) +Files: src/optionstr.c, src/testdir/test_options.vim + +Patch 8.2.2447 +Problem: 'foldlevel' not applied to folds restored from session. +Solution: Set 'foldlevel' after creating the folds. (closes #7767) +Files: src/fold.c, src/testdir/test_mksession.vim + +Patch 8.2.2448 +Problem: Compilation error with Ruby 3.0. +Solution: Adjust #ifdefs and declaration. (Ken Takata, closes #7761) +Files: src/if_ruby.c + +Patch 8.2.2449 +Problem: Vim9: flatten() always changes the list type. +Solution: Disallow using flatten() and add flattennew(). +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/list.c, src/proto/list.pro, src/errors.h, src/vim9compile.c, + src/testdir/test_flatten.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2450 +Problem: MS-Windows: ADS was not preserved if 'backupcopy' is "yes". +Solution: Copy ADS before truncating the file. (Ken Takata, closes #7762) +Files: src/bufwrite.c + +Patch 8.2.2451 +Problem: MS-Windows: Extended Attributes not preserved. +Solution: Preserve Extended Attributes when writing a file. (Ken Takata, + closes #7765) +Files: src/os_win32.c + +Patch 8.2.2452 +Problem: No completion for the 'filetype' option. +Solution: Add filetype completion. (Martin Tournoij, closes #7747) +Files: src/option.c, src/optiondefs.h, src/testdir/test_options.vim + +Patch 8.2.2453 +Problem: Vim9: a variable name with "->" in the next line doesn't work. +Solution: Recognize a variable name by itself. (closes #7770) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2454 +Problem: Leading space can not be made visible. +Solution: Add "lead:" to 'listchars'. (closes #7772) +Files: runtime/doc/options.txt, src/drawline.c, src/globals.h, + src/message.c, src/screen.c, src/testdir/test_listchars.vim + +Patch 8.2.2455 +Problem: Vim9: key type that can be used for literal dict and indexing is + inconsistent. +Solution: Allow using number and bool as key for a literal dict. (#7771) +Files: runtime/doc/vim9.txt, src/dict.c, src/eval.c, src/vim9compile.c, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2456 +Problem: Coverity warning for strcpy() into fixed size array. +Solution: Add a type cast to hopefully silence the bogus warning. +Files: src/userfunc.c + +Patch 8.2.2457 +Problem: Coverity warns for memory leak. +Solution: Free memory when out of memory. +Files: src/if_cscope.c + +Patch 8.2.2458 +Problem: Coverity warns for :retab using freed memory. +Solution: Use the updated line pointer when moving text properties. +Files: src/indent.c + +Patch 8.2.2459 +Problem: Coverity reports dead code. +Solution: Remove the dead code. +Files: src/eval.c + +Patch 8.2.2460 +Problem: Coverity warns for unused value. +Solution: Do not reset the return value to OK. +Files: src/vim9compile.c + +Patch 8.2.2461 +Problem: Coverity warns for unchecked return value. +Solution: Add "(void)" to avoid the warning. +Files: src/vim9execute.c + +Patch 8.2.2462 +Problem: Coverity warns for not checking for fseek() error. +Solution: Give an error message if fseek() fails. +Files: src/spellfile.c + +Patch 8.2.2463 +Problem: Using :arglocal in an autocommand may use freed memory. + (houyunsong) +Solution: Check if the arglist is locked. +Files: src/arglist.c, src/testdir/test_autocmd.vim + +Patch 8.2.2464 +Problem: Using freed memory if window closed in autocommand. (houyunsong) +Solution: Check the window still exists. +Files: src/ex_cmds.c, src/testdir/test_autocmd.vim + +Patch 8.2.2465 +Problem: Using freed memory in :psearch. (houyunsong) +Solution: Check the current window is still valid. Fix flaky test. +Files: src/search.c, src/testdir/test_autocmd.vim + +Patch 8.2.2466 +Problem: Max() and min() can give many error messages. +Solution: Bail out at the first error. (closes #1039, closes #7778) +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.2.2467 +Problem: Script generated by :mkview changes alternate file. +Solution: Only write :balt in the session file. (Harish Rajagopal, + closes #7779) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.2468 +Problem: Not easy to get the full command name from a shortened one. +Solution: Add fullcommand(). (Martin Tournoij, closes #7777) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/ex_docmd.c, src/proto/evalfunc.pro, + src/testdir/test_cmdline.vim + +Patch 8.2.2469 +Problem: Confusing error if :winsize has a wrong argument. +Solution: Quote the argument in the error. (closes #2523) +Files: src/ex_docmd.c, src/testdir/test_excmd.vim + +Patch 8.2.2470 +Problem: Popup_getoptions() does not get textprop from other tab. +Solution: use win_valid_any_tab(). (closes #7786) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2471 +Problem: Popup_setoptions() does not set textprop in other tab. +Solution: use win_valid_any_tab(). (closes #7788) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2472 +Problem: Crash when using command line window in an autocommand. + (houyunsong) +Solution: Save and restore au_new_curbuf. +Files: src/ex_cmds.c, src/testdir/test_autocmd.vim + +Patch 8.2.2473 +Problem: Crash when leaving command line window triggers autocommand. + (houyunsong) +Solution: Make sure not to close the current window or buffer. +Files: src/ex_getln.c, src/testdir/test_autocmd.vim + +Patch 8.2.2474 +Problem: Using freed memory when window is closed by autocommand. + (houyunsong) +Solution: Check the window pointer is still valid. +Files: src/quickfix.c, src/testdir/test_autocmd.vim + +Patch 8.2.2475 +Problem: Autocommand tests hangs on MS-Windows. +Solution: Skip one test. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2476 +Problem: Using freed memory when using an autocommand to split a window + while a buffer is being closed. +Solution: Disallow splitting when the buffer has b_locked_split set. +Files: src/buffer.c, src/window.c, src/errors.h, src/structs.h, + src/popupwin.c, src/testdir/test_autocmd.vim + +Patch 8.2.2477 +Problem: Autocommand tests hang on MS-Windows. +Solution: Skip a couple of tests. Fix file name. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.2478 +Problem: MS-Windows: backup files for plugins are loaded. +Solution: Do not use the alternate file name for files ending in "~". +Files: src/filepath.c + +Patch 8.2.2479 +Problem: set/getbufline test fails without the job feature. +Solution: Check whether the job feature is supported. (Dominique Pellé, + closes #7790) +Files: src/testdir/test_bufline.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2480 +Problem: Vim9: some errors for white space do not show context. +Solution: Include the text at the error. +Files: src/errors.h, src/dict.c, src/list.c, src/userfunc.c, + src/vim9compile.c, src/vim9script.c, src/vim9type.c + +Patch 8.2.2481 +Problem: Vim9: confusing error when variable arguments have a default + value. +Solution: Give a specific error message. (closes #7793) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2482 +Problem: Build error. +Solution: Add new error message. +Files: src/errors.h + +Patch 8.2.2483 +Problem: Vim9: type error for malformed expression. +Solution: Check for end of command before checking type. (closes #7795) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2484 +Problem: Vim9: Cannot use a comment starting with #{ after an expression. +Solution: Remove the check for "{" since #{ dictionaries are not supported. +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2485 +Problem: When sourcing a script again the script version isn't reset. +Solution: Set sn_version to one when sourcing a script again. Clear + sn_save_cpo properly. (closes #7608) +Files: src/scriptfile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2486 +Problem: Vim9: some errors for white space do not show context. +Solution: Include the text at the error. +Files: src/errors.h, src/dict.c, src/list.c, src/userfunc.c, + src/vim9compile.c, src/vim9type.c + +Patch 8.2.2487 +Problem: Terminal shows garbage after double-wide character with a + combining character. (Kyoichiro Yamada) +Solution: Libvterm: do not add the width of the combining character to the + glyph width. (closes #7801) +Files: src/libvterm/src/state.c, src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_combining.dump + +Patch 8.2.2488 +Problem: json_encode() gives generic argument error. +Solution: Mention the type that can't be encoded. (issue #7802) +Files: src/json.c, src/errors.h, src/testdir/test_json.vim + +Patch 8.2.2489 +Problem: current buffer is wrong after deletebufline() fails to delete a + line in another buffer. +Solution: Restore the current buffer. +Files: src/evalbuffer.c, src/testdir/test_bufline.vim + +Patch 8.2.2490 +Problem: 'wrap' option is always reset when starting diff mode. +Solution: Add the "followwrap" item in 'diffopt'. (Rick Howe, closes #7797) +Files: runtime/doc/diff.txt, runtime/doc/options.txt, src/diff.c, + src/testdir/test_diffmode.vim + +Patch 8.2.2491 +Problem: Popup window for text property may show in first screen line. +Solution: If the text position is invisible do not show the popup window. + (closes #7807) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popup_prop_not_visible_01.dump, + src/testdir/dumps/Test_popup_prop_not_visible_02.dump, + src/testdir/dumps/Test_popup_prop_not_visible_03.dump + +Patch 8.2.2492 +Problem: Command line buffer name cannot be translated. +Solution: Add _(). (Gabriel Dupras, closes #7812) +Files: src/ex_getln.c + +Patch 8.2.2493 +Problem: Text property for text left of window shows up. +Solution: Check if the text property ends before the current column. + (closes #7806) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_textprop_nowrap_01.dump, + src/testdir/dumps/Test_textprop_nowrap_02.dump + +Patch 8.2.2494 +Problem: ":rviminfo!" clears most of oldfiles. +Solution: Add VIF_ONLY_CURBUF to read_viminfo(). (closes #1781) +Files: src/viminfo.c, src/vim.h + +Patch 8.2.2495 +Problem: Text jumps up and down when moving the cursor in a small window + with wrapping text and 'scrolloff' set. +Solution: Adjust the computation of w_skipcol. (partly by Ghjuvan Lacambre, + closes #7813) +Files: src/move.c, src/testdir/test_breakindent.vim + +Patch 8.2.2496 (after 8.2.2495) +Problem: Insufficient testing for text jumping fix. +Solution: Add another test case. +Files: src/testdir/test_breakindent.vim + +Patch 8.2.2497 +Problem: No error when using more than one character for a register name. +Solution: In Vim9 script check for a single character string. (closes #7814) + Fix that VAR_BOOL and VAR_SPECIAL are not considered equal. +Files: src/errors.h, src/evalfunc.c, src/typval.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2498 +Problem: No test for what 8.2.2494 fixes. +Solution: Add a simple change to test the fix. (closes #7818) +Files: src/testdir/test_viminfo.vim + +Patch 8.2.2499 +Problem: "vim -g --version" does not redirect output. +Solution: Reset gui.starting when showing version info. (closes #7815) +Files: src/main.c, src/testdir/test_version.vim + +Patch 8.2.2500 (after 8.2.2499) +Problem: Build fails without the GUI feature. +Solution: Add #ifdef. +Files: src/main.c + +Patch 8.2.2501 +Problem: Not always clear where an error is reported. +Solution: Add the where_T structure and pass it around. (closes #7796) +Files: src/structs.h, src/vim9type.c, src/proto/vim9type.pro, + src/errors.h, src/evalvars.c, src/proto/evalvars.pro, src/eval.c, + src/proto/eval.pro, src/vim9execute.c, src/vim9script.c, + src/proto/vim9script.pro, src/dict.c, src/list.c, + src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2502 +Problem: A few github actions are failing. +Solution: Install setuptools-rust. (closes #7823) +Files: .github/workflows/ci.yml + +Patch 8.2.2503 +Problem: Vim9: a caught error may leave something on the stack. +Solution: Drop items from the stack if needed. (closes #7826) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2504 +Problem: Vim9: crash when using an argument from a closure. +Solution: Check if gen_load_outer is NULL. (closes #7821) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2505 +Problem: Vim9: crash after defining function with invalid return type. +Solution: Clear function growarrays. Fix memory leak. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2506 +Problem: Vim9: :continue does not work correctly in a :try block +Solution: Add the TRYCLEANUP instruction. (closes #7827) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2507 +Problem: Github build may fail if Ubuntu 20.04 is used. Installing rust is + not needed. +Solution: Specify ubuntu-18.04 instead of latest. Update "pip" instead of + installing rust. (Ozaki Kiichi, closes #7820) +Files: .github/workflows/ci.yml + +Patch 8.2.2508 +Problem: Cannot change the character displayed in non existing lines. +Solution: Add the "eob" item to 'fillchars'. (closes #7832, closes #3820) +Files: runtime/doc/options.txt, runtime/doc/todo.txt, + runtime/doc/windows.txt, src/drawscreen.c, src/globals.h, + src/optiondefs.h, src/screen.c, src/testdir/test_display.vim + +Patch 8.2.2509 +Problem: Tests fail on s390 build. +Solution: Initialize trycmd_T. +Files: src/vim9execute.c + +Patch 8.2.2510 +Problem: Internal error when popup with mask is zero height or width. +Solution: Bail out if width or height is zero. (closes #7831) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2511 +Problem: Vim9: cannot use Vim9 script syntax in some places. +Solution: Add the :vim9cmd command modifier. Incompatible: Makes ":vim9" + mean ":vim9cmd" instead of ":vim9script". +Files: runtime/doc/vim9.txt, runtime/doc/repeat.txt, src/ex_docmd.c, + src/ex_cmds.h, src/structs.h, src/ex_cmdidxs.h, src/errors.h, + src/testdir/test_vim9_cmd.vim, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_1.dump, + src/testdir/dumps/Test_wildmenu_2.dump, + src/testdir/dumps/Test_wildmenu_3.dump, + src/testdir/dumps/Test_wildmenu_4.dump, + src/testdir/test_quickfix.vim + +Patch 8.2.2512 +Problem: Vim9: compiling error test sometimes fails. +Solution: use WaitForAssert() instead of sleeping for a bit. (Dominique + Pellé, closes #7837) +Files: src/testdir/term_util.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2513 (after 8.2.2511) +Problem: Vim9: missing part of :vim9cmd change. +Solution: Use command modifier in in_vim9script(). +Files: src/vim9script.c + +Patch 8.2.2514 (after 8.2.2511) +Problem: Vim9: build error in tiny version. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.2515 +Problem: Memory access error when truncating an empty message. +Solution: Check for an empty string. (Dominique Pellé, closes #7841) +Files: src/message.c, src/message_test.c + +Patch 8.2.2516 +Problem: Test failure on s390. (analyses by James McCoy) +Solution: Only set the try_finally label when not skipping. +Files: src/vim9compile.c + +Patch 8.2.2517 +Problem: Vim9: fix for s390 not tested on other systems. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2518 +Problem: 'listchars' should be window-local. +Solution: Make 'listchars' global-local. (Yegappan Lakshmanan, Marco Hinz, + closes #5206, closes #7850) +Files: runtime/doc/options.txt, src/buffer.c, src/charset.c, + src/drawline.c, src/drawscreen.c, src/evalfunc.c, src/globals.h, + src/indent.c, src/message.c, src/misc1.c, src/option.c, + src/option.h, src/optiondefs.h, src/optionstr.c, + src/proto/screen.pro, src/screen.c, src/structs.h, + src/testdir/test_listchars.vim, src/testdir/test_listlbr.vim + +Patch 8.2.2519 +Problem: Vim9: no reason to keep strange Vi behavior. +Solution: ":3" and ":3|" both go to line 3. ":|" does not print the line. + (closes #7840) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2520 +Problem: Missing tests for 'listchars'. +Solution: Add a few more checks. (Yegappan Lakshmanan, closes #7854) +Files: src/testdir/test_listchars.vim + +Patch 8.2.2521 +Problem: Some compilers can't handle pointer initialization. (John + Marriott) +Solution: Use a local struct and assign it afterwards. +Files: src/screen.c + +Patch 8.2.2522 +Problem: Beancount filetype not recognized. +Solution: Add a detection rule. (Brian Ryall, closes #7859) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2523 +Problem: Svelte filetype not recognized. +Solution: Add a detection rule. (Brian Ryall, closes #7858) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2524 +Problem: Cannot change the characters displayed in the foldcolumn. +Solution: Add fields to 'fillchars'. (Yegappan Lakshmanan, Matthieu Coudron, + closes #7860) +Files: runtime/doc/options.txt, src/globals.h, src/mouse.c, src/screen.c, + src/testdir/test_display.vim + +Patch 8.2.2525 +Problem: Vim9: only local variables checked for a name. +Solution: Also check arguments and script variables. (closes #7838) +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2526 (after 8.2.2525) +Problem: Build failure. +Solution: Change lookup_scriptvar() arguments. +Files: src/evalvars.c, src/proto/evalvars.pro + +Patch 8.2.2527 +Problem: Vim9: lambda return type is not determined at script level. +Solution: Compile the lambda to get the return type. (closes #7843) +Files: src/eval.c, src/vim.h, src/vim9.h, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2528 +Problem: Vim9: crash when compiling lambda fails. +Solution: Bail out after compilation fails. (closes #7862) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2529 +Problem: Vim9: Not possible to use legacy and Vim9 script in one file. +Solution: Vim9: allow for "if false" before :vim9script. (closes #7851) +Files: runtime/doc/vim9.txt, src/ex_docmd.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2530 +Problem: Vim9: not enough testing for profiling. +Solution: Add a test with nested functions and a lambda. Fix profiling + for calling a compiled function. +Files: src/profiler.c, src/proto/profiler.pro, src/userfunc.c, + src/vim9execute.c, src/testdir/test_profile.vim + +Patch 8.2.2531 +Problem: Vim9: the :k command is obscure. +Solution: Disallow using :k, can use :mark instead. (closes #7874) +Files: runtime/doc/vim9.txt, src/ex_docmd.c, src/vim9script.c, + src/vim9compile.c, src/ex_cmds.h, src/testdir/test_vim9_script.vim + +Patch 8.2.2532 +Problem: Vim9: confusing error if :k is used with a range. +Solution: Give an error about the range. (issue #7874) +Files: src/vim9script.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2533 +Problem: Vim9: cannot use a range with :unlet. +Solution: Implement ISN_UNLETRANGE. +Files: src/errors.h, src/eval.c, src/evalvars.c, src/list.c, + src/proto/evalvars.pro, src/proto/list.pro, src/vim9.h, + src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2534 +Problem: Missing test coverage. +Solution: Improve test coverage for completion with different encodings, + mapset(), and term function failures. (Dominique Pellé, + closes #7877) +Files: src/testdir/test_edit.vim, src/testdir/test_maparg.vim, + src/testdir/test_terminal3.vim + +Patch 8.2.2535 +Problem: MS-Windows: cannot run all vim9 tests. +Solution: Make test_vim9 target work. +Files: src/Make_mvc.mak + +Patch 8.2.2536 +Problem: Coverity complains about unchecked return value. +Solution: Add (void). +Files: src/userfunc.c + +Patch 8.2.2537 +Problem: Vim9: crash when map() fails. +Solution: Clear typval before using it. (closes #7884) +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2538 +Problem: Crash when using Python list iterator. +Solution: Increment the list reference count. (closes #7886) +Files: src/if_py_both.h, src/testdir/test_python3.vim + +Patch 8.2.2539 +Problem: Vim9: return from finally block causes a hang. +Solution: Store both the finally and endtry indexes. (closes #7885) +Files: src/vim9execute.c, src/vim9compile.c, src/vim9.h, + src/testdir/test_vim9_script.vim, + +Patch 8.2.2540 +Problem: Vim9: no error for using script var name for argument. +Solution: Check for this error. (closes #7868) +Files: src/userfunc.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.2541 +Problem: Popup_create() does not allow boolean for "cursorline". +Solution: Use dict_get_bool(). (issue #7869) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.2542 +Problem: Highlight of char beyond line end is not correct. (Chuan Wei Foo) +Solution: Fix counting NUL as one cell. Draw one more character if the EOL + is part of the match. (closes #7883) +Files: src/match.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_1.dump, + src/testdir/dumps/Test_hlsearch_2.dump + +Patch 8.2.2543 +Problem: Vim9: a return inside try/catch does not restore exception state + properly. +Solution: When there is no ":finally" jump to ":endtry". (closes #7882) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2544 +Problem: Vim9: error for argument when checking for lambda. +Solution: Respect the skip flag. (closes #7887) +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2545 +Problem: Errors and crash when terminal window is zero height. (Leonid V. + Fedorenchik) +Solution: Do not resize when width or height is zero. (closes #7890) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.2546 +Problem: Typo in mouse key name. +Solution: Fix the typo. (issue #4725) +Files: src/misc2.c + +Patch 8.2.2547 +Problem: "%" command not accurate for big files. +Solution: Make it more accurate for files up to 21M lines. (Dominique Pellé, + closes #7889) +Files: src/normal.c + +Patch 8.2.2548 +Problem: May get stuck in the cmdline window using :normal. +Solution: Have nv_esc() return K_IGNORE. +Files: src/normal.c + +Patch 8.2.2549 +Problem: Crash after using "g:" in a for loop. +Solution: Increment the reference count. (closes #7892) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2550 +Problem: Signal stack size is wrong with latest glibc 2.34. +Solution: Use sysconf(_SC_SIGSTKSZ) if available. (Zdenek Dohnal, closes + #7895) +Files: src/config.h.in, src/configure.ac, src/os_unix.c, + src/auto/configure + +Patch 8.2.2551 +Problem: MS-Windows: colors test file is not installed. +Solution: Also copy runtime/colors/tools. (Ken Takata, closes #7902) +Files: nsis/gvim.nsi + +Patch 8.2.2552 +Problem: Vim9: no reason to consider "{{{{{{{{" a command. +Solution: Just use "{". (issue #7904) +Files: src/ex_cmds.h + +Patch 8.2.2553 +Problem: Vim9: Cannot put "|" after "{". +Solution: Add the EX_TRLBAR flag. (issue #7904) +Files: src/ex_cmds.h, src/ex_eval.c + +Patch 8.2.2554 +Problem: Vim9: exporting a final is not tested. +Solution: Add a test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2555 +Problem: Vim9: missing test for 8.2.2553. +Solution: Add a simple test. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2556 +Problem: Vim9: :import with "as" not fully supported. +Solution: Implement "as" for more cases. +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2557 +Problem: Compiler warning for shadowed variable. +Solution: Declare "p" only once. +Files: src/vim9script.c + +Patch 8.2.2558 +Problem: No error if a lambda argument shadows a variable. +Solution: Check that the argument name shadows a local, argument or script + variable. (closes #7898) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/userfunc.c, + src/vim9script.c, src/errors.h, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.2559 +Problem: MS-Windows: guifont test fails on Windows XP. +Solution: Check windowsversion(). +Files: src/testdir/test_gui.vim + +Patch 8.2.2560 +Problem: Setting 'winminheigt' does not take tabline into account. +Solution: Subtract the tabline from the available height. (closes #7899) +Files: src/window.c, src/testdir/test_options.vim + +Patch 8.2.2561 +Problem: Not all textprop code is covered by tests. +Solution: Add a few more test cases. (Dominique Pellé, closes #7908) +Files: src/testdir/test_textprop.vim + +Patch 8.2.2562 +Problem: GUI: star register changed when 'clipboard' is "unnamedplus". (Ingo + Karkat) +Solution: Do not change the star register when 'clipboard' contains + "unnamedplus" and not "unnamed". (closes #1516) +Files: src/register.c + +Patch 8.2.2563 +Problem: Cannot use multibyte characters for folding in 'fillchars'. +Solution: Port pull request 11568 to Vim. (Yegappan Lakshmanan, + closes #7924) +Files: src/drawline.c, src/drawscreen.c, src/macros.h, + src/proto/screen.pro, src/screen.c, src/testdir/test_fold.vim, + src/testdir/test_profile.vim + +Patch 8.2.2564 +Problem: Focus events end Insert mode if 'esckeys' is not set. +Solution: Do not enable focus events when 'esckeys' is off. (closes #7926) +Files: src/term.c + +Patch 8.2.2565 +Problem: Vim9: "..=" not always recognized. +Solution: Do not consider "..=" to be string concatenation. (closes #7905) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2566 +Problem: Vim9: Function name is not recognized. +Solution: Change lookup_scriptvar() to also find function names. + (closes #7770) +Files: src/vim9script.c, src/evalvars.c, src/proto/evalvars.pro, + src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2567 +Problem: Vim9: no error if variable is defined for existing function. +Solution: Check if name isn't already in use. (closes #7897) +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2568 +Problem: Second time a preview popup is opened highlight is not set. + (Gabriel Dupras) +Solution: Apply 'previewpopup' after getting the file. (closes #7928) +Files: src/tag.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_2.dump, + src/testdir/dumps/Test_popupwin_previewpopup_3.dump, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump, + src/testdir/dumps/Test_popupwin_previewpopup_5.dump + +Patch 8.2.2569 +Problem: 'fillchars' "stl" and "stlnc" items must be single byte. +Solution: Accept multi-byte characters. (Christian Wellenbrock, Yegappan + Lakshmanan, closes #7927) +Files: runtime/doc/options.txt, src/buffer.c, src/macros.h, src/screen.c, + src/testdir/test_fold.vim, src/testdir/test_statusline.vim + +Patch 8.2.2570 +Problem: Tests fail when run as root. +Solution: Add a comment mentioning the expected failure. (issue #7919) +Files: src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_help.vim, src/testdir/test_writefile.vim + +Patch 8.2.2571 +Problem: Test may leave file behind. +Solution: Delete the temporary file. Don't profile in the running Vim + instance. +Files: src/testdir/test_quickfix.vim, src/testdir/test_profile.vim + +Patch 8.2.2572 +Problem: Vim9: crash when getting the types for a legacy function. +Solution: Initialize the type list growarray. (closes #7929) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2573 +Problem: Vim9: using invalid pointer for error message. +Solution: Use the right pointer. (closes #7921) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2574 +Problem: Vim9: crash when calling partial with wrong function. +Solution: Check argument types of called function. (closes #7912) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2575 +Problem: Vim9: a function name with "->" in the next line doesn't work. +Solution: Recognize a function name by itself. (closes #7770) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2576 +Problem: Vim9: defining a :func function checks for white space after a + comma in the arguments. +Solution: Only check for white space in a :def function. (closes #7930) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2577 +Problem: Compiler warning for type conversion. +Solution: Add a typecast. (Mike Williams) +Files: src/drawline.c + +Patch 8.2.2578 +Problem: Lua cannot handle a passed in lambda. +Solution: Handle VAR_PARTIAL. (Prabir Shrestha, closes #7937, closes #7936) +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.2579 +Problem: Vim9: crash in garbagecollect after for loop. +Solution: Do not set a reference in script item when the name was cleared. + (closes #7935) +Files: src/evalvars.c + +Patch 8.2.2580 +Problem: Vim9: checking vararg type is wrong when function is auto-loaded. +Solution: Use the member type. (closes #7933) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2581 +Problem: Vim9: sourcing Vim9 script triggers a redraw. +Solution: Do not let setting/restoring 'cpoptions' cause a redraw. + (closes #7920) +Files: src/vim.h, src/option.c, src/optionstr.c, src/scriptfile.c, + src/vim9script.c, src/testdir/test_vim9_script.vim, + src/testdir/dumps/Test_vim9_no_redraw.dump + +Patch 8.2.2582 (after 8.2.2581) +Problem: Vim9: screendump test fails on MS-Windows. +Solution: Use :function instead of :def. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2583 +Problem: Vim9: cannot compare result of getenv() with null. +Solution: Make the return type of getenv() "any". (closes #7943) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2584 +Problem: Vim9: type error for assigning the result of list concatenation to + a list. +Solution: Do not consider concatenation result in a constant. (closes #7942) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2585 +Problem: Vim9: illegal memory access. +Solution: Check byte right after "null", not one more. +Files: src/vim9compile.c + +Patch 8.2.2586 +Problem: Process id may be invalid. +Solution: Use sysinfo.uptime to check for recent reboot. (suggested by Hugo + van der Sanden, closes #7947) +Files: src/configure.ac, src/auto/configure, src/config.h.in, + src/memline.c, src/testing.c, src/globals.h, + src/testdir/test_recover.vim + +Patch 8.2.2587 (after 8.2.2586) +Problem: Recover test fails on FreeBSD. +Solution: Check for Linux. +Files: src/testdir/check.vim, src/testdir/test_recover.vim + +Patch 8.2.2588 (after 8.2.2586) +Problem: Build failure with tiny features. +Solution: Add #ifdef. Run recover test separately. +Files: src/memline.c, src/testdir/Make_all.mak, src/testdir/test_alot.vim + +Patch 8.2.2589 (after 8.2.2586) +Problem: Recover test hangs in the GUI. +Solution: Add g:skipped_reason to skip a _nocatch_ test. +Files: src/testdir/runtest.vim, src/testdir/test_recover.vim + +Patch 8.2.2590 +Problem: Vim9: default argument value may cause internal error. +Solution: Hide later function arguments when compiling the expression. + (closes #7948) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2591 +Problem: Poke files are not recognized. +Solution: Add a filetype entry. (Matt Ihlenfield) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2592 +Problem: Code coverage could be improved. +Solution: Add a few more tests. (Dominique Pellé, closes #7957) +Files: src/testdir/test_fileformat.vim, src/testdir/test_normal.vim, + src/testdir/test_sleep.vim, src/testdir/test_textformat.vim, + src/testdir/test_viminfo.vim + +Patch 8.2.2593 +Problem: List of distributed files is incomplete. +Solution: Add a file and rename another. +Files: Filelist + +Patch 8.2.2594 +Problem: Alternate buffer added to session file even when it's hidden. +Solution: Check the 'buflisted' option. (closes #7951) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.2595 +Problem: Setting 'winminheight' may cause 'lines' to change. +Solution: Also take minimal height of other tabpages into account. (#7899) +Files: src/window.c, src/testdir/test_options.vim + +Patch 8.2.2596 +Problem: :doautocmd may confuse scripts listening to WinEnter. +Solution: Do the current buffer last. (closes #7958) +Files: src/autocmd.c, src/testdir/test_autocmd.vim + +Patch 8.2.2597 +Problem: Vim9: "import * as" does not work at script level. +Solution: Implement using an imported namespace. +Files: src/vim.h, src/eval.c, src/evalvars.c, src/proto/evalvars.pro, + src/vim9execute.c, src/errors.h, src/vim9script.c, + src/proto/vim9script.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.2598 +Problem: Vim9: :open does not need to be supported. +Solution: Do not support :open in Vim9 script. +Files: src/ex_docmd.c, src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2599 (after 8.2.2597) +Problem: Build failure. +Solution: Add missing change. +Files: src/vim9compile.c + +Patch 8.2.2600 +Problem: Vim9: crash when putting an unknown type in a dictionary. + (Yegappan Lakshmanan) +Solution: Handle a NULL type pointer. +Files: src/vim9type.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2601 +Problem: Memory usage test often fails on FreeBSD. +Solution: Increase multiplier for upper limit. +Files: src/testdir/test_memory_usage.vim + +Patch 8.2.2602 +Problem: Vim9: continue doesn't work if :while is very first command. + (Yegappan Lakshmanan) +Solution: Add one to the continue instruction index. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2603 +Problem: Vim9: no effect if user command is also a function. +Solution: Check for paren following. (closes #7960) +Files: src/evalvars.c, src/proto/evalvars.pro, src/ex_docmd.c, + src/proto/ex_docmd.pro, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2604 +Problem: GUI-specific command line arguments not tested. +Solution: Add tests for several arguments. (Dominique Pellé, closes #7962) +Files: src/testdir/test_startup.vim + +Patch 8.2.2605 +Problem: Vim9: string index and slice does not include composing chars. +Solution: Include composing characters. (issue #6563) +Files: runtime/doc/vim9.txt, src/vim9execute.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2606 +Problem: strchars() defaults to counting composing characters. +Solution: Add strcharlen() which ignores composing characters. +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/testdir/test_utf8.vim + +Patch 8.2.2607 +Problem: strcharpart() cannot include composing characters. +Solution: Add the {skipcc} argument. +Files: runtime/doc/eval.txt, src/evalfunc.c, + src/testdir/test_expr_utf8.vim + +Patch 8.2.2608 +Problem: Character input not fully tested. +Solution: Add more tests. (Yegappan Lakshmanan, closes #7963) +Files: src/testdir/test_functions.vim, src/testdir/test_messages.vim, + src/testdir/test_paste.vim, src/testdir/test_registers.vim, + src/testdir/test_undo.vim + +Patch 8.2.2609 +Problem: Test disabled on MS-Windows even though it should work. +Solution: Restore the condition for skipping the test. (Ken Takata, + closes #7970) +Files: src/testdir/test_startup.vim + +Patch 8.2.2610 +Problem: Mouse click test fails when using remote connection. +Solution: Use a larger 'mousetime'. (Dominique Pellé, closes #7968) +Files: src/testdir/test_selectmode.vim + +Patch 8.2.2611 +Problem: Conditions for startup tests are not exactly right. +Solution: Check for type of GUI instead of MS-Windows. (Ozaki Kiichi, + closes #7976) +Files: src/main.c, src/testdir/check.vim, src/testdir/test_startup.vim + +Patch 8.2.2612 +Problem: col('.') may get outdated column value. +Solution: Add a note to the help how to make this work and add a test for + it. (closes #7971) +Files: runtime/doc/map.txt, src/testdir/test_mapping.vim + +Patch 8.2.2613 (after 8.2.2612) +Problem: New test throws exception. +Solution: Adjust the function cleanup. +Files: src/testdir/test_mapping.vim + +Patch 8.2.2614 +Problem: Vim9: function is deleted while executing. +Solution: increment the call count, when more than zero do not delete the + function but mark it as dead. (closes #7977) +Files: src/vim9execute.c, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2615 (after 8.2.2614) +Problem: Test is sourcing the wrong file. +Solution: Correct the file name. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2616 +Problem: Vim9: if 'cpo' is changed in Vim9 script it may be restored. +Solution: Apply the changes to 'cpo' to the restored value. +Files: runtime/doc/vim9.txt, src/scriptfile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2617 +Problem: Vim9: script variable in a block scope not found by a nested + function. +Solution: Copy the block scope IDs before compiling the function. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2618 +Problem: Vim9: cannot use a normal list name to store function refs. +Solution: Allow a lower case name if it is indexed. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2619 +Problem: Vim9: no test for return type of lambda. +Solution: Add a test. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.2620 +Problem: Vim9: Using #{ for a dictionary gives strange errors. +Solution: Give an error when using #{ for a comment after a command. +Files: src/vim9compile.c, src/vim9script.c, src/proto/vim9script.pro, + src/errors.h, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2621 +Problem: typval2type() cannot handle recursive structures. +Solution: Use copyID. (closes #7979) +Files: src/list.c, src/vim9script.c, src/vim9type.c, + src/proto/vim9type.pro, src/testdir/test_vimscript.vim + +Patch 8.2.2622 +Problem: GTK: error when starting up and -geometry is given. (Dominique + Pellé) +Solution: Use another function to get the monitor if the window has not been + created yet. (closes #7978) +Files: src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro, src/gui_beval.c, + src/gui_xim.c + +Patch 8.2.2623 +Problem: Some tests fail when run as root. +Solution: Use CheckNotRoot. +Files: src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_help.vim, src/testdir/test_writefile.vim + +Patch 8.2.2624 +Problem: Atom files not recognized. +Solution: Recognize .atom as XML. (Kivin Locke, closes #7986) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2625 +Problem: Rss files not recognized. +Solution: Recognize .rss as XML. (Kivin Locke, closes #7987) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2626 +Problem: GTK3: error when starting up and -geometry is given. (Dominique + Pellé) +Solution: Use another function to get the monitor if the window has not been + created yet. (closes #7978) +Files: src/gui_gtk_x11.c + +Patch 8.2.2627 +Problem: No need to check for BSD after checking for not root. +Solution: Remove CheckNotBSD. (Ozaki Kiichi, closes #7989) +Files: src/testdir/test_excmd.vim, src/testdir/test_help.vim, + src/testdir/check.vim + +Patch 8.2.2628 +Problem: Vim9: #{ can still be used at the script level. +Solution: Give an error for #{ like in a :def function. +Files: src/eval.c, src/ex_docmd.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2629 +Problem: Vim9: error for #{{ is not desired. +Solution: Adjust the checks. (closes #7990) +Files: src/errors.h, src/vim9script.c, src/ex_docmd.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2630 +Problem: Hard to see where a test gets stuck. +Solution: Print the executed test function. (Dominique Pellé, closes #7975) +Files: src/testdir/Makefile + +Patch 8.2.2631 +Problem: Commands from winrestcmd() do not always work properly. (Leonid V. + Fedorenchik) +Solution: Repeat the size commands twice. (closes #7988) +Files: src/evalwindow.c, src/testdir/test_window_cmd.vim + +Patch 8.2.2632 +Problem: Not all command line arguments are tested. +Solution: Add tests for -D and -serverlist. (Dominique Pellé, closes #7992) +Files: src/testdir/test_clientserver.vim, src/testdir/test_startup.vim + +Patch 8.2.2633 +Problem: Multi-byte 'fillchars' for folding do not show properly. +Solution: Handle multi-byte characters correctly. (Yegappan Lakshmanan, + closes #7983, closes #7955) +Files: src/screen.c, src/testdir/test_fold.vim + +Patch 8.2.2634 +Problem: 'tagfunc' does not indicate using a pattern. +Solution: Add the "r" flag. (Andy Massimino, closes #7982) +Files: runtime/doc/tagsrch.txt, src/tag.c, src/testdir/test_tagfunc.vim + +Patch 8.2.2635 +Problem: Vim9: cannot define an inline function. +Solution: Make an inline function mostly work. +Files: src/userfunc.c, src/errors.h, src/vim9compile.c, src/misc2.c, + src/proto/vim9compile.pro, src/testdir/test_vim9_expr.vim + +Patch 8.2.2636 (after 8.2.2635) +Problem: Memory leak when compiling inline function. +Solution: Free the prefetched line. +Files: src/userfunc.c, src/vim9compile.c, src/structs.h, src/globals.h, + src/eval.c + +Patch 8.2.2637 +Problem: prop_remove() causes a redraw even when nothing changed. +Solution: Only redraw if a property was removed. (Dominique Pellé) +Files: src/textprop.c + +Patch 8.2.2638 +Problem: Cannot write a message to the terminal from the GUI. +Solution: Add :echoconsole and use it in the test runner. (issue #7975) +Files: runtime/doc/eval.txt, runtime/doc/index.txt, src/ex_cmds.h, + src/ex_cmdidxs.h, src/eval.c, src/ui.c, src/proto/ui.pro, + src/term.c, src/testdir/runtest.vim + +Patch 8.2.2639 (after 8.2.2638) +Problem: Build failure when fsync() is not available. +Solution: Add #ifdef. +Files: src/ui.c + +Patch 8.2.2640 +Problem: screenstring() returns non-existing composing characters. +Solution: Only use composing characters if there is a base character. +Files: src/evalfunc.c, src/testdir/test_listchars.vim + +Patch 8.2.2641 +Problem: Display test fails because of lacking redraw. +Solution: Add a redraw command. +Files: src/testdir/test_display.vim + +Patch 8.2.2642 +Problem: Vim9: no clear error for wrong inline function. +Solution: Check for something following the "{". +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2643 +Problem: Various code not covered by tests. +Solution: Add a few more test. (Yegappan Lakshmanan, closes #7995) +Files: src/testdir/test_edit.vim, src/testdir/test_functions.vim, + src/testdir/test_mapping.vim, src/testdir/test_termcodes.vim, + src/testdir/test_undo.vim + +Patch 8.2.2644 +Problem: prop_clear() causes a screen update even when nothing changed. +Solution: Only redraw when a property was cleared. (Dominique Pellé) +Files: src/textprop.c + +Patch 8.2.2645 +Problem: Using inline function is not properly tested. +Solution: Add test cases, esp. for errors. Minor code improvements. +Files: src/userfunc.c, src/errors.h, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2646 +Problem: Vim9: error for not using string doesn't mention argument. +Solution: Add argument number. +Files: src/filepath.c, src/typval.c, src/proto/typval.pro, src/errors.h, + src/mbyte.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2647 +Problem: Terminal test sometimes hangs. +Solution: Wait for the shell to display a prompt. +Files: src/testdir/test_terminal.vim + +Patch 8.2.2648 +Problem: Terminal resize test sometimes hangs. +Solution: Wait for the shell to display a prompt and other output. +Files: src/testdir/test_terminal2.vim + +Patch 8.2.2649 +Problem: Vim9: some wincmd arguments cause a white space error. +Solution: Insert a space before the count. (closes #8001) +Files: src/window.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2650 +Problem: Vim9: command modifiers not handled in nested function. +Solution: Keep function-local info in a structure and save it on the stack. +Files: src/vim9execute.c, src/vim9.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2651 +Problem: Vim9: restoring command modifiers happens after jump. +Solution: Move the restore instruction to before the jump. (closes #8006) + Also handle for and while. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2652 +Problem: Vim9: can use command modifier without an effect. +Solution: Give an error for a misplaced command modifier. Fix error message + number. +Files: src/vim9compile.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/ex_eval.c, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2653 +Problem: Build failure. +Solution: Add missing changes. +Files: src/errors.h + +Patch 8.2.2654 +Problem: Vim9: getting a character from a string can be slow. +Solution: Avoid a function call to get the character byte size. (#8000) +Files: src/vim9execute.vim + +Patch 8.2.2655 +Problem: The -w command line argument doesn't work. +Solution: Don't set 'window' when set with the -w argument. (closes #8011) +Files: src/term.c, src/testdir/test_startup.vim + +Patch 8.2.2656 +Problem: Some command line arguments and regexp errors not tested. +Solution: Add a few test cases. (Dominique Pellé, closes #8013) +Files: src/testdir/test_regexp_latin.vim, src/testdir/test_startup.vim + +Patch 8.2.2657 +Problem: Vim9: error message for declaring variable in for loop. +Solution: Clear variables when entering block again. (closes #8012) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2658 +Problem: :for cannot loop over a string. +Solution: Accept a string argument and iterate over its characters. +Files: runtime/doc/eval.txt, src/eval.c, src/vim9compile.c, + src/vim9execute.c, src/errors.h, src/testdir/test_vimscript.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2659 (after 8.2.2658) +Problem: Eval test fails because for loop on string works. +Solution: Check looping over function reference fails. +Files: src/testdir/test_eval_stuff.vim + +Patch 8.2.2660 +Problem: Vim9: no error for declaration with trailing text. +Solution: Give an error. (closes #8014) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2661 +Problem: Leaking memory when looping over a string. +Solution: Free the memory. +Files: src/eval.c + +Patch 8.2.2662 +Problem: There is no way to avoid some escape sequences. +Solution: Suppress escape sequences when the --not-a-term argument is used. + (Gary Johnson) +Files: src/main.c, src/os_unix.c, src/testdir/test_startup.vim + +Patch 8.2.2663 +Problem: Vim9: leaking memory when inline function has an error. +Solution: Free the partially allocated function. +Files: src/userfunc.c + +Patch 8.2.2664 +Problem: Vim9: not enough function arguments checked for string. +Solution: Check in balloon functions. Refactor function arguments. +Files: src/typval.c, src/proto/typval.pro, src/filepath.c, + src/evalfunc.c, src/mbyte.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2665 (after 8.2.2664) +Problem: Test failures. +Solution: Check more specific feature. Add missing change. +Files: src/testdir/test_vim9_builtin.vim, src/evalbuffer.c + +Patch 8.2.2666 +Problem: Vim9: not enough function arguments checked for string. +Solution: Check in ch_logfile(), char2nr() and others. +Files: src/channel.c, src/evalfunc.c, src/filepath.c, src/eval.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2667 +Problem: prop_find() cannot find item matching both id and type. +Solution: Add the "both" argument. (Naohiro Ono, closes #8019) +Files: runtime/doc/textprop.txt, src/testdir/test_textprop.vim, + src/textprop.c + +Patch 8.2.2668 +Problem: Vim9: omitting "call" for "confirm()" does not give an error. +Solution: Do not recognize a modifier followed by "(". +Files: src/ex_docmd.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2669 +Problem: Command line completion does not work after "vim9". +Solution: Include the "9". (Naohiro Ono, closes #8025) +Files: src/cmdexpand.c, src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.2.2670 +Problem: Vim9: error for append(0, text). +Solution: Check for negative number. (closes #8022) +Files: src/typval.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2671 (after 8.2.2670) +Problem: Error for line number in legacy script. +Solution: Check for number type. +Files: src/typval.c + +Patch 8.2.2672 +Problem: Vim9: cannot use :lockvar and :unlockvar in compiled script. +Solution: Implement locking support. +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2673 +Problem: Vim9: script-local funcref can have lower case name. +Solution: Require an upper case name. +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2674 +Problem: Motif: cancelling the font dialog resets the font. +Solution: When no font is selected to not change the font. (closes #7825, + closes #8035) Fix compiler warnings. +Files: src/gui_x11.c, src/gui_motif.c + +Patch 8.2.2675 +Problem: Directory change in a terminal window shell is not followed. +Solution: Add the 'autoshelldir' option. (closes #6290) +Files: runtime/doc/options.txt, runtime/doc/quickref.txt, + runtime/optwin.vim, src/charset.c, src/feature.h, src/option.h, + src/optiondefs.h, src/terminal.c, src/testdir/check.vim, + src/testdir/test_terminal3.vim + +Patch 8.2.2676 +Problem: Missing error message. +Solution: Add new error message. +Files: src/errors.h + +Patch 8.2.2677 +Problem: Vim9: cannot use only some of the default arguments. +Solution: Use v:none to use default argument value. Remove + uf_def_arg_idx[], use JUMP_IF_ARG_SET. (closes #6504) +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/vim9execute.c, + src/userfunc.c, src/structs.h, src/vim9.h, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2678 +Problem: Test for 'autoshelldir' does not reset the option. +Solution: Reset the option after testing. +Files: src/testdir/test_terminal3.vim + +Patch 8.2.2679 +Problem: Winbar drawn over status line for non-current window with winbar + if frame is zero height. (Leonid V. Fedorenchik) +Solution: Do not draw the window if the frame height is zero. (closes #8037) +Files: src/drawscreen.c, src/testdir/test_winbar.vim, + src/testdir/dumps/Test_winbar_not_visible.dump + +Patch 8.2.2680 +Problem: Vim9: problem defining a script variable from legacy function. +Solution: Check if the script is Vim9, not the current syntax. + (closes #8032) +Files: src/vim9script.c, src/proto/vim9script.pro, src/evalvars.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2681 +Problem: Vim9: test fails for redeclaring script variable. +Solution: It's OK to assign to an existing script variable in legacy. +Files: src/evalvars.c + +Patch 8.2.2682 +Problem: Vim9: cannot find Name.Func from "import * as Name". (Alexander + Goussas) +Solution: When no variable found try finding a function. (closes #8045) + Check that the function was exported. +Files: src/vim9compile.c, src/vim9script.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.2683 +Problem: Build failure without the +eval feature. +Solution: Add #ifdef. +Files: src/vim9script.c + +Patch 8.2.2684 +Problem: Not enough folding code is tested. +Solution: Add more test cases. (Yegappan Lakshmanan, closes #8046) +Files: src/testdir/test_fold.vim, src/testdir/test_mksession.vim, + src/testdir/test_source.vim + +Patch 8.2.2685 (after 8.2.2152) +Problem: Custom statusline not drawn correctly with WinBar. +Solution: Also adjust the column for the custom status line. (Yee Cheng + Chin, closes #8047) +Files: src/drawscreen.c, src/proto/drawscreen.pro, src/screen.c, + src/testdir/dumps/Test_winbar_not_visible_custom_statusline.dump, + src/testdir/test_winbar.vim + +Patch 8.2.2686 +Problem: Status line is not updated when going to cmdline mode. +Solution: Redraw status lines if 'statusline' is set and going to status + line mode. (based on patch from Justin M. Keyes et al., + closes #8044) +Files: src/ex_getln.c, src/testdir/test_statusline.vim, + src/testdir/dumps/Test_statusline_mode_1.dump, + src/testdir/dumps/Test_statusline_mode_2.dump + +Patch 8.2.2687 +Problem: Vim9: cannot use "const" for global variable in :def function. +Solution: Do allow using :const for a global variable. (closes #8030) +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2688 +Problem: Vim9: crash when using s: for script variable. +Solution: Pass the end pointer. (closes #8045) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2689 +Problem: Tiny build fails. +Solution: Add #ifdef around use of p_stl. +Files: src/ex_getln.c + +Patch 8.2.2690 +Problem: PowerShell files are not recognized. +Solution: Recognize several PowerShell extension. (Heath Stewart, + closes #8051) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2691 +Problem: Autoconf may mess up compiler flags. +Solution: Handle removing FORTIFY_SOURCE a bit better. (Vladimir Lomov, + closes #8049) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2692 +Problem: Vim9: locked script variable can be changed. +Solution: Check for locked value. (closes #8031) +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2693 +Problem: Vim9: locked script variable can be changed. +Solution: Check legacy script variable for being locked. (issue #8031) +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2694 +Problem: When 'matchpairs' is empty every character beeps. (Marco Hinz) +Solution: Bail out when no character in 'matchpairs' was found. + (closes #8053) Add assert_nobeep(). +Files: runtime/doc/testing.txt, runtime/doc/eval.txt, src/search.c, + src/testing.c, src/proto/testing.pro, src/evalfunc.c, + src/testdir/test_textformat.vim + +Patch 8.2.2695 +Problem: Cursor position reset with nested autocommands. +Solution: Only check and reset line numbers for not nested autocommands. + (closes #5820) +Files: src/autocmd.c, src/testdir/test_terminal.vim + +Patch 8.2.2696 +Problem: Lua test fails with Lua 5.4.3 and later. +Solution: Check for different error messages. (Yegappan Lakshmanan, + closes #8050) +Files: src/testdir/test_lua.vim + +Patch 8.2.2697 +Problem: Function list test fails. +Solution: Add missing function. (Yegappan Lakshmanan) +Files: runtime/doc/usr_41.txt + +Patch 8.2.2698 (after 8.2.2696) +Problem: Lua test fails on MS-Windows. +Solution: Fall back to old method if "lua -v" doesn't work. +Files: src/testdir/test_lua.vim + +Patch 8.2.2699 +Problem: Lua test fails. +Solution: Fix condition. (Yegappan Lakshmanan, closes #8060) +Files: src/testdir/test_lua.vim + +Patch 8.2.2700 +Problem: Nested autocmd test fails sometimes. +Solution: Wait for the job to finish. +Files: src/testdir/test_terminal.vim + +Patch 8.2.2701 +Problem: Order of removing FORTIFY_SOURCE is wrong. +Solution: Use the more specific pattern first. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2702 +Problem: Compiler completion test fails when more scripts are added. +Solution: Add a more generic pattern. +Files: src/testdir/test_compiler.vim + +Patch 8.2.2703 +Problem: Vim9: memory leak when failing on locked variable. +Solution: Free the memory. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2704 +Problem: Adding a lot of completions can be a bit slow. +Solution: Use fast_breakcheck() instead of ui_breakcheck() when adding a + list of completions. (Ben Jackson, closes #8061) +Files: src/insexpand.c + +Patch 8.2.2705 +Problem: Vim9: misleading reported line number for wrong type. +Solution: Remember and use the line number at the start. (closes #8059) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2706 +Problem: Vim9: wrong line number reported for boolean operator. +Solution: Use the line number before skipping over line break. + (closes #8058) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2707 (after 8.2.2704) +Problem: Adding a lot of completions can still be a bit slow. +Solution: Add the check for CP_FAST. (Ben Jackson) +Files: src/insexpand.c + +Patch 8.2.2708 +Problem: Test sometimes fails waiting for shell in terminal. +Solution: Use WaitForAssert() so we can see the actual job status. Use + Run_shell_in_terminal(). +Files: src/testdir/term_util.vim, src/testdir/test_mksession.vim + +Patch 8.2.2709 +Problem: The GTK GUI has a gap next to the scrollbar. +Solution: Calculate the scrollbar padding for GTK. (closes #8027) +Files: src/gui_gtk.c + +Patch 8.2.2710 +Problem: Vim9: not all tests cover script and :def function. +Solution: Run tests in both if possible. Fix differences. +Files: src/eval.c, src/vim9compile.c, src/vim9execute.c, + src/testdir/vim9.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2711 +Problem: "gj" in a closed fold does not move out of the fold. (Marco Hinz) +Solution: Add a check for being in a closed fold. (closes #8062) +Files: src/normal.c, src/testdir/test_fold.vim + +Patch 8.2.2712 +Problem: Memory leak when adding to a blob fails. +Solution: Clear the second typval before returning. +Files: src/eval.c + +Patch 8.2.2713 +Problem: Folding code not sufficiently tested. +Solution: Add a few more test cases. (Yegappan Lakshmanan, closes #8064) +Files: src/testdir/test_fold.vim + +Patch 8.2.2714 +Problem: Filetype pattern ending in star is too far up. +Solution: Move down to where patterns ending in star belong. (closes #8065) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2715 +Problem: Vim9: tests fail without the channel feature. (Dominique Pellé) +Solution: Check for the channel feature. (closes #8063) +Files: src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2716 +Problem: The equivalent class regexp is missing some characters. +Solution: Update the list of equivalent characters. (Dominique Pellé, + closes #8029) +Files: src/regexp_bt.c, src/regexp_nfa.c, + src/testdir/test_regexp_utf8.vim + +Patch 8.2.2717 +Problem: GTK menu items don't show a tooltip. +Solution: Add a callback to show the tooltip. (Leonid V. Fedorenchik, + closes #8067, closes #7810) +Files: src/gui_gtk.c + +Patch 8.2.2718 +Problem: Vim9: no explicit test for using a global function without the g: + prefix. +Solution: Add a test case. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.2719 +Problem: Vim9: appending to dict item doesn't work in a :def function. +Solution: Implement assignment with operator on indexed item. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2720 +Problem: GTK menu tooltip moves the cursor. +Solution: Position the cursor after displaying the tooltip. Do not show the + tooltip when editing the command line. +Files: src/gui_gtk.c + +Patch 8.2.2721 +Problem: Vim9: cannot have a linebreak inside a lambda. +Solution: Compile the expression before the arguments. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2722 +Problem: Vim9: crash when using LHS with double index. +Solution: Handle lhs_dest which is "dest_expr". (closes #8068) + Fix confusing error message for missing dict item. +Files: src/vim9compile.c, src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2723 (after 8.2.2722) +Problem: Assignment test fails. +Solution: Adjust error number. +Files: src/testdir/test_let.vim + +Patch 8.2.2724 (after 8.2.2722) +Problem: Vim9: concatenating to list in dict not tested. +Solution: Add a test. (issue #8068) +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.2725 +Problem: Vim9: message about compiling is wrong when using try/catch. +Solution: Store the compiling flag with the message. (closes #8071) +Files: src/ex_docmd.c, src/ex_eval.c, src/structs.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.2726 +Problem: Confusing error message with white space before comma in the + arguments of a function declaration. +Solution: Give a specific error message. (closes #2235) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2727 (after 8.2.2726) +Problem: Function test fails. +Solution: Adjust expected error number. +Files: src/testdir/test_user_func.vim + +Patch 8.2.2728 +Problem: Special key names don't work if 'isident' is cleared. +Solution: Add vim_isNormalIDc() and use it for special key names. + (closes #2389) +Files: src/charset.c, src/proto/charset.pro, src/misc2.c, + src/testdir/test_mapping.vim + +Patch 8.2.2729 +Problem: Vim9: wrong error message for referring to legacy script variable. +Solution: Do allow referring to a variable in legacy script without "s:" if + it exists at compile time. (closes #8076) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2730 +Problem: Coverity complains about not restoring character. +Solution: Also restore the character in case of an error. +Files: src/vim9compile.c + +Patch 8.2.2731 +Problem: Mac: SF symbols are not displayed properly. +Solution: Add custom range to list of double-width characters. (Yee Cheng + Chin, closes #8077) +Files: src/mbyte.c + +Patch 8.2.2732 +Problem: Prompt for s///c in Ex mode can be wrong. +Solution: Position the cursor before showing the prompt. (closes #8073) +Files: src/ex_cmds.c, src/testdir/test_ex_mode.vim + +Patch 8.2.2733 +Problem: Detecting Lua version is not reliable. +Solution: Add "vim.lua_version". (Ozaki Kiichi, closes #8080) +Files: runtime/doc/if_lua.txt, ci/if_ver-1.vim, src/if_lua.c, + src/testdir/test_lua.vim + +Patch 8.2.2734 +Problem: Vim9: cannot use legacy script-local var from :def function. +Solution: Do not insist on using "s:" prefix. (closes #8076) +Files: src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2735 +Problem: Vim9: function reference found with prefix, not without. +Solution: Also find function reference without prefix. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2736 +Problem: Vim9: for loop over string is a bit slow. +Solution: Avoid using strlen(). +Files: src/vim9execute.c + +Patch 8.2.2737 +Problem: Status line not updated when local 'statusline' option set. +Solution: Check the 'statusline' option of each window. +Files: src/ex_getln.c, src/testdir/test_statusline.vim, + src/testdir/dumps/Test_statusline_mode_1.dump, + src/testdir/dumps/Test_statusline_mode_2.dump + +Patch 8.2.2738 +Problem: Extending a list with itself can give wrong result. +Solution: Remember the item before where the insertion happens and skip to + after the already inserted items. (closes #1112) +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.2739 +Problem: Vim9: a lambda accepts too many arguments at the script level. +Solution: Do not set uf_varargs in Vim9 script. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2740 +Problem: Vim9: lambda with varargs doesn't work. +Solution: Make "...name" work. Require type to be a list. +Files: src/userfunc.c, src/vim9compile.c, src/vim9execute.c, + src/errors.h, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2741 +Problem: Vim9: Partial call does not check right arguments. +Solution: Adjust the offset for whether the partial is before or after the + arguments. (closes #8091) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2742 +Problem: Vim9: when compiling a function fails it is cleared. +Solution: Keep the function lines, prevent execution with a different + status. (closes #8093) +Files: src/vim9compile.c, src/structs.h, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2743 +Problem: Vim9: function state stuck when compiling with ":silent!". +Solution: Check for uf_def_status to be UF_COMPILING. +Files: src/vim9compile.c, src/message.c, src/globals.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.2744 +Problem: Vim9: no way to explicitly ignore an argument. +Solution: Use the underscore as the name for an ignored argument. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/eval.c, + src/evalvars.c, src/errors.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2745 (after 8.2.2744) +Problem: Vim9: missing part of the argument change. +Solution: Add missing changes. +Files: src/userfunc.c + +Patch 8.2.2746 (after 8.2.2745) +Problem: Check for duplicate arguments does not work. +Solution: Correct condition. +Files: src/userfunc.c + +Patch 8.2.2747 +Problem: Vim9: not always an error for too many function arguments. +Solution: Check for getting too many arguments. +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2748 +Problem: Vim9: memory leak when calling :def function fails. +Solution: Jump to failed_early instead of returning. +Files: src/vim9execute.c + +Patch 8.2.2749 +Problem: Vim9: test for error can be a bit flaky. +Solution: Increase the wait time a bit. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.2750 +Problem: Vim9: error for using underscore in nested function. +Solution: Do not consider "_" already defined. (closes #8096) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2751 +Problem: Coverity warns for using NULL pointer. +Solution: Check for NULL in calling function. +Files: src/userfunc.c + +Patch 8.2.2752 +problem: coverity reports unreachable code. +Solution: Remove check for positive index. +Files: src/typval.c + +Patch 8.2.2753 +Problem: Vim9: cannot ignore an item in assignment unpack. +Solution: Allow using an underscore. +Files: runtime/doc/vim9.txt, src/vim.h, src/evalvars.c, src/eval.c, + src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2754 +Problem: :sleep! does not always hide the cursor. +Solution: Add the cursor_is_asleep flag. (Jeremy Lerner, closes #8097, + closes #7998) +Files: src/drawscreen.c, src/ex_docmd.c, src/gui.c, src/proto/term.pro, + src/term.c + +Patch 8.2.2755 +Problem: Vim9: no error for using a number in a condition. +Solution: Also use ISN_COND2BOOL if the type is t_number_bool. + (closes #7644) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2756 +Problem: Vim9: blob index and slice not implemented yet. +Solution: Implement blob index and slice. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/eval.c, + src/blob.c, src/proto/blob.pro, src/testdir/test_vim9_expr.vim + +Patch 8.2.2757 +Problem: Vim9: blob tests for legacy and Vim9 script are separate. +Solution: Add CheckLegacyAndVim9Success(). Make blob index assign work. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/errors.h, + src/blob.c, src/proto/blob.pro, src/eval.c, src/ex_docmd.c, + src/testdir/vim9.vim, src/testdir/test_blob.vim + +Patch 8.2.2758 +Problem: Vim9: wrong line number for autoload function with wrong name. +Solution: Set and restore SOURCING_LNUM. (closes #8100) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2759 +Problem: Vim9: for loop infers type of loop variable. +Solution: Do not get the member type. (closes #8102) +Files: src/vim9type.c, src/proto/vim9type.pro, src/list.c, + src/vim9script.c, src/proto/vim9script.pro, src/vim.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.2760 +Problem: Vim9: no error for changing a for loop variable. +Solution: Make the loop variable read-only. (issue #8102) +Files: src/eval.c, src/evalvars.c, src/vim9compile.c, src/vim.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.2761 +Problem: Using "syn include" does not work properly. +Solution: Don't add current_syn_inc_tag to topgrp. (Jaehwang Jerry Jung, + closes #8104) +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.2.2762 +Problem: Vim9: function line truncated when compiling. +Solution: Copy the line before processing it. (closes #8101) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2763 +Problem: Vim9: cannot use type in for loop unpack at script level. +Solution: Advance over the type name. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2764 +Problem: Memory leak when default function argument is allocated. +Solution: Free the expression result. +Files: src/userfunc.c, src/testdir/test_functions.vim + +Patch 8.2.2765 +Problem: Vim9: not all blob operations work. +Solution: Run more tests also with Vim9 script and :def functions. Fix what + doesn't work. +Files: src/eval.c, src/blob.c, src/proto/blob.pro, src/vim9execute.c, + src/errors.h, src/testdir/vim9.vim, src/testdir/test_blob.vim + +Patch 8.2.2766 (after 8.2.2765) +Problem: Test failure. +Solution: Add change to Vim9 compilation error message. +Files: src/vim9compile.c + +Patch 8.2.2767 (after 8.2.2765) +Problem: Compiler warning for unused argument. +Solution: Remove the argument. +Files: src/blob.c, src/proto/blob.pro, src/vim9execute.c, src/eval.c + +Patch 8.2.2768 +Problem: Vim9: memory leak with blob range error. +Solution: Jump to end instead of returning. +Files: src/vim9compile.c + +Patch 8.2.2769 +Problem: Modula-3 config files are not recognized. +Solution: Add filetype patterns. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2770 +Problem: Vim9: type of loop variable is not used. +Solution: Parse and check the variable type. (closes #8107) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2771 +Problem: Vim9: assignment not recognized if declaration was skipped. +Solution: Also recognized an assignment if the variable does not exist. + (closes #8108) +Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2772 +Problem: Problems when restoring 'runtimepath' from a session file. +Solution: Add the "skiprtp" item in 'sessionoptions'. +Files: runtime/doc/options.txt, src/session.c, src/optionstr.c, + src/option.h, src/vim.h, src/option.c, + src/testdir/test_mksession.vim + +Patch 8.2.2773 +Problem: PSL filetype not recognized. +Solution: Add a filetype pattern. (Daniel Kho, closes #8117) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2774 +Problem: Vim9: cannot import an existing name even when using "as". +Solution: Do not check for an existing name when using "as". (closes #8113) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2775 +Problem: Vim9: wrong line number used for some commands. +Solution: For :exe, :echo and the like use the line number of the start of + the command. When calling a function set the line number in the + script context. +Files: src/vim9compile.c, src/vim9execute.c, src/structs.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.2776 +Problem: :mksession uses current value of 'splitbelow' and 'splitright' + even though "options" is not in 'sessionoptions'. (Maxim Kim) +Solution: Save and restore the values, instead of setting to the current + value. (closes #8119) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.2777 +Problem: Vim9: blob operations not tested in all ways. +Solution: Run tests with CheckLegacyAndVim9Success(). Make blob assign with + index work. +Files: src/vim9compile.c, src/vim9execute.c, src/errors.h, src/blob.c, + src/proto/blob.pro, src/testdir/test_blob.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2778 +Problem: Problem restoring 'packpath' in session. +Solution: Let "skiprtp" also apply to 'packpath'. +Files: runtime/doc/options.txt, src/option.c, + src/testdir/test_mksession.vim + +Patch 8.2.2779 +Problem: Memory access error in remove() for blob. +Solution: Adjust length for memmove(). +Files: src/blob.c + +Patch 8.2.2780 +Problem: Vim9: for loop over blob doesn't work. +Solution: Make it work. +Files: src/vim9compile.c, src/vim9execute.c, src/testdir/test_blob.vim + +Patch 8.2.2781 +Problem: Add() silently skips when adding to null list or blob. +Solution: Give an error in Vim9 script. Allocate blob when it is NULL like + with list and dict. +Files: src/list.c, src/evalvars.c, src/vim9execute.c, + src/testdir/test_blob.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2782 +Problem: Vim9: blob operations not fully tested. +Solution: Make more blob tests run in Vim9 script. Fix filter(). Make + insert() give an error for a null blob, like add(). +Files: src/list.c, src/testdir/test_blob.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2783 +Problem: Duplicate code for setting byte in blob, blob test may fail. +Solution: Call blob_set_append(). Test sort failure with "N". +Files: src/eval.c, src/testdir/test_blob.vim + +Patch 8.2.2784 +Problem: Vim9: cannot use \=expr in :substitute. +Solution: Compile the expression into instructions and execute them when + invoked. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/proto/vim9execute.pro, src/regexp.c, src/ex_cmds.c, + src/proto/ex_cmds.pro, src/globals.h, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2785 +Problem: Vim9: cannot redirect to local variable. +Solution: Compile :redir when redirecting to a variable. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/errors.h, + src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2786 +Problem: Vim9: memory leak when using :s with expression. +Solution: Clean up the instruction list. +Files: src/vim9compile.c + +Patch 8.2.2787 +Problem: MS-Windows: crash when using :echoconsole. +Solution: Do not write a NUL when it's already there. +Files: src/os_win32.c + +Patch 8.2.2788 +Problem: Raku is now the only name what once was called perl6. +Solution: Adjust the filetype detection. (closes #8120) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2789 +Problem: Vim9: using \=expr in :substitute does not handle jumps. +Solution: Start with instruction count zero. (closes #8128) +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2790 (after 8.2.2788) +Problem: filetype test fails +Solution: Also update the scripts detection +Files: runtime/scripts.vim + +Patch 8.2.2791 +Problem: Vim9: memory leak when using \=expr in :substitute. +Solution: Do not allocate a new instruction list. +Files: src/vim9compile.c + +Patch 8.2.2792 +Problem: Vim9: :disas shows instructions for default args but no text. +Solution: Show the expression test above the default argument instructions. + (closes #8129) +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2793 +Problem: MS-Windows: string literals are writable with MSVC. +Solution: Add the /GF compiler flag. Make mch_write() safer. (Ken Takata, + closes #8133) +Files: src/Make_mvc.mak, src/os_win32.c + +Patch 8.2.2794 +Problem: Linux users don't know how to get ncurses. +Solution: Add the name of the package. (closes #8132) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2795 +Problem: Coverity warns for not using return value. +Solution: Check the return value of compiling the substitute expression. +Files: src/vim9compile.c + +Patch 8.2.2796 +Problem: Vim9: redir to variable does not accept an index. +Solution: Make the index work. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2797 +Problem: Search highlight disappears in the Visual area. +Solution: Combine the search attributes. (closes #8134) +Files: src/drawline.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_visual_1.dump + +Patch 8.2.2798 +Problem: Vim9: redir to variable with append does not accept an index. +Solution: Make the appending work. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2799 +Problem: Vim9: type casts don't fully work at the script level. +Solution: Implement the missing piece. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2800 +Problem: After a timer displays text a hit-enter prompt is given. +Solution: Reset msg_didany and need_wait_return. (closes #8136) +Files: src/drawscreen.c, src/testdir/test_timers.vim + +Patch 8.2.2801 +Problem: Free Pascal makefile not recognized. +Solution: Add the fpcmake filetype. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2802 +Problem: Vim9: illegal memory access. +Solution: Check for comment before checking for white space. (closes #8142) +Files: src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2803 +Problem: Flicker when the popup menu has an info popup. +Solution: Avoid drawing over the popup when it's going to be redrawn in the + same position. (closes #8131) Also avoid redrawing the scrollbar. +Files: src/popupmenu.c, src/proto/popupmenu.pro, src/drawscreen.c, + src/globals.h + +Patch 8.2.2804 +Problem: Setting buffer local mapping with mapset() changes global mapping. +Solution: Only set the local mapping. (closes #8143) +Files: src/map.c, src/testdir/test_maparg.vim + +Patch 8.2.2805 +Problem: Vim9: cannot use legacy syntax in Vim9 script. +Solution: Add the :legacy command. +Files: src/ex_cmds.h, runtime/doc/vim9.txt, runtime/doc/index.txt + src/ex_cmdidxs.h, src/ex_docmd.c, src/structs.h, src/vim9script.c, + src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.2806 +Problem: Vim9: using "++nr" as a command might not work. +Solution: Do not recognize "++" and "--" in a following line as addition or + subtraction. +Files: src/vim9compile.c, src/ex_docmd.c, src/ex_cmds.h, src/ex_cmdidxs.h, + src/vim9script.c, src/proto/vim9script.pro, src/eval.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.2807 +Problem: Build fails with tiny features. +Solution: Use a dummy function for ex_incdec(). +Files: src/ex_docmd.c + +Patch 8.2.2808 +Problem: Vim9: increment and decrement not sufficiently tested. +Solution: Add assertions. +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.2809 +Problem: Vim9: :def function compilation fails when using :legacy. +Solution: Reset CMOD_LEGACY when compiling a function. (closes #8137) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2810 +Problem: Vim9: crash when calling a function in a substitute expression. +Solution: Set the instructions back to the substitute expression + instructions. (closes #8148) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2811 +Problem: Vim9: error for missing white space doesn't say where it is + missing +Solution: Mention the command. (closes #8149) +Files: src/ex_docmd.c, src/errors.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2812 +Problem: Vim9: still crash when using substitute expression. +Solution: Put the instruction list in the stack frame. (closes #8154) +Files: src/vim9execute.c, src/vim9.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2813 +Problem: Cannot grep using fuzzy matching. +Solution: Add the "f" flag to :vimgrep. (Yegappan Lakshmanan, closes #8152) +Files: runtime/doc/quickfix.txt, src/ex_cmds.c, src/proto/search.pro, + src/quickfix.c, src/search.c, src/vim.h, + src/testdir/test_quickfix.vim + +Patch 8.2.2814 (after 8.2.2812) +Problem: Vim9: unused variable. (John Marriott) +Solution: Adjust #ifdef. +Files: src/vim9execute.c + +Patch 8.2.2815 +Problem: Status line flickers when redrawing popup menu info. +Solution: Do not redraw the status line when the focus is in the popup + window. (issue #8144) +Files: src/popupmenu.c + +Patch 8.2.2816 +Problem: Vim9: comment below expression in lambda causes problems. +Solution: Use a single space for empty and comment lines. (closes #8156) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2817 +Problem: Vim9: script sourcing continues after an error. +Solution: Make an error in any command in "vim9script" abort sourcing. +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2818 +Problem: No jump added to jumplist when opening terminal in current window. +Solution: Call setpcmark(). (closes #8158) +Files: src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.2819 +Problem: Finishing an abbreviation with a multi-byte char may not work. +Solution: Escape K_SPECIAL in the typed character. (closes #8160) +Files: src/map.c, src/testdir/test_mapping.vim + +Patch 8.2.2820 +Problem: Session file may divide by zero. +Solution: Avoid writing divide by zero. (closes #8162) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.2821 +Problem: MS-Windows: unnecessarily loading libraries when registering OLE. +Solution: Skip loading libraries when invoked with "-register". +Files: src/main.c, src/globals.h, src/os_win32.c + +Patch 8.2.2822 (after 8.2.2821) +Problem: MS-Windows: unnecessarily loading libraries when unregistering OLE. +Solution: Also skip loading libraries when invoked with "-unregister". Run + Vim for README.txt with user privileges. +Files: src/main.c, nsis/gvim.nsi, nsis/README.txt + +Patch 8.2.2823 +Problem: MS-Windows: launching Vim from installer doesn't open README. +Solution: Adjust the quotes. +Files: nsis/gvim.nsi + +Patch 8.2.2824 +Problem: MS-Windows: build failure with MSVC. +Solution: Adjust the list of distributed files. Add hint about python. + Adjust path for reading runtime files. +Files: Filelist, src/testdir/shared.vim, + src/testdir/test_function_lists.vim + +Patch 8.2.2825 +Problem: Code in checkreadonly() not fully tested. +Solution: Add more tests. (Dominique Pellé, closes #8169) +Files: src/testdir/test_excmd.vim + +Patch 8.2.2826 +Problem: Compiler warnings for int to size_t conversion. (Randall W. + Morris) +Solution: Add type casts. +Files: src/map.c, src/quickfix.c + +Patch 8.2.2827 +Problem: Test file was not deleted. +Solution: Uncomment the delete() call. (Dominique Pellé, closes #8172) +Files: src/testdir/test_mksession.vim + +Patch 8.2.2828 +Problem: Coverity complains about not checking the rename() return value. +Solution: Add "(void)", can't do anything in case of a failure. +Files: src/fileio.c + +Patch 8.2.2829 +Problem: Some comments are not correct or clear. +Solution: Adjust the comments. Add test for cursor position. +Files: src/regexp_bt.c, src/regexp_nfa.c, + src/testdir/test_exec_while_if.vim, + src/testdir/test_substitute.vim + +Patch 8.2.2830 +Problem: Terminal colors are not updated when 'background' is set. +Solution: Call term_update_colors() for all terminals. (Marcin Szamotulski, + closes #8171, closes #8150) +Files: src/terminal.c, src/proto/terminal.pro, src/optionstr.c + +Patch 8.2.2831 +Problem: Vim9: expandcmd() not tested. +Solution: Add a test. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.2832 +Problem: Operator cancelled by moving mouse when using popup. (Sergey + Vlasov) +Solution: Do not trigger an operator for a mouse move events. (closes #8176) +Files: src/normal.c + +Patch 8.2.2833 +Problem: Two key command cancelled by moving mouse when using popup. + (Sergey Vlasov) +Solution: Ignore K_MOUSEMOVE in plain_vgetc(). +Files: src/getchar.c + +Patch 8.2.2834 +Problem: Vim9: :cexpr does not work with local variables. +Solution: Compile :cexpr. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/quickfix.c, + src/proto/quickfix.pro, src/testdir/test_quickfix.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2835 (after 8.2.2834) +Problem: Vim9: leaking memory in :cexpr. +Solution: Also free the command line copy. +Files: src/vim9compile.c + +Patch 8.2.2836 (after 8.2.2834) +Problem: Build failure without the +quickfix feature. (John Marriott) +Solution: Add #ifdef. +Files: src/vim9compile.c, src/vim9execute.c, src/tag.c + +Patch 8.2.2837 +Problem: Various code lines not covered by tests. +Solution: Add test cases. (Dominique Pellé, closes #8178) +Files: src/testdir/test_excmd.vim, src/testdir/test_functions.vim, + src/testdir/test_options.vim, src/testdir/test_startup.vim, + src/testdir/test_syntax.vim, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2838 +Problem: File extension .wrap not recognized. +Solution: Use dosini filetype for .wrap files. (Liam Beguin, closes #8177) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2839 +Problem: Default redirection missing "ash" and "dash". +Solution: Recognize "ash" and "dash". (Natanael Copa, closes #8180) +Files: runtime/doc/options.txt, src/option.c + +Patch 8.2.2840 +Problem: Vim9: member operation not fully tested. +Solution: Add a few tests. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2841 +Problem: MS-Windows: cursor in wrong position when 'lazyredraw' and + 'statusline' are set. +Solution: Call compute_cmdrow(). (closes #8170, closes #8184) +Files: src/os_win32.c + +Patch 8.2.2842 +Problem: Vim9: skip argument to searchpair() is not compiled. +Solution: Add VAR_INSTR. +Files: src/structs.h, src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/proto/vim9execute.pro, src/eval.c, src/evalfunc.c, src/vim.h, + src/evalvars.c, src/typval.c, src/vim9type.c, src/testing.c, + src/viminfo.c, src/if_py_both.h, src/json.c, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2843 (after 8.2.2842) +Problem: Vim9: skip argument to searchpairpos() is not compiled. +Solution: Handle like searchpair(). Also for search() and searchpos(). +Files: src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2844 +Problem: Vim9: memory leak when using searchpair(). +Solution: Free the v_instr field. +Files: src/typval.c + +Patch 8.2.2845 +Problem: MS-Windows: warning for signed/unsigned comparison. +Solution: Add type cast. +Files: src/terminal.c + +Patch 8.2.2846 +Problem: Vim9: "echo Func()" does not give an error for a function without + a return value. +Solution: Give an error. Be more specific about why a value is invalid. +Files: src/globals.h, src/errors.h, src/eval.c, src/evalfunc.c, + src/typval.c, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.2847 +Problem: Perl not tested sufficiently. +Solution: Add test. Also test W17. (Dominique Pellé, closes #8193) +Files: src/testdir/test_arabic.vim, src/testdir/test_perl.vim + +Patch 8.2.2848 +Problem: Crash when calling partial. +Solution: Check for NULL pointer. (Dominique Pellé, closes #8202) +Files: src/eval.c, src/evalfunc.c, src/testdir/test_functions.vim, + src/testdir/test_listdict.vim + +Patch 8.2.2849 +Problem: Bufwrite not sufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8192) +Files: src/testdir/test_startup.vim, src/testdir/test_writefile.vim + +Patch 8.2.2850 +Problem: Recalling commands from history is not tested. +Solution: Add tests. (closes #8194) +Files: src/testdir/test_cmdline.vim + +Patch 8.2.2851 +Problem: Using <Cmd> mapping on the command line triggers CmdlineChanged. + (Naohiro Ono) +Solution: Jump to cmdline_not_changed if the command line didn't change. + (closes #8208) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.2852 +Problem: Configure can add --as-needed a second time. +Solution: Only add --as-needed if not already there. (Natanael Copa, + closes #8189, closes #8181) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2853 (after 8.2.2851) +Problem: Window is not updated after using <Cmd> mapping. +Solution: So jump to cmdline_changed but skip autocommand. +Files: src/ex_getln.c + +Patch 8.2.2854 +Problem: Custom statusline cannot contain % items. +Solution: Add "%{% expr %}". (closes #8190) +Files: runtime/doc/options.txt, src/buffer.c, src/optionstr.c, + src/testdir/test_statusline.vim + +Patch 8.2.2855 +Problem: White space after "->" does not give E274. +Solution: Do not skip white space in legacy script. (closes #8212) +Files: src/eval.c, src/testdir/test_method.vim + +Patch 8.2.2856 +Problem: Get readonly error for device that can't be written to. +Solution: Check for being able to write first. (closes #8205) +Files: src/ex_cmds.c, src/testdir/test_writefile.vim + +Patch 8.2.2857 +Problem: Vim9: exception in ISN_INSTR caught at wrong level. +Solution: Set the starting trylevel in exec_instructions(). (closes #8214) +Files: src/vim9compile.c, src/vim9execute.c, src/globals.h, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2858 (after 8.2.2857) +Problem: Test fails because of changed error message. +Solution: Adjust the expected error message. +Files: src/testdir/test_ex_mode.vim + +Patch 8.2.2859 (after 8.2.2857) +Problem: Tcl test fails because of changed error message. +Solution: Adjust the expected error message. +Files: src/testdir/test_tcl.vim + +Patch 8.2.2860 +Problem: Adding a text property causes the whole window to be redrawn. +Solution: Use changed_lines_buf() to only redraw the affected lines. +Files: src/change.c, src/proto/change.pro, src/textprop.c + +Patch 8.2.2861 +Problem: Vim9: "legacy return" is not recognized as a return statement. +Solution: Specifically check for a return command. (closes #8213) +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_expr.vim + +Patch 8.2.2862 +Problem: Removing a text property causes the whole window to be redrawn. +Solution: Use changed_lines_buf() to only redraw the affected lines. +Files: src/textprop.c + +Patch 8.2.2863 (after 8.2.2862) +Problem: Removing a text property does not redraw optimally. +Solution: Only redraw the lines that mithg actually have been changed. +Files: src/textprop.c + +Patch 8.2.2864 +Problem: Vim9: crash when using inline function. +Solution: Check for NULL pointer. Make using inline function work inside + lambda. (closes #8217) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2865 (after 8.2.2864) +Problem: Skipping over function body fails. +Solution: Do not define the function when skipping. +Files: src/userfunc.c + +Patch 8.2.2866 +Problem: Vim9: memory leak when using inline function. +Solution: Remember what strings to free. +Files: src/userfunc.c, src/structs.h, src/eval.c + +Patch 8.2.2867 (after 8.2.2866) +Problem: Build failure. +Solution: Add missing part of the change. +Files: src/globals.h + +Patch 8.2.2868 +Problem: Vim9: When executing a compiled expression the trylevel at start + is changed but not restored. (closes #8214) +Solution: Restore the trylevel at start. +Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2869 +Problem: Using unified diff is not tested. +Solution: Test all cases also with unified diff. (issue #8197) +Files: src/testdir/test_diffmode.vim + +Patch 8.2.2870 +Problem: CmdlineChange event triggered twice for CTRL-R. +Solution: Return CMDLINE_NOT_CHANGED from cmdline_insert_reg(). + (closes #8219) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.2871 +Problem: Unnecessary VIM_ISDIGIT() calls, badly indented code. +Solution: Call skipdigits() on the next character. Improve indenting. + (Dominique Pellé, closes #8227) +Files: src/charset.c, src/evalfunc.c, src/ex_docmd.c, src/json.c, + src/ops.c, src/tag.c, src/vim9compile.c + +Patch 8.2.2872 +Problem: Python tests fail without the channel feature. +Solution: Add a feature check. (Dominique Pellé, closes #8226) +Files: src/testdir/test_python2.vim, src/testdir/test_python3.vim + +Patch 8.2.2873 +Problem: Not enough tests for writing buffers. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8229) +Files: src/testdir/test_buffer.vim, src/testdir/test_cmdline.vim, + src/testdir/test_functions.vim, src/testdir/test_writefile.vim + +Patch 8.2.2874 +Problem: MS-Windows: screen redraws too often. +Solution: Do not redraw when peeking for a character. (closes #8230, + closes #8211) +Files: src/os_win32.c + +Patch 8.2.2875 +Problem: Cancelling inputlist() after a digit does not return zero. +Solution: Always return zero when cancelling. (closes #8231) +Files: src/misc1.c, src/testdir/test_functions.vim + +Patch 8.2.2876 +Problem: Configure cannot detect Python 3.10. +Solution: Use sys.version_info. (closes #8233) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2877 +Problem: Insufficient tests for popup menu rightleft. +Solution: Add tests. (Yegappan Lakshmanan, closes #8235) +Files: src/testdir/test_popup.vim, + src/testdir/dumps/Test_pum_rightleft_01.dump, + src/testdir/dumps/Test_pum_rightleft_02.dump, + src/testdir/dumps/Test_pum_scrollbar_01.dump, + src/testdir/dumps/Test_pum_scrollbar_02.dump + +Patch 8.2.2878 +Problem: Vim9: for loop list unpack only allows for one "_". +Solution: Drop the value when the variable is "_". (closes #8232) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2879 +Problem: File extension .hsig not recognized. +Solution: Use Haskell filetype for .hsig files. (Marcin Szamotulski, + closes #8236) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2880 +Problem: Unified diff fails if actually used. +Solution: Invoke :diffupdate in the test. Fix the check for working external + diff. (Ghjuvan Lacambre, Christian Brabandt, closes #8197) +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.2.2881 +Problem: Various pieces of code not covered by tests. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8245) +Files: src/testdir/test_const.vim, src/testdir/test_functions.vim, + src/testdir/test_python2.vim, src/testdir/test_python3.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.2882 +Problem: Vim9: memory leak when lambda has an error. +Solution: Free the list of argument types on failure. +Files: src/userfunc.c + +Patch 8.2.2883 +Problem: MS-Windows manifest file name is misleading. +Solution: Rename the file. (closes #8241) +Files: .gitignore, .hgignore, Filelist, Makefile, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/gvim.exe.mnf, src/vim.manifest, src/vim.rc + +Patch 8.2.2884 +Problem: Not enough cscope code is covered by tests. +Solution: Add a few test cases. (Dominique Pellé, closes #8246) +Files: src/testdir/test_cscope.vim + +Patch 8.2.2885 +Problem: searching for \%'> does not match linewise end of line. (Tim Chase) +Solution: Match end of line if column is MAXCOL. (closes #8238) +Files: src/regexp_nfa.c, src/regexp_bt.c, src/testdir/test_search.vim + +Patch 8.2.2886 +Problem: Various pieces of code not covered by tests. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8255) +Files: src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_listdict.vim, src/testdir/test_registers.vim, + src/testdir/test_user_func.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.2887 +Problem: Crash when passing null string to fullcommand(). +Solution: Check for NULL pointer. (closes #8256) +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.2.2888 +Problem: Vim9: "k" command recognized in Vim9 script. +Solution: Do not recognize "k" or "s" and "d" with flags. +Files: src/ex_docmd.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.2889 +Problem: Typo and verbose comment in Makefiles. +Solution: Fix typo. Use @#. (Ken Takata, closes #8252) +Files: Makefile, src/testdir/Makefile + +Patch 8.2.2890 +Problem: Text property duplicated when data block splits. +Solution: Do not continue text prop from previous line. (closes #8261) +Files: src/memline.c, src/structs.h, src/testdir/test_textprop.vim + +Patch 8.2.2891 +Problem: Cannot build with Perl 5.34. +Solution: Add Perl_SvTRUE_common(). (Ozaki Kiichi, closes #8266, + closes #8250) +Files: src/if_perl.xs + +Patch 8.2.2892 +Problem: Error message contains random characters. +Solution: Pass the right pointer to error_white_both(). (closes #8272, + closes #8263) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2893 +Problem: Multi-byte text in popup title shows up wrong. +Solution: Use the character width instead of the byte length. (Ralf Schandl, + closes #8267, closes #8264) +Files: src/popupwin.c, src/message_test.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_multibytetitle.dump + +Patch 8.2.2894 +Problem: MS-Windows: using enc_locale() for strftime() might not work. +Solution: Use wcsftime(). (Ken Takata, closes #8271) +Files: src/time.c + +Patch 8.2.2895 +Problem: Vim9: random characters appear in some error messages. +Solution: Pass the correct pointer. (closes #8277) +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2896 +Problem: Spellfile functionality not fully tested. +Solution: Add tests for CHECKCOMPOUNDPATTERN and COMMON. (Dominique Pellé, + closes #8270) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.2897 +Problem: Vim9: can use reserved words at the script level. +Solution: Check variable names for reserved words. (closes #8253) +Files: src/vim9compile.c, src/vim9script.c, src/proto/vim9script.pro, + src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2898 +Problem: QuitPre and ExitPre not triggered when GUI window is closed. +Solution: Call before_quit_autocmds(). (closes #8242) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/gui.c + +Patch 8.2.2899 +Problem: Appveyor script does not detect nmake failure. +Solution: Explicitly check for executable. (Ken Takata, closes #8281) +Files: ci/appveyor.bat + +Patch 8.2.2900 +Problem: QuitPre is triggered before :wq writes the file, which is + different from other commands. +Solution: Trigger QuitPre after writing the file. (closes #8279) +Files: src/ex_docmd.c, src/testdir/test_writefile.vim + +Patch 8.2.2901 +Problem: Some operators not fully tested. +Solution: Add a few test cases. (Yegappan Lakshmanan, closes #8282) +Files: src/testdir/test_cpoptions.vim, src/testdir/test_increment.vim, + src/testdir/test_normal.vim, src/testdir/test_virtualedit.vim, + src/testdir/test_visual.vim + +Patch 8.2.2902 +Problem: Spellfile functionality not fully tested. +Solution: Add tests for CIRCUMFIX, NOBREAK and others. (Dominique Pellé, + closes #8283) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.2903 +Problem: Cursor position wrong on wrapped line with 'signcolumn'. +Solution: Don't add space for showbreak twice. (Christian Brabandt, + closes #8262) +Files: src/drawline.c, src/testdir/test_display.vim + +Patch 8.2.2904 +Problem: "g$" causes scroll if half a double width char is visible. +Solution: Advance to the last fully visible character. (closes #8254) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.2.2905 +Problem: No error when defaults.vim cannot be loaded. +Solution: Add an error message. (Christian Brabandt, closes #8248) +Files: runtime/doc/starting.txt, src/errors.h, src/main.c, + src/testdir/test_startup.vim + +Patch 8.2.2906 (after 8.2.2905) +Problem: ASAN reports errors for test_startup for unknown reasons. +Solution: Temporarily disable the new test. +Files: src/testdir/test_startup.vim + +Patch 8.2.2907 +Problem: Memory leak when running out of memory. +Solution: Free the allocated memory. (Dominique Pellé, closes #8284) +Files: src/term.c + +Patch 8.2.2908 +Problem: Crash when using a terminal popup window from the cmdline window. +Solution: Instead of checking cmdwin_type call cmdwin_is_active(). + (closes #8286) +Files: src/terminal.c, src/errors.h, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_cmdwin_no_terminal.dump + +Patch 8.2.2909 +Problem: Build error with non-Unix system. +Solution: Always include limits.h. +Files: src/vim.h + +Patch 8.2.2910 +Problem: Test for cmdline window and terminal fails on MS-Windows. +Solution: Skip the test on MS-Windows. +Files: src/testdir/test_cmdline.vim + +Patch 8.2.2911 +Problem: Pattern "\%V" does not match all of block selection. (Rick Howe) +Solution: Use the value of vi_curswant. (closes #8285) +Files: src/regexp.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_block_visual_match.dump + +Patch 8.2.2912 +Problem: MS-Windows: most users expect using Unicode. +Solution: Default 'encoding' to utf-8 on MS-Windows. (Ken Takata, + closes #3907) +Files: runtime/doc/options.txt, src/mbyte.c, src/option.c, src/option.h, + src/testdir/test_writefile.vim + +Patch 8.2.2913 +Problem: MS-Windows conpty supports using mouse events. +Solution: When enabling the mouse enable mouse input and disable quick edit + mode. (Wez Furlong, closes #8280) +Files: src/os_win32.c + +Patch 8.2.2914 +Problem: Cannot paste a block without adding padding. +Solution: Add "zp" and "zP" which paste without adding padding. (Christian + Brabandt, closes #8289) +Files: runtime/doc/change.txt, runtime/doc/index.txt, src/normal.c, + src/register.c, src/vim.h, src/testdir/test_normal.vim, + src/testdir/test_visual.vim + +Patch 8.2.2915 +Problem: MS-Windows: when using "default" for encoding utf-8 is used. +Solution: Use the system encoding. (Ken Takata, closes #8300) +Files: src/mbyte.c, runtime/doc/options.txt + +Patch 8.2.2916 +Problem: Operators are not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8290) +Files: src/ops.c, src/testdir/test_netbeans.vim, + src/testdir/test_normal.vim, src/testdir/test_visual.vim + +Patch 8.2.2917 +Problem: Spellfile functionality not fully tested. +Solution: Add tests for SFX with removal of characters, spelling + suggestions with NOBREAK and others. (Dominique Pellé, + closes #8293) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.2918 +Problem: Builtin function can be shadowed by global variable. +Solution: Check for builtin function before variable. (Yasuhiro Matsumoto, + closes #8302) +Files: src/eval.c, src/testdir/test_functions.vim + +Patch 8.2.2919 +Problem: Using ":!command" does not work if the command uses posix_spawn(). +Solution: Do not call ioctl() with TIOCSCTTY. (Felipe Contreras) +Files: src/os_unix.c + +Patch 8.2.2920 +Problem: Still a way to shadow a builtin function. (Yasuhiro Matsumoto) +Solution: Check the key when using extend(). (issue #8302) +Files: src/eval.c, src/dict.c, src/proto/dict.pro, + src/testdir/test_functions.vim + +Patch 8.2.2921 +Problem: E704 for script local variable is not backwards compatible. + (Yasuhiro Matsumoto) +Solution: Only give the error in Vim9 script. Also check for function-local + variable. +Files: src/dict.c, src/testdir/test_functions.vim + +Patch 8.2.2922 +Problem: Computing array length is done in various ways. +Solution: Use ARRAY_LENGTH everywhere. (Ken Takata, closes #8305) +Files: src/arabic.c, src/blowfish.c, src/cindent.c, src/cmdexpand.c, + src/cmdhist.c, src/dosinst.c, src/eval.c, src/evalfunc.c, + src/ex_docmd.c, src/fileio.c, src/gui_athena.c, src/gui_gtk_x11.c, + src/gui_haiku.cc, src/gui_photon.c, src/gui_w32.c, + src/gui_xmebw.c, src/hardcopy.c, src/help.c, src/highlight.c, + src/if_mzsch.c, src/macros.h, src/main.c, src/map.c, src/mbyte.c, + src/memline.c, src/menu.c, src/misc2.c, src/normal.c, src/ops.c, + src/option.c, src/optiondefs.h, src/os_win32.c, src/popupwin.c, + src/quickfix.c, src/regexp.c, src/screen.c, src/search.c, + src/syntax.c, src/term.c, src/terminal.c, src/time.c, + src/usercmd.c, src/version.c + +Patch 8.2.2923 +Problem: EBCDIC build is broken. +Solution: Move sortFunctions() to evalfunc.c. (Ken Takata, closes #8306) +Files: src/eval.c, src/evalfunc.c, src/proto/evalfunc.pro + +Patch 8.2.2924 +Problem: Superfluous extern declaration. +Solution: Delete the declaration. (Ken Takata, closes #8307) +Files: src/main.c + +Patch 8.2.2925 +Problem: Vim9: line continuation comment uses legacy syntax. +Solution: Check for #\ instead of "\. (closes #8295) +Files: src/scriptfile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2926 +Problem: Vim9: no good error for using :legacy in a :def function. +Solution: Give an explicit error where :legacy is not working. + (closes #8309) +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_func.vim + +Patch 8.2.2927 +Problem: Test commented out because it fails with ASAN. +Solution: Only skip the test when running with ASAN. +Files: src/testdir/test_startup.vim + +Patch 8.2.2928 +Problem: The evalfunc.c file is too big. +Solution: Move float related functionality to a separate file. (Yegappan + Lakshmanan, closes #8287) +Files: Filelist, src/Make_ami.mak, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/eval.c, src/evalfunc.c, src/float.c, src/proto.h, + src/proto/eval.pro, src/proto/float.pro + +Patch 8.2.2929 +Problem: Accidentally enable tcl by default. +Solution: Revert change to Makefile +Files: src/Makefile + +Patch 8.2.2930 +Problem: When a popup is visible a mouse move my restart Visual mode. +Solution: Reset held_button when ending Visual mode. (closes #8318) +Files: src/mouse.c, src/proto/mouse.pro, src/normal.c + +Patch 8.2.2931 +Problem: Vim9: line continuation comment still uses legacy syntax in one + place. +Solution: Check for #\ instead of "\ earlier. (closes #8316) +Files: src/scriptfile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.2932 (after 8.2.2930) +Problem: Select mode test fails. +Solution: Do not always reset the held mouse button. +Files: src/mouse.c, src/normal.c, src/proto/normal.pro + +Patch 8.2.2933 +Problem: When 'clipboard' is "unnamed" zp and zP do not work correctly. +Solution: Pass -1 to str_to_reg() and fix computing the character width + instead of using the byte length. (Christian Brabandt, + closes #8301, closes #8317) +Files: src/clipboard.c, src/mbyte.c, src/register.c + +Patch 8.2.2934 (after 8.2.2933) +Problem: ASAN error when using text from the clipboard. +Solution: Get width of each character. +Files: src/register.c + +Patch 8.2.2935 (after 8.2.2934) +Problem: Calculating register width is not always needed. (Christian + Brabandt) +Solution: Only calculate the width when the type is MBLOCK. +Files: src/register.c + +Patch 8.2.2936 +Problem: Vim9: converting number to bool uses wrong stack offset. (Salman + Halim) +Solution: Include the offset in the 2BOOL command. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2937 +Problem: Popup test fails if rightleft feature not enabled. +Solution: Check that the rightleft feature is available. (Dominique Pellé, + closes #8321) +Files: src/testdir/test_popup.vim + +Patch 8.2.2938 +Problem: After using motion force from feedkeys() it may not be reset. +Solution: Clear motion_force in clearop(). (closes #8323) +Files: src/normal.c, src/testdir/test_visual.vim + +Patch 8.2.2939 +Problem: GTK: righthand scrollbar does not show with split window. +Solution: Adjust padding when two scrollbars are used. (Matt Wozniski, + closes #8324) +Files: src/gui_gtk.c + +Patch 8.2.2940 +Problem: MS-Windows: cannot see the size of the text area when resizing the + gvim window. +Solution: Show a tooltip with the text size. (Ken Takata, closes #8326) +Files: src/gui_w32.c + +Patch 8.2.2941 +Problem: Vim9: using `=expr` does not handle a list of strings. +Solution: Convert a list to a string and escape each item. (closes #8310) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2942 +Problem: Vim9: internal error when calling function with too few arguments +Solution: Check for argument count to be too few. (closes #8325) +Files: src/errors.h, src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.2943 +Problem: Vim9: check for argument count ignores default values. +Solution: Take default argument values into account. +Files: src/vim9execute.c + +Patch 8.2.2944 +Problem: Vim9: no error when using job or channel as a string. +Solution: Be more strict about conversion to string. (closes #8312) +Files: src/typval.c, src/job.c, src/proto/job.pro, src/channel.c, + src/proto/channel.pro, src/eval.c, src/vim9execute.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.2945 +Problem: Some buffer related code is not tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8320) +Files: src/termlib.c, src/testdir/test_excmd.vim, + src/testdir/test_recover.vim, src/testdir/test_swap.vim, + src/testdir/test_visual.vim + +Patch 8.2.2946 +Problem: Vim9: substitute expression cannot be a List in a :def function. +Solution: Use typval2string(). (closes #8330) +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2947 +Problem: Build failure without the channel feature. +Solution: Add back #ifdef. (John Marriott) +Files: src/eval.c + +Patch 8.2.2948 +Problem: Substitute() accepts a number but not a float expression. +Solution: Also accept a float. (closes #8331) +Files: src/typval.c, src/testdir/test_substitute.vim + +Patch 8.2.2949 (after 8.2.2948) +Problem: Tests failing because there is no error for float to string + conversion. +Solution: Change the check for failure to check for correct result. Make + some conversions strict in Vim9 script. +Files: src/evalfunc.c, src/float.c, src/findfile.c, src/json.c, + src/filepath.c, src/testdir/test_eval_stuff.vim, + src/testdir/test_execute_func.vim, + src/testdir/test_float_func.vim, src/testdir/test_functions.vim, + src/testdir/test_listdict.vim, src/testdir/test_glob2regpat.vim + +Patch 8.2.2950 +Problem: Sound code not fully tested. +Solution: Add more sound tests. (Dominique Pellé, closes #8332) +Files: src/testdir/test_sound.vim + +Patch 8.2.2951 +Problem: Vim9: cannot use heredoc in :def function for :python, :lua, etc. +Solution: Concatenate the heredoc lines and pass them in the ISN_EXEC_SPLIT + instruction. +Files: src/userfunc.c, src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2952 +Problem: Recover test fails on big endian systems. +Solution: Disable the failing test on big endian systems. (Yegappan + Lakshmanan, closes #8335) +Files: src/testdir/test_recover.vim, src/testdir/test_swap.vim + +Patch 8.2.2953 (after 8.2.2951) +Problem: Vim9: leaking memory when using heredoc script. +Solution: Free the first line. +Files: src/vim9execute.c + +Patch 8.2.2954 +Problem: Short file name extension for Scala not recognized. +Solution: Recognize *.sc. (closes #8337) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2955 +Problem: Vim9: using filter in compiled command does not work. +Solution: Generate EXEC including the command modifier. +Files: src/vim9compile.c, src/ex_docmd.c, src/ex_cmds.c, + src/proto/ex_cmds.pro, src/testdir/test_vim9_cmd.vim + +Patch 8.2.2956 +Problem: Vim9: need to plan for future additions. +Solution: Reserve commands for future use: :type, :class, :enum. +Files: src/ex_cmds.h, src/ex_cmdidxs.h + +Patch 8.2.2957 +Problem: Using getchar() in Vim9 script is problematic. +Solution: Add getcharstr(). (closes #8343) +Files: runtime/doc/eval.txt, src/evalfunc.c, src/getchar.c, + src/proto/getchar.pro, src/testdir/test_functions.vim + +Patch 8.2.2958 (after 8.2.2957) +Problem: Function list test fails. +Solution: Add newly added function to the list. Fix typo. +Files: runtime/doc/usr_41.txt, src/testdir/test_function_lists.vim + +Patch 8.2.2959 +Problem: sound_playfile() is not tested on MS-Windows. +Solution: Make it work and enable the test. (Dominique Pellé, closes #8338) +Files: src/sound.c, src/testdir/test_sound.vim + +Patch 8.2.2960 +Problem: Swap file recovery not sufficiently tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8339) +Files: src/testdir/test_recover.vim + +Patch 8.2.2961 +Problem: Keys typed during a :normal command are discarded. +Solution: Concatenate saved typeahead and typed keys. (closes #8340) +Files: src/getchar.c, src/proto/getchar.pro, src/ex_docmd.c, + src/evalfunc.c, src/debugger.c, src/ui.c, src/proto/ui.pro + +Patch 8.2.2962 +Problem: MS-Windows command line arguments have wrong encoding. +Solution: Always use utf-8 in get_cmd_argsW(). (Ken Takata, closes #8347) +Files: src/os_win32.c + +Patch 8.2.2963 +Problem: GUI: mouse move may start Visual mode with a popup visible. +Solution: Add special code for mouse move. (closes #8318) +Files: src/vim.h, src/gui.c, src/keymap.h, src/term.c + +Patch 8.2.2964 +Problem: Vim9: hang when using space after ->. (Naohiro Ono) +Solution: Skip over white space to find the function name. (closes #8341) +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.2965 +Problem: Vim9: crash when calling function that failed to compile. +Solution: Fail when trying to call the function. (closes #8344) +Files: src/errors.h, src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2966 +Problem: ml_get errors after recovering a file. (Yegappan Lakshmanan) +Solution: Fix the cursor position after deleting lines. +Files: src/memline.c + +Patch 8.2.2967 +Problem: Vim9: crash when using two levels of partials. +Solution: Add outer_ref_T and use it in the execution context. +Files: src/structs.h, src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.2968 (after 8.2.2967) +Problem: Vim9: memory leak +Solution: Unreference pt_outer of partial. +Files: src/eval.c + +Patch 8.2.2969 +Problem: Subtracting from number option fails when result is zero. (Ingo + Karkat) +Solution: Reset the string value when using the numeric value. + (closes #8351) +Files: src/evalvars.c, src/testdir/test_vimscript.vim + +Patch 8.2.2970 +Problem: Python configure check uses deprecated command. +Solution: Use sysconfig instead of distutils if possible. (Zdenek Dohnal, + closes #8354) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.2971 +Problem: Cannot yank a block without trailing spaces. +Solution: Add the "zy" command. (Christian Brabandt, closes #8292) +Files: runtime/doc/change.txt, runtime/doc/index.txt, src/normal.c, + src/ops.c, src/register.c, src/structs.h, + src/testdir/test_visual.vim + +Patch 8.2.2972 +Problem: "%bd" tries to delete popup window buffers, which fails. (Ralf + Schandl) +Solution: Do not try to delete a popup window buffer. (closes #8349) +Files: src/buffer.c, src/vim.h, src/testdir/test_popupwin.vim + +Patch 8.2.2973 +Problem: Fix for recovery and diff mode not tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8352) +Files: src/testdir/test_diffmode.vim, src/testdir/test_prompt_buffer.vim, + src/testdir/test_recover.vim + +Patch 8.2.2974 +Problem: Greek spell checking uses wrong case folding. +Solution: Fold capital sigma depending on whether it is at the end of a + word or not. (closes #299) +Files: src/spell.c, src/proto/spell.pro, src/spellfile.c, + src/spellsuggest.c + +Patch 8.2.2975 +Problem: Vim9: can only use an autoload function name as a string. +Solution: Load the autoload script when encountered. (closes #8124) +Files: src/vim9compile.c, src/evalvars.c, src/scriptfile.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2976 (after 8.2.2975) +Problem: Build failure without the +eval feature. +Solution: Add #ifdefs. +Files: src/scriptfile.c + +Patch 8.2.2977 +Problem: Crash when using a null function reference. (Naohiro Ono) +Solution: Check for an invalid function name. (closes #8367) +Files: src/eval.c, src/errors.h, src/testdir/test_functions.vim + +Patch 8.2.2978 (after 8.2.2977) +Problem: Warning for uninitialized variable. +Solution: Set return value to FAIL. +Files: src/eval.c + +Patch 8.2.2979 +Problem: Not all options code is covered by tests. +Solution: Add more tests for options. (Yegappan Lakshmanan, closes #8369) +Files: src/testdir/test_edit.vim, src/testdir/test_excmd.vim, + src/testdir/test_help.vim, src/testdir/test_mksession.vim, + src/testdir/test_options.vim, src/testdir/test_vartabs.vim, + src/testdir/test_window_cmd.vim + +Patch 8.2.2980 +Problem: Popup window test is a bit flaky. +Solution: Add a redraw command. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.2981 +Problem: Recovery test is not run on big-endian systems. +Solution: Make it work on big-endian systems. (James McCoy, closes #8368) +Files: src/testdir/test_recover.vim + +Patch 8.2.2982 +Problem: Vim9: future commands are not reserved yet. +Solution: Add commands to be implemented later. Make "this" a reserved + name. +Files: runtime/doc/vim9.txt, src/ex_cmds.h, src/ex_cmdidxs.h, + src/vim9script.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.2983 +Problem: Vim9: an inline function requires specifying the return type. +Solution: Make the return type optional. +Files: src/eval.c, src/vim9compile.c, src/userfunc.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.2984 (after 8.2.2983) +Problem: Vim9: Test fails because of missing return statement. +Solution: When type is unknown set type to void. +Files: src/vim9compile.c + +Patch 8.2.2985 +Problem: Vim9: a compiled function cannot be debugged. +Solution: Add initial debugging support. +Files: src/vim9.h, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim.h, src/eval.c, src/vim9execute.c, src/userfunc.c, + src/vim9type.c, src/testdir/test_debugger.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2986 +Problem: Build failure without the profile feature. +Solution: Add #ifdef. +Files: src/vim9compile.c + +Patch 8.2.2987 +Problem: Build failure with normal features. +Solution: Remove #define. +Files: src/vim9execute.c + +Patch 8.2.2988 +Problem: Vim9: debugger test fails. +Solution: Get the debugger instructions when needed. +Files: src/vim.h, src/vim9.h + +Patch 8.2.2989 +Problem: Vim9: memory leak when debugging a :def function. +Solution: Free the debug instructions. +Files: src/vim9compile.c + +Patch 8.2.2990 +Problem: Jupyter Notebook files are not recognized. +Solution: Recognize *.ipynb. (closes #8375) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.2991 +Problem: Vim9: no completion for :vim9 and :legacy. +Solution: Expand argument as a command. (closes #8377) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.2992 +Problem: Vim9: completion for :disassemble is incomplete. +Solution: Recognize the "debug" and "profile" arguments. +Files: src/cmdexpand.c, src/vim9execute.c, src/proto/vim9execute.pro, + src/vim.h, src/testdir/test_cmdline.vim + +Patch 8.2.2993 +Problem: 'fileencodings' default value should depend on 'encoding'. (Gary + Johnson) +Solution: When 'encoding' is "utf-8" use a different default value for + 'fileencodings'. +Files: src/mbyte.c, src/option.c, src/proto/option.pro, + src/testdir/test_options.vim + +Patch 8.2.2994 +Problem: Various code is not fully tested. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8378) +Files: src/testdir/test_excmd.vim, src/testdir/test_mapping.vim, + src/testdir/test_modeline.vim, src/testdir/test_options.vim, + src/testdir/test_paste.vim, src/vim9compile.c + +Patch 8.2.2995 +Problem: Linker errors with dynamic Python 3.10. +Solution: Add a couple of library entries. (Zdenek Dohnal, closes #8381, + closes #8356) +Files: src/if_python3.c + +Patch 8.2.2996 +Problem: Vim9: when debugging cannot inspect local variables. +Solution: Make local variables available when debugging. +Files: src/vim9execute.c, src/proto/vim9execute.pro, src/vim9compile.c, + src/vim9.h, src/debugger.c, src/testdir/test_debugger.vim + +Patch 8.2.2997 (after 8.2 2996) +Problem: Vim9: disassemble test fails. +Solution: Adjust expected output. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.2998 (after 8.2 2996) +Problem: Vim9: disassemble test fails. +Solution: Add missing call to lookup_debug_var(). +Files: src/evalvars.c + +Patch 8.2.2999 +Problem: Balloon sometimes does not hide with GTK 3. +Solution: Also listen to GDK_LEAVE_NOTIFY. (Johannes Stezenbach) +Files: src/gui_beval.c + +Patch 8.2.3000 +Problem: Vim9: warning for uninitialized variable. +Solution: Add initialization. (John Marriott) +Files: src/vim9compile.c + +Patch 8.2.3001 +Problem: Vim9: memory leak when compilation fails. +Solution: Free the list of variable names. +Files: src/vim9compile.c + +Patch 8.2.3002 +Problem: Vim doesn't abort on a fatal Tcl error. +Solution: Change emsg() to iemsg(). (Dominique Pellé, closes #8383) +Files: src/if_tcl.c + +Patch 8.2.3003 +Problem: Vim9: closure compiled with wrong compile type. +Solution: Use COMPILE_TYPE() when calling a function. (closes #8384) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3004 +Problem: Vim9: error for missing colon given while skipping. +Solution: Do not give the error when skipping. (closes #8385) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3005 +Problem: Vim9: using a void value does not give a proper error message. +Solution: Give a clear error message. (closes #8387) +Files: src/typval.c, src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3006 +Problem: Crash when echoing a value very early. (Naruhiko Nishino) +Solution: Do not use a NUL to truncate the message, make a copy. + (closes #8388) +Files: src/message.c, src/testdir/test_startup.vim + +Patch 8.2.3007 (after 8.2.3005) +Problem: Vim9: test for void value fails. +Solution: Adjust expected error. Do not make a copy of void. +Files: src/typval.c, src/testdir/test_functions.vim + +Patch 8.2.3008 (after 8.2.3006) +Problem: Startup test may hang. +Solution: Add quit command in the script. +Files: src/testdir/test_startup.vim + +Patch 8.2.3009 (after 8.2.3006) +Problem: Startup test may hang. +Solution: Do not run the test in the GUI. +Files: src/testdir/test_startup.vim + +Patch 8.2.3010 +Problem: Not enough testing for viminfo code. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #8390) +Files: src/register.c, src/testdir/test_fileformat.vim, + src/testdir/test_smartindent.vim, src/testdir/test_viminfo.vim + +Patch 8.2.3011 +Problem: Vim9: cannot get argument values during debugging. +Solution: Lookup names in the list of arguments. Put debug instruction + halfway for command. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_debugger.vim + +Patch 8.2.3012 +Problem: When 'rightleft' is set the line number is sometimes drawn + reversed. +Solution: Adjust how space is handled. (Christian Brabandt, closes #8389, + closes #8391) +Files: src/drawline.c, src/testdir/test_number.vim + +Patch 8.2.3013 +Problem: Vim: when debugging only the first line of a command using line + continuation is displayed. +Solution: Find the next command and concatenate lines until that one. + (closes #8392) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3014 +Problem: Coverity warns for freeing static string. +Solution: Do not assign static string to pointer. (Dominique Pellé, + closes #8397) +Files: src/vim9execute.c + +Patch 8.2.3015 +Problem: Vim9: Assigning to @# requires a string. (Naohiro Ono) +Solution: Accent a number or a string. (closes #8396) +Files: src/vim9compile.c, src/vim9execute.c, src/globals.h, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3016 +Problem: Confusing error when expression is followed by comma. +Solution: Give a different error for trailing text. (closes #8395) +Files: src/eval.c, src/testdir/test_let.vim, + src/testdir/test_eval_stuff.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.3017 +Problem: Vim9: debugger shows too many lines. +Solution: Truncate at a comment, "enddef", etc. (closes #8392) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3018 +Problem: Formatting using quickfixtextfunc is lost when updating location + lists for different buffers. (Yorick Peterse) +Solution: Use the right window for the location list. (Yegappan Lakshmanan, + closes #8400, closes #8403) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.3019 +Problem: Location list only has the start position. +Solution: Make it possible to add an end position. (thinca, closes #8393) +Files: runtime/doc/eval.txt, src/quickfix.c, + src/testdir/dumps/Test_quickfix_cwindow_1.dump, + src/testdir/dumps/Test_quickfix_cwindow_2.dump, + src/testdir/test_quickfix.vim, src/testdir/test_tagjump.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.3020 +Problem: Unreachable code. +Solution: Remove the code. (closes #8406) +Files: src/ex_docmd.c + +Patch 8.2.3021 +Problem: Spaces allowed between option name and "!", "?", etc. +Solution: Disallow spaces in Vim9 script, it was not documented. + (closes #8408) +Files: src/option.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3022 +Problem: Available encryption methods are not strong enough. +Solution: Add initial support for xchacha20. (Christian Brabandt, + closes #8394) +Files: .github/workflows/ci.yml, runtime/doc/eval.txt, + runtime/doc/options.txt, runtime/doc/various.txt, + src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/auto/configure, src/blowfish.c, src/bufwrite.c, + src/config.h.in, src/configure.ac, src/crypt.c, src/crypt_zip.c, + src/errors.h, src/evalfunc.c, src/feature.h, src/fileio.c, + src/memline.c, src/option.c, src/optionstr.c, + src/proto/blowfish.pro, src/proto/crypt.pro, + src/proto/crypt_zip.pro, src/structs.h, + src/testdir/samples/crypt_sodium_invalid.txt, + src/testdir/test_crypt.vim, src/undo.c, src/version.c + +Patch 8.2.3023 +Problem: Vim9: arguments for execute() not checked at compile time. +Solution: Add a function to check the argument types. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3024 (after 8.2.3023) +Problem: execute() function test fails. +Solution: Adjust test for different error. +Files: src/testdir/test_execute_func.vim + +Patch 8.2.3025 +Problem: Not enough tests for quickfix end_col and end_lnum. +Solution: Add a few more test cases. (Shane-XB-Qian, closes #8409) +Files: src/testdir/test_quickfix.vim + +Patch 8.2.3026 +Problem: Vim9: cannot set breakpoint in compiled function. +Solution: Check for breakpoint when calling a function. +Files: src/vim9execute.c, src/structs.h, src/vim.h, src/vim9.h, + src/debugger.c, src/testdir/test_debugger.vim + +Patch 8.2.3027 +Problem: Vim9: breakpoint in compiled function not always checked. +Solution: Check for breakpoint when calling compiled function from compiled + function. +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3028 +Problem: GUI mouse events not tested. +Solution: Add test_gui_mouse_event(). Add mouse tests. Also add a few + viminfo tests. (Yegappan Lakshmanan, closes #8407) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/testing.pro, + src/testdir/test_gui.vim, src/testdir/test_viminfo.vim, + src/testing.c + +Patch 8.2.3029 +Problem: Vim9: crash when using operator and list unpack assignment. + (Naohiro Ono) +Solution: Get variable value before operation. (closes #8416) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, src/ex_docmd.c, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3030 +Problem: Coverity reports a memory leak. +Solution: Fix the leak and a few typos. (Dominique Pellé, closes #8418) +Files: src/crypt.c, src/errors.h + +Patch 8.2.3031 +Problem: No error if a function name starts with an underscore. (Naohiro + Ono) +Solution: In Vim9 script disallow a function name starting with an + underscore, as is mentioned in the help. (closes #8414) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3032 +Problem: Build problems with MSVC, other crypt issues with libsodium. +Solution: Adjust MSVC makefile. Disable swap file only when 'key' is set. + Adjust error message used when key is wrong. Fix Coverity issues. + (Christian Brabandt, closes #8420, closes #8411) +Files: src/Make_mvc.mak, src/crypt.c, src/errors.h, src/fileio.c, + src/memline.c, src/proto/crypt.pro + +Patch 8.2.3033 +Problem: No error when using alpha delimiter with :global. +Solution: Check the delimiter like with :substitute. (closes #8415) +Files: src/ex_cmds.c, src/testdir/test_global.vim + +Patch 8.2.3034 +Problem: Installing packages on github CI sometimes fails. +Solution: Update package information first. (Christian Brabandt, + closes #8432) +Files: .github/workflows/ci.yml + +Patch 8.2.3035 +Problem: Vim9: crash when calling :def function with partial and return + type is not set. +Solution: When the return type is not set handle like the return type is + unknown. (closes #8422) +Files: src/vim9type.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3036 +Problem: Vim9: builtin function arguments not checked at compile time. +Solution: Add more argument type specs. Check arguments to test_setmouse() + and test_gui_mouse_event(). (Yegappan Lakshmanan, closes #8425) +Files: src/evalfunc.c, src/testdir/test_assert.vim, + src/testdir/test_gui.vim, src/testdir/test_popupwin.vim, + src/testdir/test_vim9_builtin.vim, src/testing.c + +Patch 8.2.3037 +Problem: Configure reports libcanberra when checking for libsodium. +Solution: Adjust the message. (Ozaki Kiichi, closes #8435) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.3038 +Problem: Amiga built-in version string doesn't include build date. +Solution: Add the build date if available. (Ola Söder, closes #8437) +Files: src/os_amiga.c + +Patch 8.2.3039 +Problem: Vim9: breakpoint at a comment line does not work. +Solution: Add the comment line number to the debug instruction. + (closes #8429) +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_debugger.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3040 +Problem: GUI: dropping files not tested. +Solution: Add test_gui_drop_files() and tests. (Yegappan Lakshmanan, + closes #8434) +Files: runtime/doc/eval.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/gui.c, + src/proto/testing.pro, src/testdir/test_gui.vim, src/testing.c + +Patch 8.2.3041 +Problem: Detecting if the process of a swap file is running fails if the + process is owned by another user. +Solution: Check for the ESRCH error. (closes #8436) +Files: src/os_unix.c + +Patch 8.2.3042 (after 8.2.3041) +Problem: Swap file test fails. +Solution: Check for a very high process ID instead of one, which should be + running. +Files: src/testdir/test_swap.vim + +Patch 8.2.3043 +Problem: Amiga: cannot get the shell size on MorphOS and AROS. +Solution: Use control sequences. (Ola Söder, closes #8438) +Files: src/os_amiga.c + +Patch 8.2.3044 +Problem: Amiga MorphOS and AROS: process ID is not valid. +Solution: Use FindTask to return something which is unique to all processes. + (Ola Söder, closes #8444) +Files: src/os_amiga.c + +Patch 8.2.3045 +Problem: Minor typos. +Solution: Fix the typos. (Christian Brabandt, closes #8441) +Files: src/VisVim/README_VisVim.txt, src/evalfunc.c, src/testdir/vim9.vim + +Patch 8.2.3046 +Problem: Amiga MorphOS: Term mode is set using DOS packets. +Solution: Use the same way of setting term mode on all next gen Amiga-like + systems. (Ola Söder, closes #8445) +Files: src/os_amiga.c + +Patch 8.2.3047 +Problem: Increment and decrement don't allow for next command. +Solution: Allow for comment and next command. (closes #8442) +Files: src/ex_cmds.h, src/vim9script.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3048 +Problem: Strange error for white space after ++ command. +Solution: Check for white space explicitly. (closes #8440) +Files: src/vim9script.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3049 +Problem: JSON patch file not recognized. +Solution: Recognize json-patch as json. (Kevin Locke, closes #8450) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3050 +Problem: Cannot recognize elixir files. +Solution: Recognize Elixir-specific files. Check if an .ex file is Euphoria + or Elixir. (Austin Gatlin, closes #8401, closes #8446) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3051 +Problem: Vim9: for loop with one list variable does not work. +Solution: Use a separate flag for unpacking a list. (closes #8452) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3052 +Problem: Vim9: "legacy call" does not work. +Solution: Do not skip "call" after "legacy". (closes #8454) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3053 +Problem: Vim9: cannot assign to @@ in :def function +Solution: Handle '@' like '"'. (closes #8456) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3054 +Problem: Vim9: unpack assignment using "_" after semicolon fails. +Solution: Drop the expression result. (closes #8453) +Files: src/vim9compile.c, src/errors.h, src/testdir/test_vim9_assign.vim + +Patch 8.2.3055 +Problem: Strange error for assigning to "x.key" on non-dictionary. +Solution: Add a specific error message. (closes #8451) +Files: src/eval.c, src/errors.h, src/testdir/test_vim9_assign.vim, + src/testdir/test_listdict.vim, src/testdir/test_let.vim + +Patch 8.2.3056 +Problem: Vim9: using default value in lambda gives confusing error. +Solution: Pass "default_args" on the first pass to get the arguments. + (closes #8455) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3057 +Problem: Vim9: debugger test fails with normal features and +terminal. + (Dominique Pellé) +Solution: Adjust the INSTRUCTIONS macro. (closes #8460) +Files: src/vim9.h + +Patch 8.2.3058 (after 8.2.3056) +Problem: Vim9: cannot use ternary operator in parentheses. +Solution: Do not use "==" for a default argument value. (closes #8462) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3059 (after 8.2.3056) +Problem: Vim9: memory leak when using lambda. +Solution: Do not store the default value strings when skipping. +Files: src/userfunc.c + +Patch 8.2.3060 (after 8.2.3056) +Problem: Vim9: cannot use ternary operator in parentheses. +Solution: Do not use "=~" for a default argument value. (closes #8462) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3061 +Problem: Testing the shell option is incomplete and spread out. +Solution: Move shell tests to one file and increase coverage. (Yegappan + Lakshmanan, closes #8464) +Files: src/testdir/Make_all.mak, src/testdir/test_functions.vim, + src/testdir/test_options.vim, src/testdir/test_shell.vim, + src/testdir/test_system.vim + +Patch 8.2.3062 +Problem: Internal error when adding several text properties. +Solution: Do not handle text properties when deleting a line for splitting a + data block. (closes #8466) +Files: src/structs.h, src/memline.c, src/testdir/test_textprop.vim + +Patch 8.2.3063 +Problem: Crash when switching 'cryptmethod' to xchaha20 with an existing + undo file. (Martin Tournoij) +Solution: Disable reading undo file when decoding can't be done inplace. + (issue #8467) +Files: src/fileio.c, src/bufwrite.c + +Patch 8.2.3064 +Problem: Vim9: in script cannot set item in uninitialized list. +Solution: When a list is NULL allocate an empty one. (closes #8461) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3065 +Problem: Vim9: error when sourcing script twice and reusing a function + name. +Solution: Check if the function is dead. (closes #8463) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3066 +Problem: Vim9: debugging lambda does not work. +Solution: Use the compile type of the function when compiling a lambda. + (closes #8412) +Files: src/vim9compile.c, src/testdir/test_debugger.vim + +Patch 8.2.3067 +Problem: Building fails with Athena. (Elimar Riesebieter) +Solution: Adjust #ifdefs and add the 'drop_file' feature. +Files: src/evalfunc.c, src/testing.c, src/testdir/test_gui.vim + +Patch 8.2.3068 +Problem: Unicode tables are slightly outdated. +Solution: Update the tables for Unicode release 13. (Christian Brabandt + closes #8430) +Files: runtime/tools/unicode.vim, src/mbyte.c + +Patch 8.2.3069 +Problem: Error messages are spread out. +Solution: Move some error messages to errors.h. Use clearer names. +Files: src/errors.h, src/globals.h, src/arglist.c, src/buffer.c, + src/channel.c, src/eval.c, src/evalfunc.c, src/evalvars.c, + src/evalwindow.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, + src/filepath.c, src/fold.c, src/getchar.c, src/indent.c, + src/list.c, src/map.c, src/mark.c, src/normal.c, src/ops.c, + src/optionstr.c, src/popupwin.c, src/quickfix.c, src/spellfile.c, + src/textprop.c, src/typval.c, src/undo.c, src/userfunc.c, + src/vim9compile.c, src/window.c + +Patch 8.2.3070 +Problem: Not enough testing for shell use. +Solution: Add a bit more testing. (Yegappan Lakshmanan, closes #8469) +Files: src/testdir/test_shell.vim, src/testdir/test_startup.vim + +Patch 8.2.3071 +Problem: Shell options are not set properly for PowerShell. +Solution: Use better option defaults. (Mike Williams, closes #8459) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/os_dos.txt, src/fileio.c, src/misc2.c, src/option.c, + src/os_win32.c, src/testdir/test_shell.vim + +Patch 8.2.3072 +Problem: The "zy" command does not work well when 'virtualedit' is set to + "block". (Johann Höchtl) +Solution: Make endspaces zero. (Christian Brabandt, closes #8468, + closes #8448) +Files: src/register.c, src/testdir/test_visual.vim + +Patch 8.2.3073 +Problem: When cursor is moved for block append wrong text is inserted. +Solution: Calculate an offset. (Christian Brabandt, closes #8433, + closes #8288) +Files: src/ops.c, src/testdir/test_blockedit.vim, + src/testdir/test_visual.vim + +Patch 8.2.3074 +Problem: popup_atcursor() uses wrong position with concealing. +Solution: Keep w_wcol in conceal_check_cursor_line(). (closes #8476) +Files: src/screen.c, src/proto/screen.pro, src/normal.c, src/edit.c, + src/ui.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_atcursor_pos.dump + +Patch 8.2.3075 +Problem: Xxd always reports an old version string. (Åsmund Ervik) +Solution: Update the version string with the last known change date. + (Jürgen Weigert, closes #8475) +Files: src/xxd/xxd.c, src/testdir/test_xxd.vim + +Patch 8.2.3076 +Problem: Vim9: using try in catch block causes a hang. +Solution: Save and restore the ec_in_catch flag. (closes #8478) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3077 +Problem: Vim9: an error in a catch block is not reported. +Solution: Put the "in catch" flag in the try stack. (closes #8478) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3078 +Problem: Vim9: profile test fails. +Solution: Make throw in :catch jump to :finally. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3079 +Problem: Powershell core not supported by default. +Solution: Set option defaults for "pwsh". (Mike Williams, closes #8481) +Files: runtime/doc/eval.txt, runtime/doc/options.txt, + runtime/doc/os_dos.txt, runtime/doc/os_win32.txt, src/fileio.c, + src/misc2.c, src/option.c, src/os_win32.c, + src/testdir/test_shell.vim + +Patch 8.2.3080 +Problem: Recover test fails on 32bit systems. (Ondřej Súkup) +Solution: Detect 32/64 bit systems. (Yegappan Lakshmanan, closes #8485, + closes #8479) +Files: src/testdir/test_recover.vim + +Patch 8.2.3081 +Problem: Cannot catch errors in a channel command. +Solution: Instead of skipping the error make it silent. (closes #8477) +Files: src/channel.c + +Patch 8.2.3082 +Problem: A channel command "echoerr" does not show anything. +Solution: Do not use silent errors when using an "echoerr" command. + (closes #8494) +Files: src/channel.c, src/testdir/test_channel.py, + src/testdir/test_channel.vim + +Patch 8.2.3083 +Problem: Crash when passing null string to charclass(). +Solution: Bail out when string pointer is NULL. (Christian Brabandt, + closes #8498, closes #8260) +Files: src/mbyte.c, src/testdir/test_functions.vim + +Patch 8.2.3084 +Problem: Vim9: builtin function argument types are not checked at compile + time. +Solution: Add argument types. (Yegappan Lakshmanan, closes #8503) +Files: src/evalfunc.c, src/testdir/test_functions.vim, + src/testdir/test_glob2regpat.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.3085 +Problem: JSONC files are not recognized. +Solution: Recognize .jsonc files. (Izhak Jakov, closes #8500) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3086 +Problem: Vim9: breakpoint on "for" does not work. +Solution: Use the right line number in ISN_DEBUG. (closes #8486) +Files: src/vim9compile.c, src/testdir/test_debugger.vim + +Patch 8.2.3087 +Problem: Gemtext files are not recognized. +Solution: Recognize .gmi and .gemini files. (closes #8427) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3088 +Problem: With 'virtualedit' set to "block" Visual highlight is wrong after + using "$". (Marco Trosi) +Solution: Do not set w_old_cursor_lcol to MAXCOL. (closes #8495) +Files: src/drawscreen.c, src/testdir/test_visual.vim, + src/testdir/dumps/Test_visual_block_with_virtualedit.dump + +Patch 8.2.3089 +Problem: Garbage collection has useless code. +Solution: Bail out when aborting. (closes #8504) +Files: src/userfunc.c + +Patch 8.2.3090 +Problem: With concealing enabled and indirectly closing a fold the cursor + may be somewhere in a folded line. +Solution: Recompute the cursor position when the cursor line can be + concealed. (closes #8480) +Files: src/drawscreen.c + +Patch 8.2.3091 +Problem: Vim9: default argument expression cannot use previous argument +Solution: Correct argument index. (closes #8496) +Files: src/vim9compile.c, src/structs.h, src/testdir/test_vim9_func.vim + +Patch 8.2.3092 +Problem: Vim9: builtin function test fails without the +channel feature. +Solution: Check the +channel feature is supported. (Dominique Pellé, + closes #8507) +Files: runtime/doc/eval.txt, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3093 +Problem: tablabel_tooltip test fails with Athena. (Dominique Pellé) +Solution: Skip the test when using Athena. (closes #8508) +Files: src/testdir/test_gui.vim, src/testdir/check.vim + +Patch 8.2.3094 +Problem: Test_popup_atcursor_pos() fails without the conceal feature. +Solution: Add a check for the conceal feature. (Dominique Pellé, + closes #8505) +Files: src/testdir/test_popupwin.vim + +Patch 8.2.3095 (after 8.2.3088) +Problem: With 'virtualedit' set to "block" block selection is wrong after + using "$". (Marco Trosi) +Solution: Compute the longest selected line. (closes #8495) +Files: src/drawscreen.c, src/testdir/test_visual.vim, + src/testdir/dumps/Test_visual_block_with_virtualedit2.dump + +Patch 8.2.3096 +Problem: Temp files remain after running tests. +Solution: Delete the right files. (Dominique Pellé, closes #8509) +Files: src/testdir/test_debugger.vim, src/testdir/test_lambda.vim, + src/testdir/test_visual.vim + + +Patch 8.2.3097 +Problem: Crash when using "quit" at recovery prompt and autocommands are + triggered. +Solution: Block autocommands when creating an empty buffer to use as the + current buffer. (closes #8506) +Files: src/buffer.c, src/testdir/test_swap.vim + +Patch 8.2.3098 +Problem: Popup window test is flaky on MS-Windows with GUI. +Solution: Skip the check in this situation. +Files: src/testdir/test_popupwin.vim + +Patch 8.2.3099 +Problem: Vim9: missing catch/finally not reported at script level. +Solution: Give an error. (closes #8487) +Files: src/structs.h, src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3100 +Problem: Vim9: no error when using type with unknown number of arguments. +Solution: Do not ignore argument count of -1. (closes #8492) +Files: src/vim9type.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.3101 +Problem: Missing function prototype for vim_round(). +Solution: Add the prototype. +Files: src/proto/float.pro + +Patch 8.2.3102 (after 8.2.3097) +Problem: Test for crash fix does not fail without the fix. +Solution: Adjust the test sequence. (closes #8506) +Files: src/testdir/test_swap.vim + +Patch 8.2.3103 (after 8.2.3102) +Problem: Swap test may fail on some systems when jobs take longer to exit. +Solution: Use different file names. +Files: src/testdir/test_swap.vim + +Patch 8.2.3104 +Problem: Vim9: unspecified function type causes type error. +Solution: Don't check type when min_argcount is negative. (issue #8492) +Files: src/globals.h, src/vim9type.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3105 +Problem: Vim9: type of partial is wrong when it has arguments. +Solution: Subtract arguments from the count. (issue #8492) +Files: src/vim9type.c, src/userfunc.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3106 +Problem: Vim9: confusing line number reported for error. +Solution: Use the start line number for the store instruction. + (closes #8488) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3107 +Problem: Vim9: error for arguments while type didn't specify arguments. +Solution: Do not update that type to check when no argument count is + specified. (closes #8492) +Files: src/userfunc.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3108 +Problem: Test for remote_foreground() fails. (Elimar Riesebieter) +Solution: Check that $DISPLAY is set. (Christian Brabandt) +Files: src/testdir/check.vim, src/testdir/test_clientserver.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3109 +Problem: Check for $DISPLAY never fails. +Solution: Use eval(). +Files: src/testdir/check.vim + +Patch 8.2.3110 +Problem: A pattern that matches the cursor position is a bit complicated. +Solution: Use a dot to indicate the cursor line and column. (Christian + Brabandt, closes #8497, closes #8179) +Files: runtime/doc/pattern.txt, src/errors.h, src/regexp_bt.c, + src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.3111 +Problem: Vim9: confusing error with extra whitespace before colon. +Solution: Check for colon after white space. (closes #8513) +Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3112 (after 8.2.3090) +Problem: With concealing enabled and indirectly closing a fold the cursor + may be somewhere in a folded line when it is not on the first line + of the fold. +Solution: Check if the cursor is somewhere in the folded text. +Files: src/drawscreen.c + +Patch 8.2.3113 +Problem: No error when for loop variable shadows script variable. +Solution: Check for the error. (closes #8512) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3114 +Problem: Amiga-like systems: build error checking for running process +Solution: Only build swapfile_process_running() on systems where it is + actually used. (Ola Söder, closes #8519) +Files: src/memline.c + +Patch 8.2.3115 +Problem: Coverity complains about free_wininfo() use. +Solution: Add a condition that "wip2" is not equal to "wip". (Neovim #14996) +Files: src/window.c + +Patch 8.2.3116 +Problem: Vim9: crash when debugging a function with line continuation. +Solution: Check for a NULL pointer. (closes #8521) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3117 +Problem: Vim9: type not properly checked in for loop. +Solution: Have items() return a list of lists. Add runtime type checks. + (closes #8515) +Files: src/evalfunc.c, src/globals.h, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3118 +Problem: Vim9: "any" type not handled correctly in for loop. +Solution: Change compile time check into runtime check. (closes #8516) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3119 +Problem: Compiler warning for unused argument. +Solution: Add UNUSED. +Files: src/evalfunc.c + +Patch 8.2.3120 +Problem: Crypt with sodium test fails on MS-Windows. +Solution: Make the tests pass. (closes #8428) +Files: src/testdir/test_crypt.vim + +Patch 8.2.3121 +Problem: 'listchars' "exceeds" character appears in foldcolumn. Window + separator is missing. (Leonid V. Fedorenchik) +Solution: Only draw the "exceeds" character in the text area. Break the + loop when not drawing the text. (closes #8524) +Files: src/drawline.c, src/testdir/test_listchars.vim, + src/testdir/dumps/Test_listchars_01.dump, + src/testdir/dumps/Test_listchars_02.dump, + src/testdir/dumps/Test_listchars_03.dump, + src/testdir/dumps/Test_listchars_04.dump, + src/testdir/dumps/Test_listchars_05.dump + +Patch 8.2.3122 +Problem: With 'nowrap' cursor position is unexpected in narrow window. + (Leonid V. Fedorenchik) +Solution: Put cursor on the last non-empty line. (closes #8525) +Files: src/move.c, src/testdir/test_listchars.vim, + src/testdir/dumps/Test_listchars_06.dump, + src/testdir/dumps/Test_listchars_07.dump + +Patch 8.2.3123 +Problem: Vim9: confusing error when using white space after option, before + one of "!&<". +Solution: Give a specific error. (issue #8408) +Files: src/errors.h, src/option.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3124 +Problem: Vim9: no error for white space between option and "=9". +Solution: Check for extraneous white space. (issue #8408) +Files: src/option.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3125 +Problem: Variables are set but not used. +Solution: Move the declarations to the block where they are used. + (closes #8527) +Files: src/regexp_nfa.c + +Patch 8.2.3126 +Problem: Vim9: for loop error reports wrong line number. +Solution: Save and restore the line number when evaluating the expression. + (closes #8514) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3127 +Problem: Vim9: no error when adding number to list of string. +Solution: Check the value type. (closes #8529) +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3128 +Problem: Vim9: uninitialized list does not get type checked. +Solution: Set the type when initializing the variable. (closes #8529) +Files: src/eval.c, src/evalvars.c, src/vim9script.c, + src/userfunc.c, src/proto/vim9script.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3129 +Problem: Vim9: imported uninitialized list does not get type checked. +Solution: Get type from imported variable. +Files: src/eval.c, src/evalvars.c, src/vim9script.c, + src/proto/vim9script.pro, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3130 +Problem: Vim9: import test fails. +Solution: Rename directory back to "import", use "p" to avoid an error when + the directory already exists. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3131 +Problem: MS-Windows: ipv6 channel test is very flaky in the GUI. +Solution: Skip the test. +Files: src/testdir/test_channel.vim + +Patch 8.2.3132 +Problem: Compiler warns for size_t to colnr_T conversion. (Randall W. + Morris) +Solution: Add a type cast. +Files: src/drawscreen.c + +Patch 8.2.3133 +Problem: Vim9: memory leak when add() fails. +Solution: Allocate listitem_T after type check. +Files: src/list.c + +Patch 8.2.3134 +Problem: Crash when using typename() on a function reference. (Naohiro Ono) +Solution: Initialize pointer to NULL. (closes #8531) +Files: src/vim9type.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3135 +Problem: Vim9: builtin function arguments not checked at compile time. +Solution: Add more type checks. (Yegappan Lakshmanan, closes #8539) +Files: src/channel.c, src/errors.h, src/evalfunc.c, src/proto/typval.pro, + src/terminal.c, src/testdir/test_search.vim, + src/testdir/test_textprop.vim, src/testdir/test_vim9_builtin.vim, + src/testing.c, src/textprop.c, src/typval.c + +Patch 8.2.3136 +Problem: No test for E187 and "No swap file". +Solution: Add a test. (Dominique Pellé, closes #8540) +Files: src/testdir/test_cd.vim, src/testdir/test_swap.vim + +Patch 8.2.3137 +Problem: Vim9: no error when a line only has a variable name. +Solution: Give an error when an expression is evaluated without an effect. + (closes #8538) +Files: src/ex_eval.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_script.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.3138 (after 8.2.3137) +Problem: Debugger test fails. +Solution: Adjust eval command. +Files: src/testdir/test_debugger.vim + +Patch 8.2.3139 +Problem: Functions for string manipulation are spread out. +Solution: Move string related functions to a new source file. (Yegappan + Lakshmanan, closes #8470) +Files: Filelist, src/Make_ami.mak, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/eval.c, src/evalfunc.c, src/mbyte.c, src/misc1.c, src/misc2.c, + src/proto.h, src/proto/eval.pro, src/proto/evalfunc.pro, + src/proto/mbyte.pro, src/proto/misc1.pro, src/proto/misc2.pro, + src/proto/strings.pro, src/strings.c + +Patch 8.2.3140 (after 8.2.3131) +Problem: MS-Windows: ipv6 channel test is very flaky also without the GUI. +Solution: Skip the test also without the GUI. +Files: src/testdir/test_channel.vim + +Patch 8.2.3141 +Problem: No error when using :complete for :command without -nargs. +Solution: Give an error. (Martin Tournoij, closes #8544, closes #8541) +Files: src/usercmd.c, src/errors.h, src/testdir/test_usercommands.vim + +Patch 8.2.3142 +Problem: Vim9: type check for has_key() argument is too strict. +Solution: Also allow for a number key argument. (closes #8542) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3143 +Problem: Vim9: A lambda may be compiled with the wrong context if it is + called from a profiled function. +Solution: Compile the lambda with and without profiling. (closes #8543) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3144 +Problem: Vim9: no error when using an invalid value for a line number. +Solution: Give an error if the string value is not recognized. + (closes #8536) +Files: src/errors.h, src/eval.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3145 +Problem: Vim9: profile test fails without profile feature. +Solution: Check the profile feature is present. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3146 +Problem: Vim9: line number wrong for :execute argument. +Solution: Use the line number of the :execute command itself. (closes #8537) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3147 +Problem: Vim9: profiling does not work with a nested function. +Solution: Also compile a nested function without profiling. (closes #8543) + Handle that compiling may cause the table of compiled functions to + change. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3148 +Problem: Vim9: function arg type check does not handle base offset. +Solution: Take the base offset into account when checking builtin function + argument types. +Files: src/evalfunc.c, src/vim9compile.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3149 (after 8.2.3141) +Problem: Some plugins have a problem with the error check for using + :command with -complete but without -nargs. +Solution: In legacy script only give a warning message. +Files: src/usercmd.c, src/message.c, src/proto/message.pro, + src/testdir/test_usercommands.vim + +Patch 8.2.3150 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add more type checks. (Yegappan Lakshmanan, closes #8545) +Files: src/evalfunc.c, src/testing.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3151 +Problem: Vim9: profiling fails if nested function is also profiled. +Solution: Use the compile type from the outer function. (closes #8543) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3152 +Problem: Vim9: accessing "s:" results in an error. +Solution: Do not try to lookup a script variable for "s:". (closes #8549) +Files: src/evalvars.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3153 +Problem: URLs with a dash in the scheme are not recognized. +Solution: Allow for a scheme with a dash, but not at the start or end. + (Tsuyoshi CHO, closes #8299) +Files: src/misc1.c, src/testdir/test_buffer.vim + +Patch 8.2.3154 +Problem: Vim9: some type checks for builtin functions fail. +Solution: Correct the type checks. (Yegappan Lakshmanan, closes #8551, + closes #8550) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3155 +Problem: Some option related code not covered by tests. +Solution: Add a few test cases. (Dominique Pellé, closes #8552) +Files: src/testdir/test_options.vim, src/testdir/test_set.vim + +Patch 8.2.3156 +Problem: Vim9: term_getansicolors() test fails without +termguicolors. +Solution: Add a check for the feature. (Dominique Pellé, closes #8555) +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3157 +Problem: Crypt test may fail on MS-Windows. +Solution: Ignore "[unix]" in the file message. (Christian Brabandt, + closes #8561) +Files: src/testdir/test_crypt.vim + +Patch 8.2.3158 +Problem: Strange error message when using islocked() with a number. + (Yegappan Lakshmanan) +Solution: Check that the name is empty. +Files: src/evalfunc.c, src/testdir/test_functions.vim + +Patch 8.2.3159 +Problem: Cursor displayed in wrong position after deleting line. +Solution: When deleting lines do not approximate botline. (fixes #8559) +Files: src/change.c + +Patch 8.2.3160 +Problem: 'breakindent' does not work well for bulleted and numbered lists. +Solution: Add the "list" entry to 'breakindentopt'. (Christian Brabandt, + closes #8564, closes #1661) +Files: runtime/doc/options.txt, src/indent.c, src/structs.h, + src/testdir/test_breakindent.vim + +Patch 8.2.3161 +Problem: Vim9: no error when reltime() has invalid arguments. +Solution: Add an error. (closes #8562) +Files: src/time.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3162 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add more type checks. (Yegappan Lakshmanan, closes #8560) +Files: runtime/doc/channel.txt, src/clientserver.c, src/cmdhist.c, + src/errors.h, src/evalfunc.c, src/evalwindow.c, src/filepath.c, + src/globals.h, src/popupwin.c, src/proto/typval.pro, src/sign.c, + src/strings.c, src/terminal.c, src/testdir/test_normal.vim, + src/testdir/test_reltime.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_expr.vim, src/testing.c, src/textprop.c, + src/time.c, src/typval.c + +Patch 8.2.3163 +Problem: Location list window may open a wrong file. +Solution: Also update the qf_ptr field. (Wei-Chung Wen, closes #8565, + closes #8566) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.3164 +Problem: MS-Windows: reported version lacks patchlevel, causing some update + tools to update too often. (Klaus Frank) +Solution: Add the patchlevel to the version. (Christian Brabandt) +Files: src/dosinst.c + +Patch 8.2.3165 +Problem: Vim9: in a || expression the error line number may be wrong. +Solution: Save and restore the line number when checking the type. + (closes #8569) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3166 +Problem: Vim9: nested autoload call error overruled by "Unknown error". +Solution: Check need_rethrow before giving an "Unknown error". + (closes #8568) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3167 +Problem: Get E12 in a job callback when searching for tags. (Andy Stewart) +Solution: Use the sandbox only for executing a command, not for searching. + (closes #8511) +Files: src/tag.c + +Patch 8.2.3168 +Problem: Vim9: type error for constant of type any. +Solution: Do add a runtime type check if a constant has type any. + (closes #8570) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3169 +Problem: Vim9: cannot handle nested inline function. +Solution: Check for nested inline function. (closes #8575) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.3170 +Problem: Illegal memory access in test. +Solution: Check pointer is not before the start of the line. +Files: src/userfunc.c + +Patch 8.2.3171 +Problem: Another illegal memory access in test. +Solution: Check pointer is after the start of the line. +Files: src/userfunc.c + +Patch 8.2.3172 +Problem: MzScheme test fails. (Christian Brabandt) +Solution: Correct function name. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3173 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add more type checks. (Yegappan Lakshmanan, closes #8581) +Files: src/diff.c, src/errors.h, src/evalfunc.c, src/globals.h, + src/job.c, src/proto/typval.pro, src/strings.c, src/terminal.c, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3174 +Problem: Vim9: "legacy undo" finds "undo" variable. +Solution: Do not pass lookup function to find_ex_command(). (closes #8563) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3175 +Problem: Vim9: using illegal pointer with inline function inside a lambda. +Solution: Clear eval_tofree_cmdline when advancing to the next line. + (closes #8578) +Files: src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3176 +Problem: Vim9: no type error for comparing number with string. +Solution: Add a runtime type check. (closes #8571) +Files: src/typval.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.3177 +Problem: Vim9: can not use "for _ in expr" at script level. +Solution: Skip assignment if the loop variable is "_". +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3178 +Problem: Vim9: the file name of an :import cannot be an expression. +Solution: Accept an expression that results in a string. Do not support + :import in a function. +Files: runtime/doc/vim9.txt, src/vim9script.c, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3179 +Problem: Vim9: cannot assign to an imported variable at script level. +Solution: Lookup imported items when assigning. +Files: src/evalvars.c, src/errors.h, src/eval.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3180 +Problem: Vim9: memory leak when concatenating to an imported string. +Solution: Clear the destination. +Files: src/evalvars.c + +Patch 8.2.3181 +Problem: Vim9: builtin function test fails without channel feature. +Solution: Add feature checks. (Dominique Pellé, closes #8586) Make feature + checks more consistent. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3182 +Problem: Vim9: crash when using removing items from a constant list. + (Yegappan Lakshmanan) +Solution: When a list was allocated with items copy them. +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3183 +Problem: Duplicate error numbers. +Solution: Adjust the error numbers. +Files: src/errors.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3184 +Problem: Cannot add a digraph with a leading space. It is not easy to list + existing digraphs. +Solution: Add setdigraph(), setdigraphlist(), getdigraph() and + getdigraphlist(). (closes #8580) +Files: runtime/doc/digraph.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, src/digraph.c, src/evalfunc.c, + src/ex_docmd.c, src/globals.h, src/errors.h, + src/proto/digraph.pro, src/testdir/test_digraph.vim + +Patch 8.2.3185 +Problem: Vim9: start of inline function found in comment line. +Solution: Do not check for inline function in comment line. (closes #8589) +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3186 +Problem: Vim9: not all failures for import tested +Solution: Test more import failures +Files: src/errors.h, src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3187 +Problem: Vim9: popup timer callback is not compiled. +Solution: Compile the callback when creating the timer. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/popupwin.c + +Patch 8.2.3188 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks, also at runtime. (Yegappan + Lakshmanan, closes #8587) +Files: src/blob.c, src/channel.c, src/clientserver.c, src/cmdexpand.c, + src/cmdhist.c, src/dict.c, src/diff.c, src/errors.h, src/eval.c, + src/evalbuffer.c, src/evalfunc.c, src/evalvars.c, + src/evalwindow.c, src/filepath.c, src/globals.h, src/insexpand.c, + src/job.c, src/list.c, src/map.c, src/match.c, + src/proto/typval.pro, src/quickfix.c, src/search.c, src/sign.c, + src/strings.c, src/terminal.c, src/testdir/test_blob.vim, + src/testdir/test_gui.vim, src/testdir/test_vim9_builtin.vim, + src/testing.c, src/textprop.c, src/time.c, src/typval.c + +Patch 8.2.3189 +Problem: Vim9: error when using "try|". +Solution: Allow for "|" right after a command. +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3190 +Problem: Error messages are spread out. +Solution: Move error messages to errors.h and give them a clear name. +Files: src/globals.h, src/errors.h, src/buffer.c, src/debugger.c, + src/digraph.c, src/edit.c, src/ex_cmds.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_eval.c, src/gui.c, src/list.c, src/main.c, + src/map.c, src/match.c, src/quickfix.c, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/register.c, src/search.c, + src/session.c, src/spell.c, src/syntax.c, src/time.c, + src/userfunc.c, src/vim9execute.c, src/window.c + +Patch 8.2.3191 +Problem: Vim9: not enough code is tested. +Solution: Use CheckLegacyAndVim9Success() in more places. Fix uncovered + problems. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_listdict.vim + +Patch 8.2.3192 (after 8.2.3190) +Problem: Build failure with small version (Tony Mechelynck). +Solution: Remove stray #ifdef. +Files: src/errors.h + +Patch 8.2.3193 +Problem: screenpos() is wrong when the last line is partially visible and + 'display' is "lastline". +Solution: Also compute the position for a partially visible line. + (closes #8599) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.2.3194 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks, simplify some. (Yegappan + Lakshmanan, closes #8598) +Files: src/diff.c, src/evalbuffer.c, src/evalfunc.c, src/job.c, + src/proto/typval.pro, src/sign.c, src/terminal.c, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3195 +Problem: Vim9: unclear error when passing too many arguments to lambda. +Solution: Pass the expression itself instead of "[expression]". + (closes #8604) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3196 +Problem: Vim9: bool expression with numbers only fails at runtime. +Solution: Check constant to be bool at compile time. (closes #8603) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3197 +Problem: Error messages are spread out. +Solution: Move a few more error messages to errors.h. +Files: src/globals.h, src/errors.h, src/edit.c, src/ex_cmds.c, + src/ex_docmd.c, src/evalvars.c, src/option.c, src/quickfix.c, + src/regexp_bt.c, src/regexp_nfa.c, src/regexp.c, src/undo.c, + src/vim9compile.c, src/vim9script.c + +Patch 8.2.3198 +Problem: Cannot use 'formatlistpat' for breakindent. +Solution: Use a negative list indent. (Maxim Kim, closes #8594) +Files: runtime/doc/options.txt, src/indent.c, + src/testdir/test_breakindent.vim + +Patch 8.2.3199 +Problem: Vim9: execution speed can be improved. +Solution: Make the break counter static. +Files: src/vim9execute.c + +Patch 8.2.3200 +Problem: Vim9: hard to guess where a type error is given. +Solution: Add the function name where possible. (closes #8608) +Files: src/dict.c, src/proto/dict.pro, src/eval.c, src/list.c, + src/vim9compile.c, src/vim9execute.c, src/structs.h, + src/vim9type.c, src/proto/vim9type.pro, src/if_py_both.h, + src/errors.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3201 (after 8.2.3200) +Problem: Crash in test. +Solution: Initialize "where". +Files: src/eval.c, src/evalvars.c + +Patch 8.2.3202 +Problem: Vim9: tests are only executed for legacy script. +Solution: Run more tests also for Vim9 script. Fix uncovered problems. +Files: src/vim9execute.c, src/ex_docmd.c, src/testdir/test_listdict.vim + +Patch 8.2.3203 +Problem: Vim9: compiled string expression causes type error. (Yegappan + Lakshmanan) +Solution: Remove the string type from the stack. +Files: src/vim9compile.c, src/evalfunc.c + +Patch 8.2.3204 +Problem: Display garbled when 'cursorline' is set and lines wrap. (Gabriel + Dupras) +Solution: Avoid inserting lines twice. (closes #7255) +Files: src/drawscreen.c, src/testdir/test_cursorline.vim, + src/testdir/dumps/Test_cursorline_redraw_1.dump, + src/testdir/dumps/Test_cursorline_redraw_2.dump + +Patch 8.2.3205 +Problem: Coverity reports a null pointer dereference. +Solution: Change the logic to avoid Coverity gets confused. +Files: src/vim9compile.c + +Patch 8.2.3206 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks. (Yegappan Lakshmanan, closes #8611) +Files: runtime/doc/eval.txt, src/blob.c, src/cmdhist.c, src/dict.c, + src/errors.h, src/evalfunc.c, src/filepath.c, src/globals.h, + src/job.c, src/list.c, src/match.c, src/misc1.c, src/popupwin.c, + src/proto/typval.pro, src/sign.c, src/terminal.c, + src/testdir/test_blob.vim, src/testdir/test_vim9_builtin.vim, + src/typval.c + +Patch 8.2.3207 +Problem: Vim9: crash when compiling string fails. (Yegappan Lakshmanan) +Solution: Adjust the type stack length. +Files: src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3208 +Problem: Dynamic library load error does not mention why it failed. +Solution: Add the error message. (Martin Tournoij, closes #8621) +Files: src/globals.h, src/if_cscope.c, src/if_lua.c, src/if_mzsch.c, + src/if_perl.xs, src/if_python.c, src/if_python3.c, src/if_ruby.c, + src/if_tcl.c, src/mbyte.c, src/os_win32.c, src/proto/os_win32.pro, + src/terminal.c + +Patch 8.2.3209 +Problem: Vim9: lambda doesn't find block-local variable. +Solution: Adjust how a script-local variable is found. (closes #8614) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3210 +Problem: Vim9: searchpair() sixth argument is compiled. (Yegappan + Lakshmanan) +Solution: Only compile the fifth argument. +Files: src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3211 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks. Fix type check for matchaddpos(). + (Yegappan Lakshmanan, closes #8619) +Files: src/channel.c, src/evalfunc.c, src/evalvars.c, src/if_cscope.c, + src/job.c, src/proto/typval.pro, + src/testdir/test_vim9_builtin.vim, src/time.c, src/typval.c + +Patch 8.2.3212 +Problem: Vim9: execution speed can be improved. +Solution: Use __builtin_expect() to have the compiler produce better code. + (Dominique Pellé, closes #8613) +Files: src/vim9execute.c + +Patch 8.2.3213 +Problem: NOCOMPOUNDSUGS entry in spell file not tested. +Solution: Add a test. (Dominique Pellé, closes #8624) +Files: src/testdir/test_spellfile.vim + +Patch 8.2.3214 +Problem: MS-Windows: passing /D does not set the install location. +Solution: Adjust how the installer uses $VIM. Update the documentation. + (Christian Brabandt, Ken Takata, closes #8605) +Files: nsis/gvim.nsi, runtime/doc/os_win32.txt + +Patch 8.2.3215 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks. Sort the argument lists. + (Yegappan Lakshmanan, closes #8626) +Files: src/change.c, src/evalfunc.c, src/filepath.c, src/sound.c, + src/testdir/test_gui.vim, src/testdir/test_vim9_builtin.vim, + src/testing.c + +Patch 8.2.3216 +Problem: Vim9: crash when using variable in a loop at script level. +Solution: Do not clear the variable if a function was defined. + Do not create a new entry in sn_var_vals every time. + (closes #8628) +Files: src/eval.c, src/ex_eval.c, src/vim9script.c, src/userfunc.c, + src/evalvars.c, src/structs.h + +Patch 8.2.3217 (after 8.2.3216) +Problem: Build failure. +Solution: Add missing changes. +Files: src/globals.h + +Patch 8.2.3218 +Problem: When using xchaha20 crypt undo file is not removed. +Solution: Reset 'undofile' and delete the file. (Christian Brabandt, + closes #8630, closes #8467) +Files: src/bufwrite.c, src/crypt.c, src/proto/undo.pro, + src/testdir/test_crypt.vim, src/undo.c + +Patch 8.2.3219 +Problem: :find searches non-existing directories. +Solution: Check the path is not "..". Update help. (Christian Brabandt, + closes #8612, closes #8533) +Files: runtime/doc/editing.txt, src/findfile.c, + src/testdir/test_findfile.vim + +Patch 8.2.3220 +Problem: Test_term_setansicolors() fails in some configurations. +Solution: Check available features. (Dominique Pellé, closes #8636) +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3221 +Problem: Vim9: argument types are not checked at compile time. +Solution: Add several more type checks. (Yegappan Lakshmanan, closes #8632) +Files: src/evalfunc.c, src/popupwin.c, src/proto/typval.pro, + src/testdir/test_assert.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim, src/testing.c, src/typval.c + +Patch 8.2.3222 +Problem: Vim9: cannot use loop variable later as lambda argument. +Solution: When not in function context check the current block ID. + (closes #8637) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3223 +Problem: Vim: using {} block in autoloaded omnifunc fails. +Solution: Allow using {} block when text is locked. (closes #8631) +Files: src/ex_cmds.h, src/testdir/test_ins_complete.vim + +Patch 8.2.3224 +Problem: Cannot call script-local function after :vim9cmd. (Christian J. + Robinson) +Solution: Skip over "<SNR>123". +Files: src/vim9compile.c, src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3225 +Problem: Incsearch highlighting is attempted halfway a mapping. +Solution: Only do incsearch highlighting if keys were typed or there is no + more typeahead. +Files: src/ex_getln.c + +Patch 8.2.3226 +Problem: New digraph functions use old naming scheme. +Solution: Use the digraph_ prefix. (Hirohito Higashi, closes #8642) +Files: runtime/doc/digraph.txt, runtime/doc/eval.txt, + runtime/doc/usr_41.txt, src/digraph.c, src/edit.c, src/errors.h, + src/evalfunc.c, src/proto/digraph.pro, + src/testdir/test_digraph.vim + +Patch 8.2.3227 +Problem: 'virtualedit' can only be set globally. +Solution: Make 'virtualedit' global-local. (Gary Johnson, closes #8638) +Files: runtime/doc/options.txt, src/buffer.c, src/change.c, + src/drawscreen.c, src/edit.c, src/misc2.c, src/normal.c, + src/ops.c, src/option.c, src/option.h, src/optiondefs.h, + src/optionstr.c, src/proto/option.pro, src/register.c, + src/structs.h, src/testdir/test_virtualedit.vim + +Patch 8.2.3228 +Problem: Cannot use a simple block for the :command argument. (Maarten + Tournoij) +Solution: Recognize a simple {} block. (issue #8623) +Files: runtime/doc/map.txt, src/misc2.c, src/proto/misc2.pro, + src/usercmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.3229 +Problem: Vim9: runtime and compile time type checks are not the same. +Solution: Add more runtime type checks for builtin functions. (Yegappan + Lakshmanan, closes #8646) +Files: src/arglist.c, src/change.c, src/channel.c, src/cindent.c, + src/clientserver.c, src/cmdhist.c, src/dict.c, src/diff.c, + src/digraph.c, src/errors.h, src/eval.c, src/evalbuffer.c, + src/evalfunc.c, src/evalwindow.c, src/ex_docmd.c, src/ex_getln.c, + src/filepath.c, src/findfile.c, src/float.c, src/fold.c, + src/getchar.c, src/indent.c, src/insexpand.c, src/job.c, + src/json.c, src/list.c, src/mark.c, src/match.c, src/mbyte.c, + src/menu.c, src/misc1.c, src/move.c, src/popupwin.c, + src/proto/typval.pro, src/quickfix.c, src/search.c, src/sign.c, + src/sound.c, src/strings.c, src/terminal.c, + src/testdir/test_assert.vim, src/testdir/test_blob.vim, + src/testdir/test_execute_func.vim, + src/testdir/test_float_func.vim, src/testdir/test_functions.vim, + src/testdir/test_glob2regpat.vim, src/testdir/test_listdict.vim, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim, src/testing.c, src/textprop.c, + src/time.c, src/typval.c, src/undo.c + +Patch 8.2.3230 +Problem: Vim9: type error when function return type is not known yet. +Solution: When return type is unknown, use "any". (closes #8644) +Files: src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3231 +Problem: Build failure with small features. +Solution: Adjust #ifdef. +Files: src/errors.h + +Patch 8.2.3232 (after 8.2.3229) +Problem: system() does not work without a second argument. +Solution: Do not require a second argument. (Yegappan Lakshmanan, + closes #8651, closes #8650) +Files: src/misc1.c, src/proto/typval.pro, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3233 +Problem: prop_list() and prop_find() do not indicate the buffer for the + used type. +Solution: Add "type_bufnr" to the results. (closes #8647) +Files: runtime/doc/textprop.txt, src/testdir/test_textprop.vim, + src/textprop.c + +Patch 8.2.3234 +Problem: Crash when printing long string with Lua. +Solution: Remove lua_pop(). (Martin Tournoij, closes #8648) +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.3235 +Problem: Cannot use lambda in {} block in user command. (Martin Tournoij) +Solution: Do not go over the end of the lambda. +Files: src/userfunc.c, src/testdir/test_usercommands.vim + +Patch 8.2.3236 +Problem: mode() does not indicate using CTRL-O in Select mode. +Solution: Use "vs" and similar. (closes #8640) +Files: runtime/doc/eval.txt, src/globals.h, src/misc1.c, src/normal.c, + src/testdir/test_functions.vim + +Patch 8.2.3237 +Problem: When a builtin function gives an error processing continues. +Solution: In Vim9 script return FAIL in get_func_tv(). +Files: src/userfunc.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3238 +Problem: Vim9: error message does not indicate the location. +Solution: Add the relevant text. (issue #8634) +Files: src/errors.h, src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3239 +Problem: Vim9: no error using heredoc for a number variable. +Solution: Add a type check. (closes #8627) +Files: src/vim9compile.c, src/evalvars.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3240 +Problem: Lua print() does not work properly. +Solution: Put back lua_pop(). +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.3241 +Problem: Vim9: memory leak when function reports an error. +Solution: Clear the return value. +Files: src/userfunc.c + +Patch 8.2.3242 +Problem: Vim9: valgrind reports leaks in builtin function test. +Solution: Do not start a job. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3243 +Problem: MS-Windows: the "edit with multiple Vim" choice is not that + useful. +Solution: Change it to "Edit with multiple tabs". (Michael Soyka, + closes #8645) +Files: src/GvimExt/gvimext.cpp, src/GvimExt/gvimext.h + +Patch 8.2.3244 +Problem: Lua 5.3 print() with a long string crashes. +Solution: Use a growarray instead of a Lua buffer. (Yegappan Lakshmanan, + closes #8655) +Files: src/if_lua.c, src/misc2.c, src/proto/misc2.pro + +Patch 8.2.3245 +Problem: The crypt key may appear in a swap partition. +Solution: When using xchacha20 use sodium_mlock(). (Christian Brabandt, + closes #8657) +Files: src/buffer.c, src/crypt.c, src/errors.h, src/fileio.c, + src/memline.c, src/vim.h + +Patch 8.2.3246 +Problem: Memory use after free. +Solution: When clearing a string option set the pointer to "empty_option". +Files: src/option.c + +Patch 8.2.3247 +Problem: Using uninitialized memory when checking for crypt method. +Solution: Check the header length before using the salt and seed. +Files: src/fileio.c + +Patch 8.2.3248 +Problem: Vim9: error message for wrong input uses wrong line number. +Solution: Use the line number of the start of the command. (issue #8653) +Files: src/vim9script.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3249 +Problem: Vim9: error for re-imported function with default argument. +Solution: Do not check argument type if it is still unknown. (closes #8653) +Files: src/vim9type.c, src/proto/vim9type.pro, src/vim9script.c, + src/vim.h, src/eval.c, src/vim9execute.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3250 +Problem: MS-Windows: cannot build with libsodium. +Solution: Change FEAT_SODIUM into HAVE_SODIUM. (Christian Brabandt, + closes #8668, closes #8663) +Files: src/Make_mvc.mak + +Patch 8.2.3251 +Problem: Listing builtin_gui as an available terminal is confusing. +Solution: Do not list builtin_gui. (Christian Brabandt, closes #8669, + closes #8661) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.3252 +Problem: Duplicated code for adding buffer lines. +Solution: Move code to a common function. Also move map functions to map.c. + (Yegappan Lakshmanan, closes #8665) +Files: src/evalbuffer.c, src/evalfunc.c, src/map.c, src/proto/map.pro + +Patch 8.2.3253 +Problem: Channel test fails randomly. +Solution: Add a sleep after sending the "echoerr" command. (Michael Soyka) +Files: src/testdir/test_channel.vim, src/testdir/test_channel.py + +Patch 8.2.3254 +Problem: win_gettype() does not recognize a quickfix window. +Solution: Add "quickfix" and "loclist". (Yegappan Lakshmanan, closes #8676) +Files: runtime/doc/eval.txt, src/evalwindow.c, src/misc2.c, + src/testdir/test_quickfix.vim + +Patch 8.2.3255 +Problem: ci" finds following string but ci< and others don't. +Solution: When not inside an object find the start. (Connor Lane Smit, + closes #8670) +Files: src/search.c, src/testdir/test_textobjects.vim, src/textobject.c + +Patch 8.2.3256 +Problem: Executable test may fail on new Ubuntu system. +Solution: Consider /usr/bin/cat and /bin/cat the same. +Files: src/testdir/test_functions.vim + +Patch 8.2.3257 +Problem: Calling prop_find() with -1 for ID gives erroneous error. (Naohiro + Ono) +Solution: When passing -1 use -2. (closes #8674) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.3258 +Problem: Error messages have the wrong text. +Solution: Adjust the error message. +Files: src/errors.h, src/typval.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3259 +Problem: When 'indentexpr' causes an error the did_throw flag may remain + set. +Solution: Reset did_throw and show the error. (closes #8677) +Files: src/indent.c, src/ex_docmd.c, src/proto/ex_docmd.pro + +Patch 8.2.3260 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.3261 +Problem: Vim9: when compiling repeat(123, N) return type is number. +Solution: Make return type a string. (closes #8664) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3262 +Problem: Build failure when ABORT_ON_INTERNAL_ERROR is defined. +Solution: Adjust how estack_len_before is used. +Files: src/ex_docmd.c + +Patch 8.2.3263 +Problem: Vim9: "..=" does not accept same types as the ".." operator. +Solution: Convert value to string like ".." does. (issue #8664) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3264 (after 8.2.3263) +Problem: Vim9: assign test fails. +Solution: Add missing change. +Files: src/eval.c + +Patch 8.2.3265 +Problem: Smartcase does not work correctly in very magic pattern. +Solution: Take the magicness into account when skipping over regexp items. + (Christian Brabandt, closes #8682, closes #7845) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.2.3266 +Problem: Vim9: assignment with two indexes may check next line. +Solution: Limit the number of lines to avoid checking the next line when + assigning to a LHS subscript. (closes #8660) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3267 +Problem: Vim9: crash when disassembling a function that uses a deleted + script variable. +Solution: Check the variable still exists. (closes #8683) +Files: src/vim9execute.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3268 +Problem: Cannot use a block with :autocmd like with :command. +Solution: Add support for a {} block after :autocmd. (closes #8620) +Files: runtime/doc/autocmd.txt, runtime/doc/map.txt, src/autocmd.c, + src/proto/autocmd.pro, src/usercmd.c, src/proto/usercmd.pro, + src/ex_docmd.c, src/vim.h, src/testdir/test_autocmd.vim + +Patch 8.2.3269 +Problem: Vim9: wrong argument check for partial. (Naohiro Ono) +Solution: Handle getting return type without arguments. Correct the minimal + number of arguments for what is included in the partial. + (closes #8667) +Files: src/evalfunc.c, src/vim9type.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3270 +Problem: prop_find() finds property with ID -2. +Solution: Use a separate flag to indicate an ID was specified. (issue #8674) +Files: src/textprop.c + +Patch 8.2.3271 +Problem: Vim9: cannot use :command or :au with a block in a :def function. +Solution: Recognize the start of the block. +Files: src/userfunc.c, src/usercmd.c, src/ex_docmd.c, + src/proto/ex_docmd.pro, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3272 +Problem: Cannot use id zero with prop_find(). (Naohiro Ono) +Solution: Also accept id zero. +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.3273 +Problem: Autocmd test fails. +Solution: Require white space before the "{" that starts a block. +Files: src/userfunc.c + +Patch 8.2.3274 +Problem: Macro for printf format check can be simplified. +Solution: Add ATTRIBUTE_FORMAT_PRINTF(). (Dominique Pellé, issue #8635) +Files: src/channel.c, src/gui_xim.c, src/if_mzsch.c, src/nbdebug.c, + src/nbdebug.h, src/netbeans.c, src/proto.h, src/term.c, src/vim.h, + src/vim9execute.c + +Patch 8.2.3275 +Problem: Optimizer can use hints about ga_grow() normally succeeding. +Solution: Use GA_GROW_FAILS() and GA_GROW_OK() in several places. (Dominique + Pellé, issue #8635) +Files: src/arglist.c, src/macros.h, src/vim9execute.c, src/vim9compile.c + +Patch 8.2.3276 +Problem: Vim9: exists() can only be evaluated at runtime. +Solution: Evaluate at compile time for option name literals. (closes #8437) +Files: src/vim9compile.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3277 (after 8.2.3276) +Problem: Vim9: compiled has() does not work properly. +Solution: Fix check for has() vs exists(). +Files: src/vim9compile.c + +Patch 8.2.3278 +Problem: Vim9: error when adding 1 to float. +Solution: Accept t_number_bool. (closes #8687) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3279 +Problem: Vim9: cannot use block in cmdline window. +Solution: Add EX_CMDWIN to the CMD_block flags. (closes #8689) +Files: src/ex_cmds.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3280 +Problem: 'virtualedit' local to buffer is not the best solution. +Solution: Make it window-local. (Gary Johnson, closes #8685) +Files: runtime/doc/options.txt, src/buffer.c, src/drawscreen.c, + src/ops.c, src/option.c, src/option.h, src/optionstr.c, + src/structs.h, src/testdir/test_virtualedit.vim + +Patch 8.2.3281 +Problem: Vim9: TODO items in tests can be taken care of. +Solution: Update test for now working functionality. (closes #8694) +Files: src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.3282 +Problem: Vim9: error about using -complete without -nargs is confusing. +Solution: Change the wording. +Files: src/usercmd.c, src/errors.h + +Patch 8.2.3283 +Problem: Julia filetype is not recognized +Solution: Add filetype detection. (Christian Clason, closes #8700) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3284 +Problem: No error for insert() or remove() changing a locked blob. +Solution: Check a blob is not locked before changing it. (Sean Dewar, + closes #8696) +Files: src/blob.c, src/errors.h, src/eval.c, src/list.c, + src/proto/blob.pro, src/testdir/test_blob.vim, + src/testdir/test_eval_stuff.vim + +Patch 8.2.3285 +Problem: Scdoc filetype is not recognized. +Solution: Add filetype detection. (Gregory Anders, closes #8701) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3286 +Problem: win_enter_ext() has too many boolean arguments. +Solution: use one flags argument with defined values. +Files: src/window.c + +Patch 8.2.3287 +Problem: Channel events not handled in BufEnter autocommand. +Solution: Decrement dont_parse_messages earlier. (Tim Pope, closes #8697) +Files: src/window.c, src/testdir/test_channel.vim + +Patch 8.2.3288 +Problem: Cannot easily access namespace dictionaries from Lua. +Solution: Add vim.g, vim.b, etc. (Yegappan Lakshmanan, closes #8693, + from NeoVim) +Files: runtime/doc/if_lua.txt, src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.3289 (after 8.2.3287) +Problem: Compiler warning for unused variable with small features. +Solution: Rearrange #ifdefs. +Files: src/window.c + +Patch 8.2.3290 +Problem: Vim9: compiling dict may use pointer after free and leak memory on + failure. +Solution: Pass a pointer to generate_PUSHS(). (Zdenek Dohnal, closes #8699) +Files: src/vim9compile.c + +Patch 8.2.3291 +Problem: Coverity warns for not checking return value. +Solution: If dict_add() fails give an error message. +Files: src/if_lua.c, src/testdir/test_lua.vim + +Patch 8.2.3292 +Problem: Underscore in very magic pattern causes a hang. Pattern with \V + are case sensitive. (Yutao Yuan) +Solution: Adjust condition for magicness and advance pointer. (Christian + Brabandt, closes #8707, closes #8704, closes #8705) +Files: src/search.c, src/testdir/test_search.vim + +Patch 8.2.3293 +Problem: Finding completions may cause an endless loop. +Solution: Use a better way to check coming back where the search started. + (Andy Gozas, closes #8672, closes #8671) +Files: src/insexpand.c, src/testdir/Make_all.mak, + src/testdir/test_ins_complete_no_halt.vim + +Patch 8.2.3294 +Problem: Lua: memory leak when adding dict item fails. +Solution: Free the typval and the dict item. +Files: src/if_lua.c + +Patch 8.2.3295 +Problem: 'cursorline' should not apply to 'breakindent'. +Solution: Make 'cursorline' apply to 'breakindent' and 'showbreak' + consistently. (closes #8684) +Files: src/drawline.c, src/testdir/dumps/Test_Xcursorline_19.dump, + src/testdir/dumps/Test_Xcursorline_20.dump, + src/testdir/dumps/Test_Xcursorline_21.dump, + src/testdir/dumps/Test_Xcursorline_22.dump, + src/testdir/dumps/Test_Xcursorline_23.dump, + src/testdir/dumps/Test_Xcursorline_24.dump, + src/testdir/dumps/Test_diff_with_cul_bri_01.dump, + src/testdir/dumps/Test_diff_with_cul_bri_02.dump, + src/testdir/dumps/Test_diff_with_cul_bri_03.dump, + src/testdir/dumps/Test_diff_with_cul_bri_04.dump, + src/testdir/test_cursorline.vim, src/testdir/test_diffmode.vim + +Patch 8.2.3296 +Problem: Vim9: cannot add a number to a float. +Solution: Accept a number if the destination is a float. (closes #8703) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3297 +Problem: Cannot use all commands inside a {} block after :command and + :autocmd. +Solution: Do consider \n to separate commands. (closes #8620) +Files: runtime/doc/map.txt, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/ex_eval.c, src/proto/ex_eval.pro, src/eval.c, src/evalvars.c, + src/ex_cmds.c, src/syntax.c, src/userfunc.c, src/vim9compile.c, + src/vim9script.c, src/errors.h, src/testdir/test_autocmd.vim, + src/testdir/test_usercommands.vim + +Patch 8.2.3298 +Problem: Build failure with small features. +Solution: Add #ifdef. +Files: src/ex_docmd.c + +Patch 8.2.3299 +Problem: Vim9: exists() does not handle much at compile time. +Solution: Handle variable names. (closes #8688) +Files: src/vim9compile.c, src/evalfunc.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3300 +Problem: Lua: can only execute one Vim command at a time. Not easy to get + the Vim version. +Solution: Make vim.command() accept multiple lines. Add vim.version(). + (Yegappan Lakshmanan, closes #8716) +Files: runtime/doc/if_lua.txt, src/evalfunc.c, src/if_lua.c, + src/proto/evalfunc.pro, src/testdir/test_lua.vim, + src/testdir/test_shell.vim + +Patch 8.2.3301 +Problem: Memory allocation functions don't have their own place. +Solution: Move memory allocation functions to alloc.c. (Yegappan + Lakshmanan, closes #8717) +Files: Filelist, src/Make_ami.mak, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/Make_vms.mms, src/Makefile, src/README.md, + src/alloc.c, src/misc2.c, src/proto.h, src/proto/alloc.pro, + src/proto/misc2.pro + +Patch 8.2.3302 +Problem: Coverity is not run from github. +Solution: Add a coverity script. (James McCoy, closes #8714) +Files: .github/workflows/coverity.yml, Filelist + +Patch 8.2.3303 +Problem: Some structures could be smaller. +Solution: Rearrange members to reduce size. (Dominique Pellé, closes #8725) +Files: src/structs.h, src/vim9.h, src/vim9execute.c + +Patch 8.2.3304 +Problem: Popup window title with wide characters is truncated. +Solution: Use vim_strsize() instead of MB_CHARLEN(). (Naruhiko Nishino, + closes #8721) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_multibytetitle.dump + +Patch 8.2.3305 +Problem: Vim9: :finally in skipped block not handled correctly. +Solution: Check whether :finally is in a skipped block. (Naruhiko Nishino, + closes #8724) +Files: src/ex_eval.c, src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3306 +Problem: Unexpected "No matching autocommands". +Solution: Do not give the message when aborting. Mention the arguments in + the message. (closes #8690) +Files: src/autocmd.c, + +Patch 8.2.3307 +Problem: Vim9: :echoconsole cannot access local variables. +Solution: Handle like other :echo commands. (closes #8708) +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3308 +Problem: Vim9: no runtime check for argument type if a function only has + varargs. +Solution: Also check argument types if uf_va_type is set. (closes #8715) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3309 +Problem: Vim9: divide by zero causes a crash. +Solution: Give an error message. (closes #8727) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3310 +Problem: Vim9: unpack assignment does not mention source of type error. +Solution: Mention the argument number. (closes #8719) +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3311 +Problem: Vim9: check for DO_NOT_FREE_CNT is very slow. +Solution: Move to a separate function so it can be skipped by setting + $TEST_SKIP_PAT. +Files: src/testdir/test_vim9_expr.vim, src/testdir/runtest.vim + +Patch 8.2.3312 +Problem: Vim9: after "if false" line breaks in expression not skipped. +Solution: Do parse the expression. (closes #8723) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3313 +Problem: Unused code in win_exchange() and frame_remove(). +Solution: Remove the code. (closes #8728) +Files: src/window.c + +Patch 8.2.3314 +Problem: Behavior of exists() in a :def function is unpredictable. +Solution: Add exists_compiled(). +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/errors.h, src/vim9compile.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3315 +Problem: Cannot use single quote in a float number for readability. +Solution: Support single quotes like in numbers. (closes #8713) +Files: src/typval.c, src/float.c, src/proto/float.pro, src/json.c, + src/viminfo.c, src/testdir/test_float_func.vim + +Patch 8.2.3316 (after 8.2.3315) +Problem: Float test fails. +Solution: Add missing change. +Files: src/evalfunc.c + +Patch 8.2.3317 +Problem: Vim9: No error for missing white space before return type. +Solution: Check for white space. (closes #8733) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3318 +Problem: Vim9: cannot ignore quotes in number at the command line. +Solution: Use in_vim9script() so that after ":vim9" quotes are ignored. +Files: src/typval.c, src/testdir/test_float_func.vim + +Patch 8.2.3319 +Problem: Coverity action on github does not work. +Solution: Remove undefined $SRCDIR. (James McCoy, closes #8739) +Files: .github/workflows/coverity.yml + +Patch 8.2.3320 +Problem: Some local functions are not static. +Solution: Add "static". Move snprintf() related code to strings.c. + (Yegappan Lakshmanan, closes #8734) +Files: src/alloc.c, src/channel.c, src/dict.c, src/digraph.c, src/edit.c, + src/ex_docmd.c, src/getchar.c, src/job.c, src/list.c, + src/message.c, src/profiler.c, src/proto/channel.pro, + src/proto/dict.pro, src/proto/digraph.pro, src/proto/edit.pro, + src/proto/ex_docmd.pro, src/proto/getchar.pro, src/proto/job.pro, + src/proto/list.pro, src/proto/profiler.pro, src/proto/spell.pro, + src/proto/vim9compile.pro, src/proto/vim9script.pro, + src/proto/vim9type.pro, src/spell.c, src/strings.c, + src/vim9compile.c, src/vim9script.c, src/vim9type.c, src/window.c + +Patch 8.2.3321 +Problem: Some code is not tested. +Solution: Add some more tests. (Dominique Pellé, closes #8735) +Files: src/testdir/test_excmd.vim, src/testdir/test_writefile.vim + +Patch 8.2.3322 +Problem: Vim9: checking type of dict does not check member type. +Solution: When getting the type of a typval use dv_type and lv_type. + (closes #8732) +Files: src/vim9type.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3323 +Problem: Help tag for exists_compiled() is wrong. (Maxim Kim) +Solution: Adjust the help tag. +Files: runtime/doc/eval.txt + +Patch 8.2.3324 +Problem: Vim9: Cannot use :silent with :endwhile. +Solution: Allow for using the :silent modifier. (closes #8737) +Files: src/ex_eval.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3325 +Problem: Digraph test fails when LC_ALL is set to "C". +Solution: When restoring 'encoding' set it to "utf-8". (closes #8742) +Files: src/testdir/test_digraph.vim + +Patch 8.2.3326 +Problem: Vim9: no error passing an empty list of the wrong type. +Solution: Use ISN_SETTYPE also for "list<any>". (closes #8732) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3327 +Problem: No check for sysconf() failing. +Solution: If sysconf() fails use SIGSTKSZ for the signal stack size. + (Zdenek Dohnal, closes #8743) +Files: src/os_unix.c + +Patch 8.2.3328 +Problem: Coverity error for not checking return value. +Solution: Check value is not negative. +Files: src/spellfile.c + +Patch 8.2.3329 +Problem: v_lock not set when getting value of environment variable. +Solution: Set v_lock to zero. +Files: src/typval.c + +Patch 8.2.3330 +Problem: Coverity reports using uninitialized field. +Solution: Initialize the field early. +Files: src/tag.c + +Patch 8.2.3331 +Problem: Coverity warns for using value without boundary check. +Solution: Add a boundary check. +Files: src/viminfo.c + +Patch 8.2.3332 +Problem: Vim9: cannot assign to range in list. +Solution: Implement overwriting a list range. +Files: src/vim9compile.c, src/vim9execute.c, src/list.c, + src/proto/list.pro, src/eval.c, src/proto/eval.pro, + src/testdir/test_listdict.vim, src/testdir/test_vim9_assign.vim + +Patch 8.2.3333 +Problem: Vim9: not enough tests run with Vim9. +Solution: Run a few more tests in Vim9 script and :def function. +Files: src/testdir/test_listdict.vim, src/testdir/vim9.vim + +Patch 8.2.3334 +Problem: Vim9: not enough tests run with Vim9. +Solution: Run a few more tests in Vim9 script and :def function. Fix + islocked(). Fix error for locking local variable. +Files: src/evalfunc.c, src/vim9compile.c, src/testdir/test_listdict.vim + +Patch 8.2.3335 +Problem: Vim9: not enough tests run with Vim9. +Solution: Run a few more tests in Vim9 script and :def function. Fix that + items(), keys() and values() return zero for a NULL dict. + Make join() return an empty string for a NULL list. Make sort() + return an empty list for a NULL list. +Files: src/dict.c, src/list.c, src/testdir/test_listdict.vim, + src/testdir/vim9.vim + +Patch 8.2.3336 +Problem: Behavior of negative index in list change changed. (Naruhiko + Nishino) +Solution: Only change it for Vim9 script. (closes #8749) +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.3337 +Problem: Completing "call g:" returns entries with just "g:". (Naohiro Ono) +Solution: Skip empty strings returned by get_user_func_name(). (closes #8753) +Files: src/evalfunc.c, src/testdir/test_cmdline.vim + +Patch 8.2.3338 +Problem: Vim9: no type check when assigning a list range. (Naohiro Ono) +Solution: Check the member type. (closes #8750) +Files: src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.3339 +Problem: Vim9: cannot lock a member in a local dict. +Solution: Get the local dict from the stack and pass it to get_lval(). +Files: src/eval.c, src/vim9execute.c, src/vim9compile.c, src/vim9.h, + src/globals.h, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3340 (after 8.2.3339) +Problem: Accessing uninitialized pointer. +Solution: Set pointer to NULL. +Files: src/eval.c + +Patch 8.2.3341 +Problem: Vim9: function call aborted despite try/catch. (Naohiro Ono) +Solution: Ignore error caught by try/catch. (closes #8755) +Files: src/evalvars.c, src/vim9execute.c, src/message.c, src/time.c, + src/globals.h, src/testdir/vim9.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.3342 (after 8.2.3341) +Problem: Test for :let errors fails. +Solution: Adjust the test and how to avoid a second error message. +Files: src/evalvars.c, src/testdir/test_let.vim + +Patch 8.2.3343 (after 8.2.3342) +Problem: Vim9: autoload test fails. +Solution: Adjust the way the second message is avoided +Files: src/evalvars.c + +Patch 8.2.3344 (after 8.2.3343) +Problem: Vimscript test fails. +Solution: Have test verify first error instead of second +Files: src/testdir/test_vimscript.vim + +Patch 8.2.3345 +Problem: Some code not covered by tests. +Solution: Add a few more tests. (Dominique Pellé, closes #8757) +Files: src/testdir/test_arglist.vim, src/testdir/test_cmdline.vim, + src/testdir/test_spellfile.vim, src/testdir/test_substitute.vim + +Patch 8.2.3346 +Problem: Vim9: no error for using "." for concatenation after ":vim9cmd". + (Naohiro Ono) +Solution: Check for Vim9 script syntax. (closes #8756) +Files: src/eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3347 +Problem: Check for legacy script is incomplete. (Naohiro Ono) +Solution: Also check the :legacy modifier. Use for string concatenation + with "." and others (issue #8756) +Files: src/vim9script.c, src/proto/vim9script.pro, src/eval.c, + src/typval.c, src/evalvars.c, src/errors.h, src/ex_docmd.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3348 +Problem: line2byte() returns wrong value after adding textprop. (Yuto + Kimura) +Solution: Reduce the length by the size of the text property. (closes #8759) +Files: src/memline.c, src/testdir/test_textprop.vim + +Patch 8.2.3349 (after 8.2.3347) +Problem: Eval test for scriptversion fails. +Solution: Fix off-by-one error. +Files: src/vim9script.c + +Patch 8.2.3350 (after 8.2.3348) +Problem: Text properties test fails on MS-Windows. +Solution: Set fileformat to unix. +Files: src/testdir/test_textprop.vim + +Patch 8.2.3351 +Problem: Vim9: using a function by name may delete it. (Naohiro Ono) +Solution: Increment the reference count when using a function by name. + (closes #8760) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3352 +Problem: Vim9: error for nested :enddef has wrong line number. +Solution: Compute the line number. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3353 +Problem: Vim9: type of argument for negate not checked at compile time. +Solution: Add a compile time check. +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3354 +Problem: Build failure with +byte_offset but without +textprop. (John + Marriott) +Solution: Adjust the #ifdef. +Files: src/memline.c + +Patch 8.2.3355 +Problem: MS-Windows: compiler warning for 64-32 bit conversion. +Solution: Add type casts. +Files: src/memline.c + +Patch 8.2.3356 +Problem: Adding many text properties requires a lot of function calls. +Solution: Add the prop_add_list() function. (Yegappan Lakshmanan, + closes #8751) +Files: runtime/doc/eval.txt, runtime/doc/textprop.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/textprop.pro, + src/testdir/test_textprop.vim, src/testdir/test_vim9_builtin.vim, + src/textprop.c + +Patch 8.2.3357 +Problem: Crash when 'virtualedit' is set and window is narrow. +Solution: Check that width is not zero. (closes #8767) +Files: src/misc2.c, src/testdir/test_number.vim + +Patch 8.2.3358 +Problem: Structurizr files are not recognized. +Solution: Recognize the file by contents. (Bastian Venthur, closes #8764) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3359 +Problem: Vim9: error for type when variable is not set. +Solution: Give a specific error for a NULL function. (closes #8773) +Files: src/vim9type.c, src/errors.h, src/testdir/test_vim9_func.vim + +Patch 8.2.3360 +Problem: User function completion fails with dict function. +Solution: Do not stop sequencing through the list if user functions when + encountering an empty name. (Naohiro Ono, closes #8765, + closes #8774) +Files: src/evalfunc.c, src/testdir/test_cmdline.vim + +Patch 8.2.3361 +Problem: Vim9: crash with nested :while. +Solution: Handle skipping better. (Naruhiko Nishino, closes #8778) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3362 +Problem: Buffer overflow when completing long tag name. +Solution: Allocate the buffer dynamically. (Gregory Anders, closes #8769) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.2.3363 +Problem: When :edit reuses the current buffer the alternate file is set to + the same buffer. +Solution: Only set the alternate file when not reusing the buffer. + (closes #8783) +Files: src/ex_cmds.c, src/testdir/test_undo.vim, + src/testdir/test_cmdline.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.3364 +Problem: Vim9: crash when :for is skipped. +Solution: Skip more code generation. (Naruhiko Nishino, closes #8777) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3365 +Problem: Vim9: cannot use option for all operations. +Solution: Recognize more operations. (closes #8779) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/ex_docmd.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3366 +Problem: Vim9: debugging elseif does not stop before condition. +Solution: Move debug statement to after the jump. (closes #8781) +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3367 +Problem: Vim9: :@r executing a register is inconsistent. +Solution: Use "@r" as the start of an expression. (issue #8779) +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3368 +Problem: Not all Racket files are recognized. +Solution: Also recognize .rktl and .rktd files. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3369 +Problem: Auto formatting after "cw" leaves cursor in wrong spot. +Solution: Do not auto-format after the delete. (closes #8789) +Files: src/ops.c, src/testdir/test_textformat.vim + +Patch 8.2.3370 +Problem: Vim9: no check for white space before type in declaration. + (Naohiro Ono) +Solution: Check for white space like in a compiled function. (closes #8785) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3371 +Problem: Vim9: :$ENV cannot be followed by ->func() in next line. +Solution: Use "$ENV" as the start of an expression. (closes #8790) +Files: src/ex_docmd.c, src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3372 +Problem: line2byte() value wrong when adding a text property. (Yuto Kimura) +Solution: Adjust length for text property. (closes #8772) Also fix it for + deleting a line. +Files: src/memline.c, src/testdir/test_textprop.vim + +Patch 8.2.3373 (after 8.2.3372) +Problem: text property test fails on MS-Windows. +Solution: Set fileformat to "unix" +Files: src/testdir/test_textprop.vim + +Patch 8.2.3374 +Problem: Pyret files are not recognized. +Solution: Recognize .arr files as Pyret. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3375 +Problem: Using uninitialized memory. +Solution: Initialize textprop_save_len. +Files: src/memline.c + +Patch 8.2.3376 +Problem: Vim9: no warning that "@r" does not do anything. +Solution: Give a "no effect" error. (closes #8779) +Files: src/ex_eval.c, src/proto/ex_eval.pro, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3377 +Problem: Vim9: :disass completion does not understand "s:". +Solution: Expand "s:" to a pattern. (closes #8780) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3378 +Problem: MS-Windows: completing environment variables with % is wrong. +Solution: Only complete environment variables with $. (Albert Liu, + closes #8791) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3379 +Problem: Crash when using NULL job. +Solution: Copy static string into buffer. (issue #8260) +Files: src/job.c, src/testdir/test_channel.vim + +Patch 8.2.3380 +Problem: Crash when using NULL string for funcref(). +Solution: Check for NULL argument. (issue #8260) +Files: src/evalfunc.c, src/testdir/test_expr.vim + +Patch 8.2.3381 +Problem: Crash when using NULL list with sign functions. +Solution: Handle a NULL list like an empty list. (issue #8260) +Files: src/globals.h, src/testdir/test_signs.vim + +Patch 8.2.3382 +Problem: Crash when getting the type of a NULL partial. +Solution: Check for NULL. (closes #8260) +Files: src/vim9type.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3383 +Problem: Vim9: completion for :disassemble adds parenthesis. +Solution: Don't add parenthesis. (Naohiro Ono, closes #8802) +Files: src/userfunc.c, src/testdir/test_cmdline.vim + +Patch 8.2.3384 +Problem: Cannot disable modeline for an individual file. +Solution: Recognize "nomodeline" in a modeline. (Hu Jialun, closes #8798) +Files: runtime/doc/options.txt, src/buffer.c, + src/testdir/test_modeline.vim + +Patch 8.2.3385 +Problem: Escaping for fish shell does not work properly. +Solution: Insert a backslash before a backslash. (Jason Cox, closes #8810) +Files: runtime/doc/eval.txt, src/strings.c, src/testdir/test_shell.vim + +Patch 8.2.3386 +Problem: Using uninitialized memory. +Solution: Initialize the rm_ic field. (Dominique Pellé, closes #8800) +Files: src/indent.c + +Patch 8.2.3387 +Problem: Compiler warning for non-static function. +Solution: Make the function static. (Dominique Pellé, closes #8816) +Files: src/strings.c + +Patch 8.2.3388 +Problem: fnamemodify('path/..', ':p') differs from using 'path/../'. (David + Briscoe) +Solution: Include the "/.." in the directory name. (closes #8808) +Files: src/os_unix.c, src/testdir/test_fnamemodify.vim + +Patch 8.2.3389 +Problem: Cannot stop insert mode completion without side effects. +Solution: Add CTRL-X CTRL-Z. (closes #8821) +Files: runtime/doc/index.txt, runtime/doc/insert.txt, src/insexpand.c, + src/testdir/test_ins_complete.vim + +Patch 8.2.3390 +Problem: Included xdiff code is outdated. +Solution: Sync with xdiff in git 2.33. (Christian Brabandt, closes #8431) +Files: src/diff.c, src/xdiff/README.txt, src/xdiff/xdiff.h, + src/xdiff/xdiffi.c, src/xdiff/xdiffi.h, src/xdiff/xemit.c, + src/xdiff/xemit.h, src/xdiff/xhistogram.c, src/xdiff/xinclude.h, + src/xdiff/xmacros.h, src/xdiff/xpatience.c, src/xdiff/xprepare.h, + src/xdiff/xtypes.h, src/xdiff/xutils.c, src/xdiff/xutils.h + +Patch 8.2.3391 +Problem: Crash with combination of 'linebreak' and other options. +Solution: Avoid n_extra to become negative. (Christian Brabandt, + closes #8817) +Files: src/drawline.c + +Patch 8.2.3392 +Problem: augroup completion escapes regexp pattern characters. +Solution: Do not escape the augroup name. (closes #8826) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3393 +Problem: Escaping for fish shell is skipping some characters. +Solution: Escape character after backslash if needed. (Jason Cox, + closes #8827) +Files: src/strings.c, src/testdir/test_shell.vim + +Patch 8.2.3394 +Problem: Filler lines are wrong when changing text in diff mode. +Solution: Don't change the filler lines on every change. Check + scrollbinding when updating the filler lines. (closes #8809) +Files: src/move.c, src/diff.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_scroll_change_01.dump, + src/testdir/dumps/Test_diff_scroll_change_02.dump + +Patch 8.2.3395 +Problem: Vim9: expression breakpoint not checked in :def function. +Solution: Always compile a function for debugging if there is an expression + breakpoint. (closes #8803) +Files: src/vim9execute.c, src/proto/vim9execute.pro, src/debugger.c, + src/proto/debugger.pro, src/vim.h, src/vim9.h, + src/testdir/test_debugger.vim + +Patch 8.2.3396 +Problem: When libcall() fails invalid pointer may be used. +Solution: Initialize the string to NULL. (Yasuhiro Matsumoto, closes #8829) +Files: src/evalfunc.c + +Patch 8.2.3397 +Problem: No test for what 8.2.3391 fixes. +Solution: Add a test. (Yegappan Lakshmanan, closes #8828) +Files: src/testdir/test_breakindent.vim + +Patch 8.2.3398 +Problem: Html text objects are not fully tested. +Solution: Add tests for dbcs encoding and different number of backslashes. + (Dominique Pellé, closes #8831) +Files: src/testdir/test_textobjects.vim + +Patch 8.2.3399 +Problem: Octave files are not recognized. +Solution: Detect Octave files. (Doug Kearns) +Files: runtime/autoload/dist/ft.vim, runtime/doc/filetype.txt, + runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3400 +Problem: ":z!" is not supported. +Solution: Make ":z!" work and add tests. (Dominique Pellé, closes #8836) + Use display height instead of current window height. +Files: runtime/doc/various.txt, src/ex_cmds.h, src/ex_cmds.c, + src/testdir/test_ex_z.vim + +Patch 8.2.3401 +Problem: Vim9: cannot use a negative count with finddir() and findfile(). +Solution: Adjust the return type. (closes #8776) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3402 +Problem: Invalid memory access when using :retab with large value. +Solution: Check the number is positive. +Files: src/indent.c, src/option.c, src/optionstr.c, + src/testdir/test_retab.vim + +Patch 8.2.3403 (after 8.2.3402) +Problem: Memory leak for :retab with invalid argument. +Solution: Free the memory. Make error messages consistent. +Files: src/indent.c + +Patch 8.2.3404 +Problem: Vim9: no error for white space before "(". +Solution: Give an error, like in a compiled function. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3405 +Problem: Cannot have a comment line in a {} block of a user command. +Solution: Continue after the line break. (closes #8837) +Files: src/ex_docmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.3406 +Problem: On some systems tests fail without _REENTRANT. (Elimar + Riesebieter) +Solution: Add -D_REENTRANT in configure. (closes #7402) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.3407 +Problem: Using uninitialized memory with "let g:['bar'] = 2". +Solution: Initialize v_type of a new dict item. +Files: src/dict.c + +Patch 8.2.3408 +Problem: Can delete a numbered function. (Naohiro Ono) +Solution: Disallow deleting a numbered function. (closes #8760) +Files: src/userfunc.c, src/testdir/test_user_func.vim + +Patch 8.2.3409 +Problem: Reading beyond end of line with invalid utf-8 character. +Solution: Check for NUL when advancing. +Files: src/regexp_nfa.c, src/testdir/test_regexp_utf8.vim + +Patch 8.2.3410 +Problem: Crash with linebreak, listchars and large tabstop. +Solution: Account for different size listchars for a tab. (closes #8841) +Files: src/drawline.c, src/testdir/test_listlbr_utf8.vim + +Patch 8.2.3411 +Problem: Vim9: crash when using base name of import. (Naohiro Ono) +Solution: Check the import flags. (closes #8843) +Files: src/evalvars.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.3412 (after 8.2.3411) +Problem: Vim9: importing the wrong file. +Solution: Correct the file name. Delete the file afterwards. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3413 +Problem: Vim9: too many characters are allowed in import name. +Solution: Disallow ':' and '#', check for white space. (closes #8845) +Files: src/vim9script.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.3414 +Problem: fullcommand() gives the wrong name if there is a buffer-local user + command. (Naohiro Ono) +Solution: Use a separate function to get the user command name. + (closes #8840) +Files: src/usercmd.c, src/proto/usercmd.pro, src/ex_docmd.c, + src/testdir/test_cmdline.vim + +Patch 8.2.3415 +Problem: Vim9: Not all function argument types are properly checked. +Solution: Add and improve argument type checks. (Yegappan Lakshmanan, + closes #8839) +Files: src/channel.c, src/digraph.c, src/evalfunc.c, src/terminal.c, + src/testdir/test_digraph.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3416 +Problem: Second error is reported while exception is being thrown. +Solution: Do not check for trailing characters when already aborting. + (closes #8842) +Files: src/userfunc.c, src/testdir/test_trycatch.vim + +Patch 8.2.3417 +Problem: Vim9: a failing debug expression aborts script sourcing. +Solution: Do not let expression failure abort script sourcing. (closes #8848) +Files: src/debugger.c, src/testdir/test_debugger.vim + +Patch 8.2.3418 +Problem: Garbage collection while evaluating may cause trouble. +Solution: Disable garbage collection while evaluating an expression. + (Christian Brabandt, issue #8848) +Files: src/eval.c + +Patch 8.2.3419 +Problem: A failing debug expression may make Vim unusable. +Solution: Suppress error messages. (closes #8848) +Files: src/debugger.c, src/testdir/test_debugger.vim + +Patch 8.2.3420 +Problem: _REENTRANT defined more than once. +Solution: Fix configure script. (Christian Brabandt, closes #8852) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.3421 +Problem: A bit of code is not covered by tests. +Solution: Add a few more test cases. (Dominique Pellé, closes #8857) +Files: src/testdir/test_functions.vim, src/testdir/test_history.vim, + src/testdir/test_startup.vim + +Patch 8.2.3422 +Problem: Vim9: no failure if return type differs from returned variable. +Solution: Copy type when copying a list. (closes #8847) +Files: src/list.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3423 +Problem: Vim9: list += list creates a new list in :def function. +Solution: Append to the existing list. +Files: src/structs.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3424 +Problem: A sequence of spaces is hard to see in list mode. +Solution: Add the "multispace" option to 'listchars'. (closes #8834) +Files: runtime/doc/options.txt, src/drawline.c, src/message.c, + src/screen.c, src/structs.h, src/testdir/test_listchars.vim + +Patch 8.2.3425 +Problem: Warning for using uninitialized variable. +Solution: Initialize it. (John Marriott) +Files: src/screen.c + +Patch 8.2.3426 +Problem: Crash when deleting a listener in a listener callback. (Naohiro + Ono) +Solution: Mark the listener and delete it later. (closes #8863) +Files: src/change.c, src/testdir/test_listener.vim + +Patch 8.2.3427 +Problem: Double free when list is copied. +Solution: Allocate the type when making a copy. (closes #8862) + Clear the type for flattennew(). Avoid a memory leak when + flattennew() fails. +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3428 +Problem: Using freed memory when replacing. (Dhiraj Mishra) +Solution: Get the line pointer after calling ins_copychar(). +Files: src/normal.c, src/testdir/test_edit.vim + +Patch 8.2.3429 +Problem: Leaking memory when assigning to list or dict. +Solution: Free the list or dict type before overwriting it. +Files: src/vim9type.c, src/evalvars.c + +Patch 8.2.3430 +Problem: No generic way to trigger an autocommand on mode change. +Solution: Add the ModeChanged autocommand event. (Magnus Gross, closes #8856) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/edit.c, + src/ex_docmd.c, src/ex_getln.c, src/globals.h, src/misc1.c, + src/normal.c, src/proto/autocmd.pro, src/proto/misc1.pro, + src/testdir/test_edit.vim, src/vim.h + +Patch 8.2.3431 +Problem: Completion for :disas sorts local functions first. +Solution: Sort local functions last, like with :delfunc. (Naohiro Ono, + closes #8860) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3432 +Problem: Octave/Matlab filetype detection does not work properly. +Solution: Update the patterns used for matching. (Doug Kearns) +Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim + +Patch 8.2.3433 +Problem: :delcommand does not take a -buffer option. +Solution: Add the -buffer option. +Files: runtime/doc/map.txt, src/usercmd.c, src/errors.h, + src/testdir/test_usercommands.vim + +Patch 8.2.3434 (after 8.2.3430) +Problem: Function prototype for trigger_modechanged() is incomplete. +Solution: Add "void". +Files: src/proto/misc1.pro + +Patch 8.2.3435 +Problem: Vim9: dict is not passed to dict function. +Solution: Keep the dict used until a function call. +Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3436 +Problem: Check for optional bool type has confusing return type. +Solution: Explicitly return OK. +Files: src/typval.c + +Patch 8.2.3437 +Problem: Compiler warnings for 32/64 bit usage. +Solution: Add type casts. (Mike Williams, closes #8870) +Files: src/screen.c, src/xdiff/xemit.c, src/xdiff/xutils.c + +Patch 8.2.3438 +Problem: Cannot manipulate blobs. +Solution: Add blob2list() and list2blob(). (Yegappan Lakshmanan, + closes #8868) +Files: runtime/doc/eval.txt, runtime/doc/usr_41.txt, src/blob.c, + src/errors.h, src/evalfunc.c, src/proto/blob.pro, + src/proto/typval.pro, src/testdir/test_blob.vim, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3439 +Problem: Deleted lines go to wrong yank register. +Solution: Reset y_append when not calling get_yank_register(). (Christian + Brabandt, closes #8872) +Files: src/ops.c, src/proto/register.pro, src/register.c, + src/testdir/test_registers.vim + +Patch 8.2.3440 +Problem: Recover test fails if there is an old swap file. +Solution: Delete old swap files. +Files: src/testdir/test_recover.vim + +Patch 8.2.3441 +Problem: MS-Windows: vimtutor can't handle path with spaces. +Solution: Add double quotes. (Christian Brabandt, closes #8871) +Files: vimtutor.bat + +Patch 8.2.3442 +Problem: Vim9: || and && are not handled at compile time when possible. +Solution: When using constants generate fewer instructions. +Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3443 +Problem: Vim9: memory leak when and/or fails. +Solution: Also clear the growarray when the length is zero. +Files: src/vim9compile.c + +Patch 8.2.3444 +Problem: concealed text not revealed when leaving insert mode. (Michael + Soyka) +Solution: Check if concealing changed when leaving insert mode. + (closes #8880) +Files: src/edit.c, src/testdir/test_conceal.vim, + src/testdir/dumps/Test_conceal_two_windows_07in.dump + +Patch 8.2.3445 +Problem: On Solaris longVersion may be declared twice. (Vladimir Marek) +Solution: Always declare longVersion in version.c +Files: src/globals.h, src/version.c + +Patch 8.2.3446 +Problem: Not enough tests for empty string arguments. +Solution: Add tests, fix type check. (Yegappan Lakshmanan, closes #8881) +Files: runtime/doc/sign.txt, runtime/doc/textprop.txt, src/sign.c, + src/testdir/test_blob.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3447 +Problem: A couple of declarations are not ANSI C. +Solution: Put argument type inside (). (Yegappan Lakshmanan, closes #8890) +Files: src/os_unix.h + +Patch 8.2.3448 +Problem: :endtry after function call that throws not found. +Solution: Do check for following :endtry if an exception is being thrown. + (closes #8889) +Files: src/userfunc.c, src/testdir/test_trycatch.vim + +Patch 8.2.3449 +Problem: Sort fails if the sort compare function returns 999. +Solution: Adjust value to -1 / 0 / 1. (Yasuhiro Matsumoto, closes #8884) +Files: src/list.c, src/testdir/test_sort.vim + +Patch 8.2.3450 +Problem: Coveralls action fails. +Solution: Disable it for now. +Files: .github/workflows/ci.yml + +Patch 8.2.3451 +Problem: Not all apache files are recognized. +Solution: Adjust the filetype pattern. (Zdenek Dohnal, closes #8882) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3452 +Problem: MPD files are not recognized. +Solution: Recognize MPD files as XML. (Steven Penny, closes #8893) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3453 +Problem: Autocmd not executed when editing a directory ending in a path + separator inside try block. +Solution: Return NOTDONE instead of FAIL. (closes #8885) +Files: src/fileio.c, src/testdir/test_autocmd.vim + +Patch 8.2.3454 +Problem: Using a count with "gp" leaves cursor in wrong position. (Naohiro + Ono) +Solution: Count the inserted lines. (closes #8899) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3455 (after 8.2.3454) +Problem: Using a count with "gp" leaves '] in wrong position. (Naohiro Ono) +Solution: Correct the mark position. (closes #8899) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3456 +Problem: Vim9: Not all functions are tested with an empty string argument. +Solution: Add tests with empty strings. (Yegappan Lakshmanan, closes #8915) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3457 +Problem: MS-Windows Vim9: test executed and fails. +Solution: Add extra check for not being on MS-Windows. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3458 +Problem: Not all dictdconf files are recognized. +Solution: Adjust the pattern. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3459 +Problem: Vim9: need more tests for empty string arguments. +Solution: Add more tests. Also use empty argument with menu_info() to get + the top-level menu names. (Yegappan Lakshmanan, closes #8925) +Files: runtime/doc/eval.txt, src/menu.c, src/testdir/test_menu.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3460 +Problem: Some type casts are not needed. +Solution: Remove unnecessary type casts. (closes #8934) +Files: src/autocmd.c, src/buffer.c, src/debugger.c, src/getchar.c, + src/hardcopy.c, src/if_cscope.c, src/move.c, src/tag.c, + src/version.c + +Patch 8.2.3461 +Problem: Cannot distinguish Normal and Terminal-Normal mode. +Solution: Make mode() return "nt" for Terminal-Normal mode. (issue #8856) +Files: runtime/doc/eval.txt, src/misc1.c, src/testdir/test_functions.vim + +Patch 8.2.3462 +Problem: The ModeChanged event only uses one character for the new_mode and + old_mode values. +Solution: Pass one as first argument to mode(). (issue #8856) +Files: src/misc1.c, src/testdir/test_edit.vim + +Patch 8.2.3463 +Problem: Pattern matching with ModeChanged not tested. +Solution: Add a few more test lines. (issue #8856) +Files: src/testdir/test_edit.vim + +Patch 8.2.3464 +Problem: nginx files are not recognized. +Solution: Add several file patterns. (Chris Aumann, closes #8922) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3465 +Problem: Cannot detect insert scroll mode. +Solution: Add "scroll" to complete_info(). (closes #8943) +Files: runtime/doc/eval.txt, src/insexpand.c, src/testdir/test_popup.vim + +Patch 8.2.3466 +Problem: Completion submode not indicated for virtual replace. +Solution: Add submode to "Rv". (closes #8945) +Files: runtime/doc/eval.txt, src/misc1.c, src/testdir/test_functions.vim + +Patch 8.2.3467 +Problem: CursorHoldI event interferes with "CTRL-G U". (Naohiro Ono) +Solution: Restore the flag for "CTRL-G U" after triggering CursorHoldI. + (closes #8937) +Files: src/edit.c, src/testdir/test_autocmd.vim + +Patch 8.2.3468 +Problem: Problem with :cd when editing file in non-existent directory. (Yee + Cheng Chin) +Solution: Prepend the current directory to get the full path. (closes #8903) +Files: src/os_unix.c, src/testdir/test_cd.vim + +Patch 8.2.3469 +Problem: Some files with json syntax are not recognized. +Solution: Add a few file patterns. (Emiliano Ruiz Carletti, closes #8947) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3470 +Problem: Crash with error in :catch and also in :finally. +Solution: Only discard an exception if there is one. (closes #8954) +Files: src/ex_eval.c, src/testdir/test_trycatch.vim + +Patch 8.2.3471 +Problem: Crash when using CTRL-T after an empty search pattern. +Solution: Bail out when there is no previous search pattern. (closes #8953) +Files: src/ex_getln.c, src/testdir/test_search.vim + +Patch 8.2.3472 +Problem: Other crashes with empty search pattern not tested. +Solution: Add a few more test lines. (Dominique Pellé) +Files: src/testdir/test_search.vim + +Patch 8.2.3473 +Problem: Some files with tcl syntax are not recognized. +Solution: Add a few file patterns. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3474 +Problem: Some places use "Vimscript" instead of "Vim script". +Solution: Consistently use "Vim script". (Hirohito Higashi, closes #8910) +Files: runtime/doc/if_lua.txt, src/getchar.c, src/if_lua.c + +Patch 8.2.3475 +Problem: Expression register set by not executed put command. +Solution: Do not set the register if the command is skipped. (closes #8909) +Files: src/ex_docmd.c, src/testdir/test_excmd.vim + +Patch 8.2.3476 +Problem: Renaming a buffer on startup may cause using freed memory. +Solution: Check if the buffer is used in a window. (closes #8955) +Files: src/buffer.c, src/testdir/test_startup.vim + +Patch 8.2.3477 (after 8.2.3476) +Problem: Startup test fails on MS-Windows. +Solution: Skip the test if not on Unix. +Files: src/testdir/test_startup.vim + +Patch 8.2.3478 (after 8.2.3470) +Problem: Still crash with error in :catch and also in :finally. +Solution: Only call finish_exception() once. (closes #8954) +Files: src/ex_eval.c, src/structs.h + +Patch 8.2.3479 +Problem: Crash when calling job_start with an invalid argument. (Virginia + Senioria) +Solution: Clear the first item in argv. (closes #8957) +Files: src/misc2.c, src/testdir/test_channel.vim + +Patch 8.2.3480 (after 8.2.3478) +Problem: Test does not fail without the fix for a crash. +Solution: Write the bad code in a file and source it. (Dominique Pellé, + closes #8961) +Files: src/testdir/test_trycatch.vim + +Patch 8.2.3481 +Problem: Failures when char is unsigned. +Solution: Use int8_T. Make a CI run with unsigned char. (James McCoy, + closes #8936) +Files: src/structs.h, .github/workflows/ci.yml + +Patch 8.2.3482 +Problem: Reading beyond end of line ending in quote and backslash. +Solution: Check for non-NUL after backslash. (closes #8964) +Files: src/cindent.c, src/testdir/test_cindent.vim + +Patch 8.2.3483 +Problem: #ifdef for using sysinfo() is incomplete. +Solution: Also check for HAVE_SYSINFO. Make autoconf check use TRY_LINK. + (closes #8952) +Files: src/memline.c, src/configure.ac, src/auto/configure + +Patch 8.2.3484 +Problem: Crash when going through spell suggestions. +Solution: Limit the text length for finding suggestions to the original + length. Do not update buffers when exiting. (closes #8965) +Files: src/spellsuggest.c, src/clipboard.c, + src/testdir/test_spell_utf8.vim + +Patch 8.2.3485 +Problem: Python 3 test fails with Python 3.10. +Solution: Adjust expected error message. (zdohnal Dohnal, closes #8969) +Files: src/testdir/test_python3.vim + +Patch 8.2.3486 +Problem: Illegal memory access with invalid sequence of commands. +Solution: Do not call leave_block() when not in a try block. (closes #8966) + Reset did_emsg so that exception is shown as an error. +Files: src/ex_eval.c, src/testdir/test_trycatch.vim + +Patch 8.2.3487 +Problem: Illegal memory access if buffer name is very long. +Solution: Make sure not to go over the end of the buffer. +Files: src/drawscreen.c, src/testdir/test_statusline.vim + +Patch 8.2.3488 +Problem: Issue template is not easy to use. +Solution: Use a yaml template. (closes #8928) +Files: .github/ISSUE_TEMPLATE/bug_report.md, + .github/ISSUE_TEMPLATE/bug_report.yml + +Patch 8.2.3489 +Problem: ml_get error after search with range. +Solution: Limit the line number to the buffer line count. +Files: src/ex_docmd.c, src/testdir/test_search.vim + +Patch 8.2.3490 +Problem: Superfluous return statements. +Solution: Remove superfluous return statements from void functions. + (closes #8977) +Files: src/buffer.c, src/getchar.c, src/memline.c, src/move.c, + src/option.c + +Patch 8.2.3491 +Problem: xpm2 filetype detection is not so good. +Solution: Adjust the check for xpm2. (closes #8914) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3492 +Problem: Crash when pasting too many times. +Solution: Limit the size to what fits in an int. (closes #8962) +Files: src/register.c, src/errors.h, src/testdir/test_put.vim + +Patch 8.2.3493 (after 8.2.3492) +Problem: Large count test fails on MS-Windows. +Solution: Skip the test on MS-Windows. +Files: src/testdir/test_put.vim + +Patch 8.2.3494 +Problem: Illegal memory access in utf_head_off. +Solution: Check cursor position when reselecting the Visual area. + (closes #8963) +Files: src/normal.c, src/testdir/test_visual.vim + +Patch 8.2.3495 +Problem: GUI geometry startup test fails on some systems. (Drew Vogel) +Solution: Add tolerance to the size check. (closes #8815) +Files: src/testdir/test_startup.vim + +Patch 8.2.3496 +Problem: Crypt test fails on MS-Windows if xxd was not installed yet. +Solution: Use the just built xxd executable if it exists. (James McCoy, + closes #8929) +Files: src/testdir/test_crypt.vim + +Patch 8.2.3497 +Problem: Put test fails when run by itself. +Solution: Source check.vim. (Dominique Pellé, closes #8990) +Files: src/testdir/test_put.vim + +Patch 8.2.3498 +Problem: Recover test may fail on some systems. +Solution: Adjust the little endian and 64 bit detection. (James McCoy, + closes #8941) +Files: src/testdir/test_recover.vim + +Patch 8.2.3499 +Problem: GUI geometry startup test fails. +Solution: Check string values instead of numbers +Files: src/testdir/test_startup.vim + +Patch 8.2.3500 +Problem: Github CI fails to install clang. +Solution: Install llvm-11 explicitly. (Christian Brabandt, closes #8993) +Files: .github/workflows/ci.yml + +Patch 8.2.3501 +Problem: tmux filetype detection is incomplete +Solution: Also use tmux for files having text after .conf. (Eric Pruitt, + closes #8971) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3502 (after 8.2.2919) +Problem: Cannot enter password in shell command. +Solution: Revert patch 8.2.2919. +Files: src/os_unix.c + +Patch 8.2.3503 +Problem: Vim9: using g:pat:cmd is confusing. +Solution: Do not recognize g: as the :global command. Also for s:pat:repl. + (closes #8982) +Files: runtime/doc/vim9.txt, src/ex_docmd.c, src/ex_cmds.c, src/errors.h, + src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3504 (after 8.2.3503) +Problem: Vim9: warning for signed vs unsigned. +Solution: Add type cast. +Files: src/vim9compile.c + +Patch 8.2.3505 (after 8.2.3503) +Problem: Vim9: build failure without the +eval feature. +Solution: Add #ifdef. +Files: src/ex_cmds.c + +Patch 8.2.3506 (after 8.2.3503) +Problem: Vim9: special cases for "g" and "s" insufficiently tested. +Solution: Add a few more test cases. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.3507 +Problem: Generating proto files may fail. +Solution: Define __attribute(). +Files: src/Makefile + +Patch 8.2.3508 (after 8.2.3503) +Problem: Vim9: bad separators for "g" and "s" insufficiently tested. +Solution: Add a few more test cases. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.3509 +Problem: Undo file is not synced. (Sami Farin) +Solution: Sync the undo file if 'fsync' is set. (Christian Brabandt, + closes #8879, closes #8920) +Files: runtime/doc/options.txt, src/undo.c + +Patch 8.2.3510 +Problem: Changes are only detected with one second accuracy. +Solution: Use the nanosecond time if possible. (Leah Neukirchen, + closes #8873, closes #8875) +Files: runtime/doc/eval.txt, src/auto/configure, src/bufwrite.c, + src/config.h.in, src/configure.ac, src/fileio.c, + src/proto/fileio.pro, src/memline.c, src/netbeans.c, + src/structs.h, src/evalfunc.c, src/testdir/test_stat.vim + +Patch 8.2.3511 +Problem: Vim9: entry for loop variable is created every round. +Solution: Only create the entry once. (closes #8996) +Files: src/evalvars.c, src/vim9script.c + +Patch 8.2.3512 +Problem: Timestamp test fails on some systems. +Solution: Sleep for a short while. +Files: src/testdir/test_stat.vim + +Patch 8.2.3513 +Problem: Using freed memory when using a timer and searching. (Dominique + Pellé) +Solution: Allocated mr_pattern. +Files: src/search.c + +Patch 8.2.3514 +Problem: Autoread test with nanosecond time sometimes fails. +Solution: Mark the test as being flaky. +Files: src/testdir/test_stat.vim + +Patch 8.2.3515 +Problem: Nano time test fails on Mac and FreeBSD. +Solution: Also check nano time when not on Linux. (Ozaki Kiichi, + closes #9000) +Files: src/fileio.c + +Patch 8.2.3516 +Problem: Terminal window does not have transparent background when + 'termguicolors' is used. +Solution: Fix the background color. (closes #2361, closes #9002) +Files: runtime/doc/terminal.txt, src/highlight.c, src/proto/terminal.pro, + src/terminal.c + +Patch 8.2.3517 +Problem: TextChanged does not trigger after TextChangedI. +Solution: Store the tick separately for TextChangedI. (Christian Brabandt, + closes #8968, closes #8932) +Files: src/buffer.c, src/bufwrite.c, src/edit.c, src/structs.h, + src/testdir/test_autocmd.vim + +Patch 8.2.3518 +Problem: Test_xrestore sometimes fails. +Solution: Mark the test as flaky. Move marking test as flaky to the test + instead of listing them in runtest. +Files: src/testdir/test_paste.vim, src/testdir/runtest.vim, + src/testdir/test_autocmd.vim, src/testdir/test_channel.vim, + src/testdir/test_clientserver.vim, src/testdir/test_diffmode.vim, + src/testdir/test_functions.vim, src/testdir/test_gui.vim, + src/testdir/test_mapping.vim, src/testdir/test_popup.vim, + src/testdir/test_quotestar.vim, src/testdir/test_reltime.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim, + src/testdir/test_timers.vim + +Patch 8.2.3519 +Problem: TOML files are not recognized. +Solution: Add filetype patterns for TOML. (Aman Verma, closes #8984) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3520 +Problem: Cannot define a function for thesaurus completion. +Solution: Add 'thesaurusfunc'. (Yegappan Lakshmanan, closes #8987, + closes 8950) +Files: runtime/doc/insert.txt, runtime/doc/options.txt, + runtime/doc/quickref.txt, src/buffer.c, src/insexpand.c, + src/option.c, src/option.h, src/optiondefs.h, src/optionstr.c, + src/structs.h, src/testdir/test_edit.vim + +Patch 8.2.3521 (after 8.2.3520) +Problem: Options completion test fails. +Solution: Add 'thesaurusfunc' to the results. +Files: src/testdir/test_options.vim + +Patch 8.2.3522 +Problem: Cannot use \x and \u when setting 'listchars'. +Solution: Support hex and unicode in hex form. (closes #9006) +Files: runtime/doc/options.txt, src/screen.c, src/charset.c, + src/testdir/test_listchars.vim + +Patch 8.2.3523 +Problem: Duplicated code in xxd. +Solution: Remove duplicated lines. (closes #8972) +Files: src/xxd/xxd.c + +Patch 8.2.3524 +Problem: GUI: ligatures are not used. +Solution: Add the 'guiligatures' option. (Dusan Popovic, closes #8933) +Files: runtime/doc/options.txt, src/gui.c, src/gui.h, src/gui_gtk_x11.c, + src/option.h, src/optiondefs.h, src/optionstr.c, src/errors.h, + src/proto/gui.pro, src/proto/gui_gtk_x11.pro, + src/testdir/test_gui.vim + +Patch 8.2.3525 +Problem: Option variable name does not match option name. (Christ van + Willegen) +Solution: Rename the variable. +Files: src/buffer.c, src/insexpand.c, src/option.c, src/optionstr.c, + src/structs.h + +Patch 8.2.3526 +Problem: Tests have clumsy check for X11 based GUI. +Solution: Add CheckX11BasedGui. +Files: src/testdir/check.vim, src/testdir/test_gui.vim, + src/testdir/test_gui_init.vim, src/testdir/setup_gui.vim + +Patch 8.2.3527 +Problem: Gcc complains about uninitialized variable. (Tony Mechelynck) +Solution: Initialize it. +Files: src/gui_gtk_x11.c + +Patch 8.2.3528 +Problem: 'thesaurus' and 'thesaurusfunc' do not have the same scope. +Solution: Make 'thesaurusfunc' global-local. +Files: runtime/doc/options.txt, runtime/doc/insert.txt, + src/optiondefs.h, src/option.h, src/option.c, src/structs.h, + src/insexpand.c, src/testdir/test_edit.vim + +Patch 8.2.3529 +Problem: Xxd usage output is incomplete. +Solution: Add "bytes" to "-g" flag. (Atsushi Sugawara, closes #8944) +Files: src/xxd/xxd.c + +Patch 8.2.3530 +Problem: ":buf \{a}" fails while ":edit \{a}" works. +Solution: Unescape "\{". (closes #8917) +Files: src/vim.h, src/cmdexpand.c, src/evalfunc.c, src/ex_getln.c, + src/proto/ex_getln.pro, src/normal.c, src/session.c, + src/terminal.c, src/vim9execute.c, src/testdir/test_cmdline.vim + +Patch 8.2.3531 (after 8.2.3530) +Problem: Command line completion test fails on MS-Windows. +Solution: Do not test with "\{" on MS-Windows. +Files: src/testdir/test_cmdline.vim + +Patch 8.2.3532 +Problem: The previous '' mark is restored after moving the cursor to the + original jump position. (Tony Chen) +Solution: Forget the previous position after checking. (closes #8985) +Files: src/mark.c, src/testdir/test_marks.vim + +Patch 8.2.3533 +Problem: Inefficient code in xxd. +Solution: Don't use "p" when "hextype" is non-zero. (closes #9013) +Files: src/xxd/xxd.c + +Patch 8.2.3534 +Problem: Autoread test is a bit flaky. +Solution: Wait a brief moment before overwriting the file. +Files: src/testdir/test_stat.vim + +Patch 8.2.3535 +Problem: If-else indenting is confusing. +Solution: Add curly brackets and indent. (Dominique Pellé, closes #9010) +Files: src/drawscreen.c + +Patch 8.2.3536 +Problem: The do_highlight() function is way too long. +Solution: Split it into several functions. (Yegappan Lakshmanan, + closes #9011) +Files: src/highlight.c + +Patch 8.2.3537 +Problem: mode() does not return the right value in 'operatorfunc'. +Solution: Reset finish_op while calling 'operatorfunc'. +Files: src/ops.c, src/testdir/test_functions.vim + +Patch 8.2.3538 +Problem: Else-if indenting is confusing. +Solution: Add curly brackets. (Yegappan Lakshmanan, closes #9017) +Files: src/highlight.c + +Patch 8.2.3539 +Problem: GTK3: with 'rightleft' set scrollbar may move unintentionally. +Solution: Ignore events while moving the scrollbar thumb. (closes #8958) +Files: src/gui_gtk.c + +Patch 8.2.3540 +Problem: The mark '] is wrong after put with a count. (Naohiro Ono) +Solution: Use the right line number. (closes #8956) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3541 +Problem: Compiler warning for unused variable in tiny version. +Solution: Add #ifdef. (John Marriott) +Files: src/highlight.c + +Patch 8.2.3542 +Problem: Too many comments are old style. +Solution: Change comments to // style. (closes #9021) +Files: src/buffer.c + +Patch 8.2.3543 +Problem: Swapname has double slash when 'directory' ends in double slash. + (Shane Smith) +Solution: Remove the superfluous slash. (closes #8876) +Files: src/memline.c, src/testdir/test_swap.vim + +Patch 8.2.3544 +Problem: Unix: may leak file descriptor when using a non-existing + directory. +Solution: Always close the file. (closes #9023) +Files: src/os_unix.c + +Patch 8.2.3545 +Problem: setcellwidths() may make 'listchars' or 'fillchars' invalid. +Solution: Check the value and give an error. (closes #9024) +Files: runtime/doc/eval.txt, src/optionstr.c, src/errors.h, src/mbyte.c, + src/testdir/test_utf8.vim + +Patch 8.2.3546 (after 8.2.3545) +Problem: Build failure without the +eval feature. +Solution: Add #ifdef. (closes #9025) +Files: src/errors.h + +Patch 8.2.3547 +Problem: Opening the quickfix window triggers BufWinEnter twice. (Yorick + Peterse) +Solution: Only trigger BufWinEnter with "quickfix". (closes #9022) +Files: src/ex_cmds.c, src/vim.h, src/quickfix.c, src/buffer.c, + src/testdir/test_quickfix.vim + +Patch 8.2.3548 +Problem: GTK GUI crashes when reading from stdin. +Solution: Do not overwrite the NUL after the string. (closes #9028) +Files: src/gui_gtk_x11.c, src/testdir/test_gui.vim + +Patch 8.2.3549 +Problem: Mistakes in test comments. +Solution: Fix the comments. (closes #9029) +Files: src/testdir/test_autocmd.vim + +Patch 8.2.3550 +Problem: completion() does not work properly. +Solution: Set xp_line and add WILD_HOME_REPLACE. (Shougo Matsushita, + closes #9016) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3551 +Problem: Checking first character of url twice. +Solution: Only check once. (closes #9026) +Files: src/misc1.c + +Patch 8.2.3552 +Problem: Xxd revert does not handle end of line correctly. +Solution: Check for newline first. (closes #9034) +Files: src/xxd/xxd.c, src/testdir/test_xxd.vim + +Patch 8.2.3553 (after 8.2.3552) +Problem: Xxd test fails on MS-Windows. +Solution: Split shell command in two. +Files: src/testdir/test_xxd.vim + +Patch 8.2.3554 +Problem: Xxd has various way to exit. +Solution: Add function to print error and exit. (closes #9035) +Files: src/xxd/xxd.c + +Patch 8.2.3555 +Problem: ModeChanged is not triggered on every mode change. +Solution: Also trigger on minor mode changes. (Maguns Gross, closes #8999) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/insexpand.c, + src/misc1.c, src/normal.c, src/terminal.c, + src/testdir/test_edit.vim + +Patch 8.2.3556 +Problem: Filler lines are incorrect for other window in diff mode after + making a change. +Solution: Copy filler lines from the current window. (closes #8809) +Files: src/diff.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_scroll_change_03.dump + +Patch 8.2.3557 +Problem: Vim9: cannot call imported funcref at script level. +Solution: Check for an imported function. (closes #9007) +Files: src/userfunc.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3558 (after 8.2.3557) +Problem: Vim9: asserting the wrong variable. +Solution: Don't use Foo, use Goo. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3559 +Problem: Loop variable recreated every time. +Solution: Keep the loop variable when looping. +Files: src/ex_eval.c + +Patch 8.2.3560 +Problem: Using freed memory with lambda. +Solution: Do not free lines early, keep them until the expression is + finished. (closes #9020) +Files: src/eval.c, src/proto/eval.pro, src/userfunc.c, src/vim9compile.c, + src/structs.h, src/globals.h, src/testdir/test_vim9_func.vim + +Patch 8.2.3561 +Problem: Cscope has a complicated way of giving an error message. +Solution: Use semsg(). (James McCoy, closes #9038) +Files: src/if_cscope.c + +Patch 8.2.3562 +Problem: Cannot add color names. +Solution: Add the v:colornames dictionary. (Drew Vogel, closes #8761) +Files: Filelist, READMEdir/README_extra.txt, nsis/gvim.nsi, + runtime/colors/README.txt, runtime/colors/lists/csscolors.vim, + runtime/colors/lists/default.vim, runtime/doc/eval.txt, + runtime/doc/gui_w32.txt, runtime/doc/message.txt, + runtime/doc/os_haiku.txt, runtime/doc/syntax.txt, + runtime/doc/usr_06.txt, src/Makefile, src/evalvars.c, + src/gui_haiku.cc, src/highlight.c, src/gui.c, src/job.c, + src/proto/highlight.pro, src/proto/term.pro, src/term.c, + src/vim.h, src/globals.h, src/errors.h, + src/testdir/test_highlight.vim + +Patch 8.2.3563 (after 8.2.3562) +Problem: Build failure with +eval but without GUI or +termguicolors +Solution: Adjust #ifdef. (John Marriott) +Files: src/highlight.c + +Patch 8.2.3564 +Problem: Invalid memory access when scrolling without a valid screen. +Solution: Do not set VALID_BOTLINE in w_valid. +Files: src/move.c, src/testdir/test_normal.vim + +Patch 8.2.3565 +Problem: Makefile dependencies are outdated. (Gary Johnson) +Solution: Run "make depend" and add missing dependencies. +Files: src/Makefile + +Patch 8.2.3566 +Problem: Build failure on old systems when using nano timestamp. +Solution: Define _BSD_SOURCE, _SVID_SOURCE and _DEFAULT_SOURCE. (Gary + Johnson, closes #9054) +Files: src/vim.h + +Patch 8.2.3567 +Problem: CTRL-I in Insert mode is not tested +Solution: Add a test case. (Dominique Pellé, closes #8866) +Files: src/testdir/test_edit.vim + +Patch 8.2.3568 +Problem: Ctrl-hat test fails with Athena and Motif. (Elimar Riesebieter) +Solution: Run the test only with GTK. (Dominique Pellé, closes #9069) +Files: src/testdir/test_edit.vim + +Patch 8.2.3569 +Problem: Error for :let when vimrc is Vim 9 script. +Solution: Prepend :legacy in the code for converting arguments. (Christian + Brabandt, closes #9068, closes #9077) +Files: src/os_win32.c + +Patch 8.2.3570 +Problem: Test_very_large_count fails on 32bit systems. +Solution: Bail out when using 32 bit numbers. (closes #9072) +Files: src/testdir/test_put.vim + +Patch 8.2.3571 +Problem: Some unicode control characters are considered printable. +Solution: Make 0x2060 - 0x2069 not printable. +Files: src/mbyte.c + +Patch 8.2.3572 +Problem: Memory leak when closing window and using "multispace" in + 'listchars'. +Solution: Free the memory. (closes #9071) +Files: src/window.c, src/testdir/test_listchars.vim + +Patch 8.2.3573 +Problem: Cannot decide whether to skip test that fails with 64 bit ints. + (closes #9072) +Solution: Add v:sizeofint, v:sizeoflong and v:sizeofpointer. Improve the + check for multiply overflow. +Files: runtime/doc/eval.txt, src/vim.h, src/evalvars.c, src/register.c, + src/testdir/test_put.vim + +Patch 8.2.3574 (after 8.2.3573) +Problem: Divide by zero. +Solution: Don't check for overflow if multiplicand is zero. +Files: src/register.c + +Patch 8.2.3575 (after 8.2.3574) +Problem: Overflow check still fails when sizeof(int) == sizeof(long). +Solution: Use a float to check the result. +Files: src/register.c + +Patch 8.2.3576 +Problem: Some functions are not documented for use with a method. +Solution: Add examples. Fix that sign_unplacelist() only takes one + argument. (Sean Dewar, closes #9081) +Files: src/evalfunc.c, runtime/doc/eval.txt + +Patch 8.2.3577 (after 8.2.3574) +Problem: Overflow check fails with 32 bit ints. +Solution: Only test with 64 bit ints. +Files: src/testdir/test_put.vim + +Patch 8.2.3578 +Problem: Manipulating highlighting is complicated. +Solution: Add the hlget() and hlset() functions. (Yegappan Lakshmanan, + closes #9039) +Files: runtime/doc/eval.txt, runtime/doc/syntax.txt, + runtime/doc/usr_41.txt, runtime/doc/windows.txt, src/evalfunc.c, + src/highlight.c, src/proto/highlight.pro, + src/testdir/test_highlight.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3579 +Problem: CI sometimes fails for MinGW. +Solution: Use backslashes in HandleSwapExists(). (Christian Brabandt, + closes #9078) +Files: src/testdir/runtest.vim + +Patch 8.2.3580 +Problem: gj does not move properly with a wide character. +Solution: Move one to the right. (Christian Brabandt, closes #8702) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.2.3581 +Problem: Reading character past end of line. +Solution: Correct the cursor column. +Files: src/ex_docmd.c, src/testdir/test_put.vim + +Patch 8.2.3582 +Problem: Reading uninitialized memory when giving spell suggestions. +Solution: Check that preword is not empty. +Files: src/spellsuggest.c, src/testdir/test_spell.vim + +Patch 8.2.3583 +Problem: The "gd" and "gD" commands do not update search stats. (Gary + Johnson) +Solution: Clear search stats. +Files: src/normal.c, src/testdir/test_search_stat.vim, + src/testdir/dumps/Test_searchstatgd_1.dump, + src/testdir/dumps/Test_searchstatgd_2.dump + +Patch 8.2.3584 +Problem: "verbose set efm" reports the location of the :compiler command. + (Gary Johnson) +Solution: Add the "-keepscript" argument to :command and use it when + defining CompilerSet. +Files: runtime/doc/map.txt, src/ex_cmds2.c, src/usercmd.c, src/ex_cmds.h, + src/testdir/test_compiler.vim + +Patch 8.2.3585 +Problem: Crash when passing float to "term_rows" in the options argument of + term_start(). (Virginia Senioria) +Solution: Bail out if the argument is not a number. (closes #9116) +Files: src/job.c, src/terminal.c, src/testdir/test_terminal.vim + +Patch 8.2.3586 (after 8.2.3584) +Problem: Command completion test fails. +Solution: Add new argument to expected output +Files: src/testdir/test_usercommands.vim + +Patch 8.2.3587 (after 8.2.3584) +Problem: Compiler test fails with backslash file separator. +Solution: Accept slash and backslash. +Files: src/testdir/test_compiler.vim + +Patch 8.2.3588 +Problem: Break statement is never reached. +Solution: Rely on return value of set_chars_option() not changing. + (closes #9103) +Files: src/optionstr.c + +Patch 8.2.3589 +Problem: Failure when the "term_rows" argument of term_start() is an + unusual value. +Solution: Limit to range of zero to 1000. (closes #9116) +Files: runtime/doc/terminal.txt, src/job.c, src/testdir/test_terminal.vim + +Patch 8.2.3590 +Problem: Test for v:colornames sometimes fails. (Dominique Pellé) +Solution: Check features. Clear v:colornames between tests. (Drew Vogel, + closes #9105, closes #9073) +Files: runtime/doc/eval.txt, src/highlight.c, src/proto/highlight.pro, + src/testdir/test_highlight.vim + +Patch 8.2.3591 +Problem: No event is triggered when closing a window. +Solution: Add the WinClosed event. (Naohiro Ono, closes #9110) +Files: runtime/doc/autocmd.txt, src/autocmd.c, + src/testdir/test_autocmd.vim, src/vim.h, src/window.c + +Patch 8.2.3592 +Problem: Test_hlset fails when terminal has many columns. +Solution: Set the number of columns to 80. (Dominique Pellé, closes #9101, + closes #9100) +Files: src/testdir/test_highlight.vim + +Patch 8.2.3593 +Problem: Directory is wrong after executing "lcd" with win_execute(). +Solution: Correct the directory when going back to the original window. + (closes #9132) +Files: src/evalwindow.c, src/window.c, src/proto/window.pro, + src/testdir/test_execute_func.vim + +Patch 8.2.3594 +Problem: Xxd code is a bit difficult to understand. +Solution: Move some lines to a separate function. (closes #9037) +Files: src/xxd/xxd.c + +Patch 8.2.3595 +Problem: Check for signed overflow might not work everywhere. +Solution: Limit to 32 bit int. (closes #9043, closes #9067) +Files: src/getchar.c + +Patch 8.2.3596 +Problem: Crash when using :pedit in Vim9 script. +Solution: Move check for arguments to after checking there are arguments. + (Yegappan Lakshmanan, closes #9134, closes #9135) +Files: src/popupwin.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3597 +Problem: Vim seems to hang when writing a very long text to a terminal + window. +Solution: Limit the amount of text based on 'termwinscroll'. (issue #9080) +Files: runtime/doc/options.txt, src/terminal.c + +Patch 8.2.3598 +Problem: RouterOS filetype is not recognized. +Solution: Add file and script patterns. (closes #9097) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3599 +Problem: Not all gdbinit files are recognized. +Solution: Add "gdbinit". (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3600 (after 8.2.3598) +Problem: Filetype test fails. +Solution: Add missing change. +Files: runtime/scripts.vim + +Patch 8.2.3601 +Problem: Check for overflow in put count does not work well. +Solution: Improve the overflow check. (Ozaki Kiichi, closes #9102) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3602 +Problem: Python3 test fails with Python 3.10 on MS-Windows. +Solution: Adjust the expected error. (Ken Takata, closes #9118) +Files: src/testdir/test_python3.vim + +Patch 8.2.3603 +Problem: Fish filetype not recognized. +Solution: Add a file pattern and match script line. (Doug Kearns) +Files: runtime/filetype.vim, runtime/scripts.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3604 +Problem: Not all sudoers files are recognized. +Solution: Add a file pattern. (Doug Kearns, closes #1192) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3605 +Problem: Cannot clear and unlink a highlight group with hlset() in a + single call. +Solution: Add the "force" option. (Yegappan Lakshmanan, closes #9117) +Files: runtime/doc/eval.txt, src/highlight.c, + src/testdir/test_highlight.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3606 +Problem: File missing from list of distributed files. +Solution: Add the file. +Files: Filelist + +Patch 8.2.3607 +Problem: GTK3 screen updating is slow. +Solution: Remove some of the GTK3-specific code. (closes #9052) +Files: src/gui.h, src/gui_gtk_x11.c + +Patch 8.2.3608 +Problem: Users who type "q:" instead of ":q" are confused. +Solution: Add an autocmd to give a message that explains this is the + command-line window. (Egor Zvorykin, closes #9146) +Files: runtime/defaults.vim, src/testdir/test_autocmd.vim, + src/testdir/test_cmdline.vim + +Patch 8.2.3609 +Problem: Internal error when ModeChanged is triggered when v:event is + already in use. +Solution: Save and restore v:event if needed. +Files: src/misc1.c, src/proto/misc1.pro, src/testdir/test_edit.vim, + src/insexpand.c, src/structs.h, src/register.c + +Patch 8.2.3610 +Problem: Crash when ModeChanged triggered too early. +Solution: Trigger ModeChanged after setting VIsual. +Files: src/normal.c, src/testdir/test_edit.vim + +Patch 8.2.3611 +Problem: Crash when using CTRL-W f without finding a file name. +Solution: Bail out when the file name length is zero. +Files: src/findfile.c, src/normal.c, src/testdir/test_visual.vim + +Patch 8.2.3612 +Problem: Using freed memory with regexp using a mark. +Solution: Get the line again after getting the mark position. +Files: src/regexp.c, src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.3613 +Problem: :find test fails. +Solution: Put length check inside if block. +Files: src/findfile.c + +Patch 8.2.3614 +Problem: zindex of popup windows not used when redrawing popup menu. +Solution: Check the zindex when redrawing the popup menu. (closes #9129, + closes #9089) +Files: src/popupmenu.c, src/popupwin.c, src/proto/popupmenu.pro, + src/screen.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_popupmenu_masking_1.dump, + src/testdir/dumps/Test_popupwin_popupmenu_masking_2.dump + +Patch 8.2.3615 +Problem: When re-formatting with an indent expression the first line of a + paragraph may get the wrong indent. (Martin F. Krafft) +Solution: Apply the correct indenting function for the first line. + (Christian Brabandt, closes #9150, closes #9056) +Files: src/textformat.c, src/testdir/test_indent.vim + +Patch 8.2.3616 +Problem: Arglist test does not clear the argument list consistently. +Solution: Call Reset_arglist(). (Shougo Matsushita, closes #9154) +Files: src/testdir/test_arglist.vim + +Patch 8.2.3617 +Problem: ":verbose pwd" does not mention 'autochdir' was applied. +Solution: Remember the last chdir was done by 'autochdir'. (issue #9142) +Files: src/globals.h, src/buffer.c, src/ex_docmd.c, src/window.c, + src/main.c, src/netbeans.c, src/os_win32.c, + src/testdir/test_autochdir.vim + +Patch 8.2.3618 +Problem: getcwd() is unclear about how 'autochdir' is used. +Solution: Update the help for getcwd(). Without any arguments always return + the actual current directory. (closes #9142) +Files: runtime/doc/eval.txt, src/filepath.c, src/testdir/test_cd.vim + +Patch 8.2.3619 +Problem: Cannot use a lambda for 'operatorfunc'. +Solution: Support using a lambda or partial. (Yegappan Lakshmanan, + closes #8775) +Files: runtime/doc/map.txt, runtime/doc/options.txt, src/ops.c, + src/option.c, src/optionstr.c, src/proto/ops.pro, + src/proto/option.pro, src/quickfix.c, src/testdir/test_normal.vim + +Patch 8.2.3620 +Problem: Memory leak reported in libtlib. +Solution: Call del_curterm() when cleaning up memory. Rename term.h to + termdefs.h to avoid a name clash. +Files: src/term.c, src/proto/term.pro, src/alloc.c, src/configure.ac, + src/auto/configure, src/config.h.in, src/Makefile, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/term.h, src/termdefs.h + +Patch 8.2.3621 (after 8.2.3620) +Problem: Build failure. +Solution: Add missing change. +Files: src/vim.h + +Patch 8.2.3622 +Problem: "verbose pwd" shows confusing info when :lcd does not change + directory. +Solution: Clear last_chdir_reason also when the directory does not change. + (closes #9160) +Files: src/ex_docmd.c, src/testdir/test_autochdir.vim + +Patch 8.2.3623 +Problem: "$*" is expanded to "nonomatch". +Solution: Only add "set nonomatch" when using a csh-like shell. (Christian + Brabandt, closes #9159, closes #9153) +Files: src/os_unix.c, src/testdir/test_expand.vim + +Patch 8.2.3624 +Problem: When renaming a terminal buffer the status text is not updated. +Solution: Clear the cached status text when renaming a terminal buffer. + (closes #9162) +Files: src/buffer.c, src/terminal.c, src/proto/terminal.pro, + src/testdir/test_terminal.vim + +Patch 8.2.3625 +Problem: Illegal memory access when C-indenting. +Solution: Also set the cursor column. +Files: src/cindent.c, src/testdir/test_cindent.vim + +Patch 8.2.3626 +Problem: "au!" and "au! event" cannot be followed by another command as + documented. +Solution: When a bar is found set nextcmd. +Files: src/autocmd.c, src/testdir/test_autocmd.vim + +Patch 8.2.3627 +Problem: difficult to know where the text starts in a window. (Sergey + Vlasov) +Solution: Add the "textoff" entry in the result of getwininfo(). + (closes #9163) +Files: runtime/doc/eval.txt, src/evalwindow.c, + src/testdir/test_bufwintabinfo.vim + +Patch 8.2.3628 +Problem: Looking up terminal colors is a bit slow. +Solution: Cache the terminal colors. (closes #9130, closes #9058) +Files: src/highlight.c, src/libvterm/include/vterm.h, src/option.c, + src/optionstr.c, src/popupwin.c, src/proto/terminal.pro, + src/structs.h, src/terminal.c, src/window.c, + src/testdir/test_terminal3.vim, + src/testdir/dumps/Test_terminal_color_MyTermCol.dump, + src/testdir/dumps/Test_terminal_color_MyTermCol_over_Terminal.dump, + src/testdir/dumps/Test_terminal_color_MyWinCol.dump, + src/testdir/dumps/Test_terminal_color_MyWinCol_over_group.dump, + src/testdir/dumps/Test_terminal_color_Terminal.dump, + src/testdir/dumps/Test_terminal_color_gui_MyTermCol.dump, + src/testdir/dumps/Test_terminal_color_gui_MyWinCol.dump, + src/testdir/dumps/Test_terminal_color_gui_Terminal.dump, + src/testdir/dumps/Test_terminal_color_gui_transp_MyTermCol.dump, + src/testdir/dumps/Test_terminal_color_gui_transp_MyWinCol.dump, + src/testdir/dumps/Test_terminal_color_gui_transp_Terminal.dump, + src/testdir/dumps/Test_terminal_color_transp_MyTermCol.dump, + src/testdir/dumps/Test_terminal_color_transp_MyWinCol.dump, + src/testdir/dumps/Test_terminal_color_transp_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_MyPopupHlCol.dump, + src/testdir/dumps/Test_terminal_popup_MyTermCol_over_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_MyWinCol.dump, + src/testdir/dumps/Test_terminal_popup_MyWinCol_over_group.dump, + src/testdir/dumps/Test_terminal_popup_gui_MyPopupHlCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_MyTermCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_MyWinCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_gui_transp_MyPopupHlCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_transp_MyTermCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_transp_MyWinCol.dump, + src/testdir/dumps/Test_terminal_popup_gui_transp_Terminal.dump, + src/testdir/dumps/Test_terminal_popup_transp_MyPopupHlCol.dump, + src/testdir/dumps/Test_terminal_popup_transp_MyTermCol.dump, + src/testdir/dumps/Test_terminal_popup_transp_MyWinCol.dump, + src/testdir/dumps/Test_terminal_popup_transp_Terminal.dump, + src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol.dump, + src/testdir/dumps/Test_terminal_wincolor_split_MyWinCol2.dump + +Patch 8.2.3629 +Problem: Command completion in cmdline window uses global user commands, + not local commands for the window where it was opened from. +Solution: Use local commands. (closes #9168) +Files: src/ex_getln.c, src/proto/ex_getln.pro, src/evalvars.c, + src/usercmd.c, src/testdir/test_ins_complete.vim + +Patch 8.2.3630 +Problem: Printf() with %S does not handle multi-byte correctly. +Solution: Count cells instead of bytes. (closes #9169, closes #7486) +Files: src/strings.c, src/testdir/test_expr.vim + +Patch 8.2.3631 +Problem: "syntax enable" does not work properly in Vim9 context. +Solution: Also handle Vim9 context. (closes #9161) +Files: src/syntax.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3632 +Problem: GTK3: undercurl does not get removed properly. +Solution: Set the cairo cursor first. (closes #9170) +Files: src/gui_gtk_x11.c + +Patch 8.2.3633 +Problem: Vim9: line number of lambda is off by one. +Solution: Add one to the line number. (closes #9083) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3634 +Problem: Error for already defined function uses wrong line number. +Solution: Set SOURCING_LNUM before giving the error message. (closes #9085) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3635 +Problem: GTK: composing underline does not show. +Solution: Include composing character in pango call. A few more + optimizations for ligatures. (Dusan Popovic, closes #9171, + closes #9147) +Files: src/gui_gtk_x11.c + +Patch 8.2.3636 +Problem: Coverity warns for unreachable code. +Solution: Remove unreachable else block. +Files: src/gui_gtk_x11.c + +Patch 8.2.3637 +Problem: Typos in test files. +Solution: Correct the typos. (Dominique Pellé, closes #9175) +Files: src/testdir/runtest.vim, src/testdir/test_debugger.vim, + src/testdir/test_diffmode.vim, src/testdir/test_edit.vim, + src/testdir/test_excmd.vim, src/testdir/test_flatten.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_normal.vim, + src/testdir/test_options.vim, src/testdir/test_python2.vim, + src/testdir/test_python3.vim, src/testdir/test_quickfix.vim, + src/testdir/test_recover.vim, src/testdir/test_spellfile.vim, + src/testdir/test_syntax.vim, src/testdir/test_termcodes.vim, + src/testdir/test_textobjects.vim, src/testdir/test_trycatch.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_viminfo.vim + +Patch 8.2.3638 +Problem: getcompletion() always passes zero as position to custom + completion function. +Solution: Pass the pattern length. (closes #9173) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.3639 (after 8.2.2922) +Problem: Line commented out accidentally. +Solution: Uncomment. (Volodymyr Kot, closes #9172) +Files: src/main.c + +Patch 8.2.3640 +Problem: Freeze when calling term_wait() in a close callback. +Solution: Set a "closing" flag to tell term_wait() to return. (closes #9152) +Files: src/channel.c, src/terminal.c, src/proto/terminal.pro, + src/testdir/test_terminal.vim + +Patch 8.2.3641 +Problem: Xxd code has duplicate expressions. +Solution: Refactor to avoid duplication. (closes #9185) +Files: src/xxd/xxd.c + +Patch 8.2.3642 +Problem: List of distributed files is outdated. +Solution: Rename term.h to termdefs.h. +Files: Filelist + +Patch 8.2.3643 +Problem: Header for source file is outdated. +Solution: Make the header more accurate. (closes #9186) +Files: src/map.c, src/getchar.c + +Patch 8.2.3644 +Problem: Count for 'operatorfunc' in Visual mode is not redone. +Solution: Add the count to the redo buffer. (closes #9174) +Files: src/normal.c, src/proto/normal.pro, src/ops.c, + src/testdir/test_normal.vim + +Patch 8.2.3645 +Problem: Vim9: The "no effect" error is not given for all registers. +Solution: Include any character following '@'. (closes #8779) +Files: src/ex_eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3646 +Problem: Using <sfile> in a function gives an unexpected result. +Solution: Give an error in a Vim9 function. (issue #9189) +Files: src/scriptfile.c, src/errors.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3647 +Problem: GTK: when using ligatures the cursor is drawn wrong. +Solution: Clear more characters when ligatures are used. (Dusan Popovic, + closes #9190) +Files: src/gui.c + +Patch 8.2.3648 +Problem: "verbose pwd" is incorrect after dropping files on Vim. +Solution: Set the chdir reason to "drop". +Files: src/gui.c + +Patch 8.2.3649 +Problem: Vim9: error for variable declared in while loop. +Solution: Do not keep the first variable. (closes #9191) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3650 +Problem: Vim9: for loop variable can be a list member. +Solution: Check for valid variable name. (closes #9179) +Files: src/vim9compile.c, src/dict.c, src/eval.c, src/evalvars.c, + src/proto/evalvars.pro, src/testdir/test_vim9_script.vim + +Patch 8.2.3651 +Problem: Vim9: no error for :lock or :unlock with unknown variable. +Solution: Give an error. (closes #9188) +Files: src/evalvars.c, src/errors.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3652 +Problem: Can only get text properties one line at a time. +Solution: Add options to prop_list() to use a range of lines and filter by + types. (Yegappan Lakshmanan, closes #9138) +Files: runtime/doc/textprop.txt, src/textprop.c, + src/testdir/test_textprop.vim + +Patch 8.2.3653 +Problem: Terminal ANSI colors may be wrong. +Solution: Initialize the color type. (closes #9198, closes #9197) +Files: src/terminal.c + +Patch 8.2.3654 +Problem: GTK: a touch-drag does not update the selection. +Solution: Add GDK_BUTTON1_MASK to the state. (Chris Dalton, close #9196, + closes #9194) +Files: src/gui_gtk_x11.c + +Patch 8.2.3655 +Problem: Compiler warning for using size_t for int. +Solution: Add a type cast. (Mike Williams, closes #9199) +Files: src/vim9compile.c + +Patch 8.2.3656 +Problem: Vim9: no error for an environment variable by itself. +Solution: Give a "without effect" error. (closes #9166) +Files: src/ex_eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3657 +Problem: Vim9: debug text misses one line of return statement. +Solution: Add a line when not at a debug instruction. (closes #9137) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.3658 +Problem: Duplicate code in xxd. +Solution: Merge duplicated code. Add more tests. (closes #9192) +Files: src/xxd/xxd.c, src/testdir/test_xxd.vim + +Patch 8.2.3659 +Problem: Integer overflow with large line number. +Solution: Check for overflow. (closes #9202) +Files: src/errors.h, src/ex_docmd.c, src/testdir/test_excmd.vim + src/normal.c, src/testdir/test_normal.vim + +Patch 8.2.3660 (after 8.2.3659) +Problem: Overflow check uses wrong number. +Solution: Divide by ten. +Files: src/normal.c + +Patch 8.2.3661 (after 8.2.3659) +Problem: Test for put with large count fails. +Solution: Adjust the counts in the test. +Files: src/testdir/test_put.vim + +Patch 8.2.3662 +Problem: Illegal memory access if malloc() fails. +Solution: Check 'foldmethod' is not empty. (closes #9207) +Files: src/fold.c + +Patch 8.2.3663 +Problem: Using %S in printf() does not work correctly. +Solution: Fix the problem and add more tests. (closes #9208) +Files: src/strings.c, src/testdir/test_expr.vim + +Patch 8.2.3664 +Problem: Cannot adjust sign highlighting for 'cursorline'. +Solution: Add CursorLineSign and CursorLineFold highlight groups. + (Gregory Anders, closes #9201) +Files: runtime/doc/sign.txt, runtime/doc/syntax.txt, src/drawline.c, + src/highlight.c, src/optiondefs.h, src/popupwin.c, + src/proto/sign.pro, src/sign.c, src/structs.h, src/vim.h, + src/testdir/test_signs.vim + +Patch 8.2.3665 +Problem: Cannot use a lambda for 'tagfunc'. +Solution: Use 'tagfunc' like 'opfunc'. (Yegappan Lakshmanan, closes #9204) +Files: runtime/doc/options.txt, src/buffer.c, src/option.c, + src/optionstr.c, src/proto/tag.pro, src/structs.h, src/tag.c, + src/testdir/test_tagfunc.vim + +Patch 8.2.3666 +Problem: Libvterm is outdated. +Solution: Include patches from revision 769 to revision 789. +Files: Filelist, src/libvterm/Makefile, src/libvterm/doc/seqs.txt, + src/libvterm/include/vterm.h, src/libvterm/src/mouse.c, + src/libvterm/src/parser.c, src/libvterm/src/state.c, + src/libvterm/src/vterm.c, src/libvterm/src/vterm_internal.h, + src/libvterm/t/02parser.test, src/libvterm/t/17state_mouse.test, + src/libvterm/t/29state_fallback.test, + src/libvterm/t/40state_selection.test, src/libvterm/t/harness.c, + src/libvterm/t/run-test.pl, src/libvterm/vterm.pc.in, + src/terminal.c + +Patch 8.2.3667 +Problem: Building libvterm fails with MSVC. +Solution: Don't use C99 construct. +Files: src/libvterm/src/state.c + +Patch 8.2.3668 +Problem: Messages may be corrupted. +Solution: Use another buffer instead of IObuff. (Yegappan Lakshmanan, + closes #9195) +Files: src/highlight.c, src/testdir/test_highlight.vim + +Patch 8.2.3669 +Problem: Buffer overflow with long help argument. +Solution: Use snprintf(). +Files: src/help.c, src/testdir/test_help.vim + +Patch 8.2.3670 +Problem: Error checks repeated several times. +Solution: Move the checks to functions. (closes #9213) +Files: src/xxd/xxd.c + +Patch 8.2.3671 +Problem: Restarting Insert mode in prompt buffer too often when a callback + switches windows and comes back. (Sean Dewar) +Solution: Do not set "restart_edit" when already in Insert mode. + (closes #9212) +Files: src/window.c, src/testdir/test_prompt_buffer.vim + +Patch 8.2.3672 (after 8.2.3670) +Problem: Build failure with unsigned char. +Solution: Use int instead of char. +Files: src/xxd/xxd.c + +Patch 8.2.3673 +Problem: Crash when allocating signal stack fails. +Solution: Only using sourcing info when available. (closes #9215) +Files: src/globals.h, src/message.c + +Patch 8.2.3674 +Problem: When ml_get_buf() fails it messes up IObuff. +Solution: Return a local pointer. (closes #9214) +Files: src/memline.c + +Patch 8.2.3675 +Problem: Using freed memory when vim_strsave() fails. +Solution: Clear "last_sourcing_name". Check for msg_source() called + recursively. (closes #8217) +Files: src/message.c + +Patch 8.2.3676 +Problem: Unused runtime file. +Solution: Remove rgb.txt. +Files: runtime/rgb.txt + +Patch 8.2.3677 +Problem: After a put the '] mark is on the last byte of a multi-byte + character. +Solution: Move it to the first byte. (closes #9047) +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.3678 (after 8.2.3677) +Problem: Illegal memory access. +Solution: Ignore changed indent when computing byte offset. +Files: src/register.c + +Patch 8.2.3679 +Problem: objc file detected as Octave. (Antony Lee) +Solution: Detect objc by preprocessor lines. (Doug Kearns, closes #9223, + closes #9220) +Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim + +Patch 8.2.3680 +Problem: Repeated code in xxd. +Solution: Change exit_on_ferror() to getc_or_die(). (closes #9226) +Files: src/xxd/xxd.c + +Patch 8.2.3681 +Problem: Cannot drag popup window after click on a status line. (Sergey + Vlasov) +Solution: Reset on_status_line. (closes #9221) +Files: src/mouse.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_04.dump + +Patch 8.2.3682 +Problem: Vim9: assigning to a script variable drops the required type. +Solution: Lookup the type of the variable and use it. (closes #9219) +Files: src/evalvars.c, src/vim9script.c, src/proto/vim9script.pro, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3683 +Problem: Vim9: cannot use `=expr` in :...do commands. +Solution: Add EX_EXPAND to the commands. (closes #9232) +Files: src/ex_cmds.h, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3684 +Problem: Blockwise insert does not handle autoindent properly. +Solution: Adjust text column for indent. (closes #9229) +Files: src/ops.c, src/testdir/test_blockedit.vim + +Patch 8.2.3685 +Problem: Visual Studio project files are not recognized. +Solution: Use the xml file type. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3686 +Problem: Filetype detection often mixes up Forth and F#. +Solution: Add a function to inspect the file contents. (Doug Kearns) +Files: runtime/autoload/dist/ft.vim, runtime/doc/filetype.txt, + runtime/doc/syntax.txt, runtime/filetype.vim, runtime/scripts.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3687 +Problem: Blockwise insert does not handle autoindent properly when tab is + inserted. +Solution: Adjust text column for indent before computing column. + (closes #9229) +Files: src/ops.c, src/testdir/test_blockedit.vim + +Patch 8.2.3688 +Problem: The window title is not updated when dragging the scrollbar. +Solution: Call maketitle(). (Christian Brabandt, closes #9238, closes #5383) +Files: src/gui.c + +Patch 8.2.3689 +Problem: ex_let_one() is too long. +Solution: Split into multiple functions. +Files: src/evalvars.c + +Patch 8.2.3690 +Problem: Vim9: "filter #pat# cmd" does not work. +Solution: Do not see #pat# as a comment. +Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3691 +Problem: Build failure with small features. +Solution: Add #ifdef. (Dominique Pellé) +Files: src/gui.c + +Patch 8.2.3692 +Problem: Vim9: cannot use :func inside a :def function. +Solution: Make it work. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/errors.h, + src/structs.h, src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3693 +Problem: Coverity warns for possibly using a NULL pointer. +Solution: Check for NULL and give an error. +Files: src/vim9execute.c, src/errors.h + +Patch 8.2.3694 +Problem: Cannot use quotes in the count of an Ex command. +Solution: Add getdigits_quoted(). Give an error when misplacing a quote in + a range. (closes #9240) +Files: src/ex_docmd.c, src/charset.c, src/proto/charset.pro, + src/testdir/test_usercommands.vim + +Patch 8.2.3695 +Problem: Confusing error for missing key. +Solution: Use the actual key for the error. (closes #9241) +Files: src/eval.c, src/testdir/test_listdict.vim + +Patch 8.2.3696 +Problem: Vim9: error for invalid assignment when skipping. +Solution: Do not check white space when skipping. (closes #9243) +Files: src/evalvars.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3697 +Problem: Cannot drag a popup without a border. +Solution: Add the "dragall" option. (closes #9218) +Files: runtime/doc/popup.txt, src/mouse.c, src/popupwin.c, src/vim.h, + src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_drag_05.dump, + src/testdir/dumps/Test_popupwin_drag_06.dump + +Patch 8.2.3698 +Problem: Match highlighting continues over breakindent. +Solution: Stop before the end column. (closes #9242) +Files: src/match.c, src/proto/match.pro, src/drawline.c, + src/testdir/test_match.vim, + src/testdir/dumps/Test_match_linebreak.dump + +Patch 8.2.3699 +Problem: The +title feature adds a lot of #ifdef but little code. +Solution: Graduate the +title feature. +Files: src/feature.h, src/alloc.c, src/arglist.c, src/autocmd.c, + src/buffer.c, src/bufwrite.c, src/change.c, src/drawscreen.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/gui.c, + src/gui_gtk_x11.c, src/if_xcmdsrv.c, src/locale.c, src/main.c, + src/misc2.c, src/netbeans.c, src/option.c, src/optionstr.c, + src/os_amiga.c, src/os_mswin.c, src/os_unix.c, src/os_win32.c, + src/regexp.c, src/term.c, src/ui.c, src/version.c, src/window.c, + src/globals.h, src/option.h, src/optiondefs.h, + runtime/doc/options.txt, runtime/doc/various.txt + +Patch 8.2.3700 +Problem: Text property highlighting continues over breakindent. +Solution: Stop before the end column. (closes #9242) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_prop_linebreak.dump + +Patch 8.2.3701 +Problem: Vim9: invalid LHS is not possible. +Solution: Remove unreachable error message. +Files: src/vim9compile.c + +Patch 8.2.3702 +Problem: First key in dict is seen as curly expression and fails. +Solution: Ignore failure of curly expression. (closes #9247) +Files: src/typval.c, src/dict.c, src/testdir/test_listdict.vim + +Patch 8.2.3703 (after 8.2.3686) +Problem: Most people call F# "fsharp" and not "fs". +Solution: Rename filetype "fs" to "fsharp". +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3704 +Problem: Vim9: cannot use a list declaration in a :def function. +Solution: Make it work. +Files: runtime/doc/vim9.txt, src/vim9compile.c, src/errors.h, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3705 +Problem: Cannot pass a lambda name to function() or funcref(). (Yegappan + Lakshmanan) +Solution: Handle a lambda name differently. +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, + src/testdir/test_expr.vim + +Patch 8.2.3706 (after 8.2.3700) +Problem: Text property highlighting is used on Tab. +Solution: Only set in_linebreak when not on a Tab. (closes #9242) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_prop_after_tab.dump + +Patch 8.2.3707 +Problem: Vim9: constant expression of elseif not recognized. +Solution: Set instruction count before generating the expression. +Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3708 (after 8.2.3707) +Problem: Vim9: test fails with different error. +Solution: Correct the error number. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.3709 +Problem: Vim9: backtick expression expanded when not desired. +Solution: Only expand a backtick expression for commands that expand their + argument. Remove a few outdated TODO comments. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3710 +Problem: Vim9: backtick expression expanded for :global. +Solution: Check the following command. +Files: runtime/doc/vim9.txt, src/vim9compile.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3711 +Problem: Vim9: memory leak when compiling :elseif fails. +Solution: Cleanup ppconst. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3712 +Problem: Cannot use Vim9 lambda for 'tagfunc'. +Solution: Make it work, add more tests. (Yegappan Lakshmanan, closes #9250) +Files: runtime/doc/options.txt, src/insexpand.c, src/option.c, + src/testdir/test_tagfunc.vim + +Patch 8.2.3713 +Problem: MS-Windows: No error message if vimgrep pattern is not matching. +Solution: Give an error message. (Christian Brabandt, closes #9245, + closes #8762) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.3714 +Problem: Some unused assignments and ugly code in xxd. +Solution: Leave out assignments. Use marcro for fprintf(). (closes #9246) +Files: src/xxd/xxd.c + +Patch 8.2.3715 +Problem: Vim9: valgrind reports spurious problems for a test. +Solution: Move the test to the set that is known to fail. +Files: src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_fails.vim + +Patch 8.2.3716 +Problem: Vim9: range without a command is not compiled. +Solution: Add the ISN_EXECRANGE byte code. +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/vim9compile.c, + src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3717 +Problem: Vim9: error for constant list size is only given at runtime. +Solution: Give the error at compile time if possible. +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3718 +Problem: Compiler warns for unused variable without the +textprop feature. + (John Marriott) +Solution: Adjust #ifdefs. +Files: src/drawline.c + +Patch 8.2.3719 +Problem: MS-Windows: test sometimes runs into existing swap file. +Solution: Use a different file name. +Files: src/testdir/test_buffer.vim + +Patch 8.2.3720 +Problem: Vim9: Internal error when invoking closure in legacy context. +Solution: Give a more appropriate error message. (closes #9251) +Files: src/errors.h, src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3721 +Problem: Using memory freed by losing the clipboard selection. (Dominique + Pellé) +Solution: Check y_array is still valid after calling changed_lines(). + (closes #9253) +Files: src/errors.h, src/register.c + +Patch 8.2.3722 +Problem: Amiga: superfluous messages for freeing lots of yanked text. +Solution: Assume that the machine isn't that slow these days. +Files: src/register.c + +Patch 8.2.3723 +Problem: When using 'linebreak' a text property starts too early. +Solution: Decrement "bcol" when looking for property start. (closes #9242) +Files: src/drawline.c, src/testdir/test_textprop.vim, + src/testdir/dumps/Test_prop_after_linebreak.dump + +Patch 8.2.3724 +Problem: Build error for missing error message in small build. +Solution: Correct #ifdef. +Files: src/errors.h + +Patch 8.2.3725 +Problem: Cannot use a lambda for 'completefunc' and 'omnifunc'. +Solution: Implement lambda support. (Yegappan Lakshmanan, closes #9257) +Files: runtime/doc/options.txt, src/buffer.c, src/insexpand.c, + src/option.c, src/optionstr.c, src/proto/insexpand.pro, + src/proto/tag.pro, src/proto/userfunc.pro, src/structs.h, + src/tag.c, src/userfunc.c, src/testdir/test_ins_complete.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.3726 +Problem: README file in a config directory gets wrong filetype. +Solution: Match README before patterns that match everything in a directory. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3727 +Problem: In a gnome terminal keys are recognized as mouse events. +Solution: Only recognize DEC mouse events when four numbers are following. + (closes #9256) +Files: src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.3728 +Problem: Internal error when passing range() to list2blob(). +Solution: Materialize the list first. (closes #9262) +Files: src/blob.c, src/testdir/test_blob.vim + +Patch 8.2.3729 +Problem: No support for squirrels. +Solution: Recognize nuts. (closes #9259) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3730 +Problem: "/etc/Muttrc.d/README" gets filetype muttrc. +Solution: Move the Muttrc.d pattern down, add exception for *.rc files. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3731 +Problem: "set! termcap" shows codes in one column, but not keys. +Solution: Also use one column for keys. (closes #9258) +Files: src/option.c, src/term.c, src/proto/term.pro, + src/testdir/test_set.vim + +Patch 8.2.3732 (after 8.2.3731) +Problem: "set! termcap" test fails. +Solution: Account for keys without a t_xx entry. +Files: src/testdir/test_set.vim + +Patch 8.2.3733 +Problem: Vim9: using "legacy" before range does not work. +Solution: Skip over range before parsing command. (closes #9270) +Files: src/vim9compile.c, src/usercmd.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.3734 +Problem: Vim9: crash when no pattern match found. +Solution: Check for error. +Files: src/vim9execute.c + +Patch 8.2.3735 +Problem: Cannot use a lambda for 'imactivatefunc'. +Solution: Add lambda support for 'imactivatefunc' and 'imstatusfunc'. + (Yegappan Lakshmanan, closes #9275) +Files: runtime/doc/options.txt, src/alloc.c, src/gui_xim.c, + src/optionstr.c, src/proto/gui_xim.pro, + src/testdir/test_iminsert.vim, src/testdir/test_ins_complete.vim + +Patch 8.2.3736 +Problem: Test fails without the channel feature. (Dominique Pellé) +Solution: Source the check.vim script. (closes #9277) +Files: src/testdir/test_vim9_fails.vim + +Patch 8.2.3737 +Problem: Test fails without the 'autochdir' option. +Solution: Check that the option is available. (Dominique Pellé, closes #9272) +Files: src/testdir/test_cd.vim + +Patch 8.2.3738 +Problem: Screen is cleared when a FocusLost autocommand triggers. +Solution: Do not redraw when at the hit-enter or more prompt. (closes #9274) +Files: src/misc1.c + +Patch 8.2.3739 +Problem: In wrong directory when using win_execute() with 'acd' set. +Solution: Restore the directory when returning to the window. (closes #9276) +Files: src/window.c, src/testdir/test_autochdir.vim + +Patch 8.2.3740 +Problem: Memory left allocated on exit when using Tcl. +Solution: Call Tcl_Finalize(). +Files: src/if_tcl.c, src/proto/if_tcl.pro, src/alloc.c + +Patch 8.2.3741 +Problem: Using freed memory in open command. +Solution: Make a copy of the current line. +Files: src/ex_docmd.c, src/testdir/test_ex_mode.vim + +Patch 8.2.3742 +Problem: Dec mouse test fails without gnome terminfo entry. +Solution: Check if there is a gnome entry. Also fix 'acd' test on + MS-Windows. (Ozaki Kiichi, closes #9282) +Files: src/testdir/test_termcodes.vim, src/testdir/test_autochdir.vim + +Patch 8.2.3743 +Problem: ":sign" can add a highlight group without a name. +Solution: Give an error if the group name is missing. (closes #9280) +Files: src/sign.c, src/errors.h, src/testdir/test_signs.vim + +Patch 8.2.3744 +Problem: E854 is not tested; some spelling suggestions are not tested. +Solution: Add a couple of tests. (Dominique Pellé, closes #9279) +Files: src/testdir/test_options.vim, src/testdir/test_spell.vim + +Patch 8.2.3745 +Problem: Autochdir test fails without the +channel feature. +Solution: Remove the ch_logfile() call. (Dominique Pellé, closes #9281) +Files: src/testdir/test_autochdir.vim + +Patch 8.2.3746 +Problem: Cannot disassemble function starting with "debug" or "profile". +Solution: Check for white space following. (closes #9273) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3747 (after 8.2.3743) +Problem: Cannot remove highlight from an existing sign. (James McCoy) +Solution: Only reject empty argument for a new sign. +Files: src/sign.c, src/testdir/test_signs.vim + +Patch 8.2.3748 (after 8.2.3747) +Problem: Giving an error for an empty sign argument breaks a plugin. +Solution: Do not give an error. +Files: src/sign.c, src/errors.h, src/testdir/test_signs.vim + +Patch 8.2.3749 +Problem: Error messages are everywhere. +Solution: Move more error messages to errors.h and adjust the names. +Files: src/errors.h, src/regexp_bt.c, src/regexp.c, src/regexp_nfa.c, + src/globals.h, src/memfile.c, src/tag.c, src/getchar.c, + src/bufwrite.c, src/cmdexpand.c + +Patch 8.2.3750 +Problem: Error messages are everywhere. +Solution: Move more error messages to errors.h and adjust the names. +Files: src/globals.h, src/errors.h, src/blob.c, src/buffer.c, + src/channel.c, src/ex_docmd.c, src/job.c, src/list.c, src/mark.c, + src/misc1.c, src/os_unix.c, src/popupwin.c, src/register.c, + src/session.c, src/spellfile.c, src/term.c, src/userfunc.c + +Patch 8.2.3751 +Problem: Cannot assign a lambda to an option that takes a function. +Solution: Automatically convert the lambda to a string. (Yegappan + Lakshmanan, closes #9286) +Files: runtime/doc/options.txt, src/eval.c, src/proto/eval.pro, + src/evalvars.c, src/if_mzsch.c, src/if_ruby.c, src/if_tcl.c, + src/option.c, src/option.h, src/optiondefs.h, + src/proto/option.pro, src/spell.c, src/typval.c, + src/vim9compile.c, src/testdir/test_iminsert.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_tagfunc.vim + +Patch 8.2.3752 +Problem: Build error when using Photon GUI. +Solution: Adjust #ifdef. (closes #9288) +Files: src/beval.c + +Patch 8.2.3753 +Problem: Vim9: function unreferenced while called is never deleted. +Solution: Delete a function when no longer referenced. +Files: src/vim9execute.c, src/userfunc.c, src/proto/userfunc.pro + +Patch 8.2.3754 (after 8.2.3615) +Problem: Undesired changing of the indent of the first formatted line. +Solution: Do not indent the first formatted line. +Files: src/textformat.c, src/testdir/test_indent.vim + +Patch 8.2.3755 +Problem: Coverity warns for using a buffer in another scope. +Solution: Declare the buffer in a common scope. +Files: src/evalvars.c + +Patch 8.2.3756 +Problem: might crash when callback is not valid. +Solution: Check for valid callback. (Yegappan Lakshmanan, closes #9293) +Files: src/insexpand.c, src/option.c, src/tag.c, src/job.c, + src/userfunc.c, src/testdir/test_iminsert.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_tagfunc.vim + +Patch 8.2.3757 +Problem: An overlong highlight group name is silently truncated. +Solution: Give an error if the name is too long. (closes #9289) +Files: src/errors.h, src/highlight.c, src/testdir/test_highlight.vim + +Patch 8.2.3758 +Problem: Options that take a function insufficiently tested. +Solution: Add additional tests and enhance existing tests. (Yegappan + Lakshmanan, closes #9298) +Files: src/testdir/test_ins_complete.vim, src/testdir/test_normal.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.3759 +Problem: Quickfix buffer becomes hidden while still in a window. +Solution: Check if the closed window is the last window showing the quickfix + buffer. (Yegappan Lakshmanan, closes #9303, closes #9300) +Files: src/quickfix.c, src/testdir/test_quickfix.vim, src/window.c + +Patch 8.2.3760 +Problem: Not automatically handling gnome terminal mouse like xterm. +Solution: Default 'ttymouse' to "xterm" and recognize Focus events. + (issue #9296) +Files: src/os_unix.c + +Patch 8.2.3761 +Problem: Focus change is not passed on to a terminal window. +Solution: If the current window is a terminal and focus events are enabled + send a focus event escape sequence to the terminal. +Files: src/ui.c, src/terminal.c, src/proto/terminal.pro, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_focus_1.dump, + src/testdir/dumps/Test_terminal_focus_2.dump + +Patch 8.2.3762 +Problem: If the quickfix buffer is wiped out getqflist() still returns its + number. +Solution: Use zero if the buffer is no longer present. (Yegappan Lakshmanan, + closes #9306) +Files: src/quickfix.c, src/testdir/test_quickfix.vim + +Patch 8.2.3763 +Problem: When editing the command line a FocusLost callback may cause the + screen to scroll up. +Solution: Do not redraw at the last line but at the same place where the + command line was before. (closes #9295) +Files: src/ex_getln.c, src/ui.c, src/beval.c, src/channel.c, + src/drawscreen.c, src/proto/drawscreen.pro, src/job.c, + src/popupwin.c, src/sound.c, src/terminal.c, src/time.c, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_terminal_focus_1.dump, + src/testdir/dumps/Test_terminal_focus_2.dump, + src/testdir/dumps/Test_terminal_focus_3.dump + +Patch 8.2.3764 +Problem: Cannot see any text when window was made zero lines or zero + columns. +Solution: Ensure there is at least one line and column. (fixes #9307) +Files: src/window.c, src/proto/window.pro, src/normal.c, src/edit.c, + src/testdir/test_window_cmd.vim + +Patch 8.2.3765 +Problem: Vim9: cannot use a lambda for 'opfunc' and others. +Solution: Convert the lambda to a string. +Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, + src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3766 +Problem: Converting a funcref to a string leaves out "g:", causing the + meaning of the name depending on the context. +Solution: Prepend "g:" for a global function. +Files: src/eval.c, src/testdir/test_functions.vim + +Patch 8.2.3767 (after 8.2.3766) +Problem: Crash when using NULL partial. +Solution: Check for NULL. +Files: src/eval.c + +Patch 8.2.3768 +Problem: timer_info() has the wrong repeat value in a timer callback. + (Sergey Vlasov) +Solution: Do not add one to the repeat value when in the callback. + (closes #9294) +Files: src/time.c, src/testdir/test_timers.vim + +Patch 8.2.3769 +Problem: Zig files are not recognized. +Solution: Add *.zig. (Gregory Anders, closes #9313) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3770 +Problem: New compiler warnings from clang-12 and clang-13. +Solution: Adjust CI and suppress some warnings. (Ozaki Kiichi, closes #9314) +Files: .github/workflows/ci.yml, ci/config.mk.clang-12.sed, + src/os_unix.c, src/spellfile.c + +Patch 8.2.3771 +Problem: Vim9: accessing freed memory when checking type. +Solution: Make a copy of a function type. +Files: src/structs.h, src/evalvars.c, src/vim9script.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.3772 +Problem: Timer info test fails on slow machine. +Solution: Use WaitForAssert(). +Files: src/testdir/test_timers.vim + +Patch 8.2.3773 +Problem: Wrong window size when a modeline changes 'columns' and there is + more than one tabpage. (Michael Soyka) +Solution: Adjust the frames of all tabpages. (closes #9315) +Files: src/window.c + +Patch 8.2.3774 (after 8.2.3773) +Problem: Test for command line height fails. +Solution: Use another way to handle window size change. +Files: src/structs.h, src/window.c + +Patch 8.2.3775 +Problem: Vim9: lambda compiled without outer context when debugging. +Solution: When compiling a lambda for debugging also compile it without. + (closes #9302) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3776 +Problem: When a tags file line is long a tag may not be found. +Solution: When increasing the buffer size read the same line again. +Files: src/tag.c, src/testdir/test_taglist.vim + +Patch 8.2.3777 +Problem: Spell file write error not checked. +Solution: Check writing the prefix conditions. (Bjorn Linse, closes #9323) +Files: src/spellfile.c + +Patch 8.2.3778 +Problem: Lambda debug test fails in some configurations. +Solution: Check feature in a legacy function. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.3779 +Problem: Using freed memory when defining a user command from a user + command. +Solution: Do not use the command pointer after executing the command. + (closes #9318) +Files: src/usercmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.3780 +Problem: ":cd" works differently on MS-Windows. +Solution: Add the 'cdhome' option. (closes #9324) +Files: runtime/doc/editing.txt, runtime/doc/options.txt, + runtime/doc/quickref.txt, runtime/optwin.vim, src/ex_docmd.c, + src/option.h, src/optiondefs.h, src/testdir/runtest.vim, + src/testdir/test_options.vim + +Patch 8.2.3781 +Problem: The option window script is outdated. +Solution: Add several changes. +Files: runtime/optwin.vim + +Patch 8.2.3782 +Problem: Vim9: no error if a function shadows a script variable. +Solution: Check the function doesn't shadow a variable. (closes #9310) +Files: src/userfunc.c, src/evalvars.c, src/vim.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.3783 +Problem: Confusing error for using a variable as a function. +Solution: If a function is not found but there is a variable, give a more + useful error. (issue #9310) +Files: src/eval.c, src/userfunc.c, src/proto/userfunc.pro, + src/structs.h, src/vim9execute.c, src/testdir/test_functions.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.3784 +Problem: The help for options is outdated. +Solution: Include all the recent changes. +Files: runtime/doc/options.txt + +Patch 8.2.3785 +Problem: Running CI on macOS with gcc is not useful. +Solution: Only use clang. (Ozaki Kiichi, closes #9326) Also build with + normal features. +Files: .github/workflows/ci.yml + +Patch 8.2.3786 +Problem: Test fails because of using Vim9 syntax in legacy function. +Solution: Add "call". +Files: src/testdir/test_functions.vim + +Patch 8.2.3787 +Problem: No proper formatting of a C line comment after a statement. +Solution: Find the start of the line comment, insert the comment leader and + indent the comment properly. +Files: src/change.c, src/proto/change.pro, src/search.c, + src/proto/search.pro, src/cindent.c, src/edit.c, src/normal.c, + src/textformat.c, src/testdir/test_textformat.vim, + src/testdir/test_cindent.vim + +Patch 8.2.3788 +Problem: Lambda for option that is a function may be garbage collected. +Solution: Set a reference in the funcref. (Yegappan Lakshmanan, + closes #9330) +Files: src/eval.c, src/evalbuffer.c, src/evalvars.c, src/gui_xim.c, + src/insexpand.c, src/ops.c, src/proto/eval.pro, + src/proto/gui_xim.pro, src/proto/insexpand.pro, src/proto/ops.pro, + src/proto/tag.pro, src/quickfix.c, src/tag.c, + src/testdir/test_iminsert.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_normal.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.3789 +Problem: Test_window_minimal_size can fail on a slow machine. +Solution: Do not rely on timers firing at the expected time. (Ozaki Kiichi, + closes #9335) +Files: src/testdir/test_window_cmd.vim + +Patch 8.2.3790 +Problem: Test for term_gettitle() fails in some environments. +Solution: Make the digits after "VIM" optional. (Kenta Sato, closes #9334) +Files: src/testdir/test_terminal2.vim + +Patch 8.2.3791 +Problem: Build error with +cindent but without +smartindent. +Solution: Move declaration of "do_cindent". (John Marriott) +Files: src/change.c + +Patch 8.2.3792 +Problem: Setting *func options insufficiently tested. +Solution: Improve tests. (Yegappan Lakshmanan, closes #9337) +Files: src/testdir/test_iminsert.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_normal.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.3793 +Problem: Using "g:Func" as a funcref does not work in script context + because "g:" is dropped. +Solution: Keep "g:" in the name. Also add parenthesis to avoid confusing + operator precedence. (closes #9336) +Files: src/evalvars.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3794 +Problem: Vim9: cannot find script-local func using "s:". (Yegappan + Lakshmanan) +Solution: Skip the "s:". +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3795 +Problem: Too many #ifdefs. +Solution: Graduate the jumplist feature. +Files: runtime/doc/various.txt, runtime/doc/motion.txt, src/feature.h, + src/buffer.c, src/change.c, src/evalfunc.c, src/ex_docmd.c, + src/mark.c, src/normal.c, src/undo.c, src/version.c, + src/viminfo.c, src/window.c, src/structs.h, + src/testdir/test_changelist.vim, src/testdir/test_jumplist.vim, + src/testdir/test_normal.vim + +Patch 8.2.3796 +Problem: The funcexe_T struct members are not named consistently. +Solution: Prefix "fe_" to all the members. +Files: src/structs.h, src/eval.c, src/list.c, src/regexp.c, + src/terminal.c, src/userfunc.c, src/vim9execute.c + +Patch 8.2.3797 +Problem: No good reason to limit the message history in the tiny version. +Solution: Always use 200. +Files: runtime/doc/message.txt, src/feature.h + +Patch 8.2.3798 +Problem: A :def callback function postpones an error message. +Solution: Display the error after calling the function. (closes #9340) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim, + src/testdir/dumps/Test_opfunc_error.dump + +Patch 8.2.3799 (after 8.2.3798) +Problem: Edit test hangs or fails. +Solution: Do not rethrow an exception when inside try/catch. +Files: src/userfunc.c + +Patch 8.2.3800 +Problem: When cross compiling the output of "uname" cannot be set. (Ben + Reeves) +Solution: Use cache variables. (closes #9338) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.3801 +Problem: If a terminal shows in two windows, only one is redrawn. +Solution: Reset the dirty row range only after redrawing all windows. + (closes #9341) +Files: src/terminal.c, src/proto/terminal.pro, src/drawscreen.c, + src/testdir/test_terminal.vim + +Patch 8.2.3802 +Problem: Terminal in two windows test fails on some systems. +Solution: Wait a bit between commands. +Files: src/testdir/test_terminal.vim + +Patch 8.2.3803 +Problem: Crash when 'writedelay' is set and using a terminal window to + execute a shell command. +Solution: Check that "tl_vterm" isn't NULL. (closes #9346) +Files: src/terminal.c + +Patch 8.2.3804 +Problem: Script context not set when copying 'swf' and 'ts'. +Solution: Use COPY_OPT_SCTX with the right argument. (closes #9347) +Files: src/option.c + +Patch 8.2.3805 +Problem: i3config files are not recognized. +Solution: Add patterns to match i3config files. (Quentin Hibon, + closes #7969) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3806 +Problem: Terminal focus test fails sometimes. +Solution: Run the test function before others. +Files: src/testdir/test_terminal.vim + +Patch 8.2.3807 +Problem: Vim9: can call import with star directly. +Solution: Check that the import used star. +Files: src/userfunc.c, src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3808 +Problem: Vim9: obsolete TODO items +Solution: Remove the comments. +Files: src/vim9execute.c + +Patch 8.2.3809 +Problem: Vim9: crash when garbage collecting a nested partial. (Virginia + Senioria) +Solution: Set references in all the funcstacks. (closes #9348) +Files: src/vim9execute.c, src/proto/vim9execute.pro, src/structs.h, + src/eval.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3810 +Problem: Vim9: expr4 test fails on MS-Windows. +Solution: Do not give an error for a missing function name when skipping. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3811 +Problem: The opfunc error test fails on a slow machine. +Solution: Use WaitForAssert(). +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.3812 +Problem: Vim9: leaking memory in numbered function test. +Solution: Skip "g:" when checking for numbered function. Clean up after + errors properly. +Files: src/userfunc.c + +Patch 8.2.3813 +Problem: confusing error when using :cc without error list. (Gary Johnson) +Solution: Give the "no errors" error. +Files: src/ex_docmd.c, src/testdir/test_quickfix.vim + +Patch 8.2.3814 +Problem: .csx files and .sln files are not recognized. +Solution: Add filetype patterns. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3815 +Problem: Vim9: cannot have a multi-line dict inside a block. +Solution: Do not split the command at a line break, handle NL characters + as white space. +Files: src/ex_docmd.c, src/charset.c, src/proto/charset.pro, + src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3816 +Problem: Compiler warning for possible loss of data on MS-Windows. +Solution: Add type cast. (Mike Williams, closes #9349) +Files: src/userfunc.c + +Patch 8.2.3817 (after 8.2.3815) +Problem: Vim9: Not using NL as command end does not work for :autocmd. +Solution: Only ignore NL for commands with an expression argument. +Files: src/ex_cmds.h, src/ex_docmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.3818 +Problem: Cannot filter or map characters in a string. +Solution: Make filter() and map() work on a string. (Naruhiko Nishino, + closes #9327) +Files: runtime/doc/eval.txt, src/errors.h, src/list.c, + src/testdir/test_filter_map.vim + +Patch 8.2.3819 (after 8.2.3818) +Problem: Test fails because error message changed. +Solution: Update screendumps. +Files: src/testdir/dumps/Test_popupwin_three_errors_1.dump, + src/testdir/dumps/Test_popupwin_three_errors_2.dump + +Patch 8.2.3820 +Problem: "vrc" does not replace composing characters, while "rc" does. +Solution: Check the byte length including composing characters. + (closes #9351) +Files: src/ops.c, src/testdir/test_visual.vim + +Patch 8.2.3821 +Problem: ASAN test run fails. +Solution: Use asan_symbolize-13 instead of asan_symbolize-11. +Files: .github/workflows/ci.yml + +Patch 8.2.3822 +Problem: Leaking memory in map() and filter(), cannot use a string argument + in Vim9 script. +Solution: Fix the leak, adjust the argument check, also run the tests as + Vim9 script. (Yegappan Lakshmanan, closes #9354) +Files: src/errors.h, src/evalfunc.c, src/list.c, src/proto/typval.pro, + src/testdir/test_filter_map.vim, + src/testdir/test_vim9_builtin.vim, src/typval.c + +Patch 8.2.3823 +Problem: Test for visual replace is in wrong function. +Solution: Move it to another function. +Files: src/testdir/test_visual.vim + +Patch 8.2.3824 +Problem: No ASAN support for MSVC. +Solution: Add ASAN support and fix a couple of uncovered problems. (Yegappan + Lakshmanan, closes #9357) +Files: src/Make_mvc.mak, src/findfile.c, src/os_mswin.c, + src/testdir/test_fnamemodify.vim + +Patch 8.2.3825 +Problem: Various comments could be improved. +Solution: Improve the comments. +Files: src/getchar.c, src/mbyte.c, src/regexp_nfa.c, + src/testdir/test_edit.vim, src/gui_motif.c + +Patch 8.2.3826 +Problem: Vim9: using "g:Func" as a funcref does not work in a :def + function. +Solution: Include "g:" in the function name. (closes #9336) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3827 +Problem: Huntr badge does not really fit in the list. +Solution: Move the link to Huntr to the issue template. +Files: Filelist, .github/ISSUE_TEMPLATE/bug_report.yml, README.md + +Patch 8.2.3828 +Problem: when opening a terminal from a timer the first typed character + is lost. (Virginia Senioria) +Solution: When opening a terminal while waiting for a character put K_IGNORE + in the input buffer. +Files: src/terminal.c, src/edit.c, src/testdir/test_terminal.vim + +Patch 8.2.3829 +Problem: No error when setting a func option to a script-local function. +Solution: Give an error if the name starts with "s:". (closes #9358) +Files: src/option.c, src/testdir/test_tagfunc.vim, + src/testdir/dumps/Test_set_tagfunc_on_cmdline.dump + +Patch 8.2.3830 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/globals.h, src/errors.h, src/buffer.c, src/dict.c, src/diff.c, + src/digraph.c, src/eval.c, src/evalfunc.c, src/evalvars.c, + src/misc2.c, src/quickfix.c, src/typval.c, src/ui.c, + src/userfunc.c, src/vim9compile.c, src/vim9execute.c, + src/vim9type.c, src/window.c + +Patch 8.2.3831 +Problem: Opfunc test fails when missing feature changes function name. + (Dominique Pellé) +Solution: Check the relevant screen line instead of using a screendump. + (closes #9360) +Files: src/testdir/test_vim9_func.vim, + src/testdir/dumps/Test_opfunc_error.dump + +Patch 8.2.3832 (after 8.2.3830) +Problem: Test fails because of changed error message. +Solution: Adjust the expected error message. +Files: src/testdir/test_vimscript.vim + +Patch 8.2.3833 +Problem: Error from term_start() not caught by try/catch. +Solution: save and restore did_emsg when applying autocommands. (Ozaki + Kiichi, closes #9361) +Files: src/autocmd.c, src/testdir/test_terminal3.vim + +Patch 8.2.3834 +Problem: Test_out_cb often fails on Mac. +Solution: Increase the timeout with every retry. +Files: src/testdir/test_channel.vim + +Patch 8.2.3835 +Problem: The inline-function example does not work. +Solution: Drop ":let". Add EX_EXPR_ARG to CMD_var. (issue #9352) +Files: runtime/doc/vim9.txt, src/ex_cmds.h, + src/testdir/test_vim9_expr.vim + +Patch 8.2.3836 +Problem: Vim9: comment after expression not skipped to find NL. +Solution: After evaluating an expression look for a newline after a # + comment. +Files: src/eval.c + +Patch 8.2.3837 +Problem: QNX: crash when compiled with GUI but using terminal. +Solution: Check gui.in_use is set. (Hirohito Higashi, closes #9363) +Files: src/autocmd.c + +Patch 8.2.3838 +Problem: Cannot use script-local function for setting *func options. +Solution: Use the script context. (Yegappan Lakshmanan, closes #9362) +Files: src/option.c, src/testdir/dumps/Test_set_tagfunc_on_cmdline.dump, + src/testdir/test_ins_complete.vim, src/testdir/test_normal.vim, + src/testdir/test_quickfix.vim, src/testdir/test_tagfunc.vim + +Patch 8.2.3839 +Problem: Using \z() with \z1 not tested for syntax highlighting. +Solution: Add a test. (Dominique Pellé, closes #9365) +Files: src/testdir/test_syntax.vim + +Patch 8.2.3840 +Problem: Useless test for negative index in check functions. +Solution: Remove the test for negative index. (Naruhiko Nishino, + closes #9364) +Files: src/typval.c + +Patch 8.2.3841 +Problem: Vim9: outdated TODO items, disabled tests that work. +Solution: Remove TODO items, run tests that work now. Check that a dict + item isn't locked. +Files: src/vim9execute.c, src/evalvars.c, src/errors.h, src/globals.h, + src/testdir/test_listdict.vim, src/testdir/test_vim9_assign.vim + +Patch 8.2.3842 +Problem: Vim9: can change locked list and list items. +Solution: Check that a list and list item isn't locked. +Files: src/vim9execute.c, src/testdir/test_listdict.vim + +Patch 8.2.3843 +Problem: Dep3patch files are not recognized. +Solution: Recognize dep3patch files by their location and content. (James + McCoy, closes #9367) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.3844 +Problem: Vim9: no type error if assigning a value with type func(number) to + a variable of type func(string). +Solution: Use check_type_maybe(): return MAYBE if a runtime type check is + useful. (issue #8492) +Files: src/vim9type.c, src/proto/vim9type.pro, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3845 +Problem: Vim9: test fails when the channel feature is missing. +Solution: Check for the channel feature. (Dominique Pellé, closes #9368) +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.3846 +Problem: No error when using control character for 'lcs' or 'fcs'. +Solution: Use char2cells() to check the width. (closes #9369) +Files: src/screen.c, src/testdir/test_display.vim, + src/testdir/test_listchars.vim + +Patch 8.2.3847 +Problem: Illegal memory access when using a lambda with an error. +Solution: Avoid skipping over the NUL after a string. +Files: src/eval.c, src/testdir/test_lambda.vim + +Patch 8.2.3848 +Problem: Cannot use reduce() for a string. +Solution: Make reduce() work with a string. (Naruhiko Nishino, closes #9366) +Files: runtime/doc/eval.txt, src/errors.h, src/evalfunc.c, src/list.c, + src/typval.c, src/proto/typval.pro, src/testdir/test_listdict.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3849 +Problem: Functions implementing reduce and map are too long. +Solution: Use a function for each type of value. Add a few more test cases + and add to the help. (Yegappan Lakshmanan, closes #9370) +Files: runtime/doc/eval.txt, src/list.c, src/testdir/test_listdict.vim + +Patch 8.2.3850 +Problem: Illegal memory access when displaying a partial. +Solution: Terminate the string with a NUL. (closes #9371) +Files: src/eval.c, src/testdir/test_messages.vim + +Patch 8.2.3851 +Problem: Vim9: overhead when comparing string, dict or function. +Solution: Call the intended compare function directly. Refactor to avoid + duplicated code. +Files: src/vim9execute.c, src/typval.c, src/proto/typval.pro + +Patch 8.2.3852 +Problem: Vim9: not enough tests. +Solution: Also run existing tests for Vim9 script. Make errors more + consistent. +Files: src/testdir/test_listdict.vim, src/eval.c, src/vim9compile.c, + src/errors.h + +Patch 8.2.3853 +Problem: Vim9: not enough tests. +Solution: Run more existing tests for Vim9 script. +Files: src/testdir/test_listdict.vim + +Patch 8.2.3854 +Problem: Vim9: inconsistent arguments for test functions. +Solution: When :def function and script have different arguments use a list + with two items instead of a separate function. +Files: src/testdir/vim9.vim, src/testdir/test_execute_func.vim, + src/testdir/test_float_func.vim, src/testdir/test_functions.vim, + src/testdir/test_glob2regpat.vim, src/testdir/test_listdict.vim, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.3855 +Problem: Illegal memory access when displaying a blob. +Solution: Append a NUL at the end. (Yegappan Lakshmanan, closes #9372) +Files: src/blob.c, src/regexp_nfa.c, src/testdir/test_blob.vim, + src/testdir/test_messages.vim + +Patch 8.2.3856 +Problem: Vim9: not enough tests. +Solution: Run more expression tests also with Vim9. Fix an uncovered + problem. +Files: src/vim9compile.c, src/testdir/test_expr.vim, src/testdir/vim9.vim + +Patch 8.2.3857 +Problem: Vim9: inconsistent error for using function(). +Solution: Use a runtime type check for the result of function(). + (closes #8492) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3858 +Problem: Vim9: not enough tests. +Solution: Add tests for :try/:catch and :redir. Add missing type check. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.3859 +Problem: Vim9: some code lines not tested. +Solution: Add a few specific tests. +Files: src/vim9compile.c, src/testdir/test_vim9_cmd.vim, src/errors.h, + src/testdir/test_vim9_script.vim + +Patch 8.2.3860 +Problem: Vim9: codecov struggles with the file size. +Solution: Split vim9compile.c into four files. +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9instr.c, + src/proto/vim9instr.pro, src/vim9expr.c, src/proto/vim9expr.pro, + src/vim9cmds.c, src/proto/vim9cmds.pro, src/vim9.h, + src/vim9execute.c, src/vim9script.c, src/proto.h, + src/Makefile, src/Make_ami.mak, src/Make_cyg_ming.mak, + src/Make_mvc.mak, src/Make_vms.mms + +Patch 8.2.3861 +Problem: List of distributed files is outdated. +Solution: Add new files. +Files: Filelist + +Patch 8.2.3862 +Problem: Crash on exit with EXITFREE and using win_execute(). +Solution: Also save and restore tp_topframe. (issue #9374) +Files: src/evalwindow.c, src/testdir/test_execute_func.vim + +Patch 8.2.3863 (after 8.2.3860) +Problem: Various build flags accidentally enabled. +Solution: Revert several lines in Makefile. +Files: src/Makefile + +Patch 8.2.3864 +Problem: Cannot disable requesting key codes from xterm. +Solution: Add the 'xtermcodes' option, default on. +Files: runtime/doc/options.txt, runtime/doc/term.txt, src/option.h, + src/optiondefs.h, src/term.c, runtime/optwin.vim + +Patch 8.2.3865 +Problem: Vim9: compiler complains about using "try" as a struct member. +Solution: Rename "try" to "tryref". +Files: src/vim9.h, src/vim9cmds.c, src/vim9execute.c, src/vim9instr.c + +Patch 8.2.3866 +Problem: Vim9: type checking global variables is inconsistent. +Solution: Use the "unknown" type in more places. +Files: src/globals.h, src/vim9expr.c, src/vim9instr.c, src/vim9cmds.c, + src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3867 +Problem: Implementation of some list functions too complicated. +Solution: Refactor do_sort_uniq(), f_count() and extend() (Yegappan + Lakshmanan, closes #9378) +Files: src/list.c + +Patch 8.2.3868 (after 8.2.3866) +Problem: Vim9: function test fails. +Solution: Add missing changes. Add test for earlier patch. +Files: src/vim9type.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3869 +Problem: Vim9: type checking for "any" is inconsistent. +Solution: Always use a runtime type check for using "any" for a more + specific type. +Files: src/vim9type.c, src/vim9compile.c, src/vim9expr.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.3870 +Problem: MS-Windows: wrong working directory when opening two files with + right-click context menu. (Gabriel Dupras) +Solution: Use the working directory and pass it on to the process creation. + (Nir Lichtman, closes #9382, closes #8874) +Files: src/GvimExt/gvimext.cpp, src/GvimExt/gvimext.h + +Patch 8.2.3871 +Problem: List.c contains code for dict and blob. +Solution: Refactor to put code where it belongs. (Yegappan Lakshmanan, + closes #9386) +Files: src/blob.c, src/dict.c, src/list.c, src/proto/blob.pro, + src/proto/dict.pro, src/proto/list.pro, src/proto/strings.pro, + src/strings.c, src/structs.h, src/testdir/test_filter_map.vim, + src/testdir/test_listdict.vim, src/testdir/test_sort.vim + +Patch 8.2.3872 +Problem: Vim9: finddir() and uniq() return types can be more specific. +Solution: Adjust the return type. +Files: src/evalfunc.c, src/testdir/vim9.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3873 +Problem: go.mod files are not recognized. +Solution: Check for the file name. (closes #9380) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3874 +Problem: Cannot highlight the number column for a sign. +Solution: Add the "numhl" argument. (James McCoy, closes #9381) +Files: runtime/doc/options.txt, runtime/doc/sign.txt, src/drawline.c, + src/popupwin.c, src/proto/sign.pro, src/sign.c, src/structs.h, + src/testdir/test_signs.vim + +Patch 8.2.3875 +Problem: gcc complains about buffer overrun. +Solution: Use mch_memmove() instead of STRCPY(). (John Marriott) +Files: src/dict.c + +Patch 8.2.3876 +Problem: 'cindent' does not recognize inline namespace. +Solution: Skip over "inline" to find "namespace". (closes #9383) +Files: src/cindent.c, src/testdir/test_cindent.vim + +Patch 8.2.3877 +Problem: Function does not abort after a type error in compare +Solution: Check getting number fails. (closes #9384) +Files: src/typval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.3878 +Problem: Vim9: debugger tries to read more lines than there are. +Solution: Check the number of lines. (closes #9394) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.3879 +Problem: getreg() and getregtype() contain dead code. +Solution: Remove the needless check. (closes #9392) Also refactor to put + common code in a shared function. +Files: src/evalfunc.c + +Patch 8.2.3880 +Problem: Solution filter files are not recognized. +Solution: Add pattern *.slnf and use json. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3881 +Problem: QNX: crash when compiled with GUI but using terminal. +Solution: Check the gui.in_use flag. (Hirohito Higashi, closes #9391) +Files: src/main.c + +Patch 8.2.3882 (after 8.2.3879) +Problem: More duplicated code in f_getreginfo(). +Solution: Also use getreg_get_regname(). (closes #9398) +Files: src/evalfunc.c + +Patch 8.2.3883 +Problem: Crash when switching to other regexp engine fails. +Solution: Check for regprog being NULL. +Files: src/ex_cmds.c + +Patch 8.2.3884 +Problem: Crash when clearing the argument list while using it. +Solution: Lock the argument list for ":all". +Files: src/arglist.c, src/testdir/test_arglist.vim + +Patch 8.2.3885 +Problem: Arglist test fails. +Solution: Adjust for locking the arglist for ":all". +Files: src/testdir/test_arglist.vim + +Patch 8.2.3886 +Problem: Can define autocmd for every event by using "au!". +Solution: Check if a command is present also for "au!". +Files: src/autocmd.c, src/testdir/test_autocmd.vim, + src/testdir/test_arglist.vim + +Patch 8.2.3887 +Problem: E1135 is used for two different errors. +Solution: Renumber one error. +Files: src/errors.h, src/testdir/test_mapping.vim + +Patch 8.2.3888 +Problem: The argument list may contain duplicates. +Solution: Add the :argdedeupe command. (Nir Lichtman, closes #6235) +Files: runtime/doc/editing.txt, runtime/doc/index.txt, src/arglist.c, + src/ex_cmdidxs.h, src/ex_cmds.h, src/proto/arglist.pro, + src/testdir/test_arglist.vim + +Patch 8.2.3889 +Problem: Duplicate code for translating script-local function name. +Solution: Move the code to get_scriptlocal_funcname(). (Yegappan Lakshmanan, + closes #9393) +Files: src/evalfunc.c, src/evalvars.c, src/option.c, src/userfunc.c, + src/proto/userfunc.pro, src/testdir/test_expr.vim, + src/testdir/test_normal.vim + +Patch 8.2.3890 +Problem: Vim9: type check for using v: variables is basic. +Solution: Specify a more precise type. +Files: src/evalvars.c, src/proto/evalvars.pro, src/vim9instr.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.3891 +Problem: Github CI: workflows may overlap. +Solution: Cancel previous workflows when starting a new one. (Yegappan + Lakshmanan, closes #9400) +Files: .github/workflows/ci.yml, .github/workflows/codeql-analysis.yml + +Patch 8.2.3892 +Problem: When modifyOtherKeys is used CTRL-C is not recognized. +Solution: Check for uppercase C as well, fix minimum length. +Files: src/ui.c + +Patch 8.2.3893 +Problem: Vim9: many local variables are initialized with an instruction. +Solution: Initialize local variables to zero to avoid the instructions. +Files: src/vim9execute.c, src/vim9compile.c, src/vim9instr.c, + src/proto/vim9instr.pro, src/vim9cmds.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3894 +Problem: Vim9: no proper type check for first argument of call(). +Solution: Add specific type check. +Files: src/evalfunc.c, src/typval.c, src/proto/typval.pro, + src/errors.h, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3895 +Problem: Vim9: confusing error when using function() with a number. +Solution: Check for a function or string argument. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3896 +Problem: Vim9: no test for nested function not available later. +Solution: Add a test. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.3897 +Problem: Vim9: the second argument of map() and filter() is not checked at + compile time. +Solution: Add more specific type check for the second argument. +Files: src/evalfunc.c, src/globals.h, src/list.c, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.3898 +Problem: Vim9: not sufficient testing for variable initialization. +Solution: Add another test case. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3899 (after 8.2.3897) +Problem: Vim9: test for map() on string fails. +Solution: Expect string return type. +Files: src/evalfunc.c + +Patch 8.2.3900 +Problem: It is not easy to use a script-local function for an option. +Solution: recognize s: and <SID> at the start of the expression. (Yegappan + Lakshmanan, closes #9401) +Files: runtime/doc/diff.txt, runtime/doc/fold.txt, + runtime/doc/options.txt, runtime/doc/print.txt, src/optionstr.c, + src/testdir/test_diffmode.vim, src/testdir/test_edit.vim, + src/testdir/test_fold.vim, src/testdir/test_gf.vim, + src/testdir/test_gui.vim, src/testdir/test_hardcopy.vim, + src/testdir/test_normal.vim + +Patch 8.2.3901 +Problem: Vim9: Cannot set 'cpo' in main .vimrc if using Vim9 script. +Solution: Do not restore 'cpo' at the end of the main .vimrc. +Files: runtime/doc/vim9.txt, runtime/doc/options.txt, src/scriptfile.c, + src/structs.h, src/testdir/test_vim9_script.vim + +Patch 8.2.3902 +Problem: Vim9: double free with nested :def function. +Solution: Pass "line_to_free" from compile_def_function() and make sure + cmdlinep is valid. +Files: src/vim9compile.c, src/userfunc.c, src/proto/userfunc.pro, + src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3903 +Problem: "gM" does not count tabs as expected. +Solution: Use linetabsize() instead of mb_string2cells(). (closes #9409) +Files: src/normal.c, src/testdir/test_normal.vim + +Patch 8.2.3904 +Problem: Vim9: skip expression type is not checked at compile time. +Solution: Add argument type checks. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3905 +Problem: Dockerfile using prefix name not recognized. +Solution: Recognize Dockerfile.*. (closes #9410) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3906 +Problem: Vim9 help still contains "under development" warnings. +Solution: Remove the explicit warning. +Files: runtime/doc/vim9.txt + +Patch 8.2.3907 +Problem: Error messages are spread out. +Solution: Move error messages to errors.h. Avoid duplicates. +Files: src/userfunc.c, src/ex_cmds.c, src/viminfo.c, src/errors.h, + src/testdir/test_user_func.vim + +Patch 8.2.3908 +Problem: Cannot use a script-local function for 'foldtext'. +Solution: Expand "s:" and "<SID>". (Yegappan Lakshmanan, closes #9411) +Files: runtime/doc/fold.txt, src/optionstr.c, src/strings.c, + src/testdir/test_blob.vim, src/testdir/test_expr.vim, + src/testdir/test_filter_map.vim, src/testdir/test_fold.vim, + src/testdir/test_listdict.vim + +Patch 8.2.3909 +Problem: Containerfile using prefix name not recognized. +Solution: Recognize Containerfile.*. +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3910 +Problem: When the compare function of sort() produces and error then sort() + does not abort. +Solution: Check if did_emsg was incremented. +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3911 +Problem: Vim9: type check for filter() does not accept unknown. +Solution: Also accept unknown for the return type. (closes #9413) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3912 +Problem: The ins_complete() function is much too long. +Solution: Split it up into multiple functions. (Yegappan Lakshmanan, + closes #9414) +Files: src/insexpand.c + +Patch 8.2.3913 +Problem: Help for expressions does not mention Vim9 syntax. +Solution: Add the rules for Vim9 to the expression help. Rename functions + to match the help. +Files: runtime/doc/vim9.txt, runtime/doc/eval.txt, src/vim9expr.c + +Patch 8.2.3914 +Problem: Various spelling mistakes in comments. +Solution: Fix the mistakes. (Dominique Pellé, closes #9416) +Files: src/alloc.c, src/blowfish.c, src/buffer.c, src/cindent.c, + src/clipboard.c, src/diff.c, src/drawline.c, src/edit.c, + src/ex_cmds.c, src/ex_docmd.c, src/findfile.c, src/fold.c, + src/getchar.c, src/gui.c, src/gui_athena.c, src/gui_gtk.c, + src/gui_motif.c, src/gui_photon.c, src/gui_w32.c, src/gui_xmebw.c, + src/if_python.c, src/if_python3.c, src/if_xcmdsrv.c, src/main.c, + src/memline.c, src/menu.c, src/message.c, src/misc1.c, src/move.c, + src/option.c, src/os_amiga.c, src/os_mac.h, src/os_mac_conv.c, + src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/os_win32.h, + src/quickfix.c, src/regexp_nfa.c, src/screen.c, src/scriptfile.c, + src/spell.c, src/spellfile.c, src/spellsuggest.c, src/strings.c, + src/term.c, src/terminal.c, src/testdir/test_debugger.vim, + src/testdir/test_source.vim, src/textformat.c, src/userfunc.c, + src/vim.h, src/vim9.h, src/vim9cmds.c, src/vim9execute.c, + src/winclip.c, src/window.c + +Patch 8.2.3915 +Problem: illegal memory access when completing with invalid bytes. +Solution: Avoid going over the end of the completion text. +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.3916 +Problem: No error for passing an invalid line number to append(). +Solution: In Vim9 script check for a non-negative number. (closes #9417) +Files: src/evalbuffer.c, src/textprop.c, src/errors.h, src/indent.c, + src/eval.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3917 +Problem: The eval.txt help file is way too big. +Solution: Move the builtin function details to a separate file. +Files: runtime/doc/eval.txt, runtime/doc/builtin.txt, + runtime/doc/Makefile, runtime/doc/help.txt, runtime/doc/remote.txt + +Patch 8.2.3918 (after 8.2.3916) +Problem: Function list test fails. +Solution: Adjust the test for the new location of the function list. +Files: src/testdir/test_function_lists.vim + +Patch 8.2.3919 +Problem: Vim9: wrong argument for append() results in two errors. +Solution: Check did_emsg. Also for setline(). Adjust the help for + appendbufline(). +Files: runtime/doc/builtin.txt, src/evalbuffer.c, src/typval.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3920 +Problem: Restoring directory after using another window is inefficient. +Solution: Only restore the directory for win_execute(). Apply 'autochdir' + only when needed. +Files: src/evalwindow.c, src/testdir/test_autochdir.vim + +Patch 8.2.3921 +Problem: The way xdiff is used is inefficient. +Solution: Use hunk_func instead of the out_line callback. (Lewis Russell, + closes #9344) +Files: src/diff.c + +Patch 8.2.3922 +Problem: Cannot build with dynamic Ruby 3.1. +Solution: Add "_EXTRA" variables for CI. Add missing functions. (Ozaki + Kiichi, closes #9420) +Files: ci/config.mk.clang-12.sed, ci/config.mk.clang.sed, + ci/config.mk.sed, src/Makefile, src/auto/configure, + src/config.mk.in, src/configure.ac, src/if_ruby.c, src/vim.h + +Patch 8.2.3923 +Problem: Vim9: double free if a nested function has a line break in the + argument list. +Solution: Set cmdlinep when freeing the previous line. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3924 +Problem: Vim9: no error if something follows :enddef in a nested function. +Solution: Give an error. Move common code to a function. +Files: src/userfunc.c, src/vim9compile.c, src/errors.h, + src/testdir/test_vim9_func.vim + +Patch 8.2.3925 +Problem: Diff mode confused by NUL bytes. +Solution: Handle NUL bytes differently. (Christian Brabandt, closes #9421, + closes #9418) +Files: src/diff.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_bin_01.dump, + src/testdir/dumps/Test_diff_bin_02.dump, + src/testdir/dumps/Test_diff_bin_03.dump, + src/testdir/dumps/Test_diff_bin_04.dump + +Patch 8.2.3926 (after 8.2.3920) +Problem: Build failure without the 'autochdir' option. (John Marriott) +Solution: Add #ifdefs. +Files: src/evalwindow.c + +Patch 8.2.3927 +Problem: Vim9: double free when using lambda. +Solution: Don't free both cmdline and line_to_free. +Files: src/userfunc.c + +Patch 8.2.3928 +Problem: Heredoc test fails. +Solution: Correct order of function arguments. +Files: src/userfunc.c + +Patch 8.2.3929 +Problem: Using uninitialized variable. +Solution: Set the option flags to zero for a terminal option. +Files: src/option.c + +Patch 8.2.3930 +Problem: getcmdline() argument has a misleading type. +Solution: Use the correct type, even though the value is not used. +Files: src/ex_getln.c, src/proto/ex_getln.pro, src/ex_docmd.c, + src/normal.c, src/register.c, src/userfunc.c + +Patch 8.2.3931 +Problem: Coverity reports a memory leak. +Solution: Free memory in case of failure. +Files: src/diff.c + +Patch 8.2.3932 +Problem: C line comment not formatted properly. +Solution: If a line comment follows after "#if" the next line is not the end + of a paragraph. +Files: src/textformat.c, src/testdir/test_textformat.vim + +Patch 8.2.3933 +Problem: After ":cd" fails ":cd -" is incorrect. +Solution: Set the previous directory only after successfully changing + directory. (Richard Doty, closes #9419, closes #8983) +Files: src/ex_docmd.c, src/testdir/test_cd.vim + +Patch 8.2.3934 +Problem: Repeating line comment is undesired for "O" command. +Solution: Do not copy line comment leader for "O". (closes #9426) +Files: src/change.c, src/testdir/test_textformat.vim + +Patch 8.2.3935 +Problem: CTRL-U in Insert mode does not fix the indent. +Solution: Fix the indent when 'cindent' is set. +Files: src/edit.c, src/testdir/test_textformat.vim + +Patch 8.2.3936 +Problem: No proper test for maintaining change mark in diff mode. +Solution: Run the test with internal and external diff. (Sean Dewar, + closes #9424) +Files: src/testdir/test_diffmode.vim + +Patch 8.2.3937 +Problem: Insert mode completion function is too long. +Solution: Refactor into multiple functions. (Yegappan Lakshmanan, + closes #9423) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.3938 +Problem: Line comment start is also found in a string. +Solution: Skip line comments in a string. +Files: src/cindent.c, src/proto/cindent.pro, src/search.c, + src/testdir/test_textformat.vim + +Patch 8.2.3939 +Problem: MS-Windows: fnamemodify('', ':p') does not work. +Solution: Do not consider an empty string a full path. (Yegappan Lakshmanan, + closes #9428, closes #9427) +Files: src/os_mswin.c, src/testdir/test_fnamemodify.vim + +Patch 8.2.3940 +Problem: Match highlight disappears when doing incsearch for ":s/pat". +Solution: Only use line limit for incsearch highlighting. (closes #9425) +Files: src/match.c, src/testdir/test_match.vim, + src/testdir/dumps/Test_match_with_incsearch_1.dump, + src/testdir/dumps/Test_match_with_incsearch_2.dump + +Patch 8.2.3941 +Problem: SIGTSTP is not handled. +Solution: Handle SIGTSTP like pressing CTRL-Z. (closes #9422) +Files: runtime/doc/autocmd.txt, src/ex_docmd.c, src/os_unix.c, + src/proto/ex_docmd.pro, src/testdir/test_signals.vim + +Patch 8.2.3942 +Problem: Coverity reports a possible memory leak. +Solution: Free the array if allocation fails. +Files: src/insexpand.c + +Patch 8.2.3943 +Problem: Compiler warning from gcc for uninitialized variable. +Solution: Initialize variable. (closes #9429) +Files: src/diff.c + +Patch 8.2.3944 +Problem: Insert mode completion functions are too long. +Solution: Split up into multiple functions. (Yegappan Lakshmanan, + closes #9431) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.3945 +Problem: Vim9: partial variable argument types are wrong, leading to a + crash. +Solution: When adjusting the argument count also adjust the argument types. + (closes #9433) +Files: src/vim9type.c, src/userfunc.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.3946 +Problem: When an internal error makes Vim exit the error is not seen. +Solution: Add the error to the test output. +Files: src/message.c, src/testdir/runtest.vim + +Patch 8.2.3947 +Problem: Unnecessary check for NULL pointer. +Solution: Remove the check. (closes #9434) +Files: src/ex_docmd.c + +Patch 8.2.3948 +Problem: Vim9: failure with partial with unknown argument count. +Solution: Do not copy argument types if there aren't any. +Files: src/vim9type.c + +Patch 8.2.3949 +Problem: Using freed memory with /\%V. +Solution: Get the line again after getvvcol(). +Files: src/regexp.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.3950 +Problem: Going beyond the end of the line with /\%V. +Solution: Check for valid column in getvcol(). +Files: src/charset.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.3951 +Problem: Vim9: memory leak when text after a nested function. +Solution: Free the function if text is found after "enddef". +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.3952 +Problem: First line not redrawn when adding lines to an empty buffer. +Solution: Adjust the argument to appended_lines(). (closes #9439, + closes #9438) +Files: src/ex_cmds.c, src/testdir/test_excmd.vim + +Patch 8.2.3953 +Problem: Insert completion code is too complicated. +Solution: More refactoring. Move function arguments into a struct. + (Yegappan Lakshmanan, closes #9437) +Files: src/insexpand.c + +Patch 8.2.3954 +Problem: Vim9: no error for shadowing if script var is declared later. +Solution: Check argument names when compiling a function. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.3955 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h, src/debugger.c, src/ex_cmds.c, + src/help.c, src/sign.c, src/spellfile.c + +Patch 8.2.3956 +Problem: Duplicate assignment. +Solution: Remove the second assignment. (closes #9442) +Files: src/evalfunc.c + +Patch 8.2.3957 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h, src/arglist.c, src/bufwrite.c, + src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, + src/help.c, src/scriptfile.c, src/usercmd.c, src/userfunc.c, + src/vim9cmds.c, src/vim9compile.c + +Patch 8.2.3958 +Problem: Build failure compiling xxd with "-std=c2x". +Solution: define _XOPEN_SOURCE. (Yegappan Lakshmanan, closes #9444) +Files: src/xxd/xxd.c + +Patch 8.2.3959 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/autocmd.c, src/bufwrite.c, src/evalvars.c, + src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, src/fileio.c, + src/getchar.c, src/gui.c, src/locale.c, src/map.c + +Patch 8.2.3960 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/alloc.c, src/arglist.c, src/autocmd.c, + src/blob.c, src/blowfish.c, src/buffer.c, src/bufwrite.c + +Patch 8.2.3961 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h, src/arglist.c, src/autocmd.c, + src/blob.c, src/bufwrite.c, src/channel.c, src/clipboard.c, + src/cmdexpand.c, src/debugger.c, src/dict.c, src/eval.c, + src/evalfunc.c, src/evalvars.c, src/evalwindow.c, src/ex_cmds.c, + src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, src/fileio.c, + src/filepath.c, src/gui_gtk_x11.c, src/gui_haiku.cc, + src/gui_photon.c, src/gui_w32.c, src/gui_x11.c, src/highlight.c, + src/indent.c, src/insexpand.c, src/job.c, src/json.c, src/list.c, + src/map.c, src/mark.c, src/match.c, src/mbyte.c, src/menu.c, + src/message.c, src/misc2.c, src/ops.c, src/option.c, + src/optionstr.c, src/popupwin.c, src/quickfix.c, src/screen.c, + src/scriptfile.c, src/search.c, src/sign.c, src/spell.c, + src/spellfile.c, src/strings.c, src/syntax.c, src/terminal.c, + src/testing.c, src/textprop.c, src/time.c, src/userfunc.c, + src/vim9cmds.c, src/vim9execute.c, src/vim9script.c, src/window.c + +Patch 8.2.3962 (after 8.2.3961) +Problem: Build fails for missing error message. +Solution: Add changes in missed file. +Files: src/regexp_bt.c + +Patch 8.2.3963 +Problem: Build failure with tiny and small features. (Tony Mechelynck) +Solution: Adjust #ifdefs. +Files: src/errors.h, src/message.c + +Patch 8.2.3964 +Problem: Some common lisp and scheme files not recognized. +Solution: Recognize *.asd as lisp and *.sld as scheme. (Alex Vear, + closes #9447) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3965 +Problem: Vim9: no easy way to check if Vim9 script is supported. +Solution: Add has('vim9script'). +Files: runtime/doc/vim9.txt, src/evalfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.3966 +Problem: When using feedkeys() abbreviations may be blocked. +Solution: Reset tb_no_abbr_cnt when running out of characters. + (closes #9448) +Files: src/getchar.c, src/testdir/test_feedkeys.vim + +Patch 8.2.3967 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h, src/feature.h, src/arglist.c, + src/autocmd.c, src/blob.c, src/bufwrite.c, src/channel.c, + src/cmdexpand.c, src/dict.c, src/diff.c, src/eval.c, + src/evalfunc.c, src/evalvars.c, src/ex_cmds.c, src/ex_docmd.c, + src/fileio.c, src/filepath.c, src/getchar.c, src/gui_gtk_x11.c, + src/gui_x11.c, src/hardcopy.c, src/help.c, src/highlight.c, + src/if_cscope.c, src/if_lua.c, src/if_mzsch.c, src/if_perl.xs, + src/if_python.c, src/if_python3.c, src/if_ruby.c, src/if_tcl.c, + src/if_xcmdsrv.c, src/indent.c, src/insexpand.c, src/job.c, + src/list.c, src/main.c, src/map.c, src/match.c, src/mbyte.c, + src/message.c, src/misc1.c, src/option.c, src/optionstr.c, + src/os_mswin.c, src/os_unix.c, src/os_win32.c, src/popupwin.c, + src/profiler.c, src/quickfix.c, src/scriptfile.c, src/search.c, + src/session.c, src/sign.c, src/spell.c, src/spellfile.c, + src/spellsuggest.c, src/syntax.c, src/tag.c, src/terminal.c, + src/testing.c, src/textprop.c, src/typval.c, src/userfunc.c, + src/vim9execute.c, src/vim9expr.c, src/vim9instr.c, + src/vim9script.c + +Patch 8.2.3968 +Problem: Build failure. +Solution: Add missing changes. +Files: src/strings.c, src/vim9compile.c + +Patch 8.2.3969 +Problem: Value of MAXCOL not available in Vim script. +Solution: Add v:maxcol. (Naohiro Ono, closes #9451) +Files: runtime/doc/builtin.txt, runtime/doc/eval.txt, src/evalvars.c, + src/testdir/test_cursor_func.vim, src/testdir/test_normal.vim, + src/testdir/test_put.vim, src/vim.h + +Patch 8.2.3970 +Problem: Error messages are spread out. +Solution: Move more errors to errors.h. +Files: src/errors.h, src/globals.h, src/buffer.c, src/bufwrite.c, + src/clientserver.c, src/cmdhist.c, src/dict.c, src/edit.c, + src/eval.c, src/evalfunc.c, src/evalvars.c, src/ex_cmds.c, + src/ex_docmd.c, src/ex_eval.c, src/ex_getln.c, src/gui_w32.c, + src/gui_x11.c, src/if_xcmdsrv.c, src/insexpand.c, src/json.c, + src/match.c, src/menu.c, src/option.c, src/optionstr.c, + src/os_mswin.c, src/quickfix.c, src/regexp_bt.c, src/regexp_nfa.c, + src/scriptfile.c, src/sign.c, src/spellfile.c, src/undo.c, + src/userfunc.c, src/vim9cmds.c, src/vim9compile.c, + src/vim9execute.c, src/vim9expr.c, src/window.c + +Patch 8.2.3971 +Problem: Build fails. +Solution: Use the right error message name. +Files: src/typval.c + +Patch 8.2.3972 +Problem: Error messages are spread out. +Solution: Move the last errors from globals.h to errors.h. +Files: src/errors.h, src/globals.h, src/eval.c, src/evalfunc.c, + src/evalvars.c, src/evalwindow.c, src/ex_eval.c, src/list.c, + src/match.c, src/menu.c, src/popupmenu.c, src/search.c, + src/vim9cmds.c, src/vim9expr.c + +Patch 8.2.3973 +Problem: Tiny build fails. +Solution: Adjust #ifdefs +Files: src/errors.h + +Patch 8.2.3974 +Problem: Vim9: LISTAPPEND instruction does not check for a locked list. +Solution: Check whether the list is locked. (closes #9452) +Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3975 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/clientserver.c, src/fileio.c, src/gui.c, + src/gui_beval.c, src/gui_w32.c, src/gui_x11.c, src/if_cscope.c, + src/if_xcmdsrv.c, src/os_mswin.c, src/sign.c, src/viminfo.c, + src/window.c + +Patch 8.2.3976 +Problem: FEARG_LAST is never used. (Dominique Pellé) +Solution: Remove FEARG_LAST and the related code. +Files: src/evalfunc.c + +Patch 8.2.3977 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/change.c, src/clientserver.c, src/eval.c, + src/gui_xim.c, src/if_cscope.c, src/if_py_both.h, src/if_python.c, + src/if_python3.c, src/if_ruby.c, src/if_tcl.c, src/main.c, + src/mark.c, src/match.c, src/memfile.c, src/memline.c, + src/terminal.c, src/textprop.c, src/userfunc.c + +Patch 8.2.3978 +Problem: Build error when using dynamically loaded Python 3. +Solution: Adjust #ifdef. +Files: src/errors.h + +Patch 8.2.3979 +Problem: Vim9: the feature is not mentioned in the right places. +Solution: Add +vim9script to the help and :version output. +Files: runtime/doc/builtin.txt, runtime/doc/various.txt, src/version.c + +Patch 8.2.3980 +Problem: If 'operatorfunc' invokes an operator the remembered Visual mode + may be changed. (Naohiro Ono) +Solution: Save and restore the information for redoing the Visual area. + (closes #9455) +Files: src/ops.c, src/testdir/test_normal.vim + +Patch 8.2.3981 +Problem: Vim9: debugging a for loop doesn't stop before it starts. +Solution: Keep the DEBUG instruction before the expression is evaluated. + (closes #9456) +Files: src/vim9cmds.c, src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3982 +Problem: Some lines of code not covered by tests. +Solution: Add a few more test cases. (Dominique Pellé, closes #9453) +Files: src/testdir/test_filter_map.vim, src/testdir/test_highlight.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_search.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3983 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/ex_docmd.c, src/fileio.c, src/filepath.c, + src/findfile.c, src/hardcopy.c, src/memfile.c, src/memline.c, + src/menu.c, src/normal.c, src/regexp_bt.c + +Patch 8.2.3984 (after 8.2.3981) +Problem: Debugger test fails. +Solution: Adjust the test for modified debugging of a for loop. +Files: src/testdir/test_debugger.vim + +Patch 8.2.3985 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/findfile.c, src/fold.c, src/hardcopy.c, + src/highlight.c, src/map.c, src/message.c, src/normal.c, + src/option.c, src/os_amiga.c, src/os_unix.c, src/os_win32.c, + src/quickfix.c, src/regexp.c, src/register.c, src/search.c, + src/syntax.c, src/tag.c, src/term.c, src/typval.c, src/undo.c, + src/window.c + +Patch 8.2.3986 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/evalvars.c, src/ex_cmds.c, src/ex_docmd.c, + src/fileio.c, src/fold.c, src/gui_x11.c, src/hardcopy.c, + src/help.c, src/highlight.c, src/if_cscope.c, src/json.c, + src/map.c, src/netbeans.c, src/popupwin.c, src/usercmd.c, + src/userfunc.c + +Patch 8.2.3987 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/digraph.c, src/ex_eval.c, src/gui.c, + src/hardcopy.c, src/if_cscope.c, src/if_tcl.c, src/if_xcmdsrv.c, + src/mbyte.c, src/misc2.c, src/netbeans.c, src/option.c, + src/optionstr.c, src/quickfix.c, src/regexp.c, src/tag.c, + src/term.c, src/viminfo.c + +Patch 8.2.3988 (after 8.2.3987) +Problem: Tiny build fails. +Solution: Fix misplaced #ifdef. +Files: src/errors.h + +Patch 8.2.3989 +Problem: Some insert completion code is not tested. +Solution: Add a few tests. Refactor thesaurus completion. (Yegappan + Lakshmanan, closes #9460) +Files: src/insexpand.c, src/testdir/test_edit.vim, + src/testdir/test_ins_complete.vim + +Patch 8.2.3990 +Problem: Testing wrong operator. +Solution: Test "g@" instead of "r_". (Naohiro Ono, closes #9463) +Files: src/testdir/test_normal.vim + +Patch 8.2.3991 +Problem: Vim9: error when extending dict<any> with another type that it was + initialized with. +Solution: Also set the type for dict<any> if the initializer has a more + specific type. (closes #9461) +Files: src/vim9compile.c, src/vim9type.c, src/vim9.h, src/eval.c, + src/list.c, src/vim9script.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.3992 +Problem: Wrong local-additions in the help with language mix. +Solution: Adjust how the local additions list is generated. (Hirohito + Higashi, closes #9464) +Files: src/help.c, src/testdir/test_help.vim + +Patch 8.2.3993 +Problem: When recording a change in Select mode the first typed character + appears twice. +Solution: When putting the character back into typeahead remove it from + recorded characters. (closes #9462) +Files: src/getchar.c, src/proto/getchar.pro, src/normal.c, + src/testdir/test_registers.vim + +Patch 8.2.3994 +Problem: Vim9: extend() complains about the type even when it was not + declared. +Solution: Only check the list or dict type when it was declared. +Files: src/list.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.3995 +Problem: Not all sshconfig files are detected as such. +Solution: Adjust the patterns used for sshconfig detection. (David Auer, + closes #9322) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.3996 +Problem: Vim9: type checking for list and dict lacks information about + declared type. +Solution: Add dv_decl_type and lv_decl_type. Refactor the type stack to + store two types in each entry. +Files: src/structs.h, src/dict.c, src/list.c, src/vim9type.c, + src/proto/vim9type.pro, src/vim9instr.c, src/proto/vim9instr.pro, + src/vim9compile.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/evalbuffer.c, src/proto/evalbuffer.pro, src/vim9expr.c, + src/vim9cmds.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.3997 +Problem: Vim9: not enough testing for extend() and map(). +Solution: Add more test cases. Fix uncovered problems. Remove unused type + fields. +Files: src/structs.h, src/dict.c, src/list.c, src/vim9compile.c, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.3998 +Problem: Asan error for adding zero to NULL. +Solution: Do not compute pointer if there are no entries. +Files: src/vim9type.c + +Patch 8.2.3999 +Problem: Redundant check for NUL byte. +Solution: Remove the check for a NUL byte. (closes #9471) +Files: src/ex_docmd.c + +Patch 8.2.4000 +Problem: Coverity warns for checking for NULL pointer after using it. +Solution: Remove check for NULL. +Files: src/help.c + +Patch 8.2.4001 +Problem: Insert complete code uses global variables. +Solution: Make variables local to the file and use accessor functions. + (Yegappan Lakshmanan, closes #9470) +Files: src/edit.c, src/getchar.c, src/globals.h, src/insexpand.c, + src/proto/insexpand.pro, src/search.c + +Patch 8.2.4002 +Problem: First char typed in Select mode can be wrong. +Solution: Escape special bytes in the input buffer. (closes #9469) +Files: src/getchar.c, src/testdir/test_utf8.vim + +Patch 8.2.4003 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/channel.c, src/ex_docmd.c, src/ex_eval.c, + src/gui_at_fs.c, src/hardcopy.c, src/if_cscope.c, src/menu.c, + src/netbeans.c, src/optionstr.c, src/os_mswin.c, src/sign.c, + src/typval.c + +Patch 8.2.4004 +Problem: Old compiler complains about struct init with variable. +Solution: Set the struct member later. (John Marriott) +Files: src/evalfunc.c + +Patch 8.2.4005 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/dict.c, src/eval.c, src/evalfunc.c, + src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c, src/ex_eval.c, + src/filepath.c, src/gui.c, src/gui_w32.c, src/hardcopy.c, + src/help.c, src/highlight.c, src/if_python.c, src/list.c, + src/misc1.c, src/normal.c, src/quickfix.c, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/typval.c, src/userfunc.c + +Patch 8.2.4006 +Problem: Vim9: crash when declaring variable on the command line. +Solution: Use a temporary type list. (closes #9474) +Files: src/eval.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.4007 +Problem: Session does not restore help buffer properly when "options' is + missing from 'sessionoptions'. +Solution: Use a ":help" command to create the help window. (closes #9475, + closes #9458, closes #9472) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.4008 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/diff.c, src/digraph.c, src/evalfunc.c, + src/evalvars.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, + src/insexpand.c, src/match.c, src/memline.c, src/menu.c, + src/ops.c, src/profiler.c, src/quickfix.c, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/register.c, src/spell.c, + src/spell.h, src/spellfile.c, src/strings.c, src/syntax.c, + src/typval.c, src/undo.c, src/userfunc.c + +Patch 8.2.4009 +Problem: Reading one byte beyond the end of the line. +Solution: Check for NUL byte first. +Files: src/vim9compile.c, src/ex_docmd.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4010 +Problem: Error messages are spread out. +Solution: Move more error messages to errors.h. +Files: src/errors.h, src/crypt.c, src/diff.c, src/ex_docmd.c, + src/ex_getln.c, src/fileio.c, src/findfile.c, src/float.c, + src/gui.c, src/highlight.c, src/if_mzsch.c, src/if_py_both.h, + src/if_python.c, src/if_python3.c, src/insexpand.c, src/match.c, + src/memline.c, src/option.c, src/popupwin.c, src/regexp.c, + src/regexp_nfa.c, src/spellfile.c, src/strings.c, src/syntax.c, + src/textprop.c, src/typval.c, src/undo.c, src/usercmd.c, + src/userfunc.c, src/window.c + +Patch 8.2.4011 +Problem: Test fails because of changed error number. +Solution: Restore old duplicate error message. +Files: src/errors.h, src/match.c + +Patch 8.2.4012 +Problem: Error messages are spread out. +Solution: Move the last error messages to errors.h. +Files: src/errors.h, src/channel.c, src/clientserver.c, src/diff.c, + src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, src/ex_docmd.c, + src/gui_w32.c, src/help.c, src/if_mzsch.c, src/if_py_both.h, + src/if_python.c, src/job.c, src/json.c, src/list.c, src/option.c, + src/optionstr.c, src/quickfix.c, src/regexp.c, src/regexp_nfa.c, + src/register.c, src/scriptfile.c, src/sign.c, src/syntax.c, + src/tag.c, src/terminal.c, src/textprop.c, src/typval.c, + src/undo.c, src/userfunc.c, src/vim9compile.c, src/viminfo.c + +Patch 8.2.4013 +Problem: Build failure without the spell feature. +Solution: Adjust #ifdefs. +Files: src/errors.h + +Patch 8.2.4014 +Problem: Git and gitcommit file types not properly recognized. +Solution: Adjust filetype detection. (Tim Pope, closes #9477) +Files: runtime/filetype.vim, runtime/scripts.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4015 +Problem: Build failure with tiny features. (Tony Mechelynck) +Solution: Adjust #ifdefs. +Files: src/errors.h + +Patch 8.2.4016 +Problem: Vim9: incorrect error for argument that is shadowing var. +Solution: Ignore variable that is not in block where the function was + defined. +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4017 +Problem: Gcc warns for misleading indent in Athena menu code. +Solution: Add curlies around the two statements. (Dominique Pellé, + closes #9480) +Files: src/gui_athena.c + +Patch 8.2.4018 +Problem: ml_get error when win_execute redraws with Visual selection. +Solution: Disable Visual area temporarily. (closes #9479) +Files: src/evalwindow.c, src/proto/evalwindow.pro, src/structs.h, + src/evalbuffer.c, src/proto/evalbuffer.pro, src/evalvars.c, + src/if_py_both.h, src/evalfunc.c, + src/testdir/test_execute_func.vim + +Patch 8.2.4019 +Problem: Vim9: import mechanism is too complicated. +Solution: Do not use the Javascript mechanism but a much simpler one. +Files: runtime/doc/vim9.txt, src/vim9script.c, src/proto/vim9script.pro, + src/errors.h, src/structs.h, src/eval.c, src/proto/eval.pro, + src/evalvars.c, src/proto/evalvars.pro, src/userfunc.c, + src/vim9expr.c, src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.4020 (after 8.2.4019) +Problem: Debugger test fails. +Solution: Fix import statement. +Files: src/testdir/test_debugger.vim + +Patch 8.2.4021 (after 8.2.4019) +Problem: Missing part of the :import changes. +Solution: Add changes in vim9cmds.c. +Files: src/vim9cmds.c + +Patch 8.2.4022 +Problem: Two error messages in the wrong file. +Solution: Use the error message from errors.h. +Files: src/popupwin.c, src/usercmd.c + +Patch 8.2.4023 +Problem: Using uninitialized variable. +Solution: Initialize "ufunc" also when an item is not exported. +Files: src/vim9script.c + +Patch 8.2.4024 +Problem: Confusing error message if imported name is used directly. +Solution: Give a better error message. +Files: src/eval.c, src/proto/eval.pro, src/evalvars.c, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4025 +Problem: Error for import not ending in .vim does not work for .vimrc. +Solution: Check that .vim is the end. (closes #9484) +Files: src/vim9script.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.4026 +Problem: ml_get error with specific win_execute() command. (Sean Dewar) +Solution: Check cursor and Visual area are OK. +Files: src/evalwindow.c, src/testdir/test_execute_func.vim + +Patch 8.2.4027 +Problem: Import test fails on MS-Windows. +Solution: Use a different directory name. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.4028 +Problem: ml_get error with :doautoall and Visual area. (Sean Dewar) +Solution: Disable Visual mode while executing autocommands. +Files: src/structs.h, src/autocmd.c, src/testdir/test_autocmd.vim + +Patch 8.2.4029 +Problem: Debugging NFA regexp my crash, cached indent may be wrong. +Solution: Fix some debug warnings in the NFA regexp code. Make sure log_fd + is set when used. Fix breakindent and indent caching. (Christian + Brabandt, closes #9482) +Files: src/indent.c, src/optionstr.c, src/regexp_nfa.c + +Patch 8.2.4030 +Problem: A script local funcref is not found from a mapping. +Solution: When looking for a function, also find a script-local funcref. + (closes #9485) +Files: src/evalvars.c, src/proto/evalvars.pro, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4031 +Problem: Crash in xterm with only two lines. (Dominique Pellé) +Solution: Only perform xterm compatibility test if possible. (closes #9488) +Files: src/term.c, src/testdir/test_startup.vim + +Patch 8.2.4032 +Problem: ATTRIBUTE_NORETURN is not needed. +Solution: Use NORETURN(). (Ozaki Kiichi, closes #9487) +Files: src/if_ruby.c, src/vim.h + +Patch 8.2.4033 +Problem: Running filetype tests leaves directory behind. +Solution: Delete the top directory. (closes #9483) +Files: src/testdir/test_filetype.vim + +Patch 8.2.4034 +Problem: Coverity warns for possibly using a NULL pointer. +Solution: Check v_partial is not NULL. +Files: src/vim9type.c + +Patch 8.2.4035 +Problem: Timer triggered at the debug prompt may cause trouble. +Solution: Do not trigger any timer at the debug prompt. (closes #9481) +Files: src/time.c + +Patch 8.2.4036 +Problem: Vim9: script test file is getting too long. +Solution: Split the import/export functionality to a separate file. +Files: src/testdir/test_vim9_script.vim, src/testdir/test_vim9_import.vim, + src/testdir/Make_all.mak + +Patch 8.2.4037 +Problem: Insert mode completion is insufficiently tested. +Solution: Add more tests. Fix uncovered memory leak. (Yegappan Lakshmanan, + closes #9489) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.4038 +Problem: Various code not used when features are disabled. +Solution: Add #ifdefs. (Dominique Pellé, closes #9491) +Files: src/alloc.c, src/buffer.c, src/charset.c, src/clipboard.c, + src/cmdhist.c, src/crypt.c, src/edit.c, src/eval.c, + src/evalbuffer.c, src/evalfunc.c, src/ex_docmd.c, src/globals.h, + src/gui_xim.c, src/hashtab.c, src/highlight.c, src/insexpand.c, + src/main.c, src/mark.c, src/message.c, src/misc1.c, src/misc2.c, + src/ops.c, src/option.c, src/option.h, src/optionstr.c, + src/register.c, src/scriptfile.c, src/tag.c, src/term.c, + src/typval.c, src/usercmd.c, src/userfunc.c, src/vim9script.c, + src/vim9type.c + +Patch 8.2.4039 +Problem: The xdiff library is linked in even when not used. +Solution: Use configure to decide whether xdiff object files are included. +Files: src/Makefile, src/config.mk.in, src/configure.ac, + src/auto/configure, src/feature.h + +Patch 8.2.4040 +Problem: Keeping track of allocated lines in user functions is too + complicated. +Solution: Instead of freeing individual lines keep them all until the end. +Files: src/alloc.c, src/proto/alloc.pro, src/vim9compile.c, + src/userfunc.c, src/proto/userfunc.pro, src/message.c, + src/usercmd.c, src/viminfo.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4041 +Problem: Using uninitialized pointer. +Solution: Store "ht" when variable is in another script. +Files: src/evalvars.c + +Patch 8.2.4042 +Problem: Vim9: build error. +Solution: Use grow array instead of character pointer. +Files: src/vim9execute.c + +Patch 8.2.4043 +Problem: Using int for second argument of ga_init2(). +Solution: Remove unnecessary type cast (int) when using sizeof(). +Files: src/arglist.c, src/channel.c, src/cmdexpand.c, src/dict.c, + src/digraph.c, src/eval.c, src/evalfunc.c, src/evalvars.c, + src/evalwindow.c, src/ex_docmd.c, src/fileio.c, src/filepath.c, + src/findfile.c, src/fold.c, src/hardcopy.c, src/help.c, + src/job.c, src/list.c, src/menu.c, src/os_win32.c, src/register.c, + src/scriptfile.c, src/spellfile.c, src/spellsuggest.c, + src/strings.c, src/syntax.c, src/tag.c, src/terminal.c, + src/undo.c, src/usercmd.c, src/userfunc.c, src/vim9execute.c, + src/viminfo.c, src/window.c, src/if_py_both.h + +Patch 8.2.4044 +Problem: Vim9: no error when importing the same script twice. +Solution: Give an error, unless it is a reload. +Files: src/vim9script.c, src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4045 +Problem: Some global functions are only used in one file. +Solution: Make the functions static. (Yegappan Lakshmanan, closes #9492) +Files: src/ex_getln.c, src/highlight.c, src/proto/ex_getln.pro, + src/proto/highlight.pro, src/proto/vim9compile.pro, + src/proto/vim9instr.pro, src/proto/window.pro, src/vim9compile.c, + src/vim9instr.c, src/window.c + +Patch 8.2.4046 +Problem: Some error messages not in the right place. +Solution: Adjust the errors file. Fix typo. +Files: src/errors.h, src/regexp_bt.c, src/typval.c, + +Patch 8.2.4047 +Problem: Depending on the build features error messages are unused. +Solution: Add #ifdefs. (Dominique Pellé, closes #9493) +Files: src/errors.h + +Patch 8.2.4048 +Problem: gcc complains about use of "%p" in printf. +Solution: Add (void *) typecast. (Dominique Pellé, closes #9494) +Files: src/if_py_both.h + +Patch 8.2.4049 +Problem: Vim9: reading before the start of the line with "$" by itself. +Solution: Do not subtract one when reporting the error. +Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4050 +Problem: Vim9: need to prefix every item in an autoload script. +Solution: First step in supporting "vim9script autoload" and "import + autoload". +Files: runtime/doc/repeat.txt, runtime/doc/vim9.txt, src/structs.h, + src/errors.h, src/vim9script.c, src/scriptfile.c, + src/proto/scriptfile.pro, src/userfunc.c, src/eval.c, + src/evalvars.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9expr.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4051 +Problem: Compiler complains about possibly uninitialized variable. +Solution: Add code to avoid a compiler warning. (John Marriott) +Files: src/scriptfile.c + +Patch 8.2.4052 +Problem: Not easy to resize a window from a plugin. +Solution: Add win_move_separator() and win_move_statusline() functions. + (Daniel Steinberg, closes #9486) +Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/evalwindow.c, src/proto/evalwindow.pro, + src/testdir/test_window_cmd.vim + +Patch 8.2.4053 +Problem: Vim9: autoload mechanism doesn't fully work yet. +Solution: Define functions and variables with their autoload name, add the + prefix when calling a function, find the variable in the table of + script variables. +Files: src/structs.h, src/scriptfile.c, src/proto/scriptfile.pro, + src/vim9script.c, src/proto/vim9script.pro, src/userfunc.c, + src/evalvars.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4054 (after 8.2.4053) +Problem: Vim9 script test fails. +Solution: Add missing change. +Files: src/vim9compile.c + +Patch 8.2.4055 +Problem: Vim9: line break in expression causes v:errmsg to be filled. + (Yegappan Lakshmanan) +Solution: Do not give an error when skipping over an expression. +Files: src/userfunc.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4056 +Problem: Vim9: memory leak when exporting function in autoload script. +Solution: Free the name if replacing it. +Files: src/scriptfile.c + +Patch 8.2.4057 +Problem: Vim9: not fully implementing the autoload mechanism. +Solution: Allow for exporting a legacy function. Improve test coverage. +Files: src/vim9script.c, src/testdir/test_vim9_import.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.4058 +Problem: Vim9: import test failure in wrong line. +Solution: Adjust line number. +Files: src/testdir/test_vim9_import.vim + +Patch 8.2.4059 +Problem: Vim9: an expression of a map cannot access script-local items. + (Maxim Kim) +Solution: Use the script ID of where the map was defined. +Files: src/getchar.c, src/map.c, src/proto/map.pro, + src/testdir/test_vim9_import.vim + +Patch 8.2.4060 +Problem: win_execute() is slow on systems where getcwd() or chdir() is + slow. (Rick Howe) +Solution: Avoid using getcwd() and chdir() if no local directory is used and + 'acd' is not set. (closes #9504) +Files: src/evalwindow.c + +Patch 8.2.4061 +Problem: Codecov bash script is deprecated. +Solution: Use the codecov action. (Ozaki Kiichi, closes #9505) +Files: .github/workflows/ci.yml + +Patch 8.2.4062 +Problem: Match highlighting of tab too short. +Solution: Do not stop match highlighting if on a Tab. (Christian Brabandt, + closes #9507, closes #9500) +Files: src/drawline.c, src/testdir/test_match.vim, + src/testdir/dumps/Test_match_tab_linebreak.dump + +Patch 8.2.4063 +Problem: Vim9: exported function in autoload script not found. (Yegappan + Lakshmanan) +Solution: Use the autoload prefix to search for the function. +Files: src/userfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4064 +Problem: Foam files are not detected. +Solution: Detect the foam filetype by the path and file contents. (Mohammed + Elwardi Fadeli, closes #9501) +Files: runtime/filetype.vim, runtime/autoload/dist/ft.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4065 +Problem: Computation overflow with large count for :yank. +Solution: Avoid an overflow. +Files: src/ex_docmd.c, src/testdir/test_excmd.vim + +Patch 8.2.4066 +Problem: Vim9: imported autoload script loaded again. +Solution: Do not create a new imported_T every time. +Files: src/vim9script.c, src/vim9compile.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4067 +Problem: Vim9: cannot call imported function with :call. (Drew Vogel) +Solution: Translate the function name. (closes #9510) +Files: src/userfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4068 (after 8.2.4066) +Problem: Vim9: import test fails. +Solution: Add missing change. +Files: src/scriptfile.c + +Patch 8.2.4069 +Problem: Vim9: import test fails on MS-Windows. +Solution: Ignore case. Adjust test to avoid name that only differs in case. +Files: src/eval.c, src/scriptfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4070 +Problem: Using uninitialized memory when reading empty file. +Solution: Check for empty file before checking for NL. (Dominique Pellé, + closes #9511) +Files: src/filepath.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.4071 +Problem: Vim9: no detection of return in try/endtry. (Dominique Pellé) +Solution: Check if any of the blocks inside try/endtry did not end in + return. +Files: src/vim9.h, src/vim9compile.c, src/vim9cmds.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4072 +Problem: Vim9: compiling function fails when autoload script is not loaded + yet. +Solution: Depend on runtime loading. +Files: src/vim9expr.c, src/vim9script.c, src/vim9instr.c, + src/vim9execute.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4073 +Problem: Coverity warns for using NULL pointer. +Solution: Bail out when running out of memory. Check for running over end of + a string. +Files: src/userfunc.c, + +Patch 8.2.4074 +Problem: Going over the end of NameBuff. +Solution: Check length when appending a space. +Files: src/drawscreen.c, src/testdir/test_edit.vim + +Patch 8.2.4075 (after 8.2.4073) +Problem: Test failures. +Solution: Change check for NULL pointer. +Files: src/userfunc.c + +Patch 8.2.4076 +Problem: Memory leak in autoload import. +Solution: Do not overwrite the autoload prefix. +Files: src/vim9script.c + +Patch 8.2.4077 +Problem: Not all Libsensors files are recognized. +Solution: Add "sensors.d/*" pattern. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4078 +Problem: Terminal test for current directory not used on FreeBSD. +Solution: Make it work on FreeBSD. (Ozaki Kiichi, closes #9516) Add + TermWait() inside Run_shell_in_terminal() as a generic solution. +Files: src/testdir/test_terminal3.vim, src/testdir/term_util.vim, + src/testdir/test_terminal.vim, src/testdir/test_terminal2.vim, + src/testdir/test_mapping.vim + +Patch 8.2.4079 +Problem: MS-Windows: "gvim --version" didn't work when build with VIMDLL. +Solution: Adjust #ifdef. (Ken Takata, closes #9517) +Files: src/main.c + +Patch 8.2.4080 +Problem: Not sufficient test coverage for xxd. +Solution: Add a few more test cases. (Erki Auerswald, closes #9515) +Files: src/testdir/test_xxd.vim + +Patch 8.2.4081 +Problem: CodeQL reports problem in if_cscope causing it to fail. +Solution: Use execvp() instead of execl(). Merge the header file into the + source file. (Ozaki Kiichi, closes #9519) +Files: Filelist, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/Make_vms.mms, src/Makefile, src/if_cscope.c, src/if_cscope.h, + src/testdir/test_cscope.vim + +Patch 8.2.4082 +Problem: Check for autoload file name and prefix fails. (Christian J. + Robinson) +Solution: Only lower case the prefix on systems where the file name is not + case sensitive. +Files: src/scriptfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4083 +Problem: Vim9: no test for "vim9script autoload" and using script variable + in the same script. +Solution: Add a simple test. Fix uncovered problem. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4084 +Problem: Memory leak when looking for autoload prefixed variable. +Solution: Free the concatenated string. +Files: src/evalvars.c + +Patch 8.2.4085 +Problem: Vim9: no test for using import in legacy script. +Solution: Add a test. +Files: src/testdir/test_vim9_import.vim + +Patch 8.2.4086 +Problem: "cctx" argument of find_func_even_dead() is unused. +Solution: Remove the argument. +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim9compile.c, + src/vim9instr.c, src/evalfunc.c, src/evalvars.c, src/testing.c, + src/vim9execute.c, src/vim9expr.c, src/vim9script.c, + src/vim9type.c + +Patch 8.2.4087 +Problem: Cannot test items from an autoload script easily. +Solution: Add the "autoload" value for test_override(). +Files: runtime/doc/testing.txt, src/testing.c, src/globals.h, + src/vim9script.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4088 +Problem: Xxd cannot output everything in one line. +Solution: Make zero columns mean infinite columns. (Erik Auerswald, + closes #9524) +Files: runtime/doc/xxd.1, runtime/doc/xxd.man, src/testdir/test_xxd.vim, + src/xxd/xxd.c + +Patch 8.2.4089 (after 8.2.4078) +Problem: Terminal test for current directory fails on FreeBSD. +Solution: Skip the test. +Files: src/testdir/test_terminal3.vim + +Patch 8.2.4090 +Problem: After restoring a session buffer order can be quite different. +Solution: Create buffers first. (Evgeni Chasnovski, closes #9520) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.4091 +Problem: Virtcol is recomputed for statusline unnecessarily. +Solution: Just use "w_virtcol". (closes #9523) +Files: src/buffer.c, src/testdir/test_statusline.vim + +Patch 8.2.4092 +Problem: macOS CI: unnecessarily doing "Install packages". +Solution: Only do "Install packages" for huge build. (Ozaki Kiichi, + closes #9521) +Files: .github/workflows/ci.yml + +Patch 8.2.4093 +Problem: Cached breakindent values not initialized properly. +Solution: Initialize and cache formatlistpat. (Christian Brabandt, + closes #9526, closes #9512) +Files: runtime/doc/options.txt, src/indent.c, src/option.c, + src/proto/option.pro, src/testdir/test_breakindent.vim + +Patch 8.2.4094 +Problem: 'virtualedit' is window-local but using buffer-local enum. +Solution: Use window-local enum. (closes #9529) +Files: src/option.h, src/optiondefs.h + +Patch 8.2.4095 +Problem: Sed script not recognized by the first line. +Solution: Recognize a sed script starting with "#n". (Doug Kearns) +Files: runtime/scripts.vim, src/testdir/test_filetype.vim + +Patch 8.2.4096 +Problem: Linux CI: unnecessarily installing packages +Solution: Only install packages for huge build. (Ozaki Kiichi, + closes #9530) +Files: .github/workflows/ci.yml + +Patch 8.2.4097 +Problem: Wrong number in error message on 32 bit system. (John Paul Adrian + Glaubitz) +Solution: Add type cast. (closes #9527) +Files: src/vim9compile.c + +Patch 8.2.4098 +Problem: Typing "interrupt" at debug prompt may keep exception around, + causing function calls to fail. +Solution: Discard any exception at the toplevel. (closes #9532) +Files: src/main.c + +Patch 8.2.4099 +Problem: Vim9: cannot use Vim9 syntax in mapping. +Solution: Add <ScriptCmd> to use the script context for a command. +Files: runtime/doc/map.txt, src/normal.c, src/getchar.c, + src/proto/getchar.pro, src/ex_getln.c, src/edit.c, src/terminal.c, + src/keymap.h, src/insexpand.c, src/misc2.c, src/ops.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4100 +Problem: Early return when getting the 'formatlistpat' value. +Solution: Remove the first line. (Christian Brabandt) +Files: src/option.c, src/testdir/test_breakindent.vim + +Patch 8.2.4101 +Problem: Warning for unused argument in tiny version. +Solution: Add "UNUSED". +Files: src/getchar.c + +Patch 8.2.4102 +Problem: Vim9: import cannot be used after method. +Solution: Recognize an imported function name. (closes #9496) +Files: src/eval.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4103 +Problem: Vim9: variable declared in for loop not initialized. +Solution: Always initialize the variable. (closes #9535) +Files: src/vim9instr.c, src/proto/vim9instr.pro, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4104 +Problem: Vim9: lower casing the autoload prefix causes problems. +Solution: Always store the prefix with case preserved. +Files: src/scriptfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4105 +Problem: Translation related comment in the wrong place. +Solution: Move it back with the text. (Ken Takata, closes #9537) +Files: src/errors.h, src/ex_docmd.c + +Patch 8.2.4106 +Problem: Going over the end of the w_lines array. +Solution: Break out of the loop when "idx" is too big. (issue #9540) +Files: src/drawscreen.c + +Patch 8.2.4107 +Problem: Script context not restored after using <ScriptCmd>. +Solution: Also restore context when not in a script. (closes #9536) + Add the 'c' flag to feedkeys() to be able to test this. +Files: runtime/doc/builtin.txt, src/getchar.c, src/evalfunc.c, + src/testdir/test_mapping.vim + +Patch 8.2.4108 +Problem: Going over the end of the w_lines array. +Solution: Check not going over the end and limit to Rows. (issue #9540) +Files: src/drawscreen.c + +Patch 8.2.4109 +Problem: MS-Windows: high dpi support is outdated. +Solution: Improve High DPI support by using PerMonitorV2. (Ken Takata + closes #9525, closes #3102) +Files: src/gui.c, src/gui.h, src/gui_w32.c, src/vim.manifest + +Patch 8.2.4110 +Problem: Coverity warns for using NULL pointer. +Solution: Check "evalarg" is not NULL. Skip errors when "verbose" is false. +Files: src/eval.c + +Patch 8.2.4111 +Problem: Potential problem when map is deleted while executing. +Solution: Reset last used map pointer when deleting a mapping. +Files: src/map.c + +Patch 8.2.4112 +Problem: Function not deleted at end of test. +Solution: Delete the function. +Files: src/testdir/test_diffmode.vim + +Patch 8.2.4113 +Problem: Typo on DOCMD_RANGEOK results in not recognizing command. +Solution: Correct the typo. (closes #9539) +Files: src/vim.h, src/testdir/test_mapping.vim + +Patch 8.2.4114 +Problem: Vim9: type checking for a funcref does not work for when it is + used in a method. +Solution: Pass the base to where the type is checked. +Files: src/vim9type.c, src/proto/vim9type.pro, src/userfunc.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.4115 +Problem: Cannot use a method with a complex expression. +Solution: Evaluate the expression after "->" and use the result. +Files: src/eval.c, src/errors.h, src/testdir/test_vim9_expr.vim + +Patch 8.2.4116 +Problem: Vim9: cannot use a method with a complex expression in a :def + function. +Solution: Implement compiling the expression. +Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4117 +Problem: Vim9: wrong white space error after using imported item. +Solution: Don't skip over white space. (closes #9544) +Files: src/eval.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4118 +Problem: Using UNUSED for argument that is used. +Solution: Remove UNUSED. +Files: src/usercmd.c + +Patch 8.2.4119 +Problem: Build failure when disabling the channel feature. +Solution: Adjust #ifdef. (Dominique Pellé, closes #9545) +Files: src/misc2.c + +Patch 8.2.4120 +Problem: Block insert goes over the end of the line. +Solution: Handle invalid byte better. Fix inserting the wrong text. +Files: src/ops.c, src/testdir/test_visual.vim + +Patch 8.2.4121 +Problem: Visual test fails on MS-Windows. +Solution: Set 'isprint' so that the character used is not printable. +Files: src/testdir/test_visual.vim + +Patch 8.2.4122 +Problem: ":command Cmd" does not show custom completion argument. +Solution: Show the completion argument when using ":verbose". +Files: src/usercmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.4123 +Problem: Complete function cannot be import.Name. +Solution: Dereference the function name if needed. Also: do not see + "import.Name" as a builtin function. (closes #9541) +Files: src/userfunc.c, src/eval.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4124 +Problem: Vim9: method in compiled function may not see script item. +Solution: Make sure not to skip to the next line. (closes #9496) +Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4125 +Problem: Completion tests fail. +Solution: Disable error messages while dereferencing the function name. +Files: src/eval.c + +Patch 8.2.4126 +Problem: Crash on exit when built with dynamic Tcl and EXITFREE is defined. + (Dominique Pellé) +Solution: Only call Tcl_Finalize() when initialized. (closes #9546) +Files: src/if_tcl.c + +Patch 8.2.4127 +Problem: Build failure without the +eval feature. +Solution: Add #ifdef. +Files: src/usercmd.c + +Patch 8.2.4128 +Problem: Crash when method cannot be found. (Christian J. Robinson) +Solution: Don't mix up pointer names. +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4129 +Problem: Building with +sound but without +eval fails. (Dominique Pellé) +Solution: Disable canberra in tiny and small build. (closes #9548) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.4130 +Problem: MS-Windows: MSVC build may have libraries duplicated. +Solution: Improve the MSVC Makefile. (Ken Takata, closes #9547) +Files: src/Make_mvc.mak + +Patch 8.2.4131 +Problem: Vim9: calling function in autoload import does not work in a :def + function. +Solution: When a variable is not found and a PCALL follows use a funcref. + (closes #9550) +Files: src/vim9execute.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4132 +Problem: Vim9: wrong error message when autoload script can't be found. +Solution: Correct check for using autoload with wrong name. +Files: src/vim9script.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4133 +Problem: output of ":scriptnames" goes into the message history, while this + does not happen for other commands, such as ":ls". +Solution: Use msg_outtrans() instead of smsg(). (closes #9551) +Files: src/scriptfile.c, src/testdir/test_scriptnames.vim + +Patch 8.2.4134 +Problem: MS-Windows: test for import with absolute path fails. +Solution: Handle path starting with slash as an absolute path. +Files: src/vim9script.c + +Patch 8.2.4135 +Problem: Vim9: ":scriptnames" shows unloaded imported autoload script. +Solution: Mark the unloaded script with "A". (closes #9552) +Files: runtime/doc/repeat.txt, src/scriptfile.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4136 +Problem: Vim9: the "autoload" argument of ":vim9script" is not useful. +Solution: Remove the argument. (closes #9555) +Files: runtime/doc/vim9.txt, runtime/doc/repeat.txt, src/vim9script.c, + src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4137 +Problem: Vim9: calling import with and without method is inconsistent. +Solution: Set a flag that a parenthesis follows to compile_load_scriptvar(). + Add some more tests. Improve error message. +Files: src/vim9expr.c, src/vim9execute.c, src/vim9script.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4138 +Problem: Vim9: no error for return with argument when the function does not + return anything. +Solution: Give an error for the invalid argument. (issue #9497) +Files: src/vim9cmds.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4139 +Problem: Using freed memory if an expression abbreviation deletes the + abbreviation. +Solution: Do not access the pointer after evaluating the expression. +Files: src/map.c, src/testdir/test_mapping.vim + +Patch 8.2.4140 +Problem: maparg() does not indicate the type of script where it was defined. +Solution: Add "scriptversion". +Files: runtime/doc/builtin.txt, src/map.c, src/testdir/test_maparg.vim + +Patch 8.2.4141 (after 8.2.4140) +Problem: Vim9 builtin functions test fails. +Solution: Add "scriptversion" item to maparg() result. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.4142 +Problem: Build failure with normal features without persistent undo. +Solution: Adjust #ifdef. (closes #9557) +Files: src/fileio.c + +Patch 8.2.4143 +Problem: MS-Windows: IME support for Win9x is obsolete. +Solution: Remove the Win9x code. (Ken Takata, closes #9559) +Files: src/gui_w32.c + +Patch 8.2.4144 +Problem: Cannot load libsodium dynamically. +Solution: Support dynamic loading on MS-Windows. (Ken Takata, closes #9554) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak, src/buffer.c, + src/crypt.c, src/memline.c, src/proto/crypt.pro + +Patch 8.2.4145 +Problem: Confusing error when using name of import for a function. +Solution: Pass a flag to trans_function_name(). +Files: src/vim.h, src/userfunc.c, src/proto/userfunc.pro, src/eval.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4146 +Problem: Vim9: shadowed function can be used in compiled function but not + at script level. +Solution: Also give an error in a compiled function. (closes #9563) +Files: src/vim9expr.c + +Patch 8.2.4147 +Problem: E464 does not always include the offending command. +Solution: Add another error message with "%s". (closes #9564) +Files: src/errors.h, src/vim9compile.c, src/ex_docmd.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4148 +Problem: Deleting any mapping may cause <ScriptCmd> to not set the script + context. +Solution: Only reset last_used_map if it is the deleted mapping. + (closes #9568) +Files: src/map.c, src/getchar.c, src/proto/getchar.pro, + src/testdir/test_mapping.vim + +Patch 8.2.4149 +Problem: Test override not restored, autocommand left behind. +Solution: Correct restoring test override. Delete autocommand afterwards. +Files: src/testdir/test_autocmd.vim, src/testdir/test_mapping.vim + +Patch 8.2.4150 +Problem: Coverity warns for using pointer after free. +Solution: Swap statements, even though using the pointer is no problem. +Files: src/map.c + +Patch 8.2.4151 +Problem: Reading beyond the end of a line. +Solution: For block insert only use the offset for correcting the length. +Files: src/ops.c, src/testdir/test_visual.vim + +Patch 8.2.4152 +Problem: Block insert with double wide character fails. +Solution: Adjust the expected output. +Files: src/testdir/test_utf8.vim + +Patch 8.2.4153 +Problem: MS-Windows: Global IME is no longer supported. +Solution: Remove the Global IME implementation. (Ken Takata, closes #9562) +Files: Filelist, runtime/doc/mbyte.txt, src/Make_mvc.mak, src/dimm.idl, + src/glbl_ime.cpp, src/glbl_ime.h, src/gui_w32.c, src/vim.h + +Patch 8.2.4154 +Problem: ml_get error when exchanging windows in Visual mode. +Solution: Correct end of Visual area when entering another buffer. +Files: src/window.c, src/testdir/test_visual.vim + +Patch 8.2.4155 +Problem: Translating strftime() argument results in check error. +Solution: Add gettext comment. +Files: src/time.c + +Patch 8.2.4156 +Problem: Fileinfo message overwrites echo'ed message. +Solution: Reset need_fileinfo when displaying a message. (Rob Pilling, + closes #9569) +Files: src/message.c, src/testdir/test_messages.vim, + src/testdir/dumps/Test_fileinfo_after_echo.dump + +Patch 8.2.4157 +Problem: Terminal test fails because Windows sets the title. +Solution: Add the "vterm_title" testing override and use it in the test. + (Ozaki Kiichi, closes #9556) +Files: runtime/doc/testing.txt, src/globals.h, src/terminal.c, + src/testing.c, src/testdir/test_terminal.vim + +Patch 8.2.4158 +Problem: MS-Windows: memory leak in :browse. +Solution: Free stuff before returning. (Ken Takata, closes #9574) +Files: src/gui_w32.c + +Patch 8.2.4159 +Problem: MS-Windows: _WndProc() is very long. +Solution: Move code to separate functions. (Ken Takata, closes #9573) +Files: src/gui_w32.c + +Patch 8.2.4160 +Problem: Cannot change the register used for Select mode delete. +Solution: Make CTRL-R set the register to be used when deleting text for + Select mode. (Shougo Matsushita, closes #9531) +Files: runtime/doc/visual.txt, src/globals.h, src/normal.c, src/ops.c, + src/testdir/test_selectmode.vim + +Patch 8.2.4161 +Problem: Vim9: warning for missing white space after imported variable. +Solution: Do not skip white space. (closes #9567) +Files: src/vim9expr.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4162 +Problem: Vim9: no error for redefining function with export. +Solution: Check for existing function with/without prefix. (closes #9577) +Files: src/userfunc.c, src/scriptfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4163 +Problem: No error for omitting function name after autoload prefix. +Solution: Check for missing function name. (issue #9577) +Files: src/userfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4164 (after 8.2.4162) +Problem: Error in legacy code for function shadowing variable. +Solution: Only give the error in Vim9 script. +Files: src/userfunc.c + +Patch 8.2.4165 +Problem: The nv_g_cmd() function is too long. +Solution: Move code to separate functions. (Yegappan Lakshmanan, + closes #9576) +Files: src/normal.c + +Patch 8.2.4166 +Problem: Undo synced when switching buffer in another window. +Solution: Do not sync undo when not needed. (closes #9575) +Files: src/buffer.c, src/testdir/test_timers.vim + +Patch 8.2.4167 +Problem: Vim9: error message for old style import. +Solution: Use another error message. Add a test. +Files: src/evalvars.c, src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4168 (after 8.2.4163) +Problem: Disallowing empty function name breaks existing plugins. +Solution: Allow empty function name in legacy script. +Files: src/userfunc.c, src/testdir/test_autoload.vim, + src/testdir/sautest/autoload/foo.vim + +Patch 8.2.4169 +Problem: MS-Windows: unnecessary casts and other minor things. +Solution: Clean up the MS-Windows code. (Ken Takata, closes #9583) +Files: src/gui_w32.c + +Patch 8.2.4170 +Problem: MS-Windows: still using old message API calls. +Solution: Call the "W" functions directly. (Ken Takata, closes #9582) +Files: src/gui_w32.c, src/os_mswin.c, src/os_win32.c, src/os_win32.h + +Patch 8.2.4171 +Problem: Cannot invoke option function using autoload import. +Solution: Expand the import to an autoload function name. (closes #9578) +Files: src/userfunc.c, src/evalvars.c, src/proto/evalvars.pro, + src/option.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4172 +Problem: Filetype detection for BASIC is not optimal. +Solution: Improve BASIC filetype detection. (Doug Kearns) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4173 +Problem: Cannot use an import in 'foldexpr'. +Solution: Set the script context to where 'foldexpr' was set. (closes #9584) + Fix that the script context was not set for all buffers. +Files: src/eval.c, src/proto/eval.pro, src/fold.c, src/structs.h, + src/option.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4174 +Problem: Vim9: can use an autoload name in normal script. +Solution: Disallow using an autoload name. +Files: src/userfunc.c, src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4175 +Problem: MS-Windows: runtime check for multi-line balloon is obsolete. +Solution: Remove the obsolete code. (Ken Takata, closes #9592) +Files: src/evalfunc.c, src/gui_w32.c, src/proto/gui_w32.pro + +Patch 8.2.4176 +Problem: Vim9: cannot use imported function with call(). +Solution: Translate the function name. (closes #9590) +Files: src/evalfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4177 +Problem: Vim9: autoload script not loaded after "vim9script noclear". +Solution: Check IMP_FLAGS_AUTOLOAD properly. (closes #9593) +Files: src/vim9compile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4178 +Problem: Vim9: invalid error for return type of lambda when debugging. +Solution: Do not check the return type of a lambda. (closes #9589) +Files: src/vim9cmds.c + +Patch 8.2.4179 +Problem: 'foldtext' is evaluated in the current script context. +Solution: Use the script context where the option was set. +Files: src/fold.c, src/buffer.c, src/eval.c, src/proto/eval.pro, + src/findfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4180 +Problem: 'balloonexpr' is evaluated in the current script context. +Solution: Use the script context where the option was set. +Files: src/beval.c, src/option.c, src/proto/option.pro, + src/testdir/test_balloon.vim, + src/testdir/dumps/Test_balloon_eval_term_01.dump, + src/testdir/dumps/Test_balloon_eval_term_01a.dump, + src/testdir/dumps/Test_balloon_eval_term_02.dump + +Patch 8.2.4181 +Problem: Vim9: cannot use an import in 'diffexpr'. +Solution: Set the script context when evaluating 'diffexpr'. Do not require + 'diffexpr' to return a bool, it was ignored anyway. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4182 (after 8.2.4182) +Problem: Memory leak when evaluating 'diffexpr'. +Solution: Use free_tv() instead of clear_tv(). +Files: src/evalvars.c + +Patch 8.2.4183 +Problem: Cannot use an import in 'formatexpr'. +Solution: Set the script context when evaluating 'formatexpr'. +Files: src/textformat.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4184 +Problem: Cannot use an import in 'includeexpr'. +Solution: Set the script context when evaluating 'includeexpr' +Files: src/findfile.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4185 +Problem: Cannot use an import in 'indentexpr'. +Solution: Set the script context when evaluating 'indentexpr' +Files: src/indent.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4186 +Problem: Cannot use an import in 'patchexpr'. +Solution: Set the script context when evaluating 'patchexpr'. Do not + require 'patchexpr' to return a bool, it was ignored anyway. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4187 +Problem: Gnuplot file not recognized. +Solution: Recognize ".gnuplot". (closes #9588) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4188 +Problem: Not all gitconfig files are recognized. +Solution: Add a few more patterns. (Tim Pope, closes #9597) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4189 +Problem: MS-Windows: code for "old look" is obsolete. +Solution: Delete obsolete code. Use "MS Shell Dlg" font. (Ken Takata, + closes #9596) +Files: src/gui_w32.c + +Patch 8.2.4190 +Problem: All conceal tests are skipped without the screendumps feature. +Solution: Only skip the tests that use screendumps. (closes #9599) +Files: src/testdir/test_conceal.vim + +Patch 8.2.4191 +Problem: json5 files are not recognized. +Solution: Add a pattern for json5 files. (closes #9601) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4192 +Problem: Cannot use an import in 'printexpr'. +Solution: Set the script context when evaluating 'printexpr'. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4193 +Problem: Cannot use an import in 'charconvert'. +Solution: Set the script context when evaluating 'charconvert'. Also expand + script-local functions in 'charconvert'. +Files: src/evalvars.c, src/optionstr.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4194 +Problem: MS-Windows: code for calculating font size is duplicated. +Solution: Move the code to a function. (Ken Takata, closes #9603) +Files: src/gui_w32.c + +Patch 8.2.4195 +Problem: Resizing terminal may cause to behave like CTRL-Z. +Solution: Set "got_tstp" only when in_mch_suspend is set. (Dorian Bivolaru, + closes #9602, closes #9586) +Files: src/os_unix.c + +Patch 8.2.4196 +Problem: Various file types not recognized. +Solution: Add patterns to recognize more file types (closes #9607) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4197 +Problem: Cannot use an import in the "expr" part of 'spellsuggest'. +Solution: Set the script context when evaluating "expr" of 'spellsuggest'. +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4198 +Problem: Vim9: the switch for executing instructions is too long. +Solution: Move some code to separate functions. +Files: src/vim9execute.c + +Patch 8.2.4199 +Problem: MS-Windows: Support for MSVC before 2003 is not useful. +Solution: Remove the exceptions for MSVC 6.0. (Ken Takata, closes #9616) +Files: src/GvimExt/gvimext.h, src/ex_docmd.c, src/feature.h, + src/gui_w32.c, src/if_cscope.c, src/if_ole.cpp, src/if_ruby.c, + src/macros.h, src/os_mswin.c, src/os_win32.c, src/os_win32.h, + src/proto/os_win32.pro, src/time.c, src/vim.h + +Patch 8.2.4200 +Problem: Some tests do not clean up properly. +Solution: Delete created files. (Yegappan Lakshmanan, closes #9611) +Files: src/testdir/test_filetype.vim, src/testdir/test_messages.vim, + src/testdir/test_vim9_import.vim + +Patch 8.2.4201 +Problem: When using the GUI CTRL-Z does not stop gvim. +Solution: When using the GUI set SIGTSTP to SIG_DFL. (Andrew Maltsev, + closes #9570) +Files: src/os_unix.c + +Patch 8.2.4202 +Problem: Vim9: cannot export function that exists globally. +Solution: When checking if a function already exists only check for + script-local functions. (closes #9615) +Files: src/userfunc.c, src/proto/userfunc.pro, src/vim.h, + src/vim9compile.c, src/vim9instr.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4203 +Problem: Entering a character with CTRL-V may include modifiers. +Solution: Reset "mod_mask" when entering a character with digits after + CTRL-V. (closes #9610) +Files: src/edit.c, src/testdir/test_edit.vim + +Patch 8.2.4204 +Problem: screenpos() has non-zero row for invisible text. +Solution: Only add the window row when the text is visible. (closes #9618) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.2.4205 +Problem: The normal_cmd() function is too long. +Solution: Move parts to separate functions. (Yegappan Lakshmanan, + closes #9608) +Files: src/normal.c + +Patch 8.2.4206 +Problem: Condition with many "(" causes a crash. +Solution: Limit recursion to 1000. +Files: src/errors.h, src/eval.c, src/testdir/test_eval_stuff.vim + +Patch 8.2.4207 (after 8.2.4206) +Problem: Recursion test fails with MSVC. +Solution: Use a smaller limit for MSVC. +Files: src/eval.c + +Patch 8.2.4208 +Problem: Using setbufvar() may change the window title. +Solution: Do not redraw when creating the autocommand window. (closes #9613) +Files: src/autocmd.c, src/testdir/test_functions.vim + +Patch 8.2.4209 +Problem: partial in 'opfunc' cannot use an imported function. +Solution: Also expand the function name in a partial. (closes #9614) +Files: src/evalvars.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4210 (after 8.2.4208) +Problem: Window title test fails in some configurations. +Solution: Only run the test if the title can be obtained. +Files: src/testdir/test_functions.vim + +Patch 8.2.4211 (after 8.2.4208) +Problem: Window title test still fails in some configurations. +Solution: Use WaitForAssert(). +Files: src/testdir/test_functions.vim + +Patch 8.2.4212 (after 8.2.4208) +Problem: Window title test still fails in some configurations. +Solution: Explicitly set the 'title' option. +Files: src/testdir/test_functions.vim + +Patch 8.2.4213 +Problem: Too much code for supporting old MSVC versions. +Solution: Remove MSVC 2003 support. (Ken Takata, closes #9623) +Files: Filelist, src/INSTALLpc.txt, src/Make_mvc.mak, src/gui_w32.c, + src/msvcsetup.bat, src/os_win32.c + +Patch 8.2.4214 +Problem: Illegal memory access with large 'tabstop' in Ex mode. +Solution: Allocate enough memory. +Files: src/ex_getln.c, src/testdir/test_ex_mode.vim + +Patch 8.2.4215 +Problem: Illegal memory access when copying lines in Visual mode. +Solution: Adjust the Visual position after copying lines. +Files: src/ex_cmds.c, src/testdir/test_visual.vim + +Patch 8.2.4216 +Problem: Vim9: cannot use a function from an autoload import directly. +Solution: Add the AUTOLOAD instruction to figure out at runtime. + (closes #9620) +Files: src/vim9expr.c, src/vim9.h, src/vim9execute.c, src/vim9instr.c, + src/proto/vim9instr.pro, src/testdir/test_vim9_import.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4217 +Problem: Illegal memory access when undo makes Visual area invalid. +Solution: Correct the Visual area after undo. +Files: src/undo.c, src/testdir/test_visual.vim + +Patch 8.2.4218 +Problem: Illegal memory access with bracketed paste in Ex mode. +Solution: Reserve space for the trailing NUL. +Files: src/edit.c, src/testdir/test_paste.vim + +Patch 8.2.4219 +Problem: Reading before the start of the line. +Solution: Check boundary before trying to read the character. +Files: src/register.c, src/testdir/test_visual.vim + +Patch 8.2.4220 +Problem: MS-Windows: some old compiler support remains. +Solution: Remove obsolete compiler support. (Ken Takata, closes #9627) +Files: src/Make_mvc.mak, src/vim.h + +Patch 8.2.4221 +Problem: Some functions in normal.c are very long. +Solution: Move code to separate functions. (Yegappan Lakshmanan, + closes #9628) +Files: src/normal.c + +Patch 8.2.4222 +Problem: MS-Windows: clumsy way to suppress progress on CI. +Solution: Check for "$CI" in the Makefile itself. (Ken Takata, closes #9631) +Files: .github/workflows/ci.yml, ci/appveyor.bat, src/Make_mvc.mak + +Patch 8.2.4223 +Problem: Long/int compiler warnings; function arguments swapped. +Solution: Add type casts. Swap arguments. (Ken Takata, closes #9632) +Files: src/alloc.c, src/eval.c, src/vim9script.c + +Patch 8.2.4224 +Problem: Vim9: no error when using a number for map() second argument +Solution: Disallow number to string conversion. (closes #9630) +Files: src/eval.c, src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4225 +Problem: Vim9: depth argument of :lockvar not parsed in :def function. +Solution: Parse the optional depth argument. (closes #9629) + Fix that locking doesn't work for a non-materialize list. +Files: src/vim9cmds.c, src/evalvars.c, src/structs.h, src/evalfunc.c, + src/errors.h, src/vim9execute.c, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4226 (after 8.2.4224) +Problem: Filter-map test fails. +Solution: Only reject number argument in Vim9 script. +Files: src/eval.c + +Patch 8.2.4227 +Problem: Vim9: using "lockvar!" in :def function does not work. +Solution: Add "!" instead of "-1". (closes #9634) +Files: src/vim9cmds.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4228 +Problem: No tests for clicking in the GUI tabline. +Solution: Add test functions to generate the events. Add tests using the + functions. (Yegappan Lakshmanan, closes #9638) +Files: runtime/doc/builtin.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/normal.c, + src/proto/testing.pro, src/testdir/test_diffmode.vim, + src/testdir/test_gui.vim, src/testdir/test_normal.vim, + src/testing.c + +Patch 8.2.4229 +Problem: Possible crash when invoking timer callback fails. +Solution: Initialize the typval. Give an error for an empty callback. + (closes #9636) +Files: src/time.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4230 +Problem: MS-Windows: set_guifontwide() is included but won't work. +Solution: Include set_guifontwide() only for X11. (Ken Takata, closes #9640) +Files: src/gui.c + +Patch 8.2.4231 +Problem: Vim9: map() gives type error when type was not declared. +Solution: Only check the type when it was declared, like extend() does. + (closes #9635) +Files: src/list.c, src/evalfunc.c, src/vim9instr.c, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4232 (after 8.2.4231) +Problem: Some compilers don't like a goto label without statement. +Solution: Return instead of using a goto. +Files: src/list.c + +Patch 8.2.4233 +Problem: Crash when recording and using Select mode. +Solution: When deleting the last recorded character check there is something + to delete. +Files: src/getchar.c, src/testdir/test_registers.vim + +Patch 8.2.4234 +Problem: test_garbagecollect_now() does not check v:testing as documented. +Solution: Give an error if v:testing is not set. +Files: src/testing.c, src/errors.h, src/testdir/test_functions.vim + +Patch 8.2.4235 +Problem: Invalid check for NULL pointer. +Solution: Remove the check. +Files: src/getchar.c + +Patch 8.2.4236 +Problem: Accessing freed memory. +Solution: Set the bh_curr pointer to NULL. +Files: src/getchar.c + +Patch 8.2.4237 +Problem: Record buffer wrong if character in Select mode was not typed. +Solution: Only delete the tail from the record buffer if the character was + typed. (closes #9650) +Files: src/normal.c, src/testdir/test_registers.vim + +Patch 8.2.4238 +Problem: *.tf file could be filetype "tf" or "terraform". +Solution: Detect the type from the file contents. (closes #9642) +Files: runtime/filetype.vim, runtime/autoload/dist/ft.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4239 +Problem: Build fails with unusual configuration. +Solution: Adjust #ifdef. (closes #9651) +Files: src/testing.c + +Patch 8.2.4240 +Problem: Error for using flatten() in Vim9 script is unclear. +Solution: Add a remark to use flattennew(). +Files: src/errors.h + +Patch 8.2.4241 +Problem: Some type casts are redundant. +Solution: Remove the type casts. (closes #9643) +Files: src/blob.c, src/buffer.c, src/channel.c, src/clientserver.c, + src/clipboard.c, src/drawline.c, src/drawscreen.c, src/edit.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_eval.c, + src/fold.c, src/if_cscope.c, src/json.c, src/match.c, + src/memline.c, src/message.c, src/misc1.c, src/normal.c, + src/ops.c, src/option.c, src/optionstr.c, src/os_unix.c, + src/register.c, src/sign.c, src/spellfile.c, src/tag.c, src/ui.c, + src/undo.c, src/window.c + +Patch 8.2.4242 +Problem: Put in Visual mode cannot be repeated. +Solution: Use "P" to put without yanking the deleted text into the unnamed + register. (Shougo Matsushita, closes #9591) +Files: runtime/doc/visual.txt, src/normal.c, src/register.c, + src/testdir/test_visual.vim + +Patch 8.2.4243 +Problem: Lua tests fail with Lua 5.4.4. +Solution: Check messages like before Lua 5.4.3. (Jakub Kulík, closes #9652) +Files: src/testdir/test_lua.vim + +Patch 8.2.4244 +Problem: MS-Windows: warning from MSVC on debug build. +Solution: Adjust "/opt" options. Remove unused variables. Make variables + uppercase for consistency. (Ken Takata, closes #9647) +Files: src/Make_mvc.mak + +Patch 8.2.4245 +Problem: ":retab 0" may cause illegal memory access. +Solution: Limit the value of 'tabstop' to 10000. +Files: src/option.c, src/vim.h, src/indent.c, + src/testdir/test_options.vim + +Patch 8.2.4246 +Problem: One error message not in errors.h. (Antonio Colombo) +Solution: Move the message and rename. +Files: src/errors.h, src/if_perl.xs + +Patch 8.2.4247 +Problem: Stack corruption when looking for spell suggestions. +Solution: Prevent the depth increased too much. Add a five second time + limit to finding suggestions. +Files: src/spellsuggest.c, src/testdir/test_spell.vim + +Patch 8.2.4248 +Problem: No proper test for moving the window separator. +Solution: Add a test. Add comment in code. (closes #9656) +Files: src/window.c, src/testdir/test_window_cmd.vim + +Patch 8.2.4249 +Problem: The timeout limit for spell suggestions is always 5000 milli + seconds. +Solution: Add the "timeout" entry to 'spellsuggest'. +Files: runtime/doc/options.txt, src/spellsuggest.c, + src/testdir/test_spell.vim + +Patch 8.2.4250 +Problem: Channel out callback test is flaky on Mac. +Solution: Assign high priority to the test process. (Ozaki Kiichi, + closes #9653) +Files: src/testdir/test_channel_pipe.py, src/testdir/thread_util.py + +Patch 8.2.4251 +Problem: Vala files are not recognized. +Solution: Add the *.vala pattern. (closes #9654) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4252 +Problem: Generating the normal command table at runtime is inefficient. +Solution: Generate the table with a Vim script and put it in a header file. + (Yegappan Lakshmanan, closes #9648) +Files: Filelist, runtime/doc/builtin.txt, runtime/doc/usr_41.txt, + src/Make_cyg_ming.mak, src/Make_mvc.mak, src/Make_vms.mms, + src/Makefile, src/create_nvcmdidxs.vim, src/evalfunc.c, + src/main.c, src/normal.c, src/nv_cmdidxs.h, src/proto/normal.pro + +Patch 8.2.4253 +Problem: Using freed memory when substitute uses a recursive function call. +Solution: Make a copy of the substitute text. +Files: src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.2.4254 +Problem: Using short instead of int. +Solution: Use int. (closes #9658) +Files: src/if_cscope.c + +Patch 8.2.4255 +Problem: Theoretical computation overflow. +Solution: Perform multiplication in a wider type. (closes #9657) +Files: src/alloc.c, src/drawline.c, src/eval.c, src/evalfunc.c, + src/ex_docmd.c, src/hardcopy.c, src/list.c, src/memfile.c, + src/memline.c, src/popupwin.c + +Patch 8.2.4256 +Problem: MS-Windows: compiler warnings when compiled with /W4. +Solution: Small adjustments to the code. (Ken Takata, closes #9659) +Files: src/gui_w32.c, src/os_win32.c + +Patch 8.2.4257 +Problem: Vim9: finding global function without g: prefix but not finding + global variable is inconsistent. +Solution: Require using g: for a global function. Change the vim9.vim + script into a Vim9 script with exports. Fix that import in legacy + script does not work. +Files: src/vim9expr.c, src/evalfunc.c, src/eval.c, src/userfunc.c, + src/testdir/vim9.vim, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_import.vim, + src/testdir/test_vim9_script.vim, src/testdir/test_blob.vim, + src/testdir/test_execute_func.vim, src/testdir/test_debugger.vim, + src/testdir/test_expr.vim, src/testdir/test_filter_map.vim, + src/testdir/test_float_func.vim, src/testdir/test_functions.vim, + src/testdir/test_glob2regpat.vim, src/testdir/test_highlight.vim, + src/testdir/test_iminsert.vim, src/testdir/test_ins_complete.vim, + src/testdir/test_listdict.vim, src/testdir/test_mapping.vim, + src/testdir/test_normal.vim, src/testdir/test_popupwin.vim, + src/testdir/test_profile.vim, src/testdir/test_quickfix.vim, + src/testdir/test_tagfunc.vim, src/testdir/test_textprop.vim, + src/testdir/test_usercommands.vim + +Patch 8.2.4258 +Problem: Coverity warns for array overrun. +Solution: Restrict depth to MAXWLEN - 1. +Files: src/spellsuggest.c + +Patch 8.2.4259 +Problem: Number of test functions for GUI events is growing. +Solution: Use one function with a dictionary. (Yegappan Lakshmanan, + closes #9660) +Files: runtime/doc/builtin.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/proto/testing.pro, + src/testdir/test_gui.vim, src/testdir/test_vim9_builtin.vim, + src/testing.c + +Patch 8.2.4260 +Problem: Vim9: can still use a global function without g: at the script + level. +Solution: Also check for g: at the script level. (issue #9637) +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalvars.c, + src/vim9expr.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_import.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_11.dump, + src/testdir/dumps/Test_popupwin_scroll_12.dump + +Patch 8.2.4261 +Problem: Accessing invalid memory when a regular expression checks the + Visual area while matching in a string. +Solution: Do not try matching the Visual area in a string. +Files: src/regexp.c, src/testdir/test_help.vim + +Patch 8.2.4262 (after 8.2.4261) +Problem: Some search tests fail. +Solution: Use a better way to reject searching for the Visual area. +Files: src/regexp.c + +Patch 8.2.4263 +Problem: No test for the GUI find/replace dialog. +Solution: Add a test function and a test. (Yegappan Lakshmanan, + closes #9662) +Files: runtime/doc/testing.txt, src/testdir/test_gui.vim, src/testing.c + +Patch 8.2.4264 +Problem: Vim9: can use old style autoload function name. +Solution: Give an error for old style autoload function name. +Files: src/errors.h, src/userfunc.c, src/testdir/test_vim9_import.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.4265 (after 8.2.4264) +Problem: Autoload tests fails. +Solution: Use export instead of name with #. +Files: src/testdir/sautest/autoload/auto9.vim, + src/testdir/test_autoload.vim, src/testdir/test_ins_complete.vim + +Patch 8.2.4266 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize saved_did_emsg. +Files: src/userfunc.c + +Patch 8.2.4267 +Problem: Unused entry in keymap enum. +Solution: Remove the entry. +Files: src/keymap.h + +Patch 8.2.4268 +Problem: CI log output is long. +Solution: Group output in sections. (Ozaki Kiichi, closes #9670) +Files: .github/workflows/ci.yml + +Patch 8.2.4269 +Problem: Coverity warns for using a NULL pointer. +Solution: Check for "name" to not be NULL. +Files: src/userfunc.c + +Patch 8.2.4270 +Problem: Generating nv_cmdidxs.h requires building Vim twice. +Solution: Move the table into a separate file and use a separate executable + to extract the command characters. (Ozaki Kiichi, closes #9669) +Files: src/normal.c, src/nv_cmds.h, Filelist, runtime/doc/builtin.txt, + runtime/doc/usr_41.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/Make_vms.mms, src/Makefile, src/create_nvcmdidxs.c, + src/create_nvcmdidxs.vim, src/evalfunc.c, src/proto/normal.pro + +Patch 8.2.4271 +Problem: MS-Windows: cannot build with Ruby 3.1.0. +Solution: Adjust the DLL name and include directory. (Ken Takata, + closes #9666) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.2.4272 +Problem: Vim9 expr test fails without the channel feature. (Dominique + Pellé) +Solution: Remove "g:" before "CheckFeature". (closes #9671) +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.4273 +Problem: The EBCDIC support is outdated. +Solution: Remove the EBCDIC support. +Files: src/ascii.h, src/charset.c, src/cindent.c, src/digraph.c, + src/edit.c, src/eval.c, src/evalfunc.c, src/ex_cmds.c, + src/feature.h, src/filepath.c, src/findfile.c, src/getchar.c, + src/gui.c, src/gui_motif.c, src/hardcopy.c, src/help.c, + src/macros.h, src/map.c, src/mark.c, src/misc2.c, src/normal.c, + src/ops.c, src/option.c, src/option.h, src/optiondefs.h, + src/os_unix.c, src/proto/evalfunc.pro, src/regexp.c, + src/regexp_bt.c, src/regexp_nfa.c, src/register.c, src/screen.c, + src/spell.c, src/strings.c, src/structs.h, src/term.c, + src/version.c, src/viminfo.c, src/testdir/test_edit.vim, + src/testdir/test_exec_while_if.vim, src/testdir/test_expr.vim, + src/testdir/test_gf.vim, src/testdir/test_regexp_utf8.vim + +Patch 8.2.4274 +Problem: Basic and form filetype detection is incomplete. +Solution: Add a separate function for .frm files. (Doug Kearns, closes #9675) +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4275 +Problem: Cannot use an autoload function from a package under start. +Solution: Also look in the "start" package directory. (Bjorn Linse, + closes #7193) +Files: src/scriptfile.c, src/testdir/test_packadd.vim + +Patch 8.2.4276 +Problem: Separate test function for the GUI scrollbar. +Solution: Use test_gui_event(). (Yegappan Lakshmanan, closes #9674) +Files: runtime/doc/builtin.txt, runtime/doc/testing.txt, + runtime/doc/usr_41.txt, src/evalfunc.c, src/testing.c, + src/proto/testing.pro, src/testdir/test_gui.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4277 +Problem: Vim9: an import does not shadow a command modifier. +Solution: Do not accept a command modifier followed by a dot. +Files: src/ex_docmd.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4278 +Problem: Build with Athena GUI fails. (Elimar Riesebieter) +Solution: Add #ifdef. +Files: src/testing.c + +Patch 8.2.4279 +Problem: Vim9: cannot change item type with map() after range(). +Solution: Split the return type in current type and declared type. + (closes #9665) +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9instr.c, + src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4280 (after 8.2.4279) +Problem: list-dict test crashes. +Solution: Check declared type for add(). +Files: src/vim9expr.vim + +Patch 8.2.4281 +Problem: Using freed memory with :lopen and :bwipe. +Solution: Do not use a wiped out buffer. +Files: src/buffer.c, src/testdir/test_quickfix.vim + +Patch 8.2.4282 +Problem: Restricted mode requires the -Z command line option. +Solution: Use restricted mode when $SHELL ends in "nologin" or "false". + (closes #9681) +Files: runtime/doc/starting.txt, src/option.c, + src/testdir/test_restricted.vim + +Patch 8.2.4283 +Problem: Using a variable for the return value is not needed. +Solution: Return the value directly. (closes #9687) +Files: src/ex_docmd.c, src/misc2.c + +Patch 8.2.4284 +Problem: Old mac resources files are no longer used. +Solution: Delete the unused files. (Ozaki Kiichi, closes #9688) +Files: Filelist, src/Makefile, src/dehqx.py, src/infplist.xml, + src/os_mac.rsr.hqx, src/os_mac_rsrc/app.icns, + src/os_mac_rsrc/doc-txt.icns, src/os_mac_rsrc/doc.icns + +Patch 8.2.4285 +Problem: Vim9: type of item in for loop not checked properly. +Solution: Adjust the type checking. (closes #9683) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9cmds.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4286 +Problem: Vim9: strict type checking after copy() and deepcopy(). +Solution: Allow type to change after making a copy. (closes #9644) +Files: src/eval.c, src/proto/eval.pro, src/dict.c, src/proto/dict.pro, + src/list.c, src/proto/list.pro, src/evalfunc.c, src/vim9execute.c, + src/vim9type.c, src/proto/vim9type.pro, src/evalvars.c, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4287 +Problem: Cannot assign empty list with any list type to variable with + specific list type. +Solution: Use unknown list type for empty list if the specified type is any. +Files: src/vim9type.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.4288 +Problem: Preprocessor indents are inconsistent. +Solution: Fix preprocessor indents. (Ken Takata, closes #9691) +Files: src/arglist.c, src/change.c, src/ex_cmds.c, src/gui.c, + src/hashtab.c, src/indent.c, src/ops.c, src/os_win32.c + +Patch 8.2.4289 +Problem: Warnings reported by MSVC. +Solution: Rename variables and other fixes. (Ken Takata, closes #9689) +Files: src/cmdexpand.c, src/drawscreen.c, src/filepath.c, src/getchar.c, + src/menu.c, src/os_win32.c, src/version.c + +Patch 8.2.4290 +Problem: MS-Windows: using type casts for timer IDs. +Solution: Remove type casts and use the right type. (Ken Takata, + closes #9690) Remove old debug comments. Rename variables and + functions. +Files: src/gui_w32.c + +Patch 8.2.4291 +Problem: Error number used twice. +Solution: Renumber the errors. +Files: src/errors.h + +Patch 8.2.4292 (after 8.2.4291) +Problem: Test fails. +Solution: Adjust the expected error number. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.4293 +Problem: Vim9: when copying a list it gets type list<any> even when the + original list did not have a type. +Solution: Only set the type when the original list has a type. (closes #9692) +Files: src/list.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4294 +Problem: MS-Windows: #ifdefs for Cygwin are too complicated. +Solution: Simplify the conditions. (Ken Takata, closes #9693) +Files: src/evalfunc.c, src/main.c, src/os_unix.c, src/os_win32.c, + src/os_win32.h + +Patch 8.2.4295 +Problem: Vim9: concatenating two lists may result in wrong type. +Solution: Remove the type instead of using list<any>. (closes #9692) +Files: src/list.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4296 +Problem: Vim9: not all code covered by tests. +Solution: Add a few more tests for corner cases. Fix hang when single quote + is missing. +Files: src/vim9expr.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.4297 +Problem: Vim9: not all code covered by tests. +Solution: Add a couple more tests. +Files: src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4298 +Problem: Divide by zero with huge tabstop value. +Solution: Reject tabstop value that overflows to zero. +Files: src/indent.c, src/testdir/test_vartabs.vim + +Patch 8.2.4299 +Problem: SafeState autocommand interferes with debugging. +Solution: Do not trigger SafeState while debugging. (closes #9697) +Files: src/main.c + +Patch 8.2.4300 (after 8.2.4299) +Problem: Cannot build tiny version. (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/main.c + +Patch 8.2.4301 +Problem: Vim9: type error for copy of dict. +Solution: Do not use dict<any> but no type. (closes #9696) +Files: src/dict.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4302 +Problem: Vim9: return type of getline() is too strict. +Solution: Make the declared type list<any>. Also do this for other + functions returning a list of a specific type. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4303 +Problem: A few messages should not be translated. +Solution: Remove _(). (Dominique Pellé, closes #9702) +Files: src/syntax.c + +Patch 8.2.4304 +Problem: Vim9: slice() makes a copy but doesn't change the type. +Solution: Change the declared type like copy(). (closes #9696) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4305 +Problem: Tex filetype detection fails. +Solution: Check value to be positive. (closes #9704) +Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim + +Patch 8.2.4306 +Problem: No test for fixed perl filetype check. +Solution: Add a test. Sort test functions. +Files: src/testdir/test_filetype.vim + +Patch 8.2.4307 +Problem: A few more messages should not be translated. +Solution: Remove _(). +Files: src/syntax.c + +Patch 8.2.4308 +Problem: Vim9: cannot list autoload function. +Solution: Don't give an error for using # when listing a function. + (closes #9703) +Files: src/userfunc.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4309 +Problem: Vim9: crash when using a partial in the wrong context. +Solution: Don't use an NULL outer pointer. (closes #9706) +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4310 +Problem: Vim9: constant list and dict get a declaration type other than + "any". +Solution: A constant list and dict have a declared member type "any". + (closes #9701) +Files: src/vim9instr.c, src/vim9type.c, src/proto/vim9type.pro, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4311 +Problem: Vim9: changing script variable type not caught at compile time. +Solution: Set the declared type. +Files: src/vim9instr.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.4312 +Problem: No error for using :vim9script in a :def function. +Solution: Give an error when compiling. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4313 +Problem: Vim9: cannot change type of list after making a slice. +Solution: Adjust the declared member type. (closes #9696) +Files: src/vim9expr.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4314 (after 8.2.4312) +Problem: Test fails where lines are skipped. +Solution: Only give an error when not skipping commands. +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4315 +Problem: Put in Visual mode not fully tested. +Solution: Add a few more test cases. (closes #9708) +Files: src/testdir/test_visual.vim + +Patch 8.2.4316 +Problem: __CYGWIN32__ is not defined on 64 bit systems. +Solution: Update #ifdefs. (Ken Takata, closes #9709) +Files: src/main.c, src/os_unix.c, src/pty.c, src/vim.h + +Patch 8.2.4317 +Problem: MS-Windows: Vim exits when Python 3 initialisation fails. +Solution: Hook into the exit() function to recover from the failure. + (Ken Takata, closes #9710) +Files: runtime/doc/if_pyth.txt, src/if_python3.c, src/os_win32.c, + src/errors.h, src/proto/os_win32.pro + +Patch 8.2.4318 +Problem: Various comment and indent mistakes, returning wrong zero. +Solution: Fix the mistakes. Return NULL instead of FAIL. +Files: src/clientserver.c, src/eval.c, src/evalvars.c, src/vim9cmds.c, + src/window.c + +Patch 8.2.4319 +Problem: :put does not work properly in compiled function. (John Beckett) +Solution: Adjust the direction when using line zero. +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4320 +Problem: Athena and Motif: when maximized scrollbar position is wrong. +Solution: Implement the scrollbar padding functions. (closes #9712) +Files: src/gui_athena.c, src/gui_motif.c + +Patch 8.2.4321 +Problem: Vim9: crash when using a funcref to a closure. +Solution: Copy pt_outer to the new partial. (closes #9714) +Files: src/evalfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4322 +Problem: Vim9: crash when using funcref with closure. +Solution: Keep a reference to the funcref that has the outer context. + (closes #9716) +Files: src/evalfunc.c, src/structs.h, src/eval.c, src/vim9execute.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.4323 +Problem: Vim9: nested function name can start with "_". +Solution: Use same rule for function name for nested functions. + (closes #9713) +Files: src/vim9compile.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4324 +Problem: Vim9: script-local function name can start with "_". +Solution: Check for leading capital after "s:". Correct error message. +Files: src/userfunc.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.4325 +Problem: 'wildmenu' only shows few matches. +Solution: Add the "pum" option: use a popup menu to show the matches. + (Yegappan Lakshmanan et al., closes #9707) +Files: runtime/doc/options.txt, src/vim.h, src/cmdexpand.c, + src/drawscreen.c, src/evalfunc.c, src/ex_getln.c, src/option.h, + src/optionstr.c, src/popupmenu.c, src/proto/cmdexpand.pro, + src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_01.dump, + src/testdir/dumps/Test_wildmenu_pum_02.dump, + src/testdir/dumps/Test_wildmenu_pum_03.dump, + src/testdir/dumps/Test_wildmenu_pum_04.dump, + src/testdir/dumps/Test_wildmenu_pum_05.dump, + src/testdir/dumps/Test_wildmenu_pum_06.dump, + src/testdir/dumps/Test_wildmenu_pum_07.dump, + src/testdir/dumps/Test_wildmenu_pum_08.dump, + src/testdir/dumps/Test_wildmenu_pum_09.dump, + src/testdir/dumps/Test_wildmenu_pum_10.dump, + src/testdir/dumps/Test_wildmenu_pum_11.dump, + src/testdir/dumps/Test_wildmenu_pum_12.dump, + src/testdir/dumps/Test_wildmenu_pum_13.dump, + src/testdir/dumps/Test_wildmenu_pum_14.dump, + src/testdir/dumps/Test_wildmenu_pum_15.dump, + src/testdir/dumps/Test_wildmenu_pum_16.dump, + src/testdir/dumps/Test_wildmenu_pum_17.dump, + src/testdir/dumps/Test_wildmenu_pum_18.dump, + src/testdir/dumps/Test_wildmenu_pum_19.dump, + src/testdir/dumps/Test_wildmenu_pum_20.dump, + src/testdir/dumps/Test_wildmenu_pum_21.dump, + src/testdir/dumps/Test_wildmenu_pum_22.dump, + src/testdir/dumps/Test_wildmenu_pum_23.dump, + src/testdir/dumps/Test_wildmenu_pum_24.dump, + src/testdir/dumps/Test_wildmenu_pum_25.dump, + src/testdir/dumps/Test_wildmenu_pum_26.dump, + src/testdir/dumps/Test_wildmenu_pum_27.dump, + src/testdir/dumps/Test_wildmenu_pum_28.dump, + src/testdir/dumps/Test_wildmenu_pum_29.dump + +Patch 8.2.4326 +Problem: "o" and "O" copying comment not sufficiently tested. +Solution: Add a test case. (closes #9718) +Files: src/testdir/test_textformat.vim + +Patch 8.2.4327 +Problem: May end up with no current buffer. +Solution: When deleting the current buffer to not pick a quickfix buffer as + the new current buffer. +Files: src/buffer.c, src/testdir/test_quickfix.vim + +Patch 8.2.4328 +Problem: Command line complete matches cleared when typing character. + (Dominique Pellé) +Solution: Only remove a popup menu if there is one. +Files: src/ex_getln.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_30.dump, + src/testdir/dumps/Test_wildmenu_pum_31.dump + +Patch 8.2.4329 +Problem: No support for end line number and column in 'errorformat'. +Solution: Add %e and %k. (closes #9624) +Files: runtime/doc/quickfix.txt, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.4330 +Problem: Vim9: no error if script imports itself. +Solution: Give an error when a script imports itself. +Files: src/vim9script.c, src/errors.h, src/testdir/test_vim9_import.vim + +Patch 8.2.4331 +Problem: Vim9: no test for existing script variable in block. +Solution: Add a test. +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.4332 +Problem: Vim9: incomplete test for existing script variable in block. +Solution: Add a couple more tests. Fix uncovered problem. +Files: src/userfunc.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/vim9script.c, src/vim9expr.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4333 +Problem: cstack not always passed to where it is needed. +Solution: Pass cstack through functions. +Files: src/eval.c, src/vim9expr.c, src/vim9script.c, + src/proto/vim9script.pro, src/vim9compile.c, + src/proto/vim9compile.pro + +Patch 8.2.4334 +Problem: Command line popup menu not positioned correctly. +Solution: Also use vim_strsize() on the existing text. (Naruhiko Nishino, + closes #9727) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_32.dump + +Patch 8.2.4335 +Problem: No autocommand event triggered before changing directory. (Ronnie + Magatti) +Solution: Add DirChangedPre. (closes #9721) +Files: runtime/doc/autocmd.txt, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/vim.h, src/autocmd.c, src/misc2.c, + src/testdir/test_autocmd.vim + +Patch 8.2.4336 +Problem: Using :filter for :scriptnames does not work. (Ben Jackson) +Solution: Call message_filtered(). (closes #9720) +Files: src/scriptfile.c, src/testdir/test_filter_cmd.vim + +Patch 8.2.4337 +Problem: Part of condition is always true. +Solution: Remove that part of the condition. (closes #9729) +Files: src/filepath.c + +Patch 8.2.4338 +Problem: An error from an expression mapping messes up the display. +Solution: When the expression results in an empty string return K_IGNORE. + In cmdline mode redraw the command line. (closes #9726) +Files: src/getchar.c, src/testdir/test_mapping.vim, + src/testdir/dumps/Test_map_expr_2.dump, + src/testdir/dumps/Test_map_expr_3.dump, + src/testdir/dumps/Test_map_expr_4.dump + +Patch 8.2.4339 +Problem: CTRL-A does not work properly with the cmdline popup menu. +Solution: Fix issues with CTRL-A. Add more tests for the cmdline popup + menu. Remove TermWait() before VeriryScreenDump(). Refactor the + cmdline popup code. (Yegappan Lakshmanan, closes #9735) +Files: src/cmdexpand.c, src/ex_getln.c, src/popupmenu.c, + src/testdir/screendump.vim, src/testdir/test_bufline.vim, + src/testdir/test_cmdline.vim, src/testdir/test_conceal.vim, + src/testdir/test_cursorline.vim, src/testdir/test_diffmode.vim, + src/testdir/test_display.vim, src/testdir/test_highlight.vim, + src/testdir/test_match.vim, src/testdir/test_popup.vim, + src/testdir/test_search_stat.vim, src/testdir/test_terminal.vim, + src/testdir/test_textprop.vim, + src/testdir/dumps/Test_wildmenu_pum_33.dump, + src/testdir/dumps/Test_wildmenu_pum_34.dump, + src/testdir/dumps/Test_wildmenu_pum_35.dump, + src/testdir/dumps/Test_wildmenu_pum_36.dump, + src/testdir/dumps/Test_wildmenu_pum_37.dump + +Patch 8.2.4340 +Problem: Amiga: mch_can_exe() is not implemented. +Solution: Implement mch_can_exe() for Amiga OS 4. (Ola Söder, closes #9731) +Files: src/os_amiga.c + +Patch 8.2.4341 +Problem: Command line not redrawn when finishing popup menu and the screen + has scrolled up. +Solution: Redraw the command line after updating the screen. (closes #9722) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_38.dump + +Patch 8.2.4342 +Problem: CI will soon switch to other windows version. +Solution: Use "windows-2019" instead of "windows-latest". (Ozaki Kiichi, + closes #9740) +Files: .github/workflows/ci.yml + +Patch 8.2.4343 +Problem: When reloading not all properties are detected. +Solution: Add the "edit" value to v:fcs_choice. (Rob Pilling, closes #9579) +Files: runtime/doc/editing.txt, runtime/doc/eval.txt, src/fileio.c, + src/proto/fileio.pro, src/message.c, src/spellfile.c, + src/testdir/test_filechanged.vim + +Patch 8.2.4344 +Problem: Amiga: header file included twice. +Solution: Remove #include. (Ola Söder, closes #9733) +Files: src/memfile.c + +Patch 8.2.4345 +Problem: <amatch> is expanded like a file name for DirChangedPre. +Solution: Do not expand <amatch>. (closes #9742) Also for the User event. +Files: src/autocmd.c, src/testdir/test_autocmd.vim + +Patch 8.2.4346 +Problem: A custom statusline may cause Esc to work like Enter on the + command line when the popup menu is displayed. +Solution: Save and restore KeyTyped. (closes #9749) +Files: src/drawscreen.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_39.dump + +Patch 8.2.4347 +Problem: In some build setups UNUSED is not defined. +Solution: Change the logic of how UNUSED is defined. (Ola Söder, + closes #9734) +Files: src/vim.h + +Patch 8.2.4348 +Problem: "legacy exe cmd" does not do what one would expect. +Solution: Apply the "legacy" and "vim9script" command modifiers to the + argument of ":execute". +Files: runtime/doc/vim9.txt, src/globals.h, src/eval.c, src/ex_docmd.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.4349 +Problem: FileChangedShell test fails on MS-Windows. +Solution: Skip the test on MS-Windows. +Files: src/testdir/test_filechanged.vim + +Patch 8.2.4350 +Problem: FEAT_GUI_ENABLED defined but never used. +Solution: Remove the #define. (Ola Söder, closes #9732) +Files: src/vim.h + +Patch 8.2.4351 +Problem: No coverage is measured on MS-Windows CI. +Solution: Enable coverage on MS-Windows. (Ozaki Kiichi, closes #9750) +Files: .github/workflows/ci.yml + +Patch 8.2.4352 +Problem: ReScript files are not recognized. +Solution: Add the *.res and *.resi patterns. (Ananda Umamil, closes #9752) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4353 +Problem: CI does not use the latest Lua and Python. +Solution: Use Lua 5.4.2 and Python 3.10. (closes #9744) +Files: .github/workflows/ci.yml + +Patch 8.2.4354 +Problem: Dynamic loading of libsodium not handled properly. +Solution: Fix has() and :version. Show an error message when loading fails. + Fix memory leaks. (Ken Takata, closes #9754) +Files: src/crypt.c, src/evalfunc.c, src/gui_dwrite.cpp, src/if_cscope.c, + src/os_win32.c, src/proto/crypt.pro, src/proto/os_win32.pro, + src/version.c + +Patch 8.2.4355 +Problem: Unnecessary call to check_colorcolumn(). +Solution: Remove the call. (Sean Dewar, closes #9748) +Files: src/option.c, src/window.c + +Patch 8.2.4356 +Problem: Command line completion functions are very long. +Solution: Refactor into multiple functions. (Yegappan Lakshmanan, + closes #9753) +Files: src/cmdexpand.c + +Patch 8.2.4357 (after 8.2.4348) +Problem: sticky command modifiers are too sticky. +Solution: Do not apply command modifiers to a sourced script. (closes #9751) +Files: src/scriptfile.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4358 +Problem: Vim9: line number of exception is not set. +Solution: Set the line number before throwing an exception. (closes #9755) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4359 +Problem: crash when repeatedly using :retab. +Solution: Bail out when the line is getting too long. +Files: src/indent.c, src/testdir/test_retab.vim + +Patch 8.2.4360 +Problem: Vim9: allowing use of "s:" leads to inconsistencies. +Solution: Disallow using "s:" in Vim9 script at the script level. +Files: src/userfunc.c, src/proto/userfunc.pro, src/errors.h, + src/vim9compile.c, src/eval.c, src/testdir/vim9.vim, + src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_import.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.4361 (after 8.2.4360) +Problem: Vim9: some tests fail. +Solution: Fix the tests, mostly by removing "s:". +Files: src/testdir/test_expr.vim, src/testdir/test_functions.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_normal.vim, + src/testdir/test_tagfunc.vim + +Patch 8.2.4362 +Problem: :retab may allocate too much memory. +Solution: Bail out when allocating more than MAXCOL bytes. +Files: src/indent.c + +Patch 8.2.4363 +Problem: MS-Windows: running out of memory for a very long line. +Solution: Use a 32 bit value for MAXCOL also when ints are 64 bits. +Files: src/vim.h + +Patch 8.2.4364 +Problem: MS-Windows: still running out of memory for a very long line. +Solution: Check for negative length. +Files: src/indent.c + +Patch 8.2.4365 (after 8.2.4348) +Problem: sticky command modifiers are too sticky. +Solution: Do not apply command modifiers to a called function. (closes #9751) +Files: src/userfunc.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4366 +Problem: Not enough tests for command line completion. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #9760) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + src/testdir/test_usercommands.vim + +Patch 8.2.4367 +Problem: Calling in_vim9script() multiple times. +Solution: Call it once and keep the result. +Files: src/userfunc.c, src/eval.c + +Patch 8.2.4368 +Problem: Amiga: a few compiler warnings. +Solution: Adjust #ifdefs. Add "UNUSED". (Ola Söder, closes #9756, + closes #9757) +Files: src/term.c, src/os_amiga.c + +Patch 8.2.4369 +Problem: Redundant #ifdef argument. +Solution: Remove unused MSWIN. (Ola Söder, closes #9758) +Files: src/feature.h + +Patch 8.2.4370 +Problem: MS-Windows: libsodium.dll not included with the installer. +Solution: Add the file to the installer if it exists. (Christian Brabandt, + closes #9762) +Files: nsis/gvim.nsi + +Patch 8.2.4371 +Problem: Vim9: can create a script variable from a legacy function. +Solution: Disallow creating a script variable from a function. +Files: src/evalvars.c, src/errors.h, src/testdir/test_vim9_script.vim + +Patch 8.2.4372 +Problem: Filetype detection from file contents is in legacy script. +Solution: Use a compiled function for filetype detection. +Files: runtime/scripts.vim, runtime/autoload/dist/script.vim + +Patch 8.2.4373 +Problem: Expression test fails. +Solution: Make the test work with latest Vim9 syntax. +Files: src/testdir/test_expr.vim + +Patch 8.2.4374 +Problem: Unreachable code. +Solution: Remove outdated code lines. +Files: src/vim9compile.c + +Patch 8.2.4375 +Problem: ctx_imports is not used. +Solution: Delete ctx_imports. Add missing dependency. +Files: src/vim9.h, src/vim9compile.c, src/proto/vim9compile.pro, + src/eval.c, src/evalfunc.c, src/evalvars.c, src/userfunc.c, + src/vim9expr.c, src/vim9script.c, src/Makefile + +Patch 8.2.4376 +Problem: Not enough tests for command line completion. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #9771) +Files: src/testdir/test_cmdline.vim, src/testdir/test_usercommands.vim + +Patch 8.2.4377 +Problem: CI steps for Windows are a bit unorganized. +Solution: Organize CI test steps on Windows. (Ozaki Kiichi, closes #9764) +Files: .github/workflows/ci.yml + +Patch 8.2.4378 +Problem: Incsearch highlight broken when calling searchcount() in 'tabLine' + function. (Mirko Palmer) +Solution: Save and restore the incsearch state. (Christian Brabandt, + closes #9763, closes #9633) +Files: src/search.c, src/testdir/test_search_stat.vim, + src/testdir/dumps/Test_searchstat_inc_1.dump, + src/testdir/dumps/Test_searchstat_inc_2.dump, + src/testdir/dumps/Test_searchstat_inc_3.dump + +Patch 8.2.4379 +Problem: An empty change is reported to a listener. +Solution: Do not report an empty change. (closes #9768) Remove unused + return value. +Files: src/undo.c, src/change.c, src/testdir/test_listener.vim + +Patch 8.2.4380 +Problem: Small differences between Chinese translation files. +Solution: Add rule for converting UTF-8 to gb2312. (closes #9773) +Files: src/po/Makefile, src/po/Make_all.mak + +Patch 8.2.4381 (after 8.2.4380) +Problem: Translation file listed twice. +Solution: Remove one entry. +Files: src/po/Make_all.mak + +Patch 8.2.4382 (after 8.2.4346) +Problem: A custom 'tabline' may cause Esc to work like Enter on the + command line when the popup menu is displayed. +Solution: Save and restore KeyTyped. (closes #9776) +Files: src/drawscreen.c, src/screen.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_40.dump + +Patch 8.2.4383 +Problem: Vim9: unused code lines. +Solution: Rely on either "cctx" or "cstack" to not be NULL. +Files: src/vim9compile.c + +Patch 8.2.4384 +Problem: Vim9: error message not tested, some code not tested. +Solution: Add a couple of test cases. Give an error for a command modifier + without a command. +Files: src/errors.h, src/vim9compile.c, src/ex_docmd.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4385 (after 8.2.4384) +Problem: Cannot build tiny version. +Solution: Adjust #ifdefs. +Files: src/errors.h + +Patch 8.2.4386 (after 8.2.4384) +Problem: Still cannot build tiny version. +Solution: Adjust #ifdefs. +Files: src/ex_docmd.c + +Patch 8.2.4387 +Problem: Command line completion doesn't always work properly. +Solution: Adjust triggering after a "|". Add more tests. (Yegappan + Lakshmanan, closes #9779) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.4388 +Problem: Dead code in op_insert(). +Solution: Remove condition and else block. (closes #9782) +Files: src/ops.c + +Patch 8.2.4389 +Problem: screenpos() does not handle a position in a closed fold. +Solution: Check if the position is inside a closed fold. (closes #9778) +Files: src/move.c, src/testdir/test_cursor_func.vim + +Patch 8.2.4390 +Problem: Vim9: list from declaration with inferred type does not set the + type on the value. +Solution: When inferring the type in a variable declaration also set the + type of the list or dictionary. (closes #9705) Do not set the + type when the member is "any". +Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4391 +Problem: Command line executed when typing Esc in the GUI. +Solution: Move saving/restoring KeyTyped to build_stl_str_hl(). + (closes #9783) +Files: src/buffer.c, src/screen.c + +Patch 8.2.4392 (after 8.2.4002) +Problem: MS-Windows with VIMDLL: Escaping CSI is wrong. +Solution: Put back #ifdef. (Ken Takata, closes #9769) +Files: src/getchar.c + +Patch 8.2.4393 +Problem: Possible number overflow with nested folds. +Solution: Avoid a negative line number. +Files: src/fold.c + +Patch 8.2.4394 (after 8.2.4392) +Problem: UTF8 select mode test fails on MS-Windows. +Solution: Revert the #ifdef change. +Files: src/getchar.c + +Patch 8.2.4395 +Problem: Some code lines not covered by tests. +Solution: Add a few more test cases. Fix getting more than one error for + invalid assignment. +Files: src/evalvars.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_assign.vim, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.4396 (after 8.2.4395) +Problem: Python3 test fails. +Solution: Remove "let". +Files: src/testdir/test_vim9_func.vim + +Patch 8.2.4397 +Problem: Crash when using many composing characters in error message. +Solution: Use mb_cptr2char_adv() instead of mb_ptr2char_adv(). +Files: src/testing.c, src/testdir/test_assert.vim + +Patch 8.2.4398 +Problem: Some command completion functions are too long. +Solution: Refactor code into separate functions. Add a few more tests. + (Yegappan Lakshmanan, closes #9785) +Files: src/cmdexpand.c, src/ex_getln.c, src/usercmd.c, + src/proto/usercmd.pro, src/testdir/test_cmdline.vim + +Patch 8.2.4399 +Problem: Crash after ml_get error. +Solution: When returning "???" flush the line and set ml_line_lnum. +Files: src/memline.c + +Patch 8.2.4400 (after 8.2.4394) +Problem: MS-Windows: cannot use the mouse in the console with VIMDLL. +Solution: use add_char2buf() instead of fix_input_buffer(). (closes #9784, + closes #9769) +Files: src/getchar.c + +Patch 8.2.4401 +Problem: Map listing does not clear the rest of the command line. +Solution: Call msg_clear_eos(). (closes #5623, closes #5962) +Files: src/map.c, src/testdir/test_mapping.vim, + src/testdir/dumps/Test_map_list_1.dump + +Patch 8.2.4402 +Problem: Missing parenthesis may cause unexpected problems. +Solution: Add more parenthesis is macros. (closes #9788) +Files: src/autocmd.c, src/charset.c, src/drawline.c, src/drawscreen.c, + src/evalfunc.c, src/fileio.c, src/fold.c, src/getchar.c, + src/highlight.c, src/memline.c, src/normal.c, src/quickfix.c, + src/regexp.c, src/search.c, src/sha256.c, src/spell.c, + src/spellfile.c, src/spellsuggest.c, src/syntax.c, src/window.c + +Patch 8.2.4403 +Problem: ml_get error with nested folds and deleting lines. +Solution: Correct the last line number before calling hasFoldingWin(). +Files: src/change.c + +Patch 8.2.4404 +Problem: Vim9: some code not covered by tests. +Solution: Add a few specific test cases. +Files: src/vim9execute.c, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_import.vim + +Patch 8.2.4405 +Problem: Compiler warning for unused variable without the +folding feature. + (Tony Mechelynck) +Solution: Add #ifdef. +Files: src/change.c + +Patch 8.2.4406 +Problem: Expand functions use confusing argument names. +Solution: Rename "file" to "match". Refactor some completion code. Add a + few more tests. (Yegappan Lakshmanan, closes #9790) +Files: src/cmdexpand.c, src/testdir/test_usercommands.vim + +Patch 8.2.4407 +Problem: Vim9: some code not covered by tests. +Solution: Add more tests. Avoid giving two errors. Remove dead code. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.4408 +Problem: Vim9: some code not covered by tests. +Solution: Add a few more tests. Correct error message. Allow unlet on dict + with a number key. +Files: src/vim9execute.c, src/errors.h, src/testdir/test_vim9_assign.vim + +Patch 8.2.4409 +Problem: Vim9: some code not covered by tests. +Solution: Add a few more tests. Fix reported line number. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.4410 +Problem: Vim9: some code not covered by tests. +Solution: Add a few more tests. Remove dead code. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_script.vim + +Patch 8.2.4411 +Problem: Bicep files are not recognized. +Solution: Match *.bicep files. (Dundar Goc, closes #9791) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4412 +Problem: Translation cleanup script does not remove empty lines at end. +Solution: Remove empty lines at the end. (Ken Takata, closes #9794) +Files: src/po/cleanup.vim + +Patch 8.2.4413 +Problem: Vim9: Coverity warns for using NULL pointer. +Solution: Give an internal error when funcref function can't be found. +Files: src/vim9execute.c + +Patch 8.2.4414 +Problem: Solidity files are not recognized. +Solution: Add the *.sol pattern. (Dundar Goc, closes #9792) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4415 +Problem: Function argument name conflicts with C++ keyword. +Solution: Rename the argument. +Files: src/usercmd.c, src/proto/usercmd.pro + +Patch 8.2.4416 +Problem: Vim9: using a script-local function requires using "s:" when + setting 'completefunc'. +Solution: Do not require "s:" in Vim9 script. (closes #9796) +Files: runtime/doc/options.txt, src/userfunc.c, + src/testdir/test_ins_complete.vim + +Patch 8.2.4417 (after 8.2.4416) +Problem: Using NULL pointer. +Solution: Set offset after checking for NULL pointer. +Files: src/userfunc.c + +Patch 8.2.4418 +Problem: Crash when using special multi-byte character. +Solution: Don't use isalpha() for an arbitrary character. +Files: src/charset.c, src/proto/charset.pro, src/filepath.c, + src/testdir/test_autochdir.vim + +Patch 8.2.4419 +Problem: Illegal memory access when using exactly 20 highlights. +Solution: Add one more item in the array. (Brandon Richardson, + closes #9800) +Files: src/buffer.c, src/testdir/test_tabline.vim + +Patch 8.2.4420 +Problem: Menu translations are inconsistent. +Solution: Add a Makefile to convert between encodings. (Ada (Haowen) Yu, + closes #9801) +Files: runtime/lang/Makefile, runtime/lang/menu_af_af.latin1.vim, + runtime/lang/menu_ca_es.latin1.vim, + runtime/lang/menu_chinese_gb.936.vim, + runtime/lang/menu_chinese_taiwan.950.vim, + runtime/lang/menu_cs_cz.iso_8859-2.vim, + runtime/lang/menu_cs_cz.utf-8.vim, + runtime/lang/menu_czech_czech_republic.1250.vim, + runtime/lang/menu_czech_czech_republic.ascii.vim, + runtime/lang/menu_da.utf-8.vim, + runtime/lang/menu_de_de.latin1.vim, + runtime/lang/menu_eo.utf-8.vim, + runtime/lang/menu_es_es.latin1.vim, + runtime/lang/menu_fi_fi.latin1.vim, + runtime/lang/menu_fr_fr.latin1.vim, + runtime/lang/menu_hu_hu.iso_8859-2.vim, + runtime/lang/menu_hu_hu.utf-8.vim, + runtime/lang/menu_is_is.latin1.vim, + runtime/lang/menu_it_it.latin1.vim, + runtime/lang/menu_ja_jp.euc-jp.vim, + runtime/lang/menu_ja_jp.utf-8.vim, + runtime/lang/menu_japanese_japan.932.vim, + runtime/lang/menu_ko_kr.euckr.vim, + runtime/lang/menu_ko_kr.utf-8.vim, + runtime/lang/menu_nl_nl.latin1.vim, + runtime/lang/menu_no_no.latin1.vim, + runtime/lang/menu_pl_pl.iso_8859-2.vim, + runtime/lang/menu_pl_pl.utf-8.vim, + runtime/lang/menu_polish_poland.1250.vim, + runtime/lang/menu_pt_br.vim, runtime/lang/menu_pt_pt.vim, + runtime/lang/menu_ru.utf-8.vim, + runtime/lang/menu_ru_ru.koi8-r.vim, + runtime/lang/menu_ru_ru.utf-8.vim, runtime/lang/menu_ru_ru.vim, + runtime/lang/menu_sk_sk.iso_8859-2.vim, + runtime/lang/menu_sl_si.cp1250.vim, + runtime/lang/menu_sl_si.latin2.vim, + runtime/lang/menu_sl_si.utf-8.vim, + runtime/lang/menu_slovak_slovak_republic.1250.vim, + runtime/lang/menu_sr_rs.ascii.vim, + runtime/lang/menu_sr_rs.iso_8859-2.vim, + runtime/lang/menu_sr_rs.iso_8859-5.vim, + runtime/lang/menu_sr_rs.utf-8.vim, + runtime/lang/menu_sv_se.latin1.vim, + runtime/lang/menu_tr_tr.cp1254.vim, + runtime/lang/menu_tr_tr.iso_8859-9.vim, + runtime/lang/menu_tr_tr.utf-8.vim, + runtime/lang/menu_uk_ua.cp1251.vim, + runtime/lang/menu_uk_ua.koi8-u.vim, + runtime/lang/menu_uk_ua.utf-8.vim, runtime/lang/menu_vi_vn.vim, + runtime/lang/menu_zh_cn.utf-8.vim, + runtime/lang/menu_zh_tw.utf-8.vim + +Patch 8.2.4421 +Problem: Some installed files and directories have wrong permissions. +Solution: Adjust the Makefile and shell to set permissions. (closes #9793) +Files: src/Makefile, src/installman.sh + +Patch 8.2.4422 +Problem: Autochdir test fails on MS-Windows. +Solution: Expect another error on MS-Windows. +Files: src/testdir/test_autochdir.vim + +Patch 8.2.4423 +Problem: "make nvcmdidxs" fails. +Solution: Use "-S" instead of "-u" to source the script. +Files: src/Makefile + +Patch 8.2.4424 +Problem: ".gts" and ".gjs" files are not recognized. +Solution: Recognize Glimmer flavored typescript and javascript. + (closes #9799) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4425 +Problem: map() function does not check function arguments at compile time. +Solution: Give an error if the arguments of a map() function are wrong. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.4426 +Problem: map() function on string and blob does not check argument types at + compile time. +Solution: Check string and blob argument types. Support "0z1234->func()". +Files: src/vim9compile.c, src/evalfunc.c, src/ex_docmd.c, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4427 +Problem: getchar() may return modifiers if no character is available. +Solution: Do not process modifiers when there is no character. (closes #9806) +Files: src/getchar.c, src/testdir/test_functions.vim + +Patch 8.2.4428 +Problem: Crash when switching tabpage while in the cmdline window. +Solution: Disallow switching tabpage when in the cmdline window. +Files: src/window.c, src/proto/window.pro, src/evalvars.c, + src/evalvars.c, src/usercmd.c + +Patch 8.2.4429 +Problem: Using script-local function from the wrong script when using a + partial. (Yegappan Lakshmanan) +Solution: Include the script ID in the partial name. +Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, + src/vim9type.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4430 +Problem: GTK: crash when using 'guiligatures' and reading from stdin. +Solution: Make a copy of the message. (Amon Sha, closes #9719, closes #9814) +Files: src/fileio.c + +Patch 8.2.4431 +Problem: Unnecessary condition when assigning to a variable. +Solution: Remove the condition. +Files: src/evalvars.c + +Patch 8.2.4432 (after 8.2.4428) +Problem: Cannot use settabvar() while the cmdline window is open. +Solution: Only give an error when actually switching tabpage. + (closes #9813) +Files: src/window.c + +Patch 8.2.4433 +Problem: CI: cannot see interface versions for MS-Windows. +Solution: List the interface versions. (Ken Takata, closes #9811) +Files: .github/workflows/ci.yml + +Patch 8.2.4434 +Problem: Duplicate check for cmdline window. +Solution: Remove the second check. (Sean Dewar, closes #9816) +Files: src/window.c + +Patch 8.2.4435 +Problem: Dead code in checking map() arguments. (Dominique Pellé) +Solution: Remove the first return statement. (closes #9815) +Files: src/evalfunc.c + +Patch 8.2.4436 +Problem: Crash with weird 'vartabstop' value. +Solution: Check for running into the end of the line. +Files: src/indent.c, src/testdir/test_vartabs.vim + +Patch 8.2.4437 +Problem: Vartabs test fails on MS-Windows. +Solution: Use iso8859-1 'encoding'. (Ken Takata, closes #9818) +Files: src/testdir/test_vartabs.vim + +Patch 8.2.4438 +Problem: Crash on exit when using cmdline window. +Solution: Reset "cmdwin_type" before exiting. (closes #9817) +Files: src/ui.c, src/testdir/test_exit.vim + +Patch 8.2.4439 +Problem: Accepting "iso8859" 'encoding' as "iso-8859-". +Solution: use "iso8859" as "iso-8859-1". +Files: src/mbyte.c, src/testdir/test_options.vim + +Patch 8.2.4440 +Problem: Crash with specific regexp pattern and string. +Solution: Stop at the start of the string. +Files: src/regexp_bt.c, src/testdir/test_regexp_utf8.vim + +Patch 8.2.4441 +Problem: Vim9: function argument of filter() not checked like map(). +Solution: Also check the function argument of filter(). +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4442 (after 8.2.4438) +Problem: Test for error reading input fails on MS-Windows. +Solution: Don't run the test on MS-Windows. +Files: src/testdir/test_exit.vim + +Patch 8.2.4443 (after 8.2.4440) +Problem: Regexp pattern test fails on Mac. +Solution: Do not use a swapfile for the buffer. +Files: src/testdir/test_regexp_utf8.vim + +Patch 8.2.4444 +Problem: Beep caused by test. ASAN reports leaks. +Solution: Do not put a NL at the end of the script. Make the text work on + MS-Windows. Do not run the test with ASAN. +Files: src/testdir/test_exit.vim + +Patch 8.2.4445 +Problem: Exit test fails on MS-Windows anyway. +Solution: Skip the test on MS-Windows. +Files: src/testdir/test_exit.vim + +Patch 8.2.4446 +Problem: Vim9: cannot refer to a global function like a local one. +Solution: When g:name is not a variable but a function, use a function + reference. (closes #9826) +Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4447 +Problem: Vim9: can still use s:var in a compiled function. +Solution: Disallow using s:var for Vim9 script. (closes #9824) +Files: runtime/doc/vim9.txt, src/vim9expr.c, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4448 (after 8.2.4447) +Problem: Filetype detection is failing. +Solution: Do not use "s:" where it is no longer allowed. +Files: runtime/autoload/dist/ft.vim, + +Patch 8.2.4449 +Problem: vim9: function argument of sort() not checked at compile time. +Solution: Add a compile time check. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4450 (after 8.2.4449) +Problem: List sort test fails. +Solution: Pass a valid "how" argument. +Files: src/testdir/test_listdict.vim + +Patch 8.2.4451 (after 8.2.4450) +Problem: sort() fails when ignoring case. +Solution: Accept a number one argument in sort(). +Files: src/evalfunc.c, src/testdir/test_listdict.vim + +Patch 8.2.4452 +Problem: Test for what 8.2.4436 fixes does not check for regression. +Solution: Set several options. (Ken Takata, closes #9830) +Files: src/testdir/test_vartabs.vim + +Patch 8.2.4453 +Problem: :helpgrep may free an option that was not allocated. (Yegappan + Lakshmanan) +Solution: Check if the value was allocated. +Files: src/option.c, src/proto/option.pro, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.4454 +Problem: Resetting cmdwin_type only for one situation. +Solution: Reset cmdwin_type before closing windows. (closes #9822) +Files: src/ui.c, src/window.c, src/testdir/test_exit.vim + +Patch 8.2.4455 +Problem: Accepting one and zero for the second sort() argument is strange. +Solution: Disallow using one and zero in Vim9 script. +Files: runtime/doc/builtin.txt, src/evalfunc.c, src/list.c, + src/testdir/test_listdict.vim + +Patch 8.2.4456 +Problem: Terminal test may fail on some machines. +Solution: Increase wait time. (Zdenek Dohnal, closes #9834) +Files: src/testdir/test_terminal.vim + +Patch 8.2.4457 +Problem: The GPM library can only be linked statically. +Solution: Make it possible to load the GPM library dynamically. (Damien) +Files: runtime/doc/various.txt, src/config.h.in, src/configure.ac, + src/Makefile, src/evalfunc.c, src/feature.h, src/os_unix.c, + src/proto/os_unix.pro, src/version.c + +Patch 8.2.4458 +Problem: Vim9: compiling filter() call fails with funcref that has unknown + arguments. +Solution: Do not check the arguments if they are unknown at compile time. + (closes #9835) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4459 +Problem: Vim9: compiling sort() call fails with a funcref that has unknown + arguments. +Solution: Do not check the arguments if they are unknown at compile time. + (closes #9835) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4460 +Problem: Vim9: wrong error for defining dict function. +Solution: Explicitly check for trying to define a dict function. + (closes #9827) +Files: src/errors.h, src/userfunc.c, src/vim9compile.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.4461 +Problem: MS-Windows: garbage characters on stdout with VIMDLL. +Solution: Don't call gui_focus_change() when about to quit. (Ken Takata, + closes #9840) +Files: src/gui_w32.c + +Patch 8.2.4462 +Problem: Not enough testing for quickfix code. +Solution: Add more tests. Fix uncovered problem. (Yegappan Lakshmanan, + closes #9839) +Files: src/quickfix.c, src/window.c, src/testdir/test_makeencoding.vim, + src/testdir/test_quickfix.vim + +Patch 8.2.4463 +Problem: Completion only uses strict matching. +Solution: Add the "fuzzy" item for 'wildoptions'. (Yegappan Lakshmanan, + closes #9803) +Files: runtime/doc/options.txt, src/buffer.c, src/cmdexpand.c, + src/option.c, src/option.h, src/optionstr.c, + src/proto/cmdexpand.pro, src/proto/option.pro, + src/proto/search.pro, src/search.c, src/structs.h, + src/testdir/gen_opt_test.vim, src/testdir/test_cmdline.vim + +Patch 8.2.4464 +Problem: Dtrace files are recognized as filetype D. +Solution: Add a pattern for Dtrace files. (Teubel György, closes #9841) + Add some more testing. +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4465 +Problem: Fuzzy completion does not order matches properly. +Solution: Do not use regular expression match. (Yegappan Lakshmanan, + closes #9843) +Files: src/cmdexpand.c, src/search.c, src/testdir/test_cmdline.vim + +Patch 8.2.4466 +Problem: MS-Windows: illegal memory access in installer when using + "create-directories" as the final argument. +Solution: Check the argument count. (Cam Sinclair, closes #9844) +Files: src/dosinst.c + +Patch 8.2.4467 +Problem: Running filetype test leaves file behind. +Solution: Delete the file. +Files: src/testdir/test_filetype.vim + +Patch 8.2.4468 +Problem: Coverity warns for uninitialized struct member. +Solution: Set color.index to zero. +Files: src/terminal.c + +Patch 8.2.4469 +Problem: Coverity warns for uninitialized variable. +Solution: Set the value to zero. +Files: src/ex_getln.c + +Patch 8.2.4470 +Problem: Coverity warns for uninitialized variable. +Solution: Set can_spell to zero. +Files: src/drawline.c + +Patch 8.2.4471 +Problem: Coverity warns for uninitialized variable. +Solution: Set flags to zero. +Files: src/vim9cmds.c + +Patch 8.2.4472 +Problem: Coverity warns for use of a freed function name. +Solution: Only check an autoload name when is prefixed. +Files: src/userfunc.c + +Patch 8.2.4473 +Problem: Coverity warns for not checking return value of ftell(). +Solution: Bail out if ftell() returns a negative value. +Files: src/spellfile.c + +Patch 8.2.4474 +Problem: Memory allocation failures not tested in quickfix code. +Solution: Add alloc IDs and tests. (Yegappan Lakshmanan, closes #9848) +Files: src/alloc.h, src/quickfix.c, src/vim.h, + src/testdir/test_quickfix.vim + +Patch 8.2.4475 +Problem: Fuzzy cmdline completion does not work for lower case. +Solution: Also use fuzzy completion for lower case input. (Yegappan + Lakshmanan, closes #9849) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.4476 +Problem: Operator name spelled wrong. +Solution: Change trinary to ternary. (Goc Dundar, closes #9850) +Files: src/testdir/test_expr.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.4477 +Problem: Crash when using fuzzy completion. +Solution: Temporary fix: put back regexp. (closes #9851) +Files: src/cmdexpand.c + +Patch 8.2.4478 +Problem: Crash when using fuzzy completion. +Solution: Temporary fix: put back regexp. (closes #9852, closes #9851) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.4479 +Problem: No fuzzy completion for maps and abbreviations. +Solution: Fuzzy complete maps and abbreviations. (Yegappan Lakshmanan, + closes #9856) +Files: src/cmdexpand.c, src/map.c, src/proto/map.pro, src/search.c, + src/testdir/test_cmdline.vim + +Patch 8.2.4480 +Problem: Suspending with CTRL-Z does not work on Android. +Solution: Do not handle SIGTSTP. (closes #9854) +Files: src/os_unix.c + +Patch 8.2.4481 +Problem: Cmdline popup menu not removed when 'lazyredraw' is set. +Solution: Temporarily reset 'lazyredraw' when removing the popup menu. + (closes #9857) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_41.dump + +Patch 8.2.4482 +Problem: No fuzzy cmdline completion for user defined completion. +Solution: Add fuzzy completion for user defined completion. (Yegappan + Lakshmanan, closes #9858) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.4483 +Problem: Command completion makes two rounds to collect matches. +Solution: Use a growarray to collect matches. (Yegappan Lakshmanan, + closes #9860) +Files: src/buffer.c, src/cmdexpand.c, src/map.c, + src/testdir/test_cmdline.vim + +Patch 8.2.4484 +Problem: Vim9: some error messages are not tested. +Solution: Add a few more test cases. Delete dead code. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.4485 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize the variable. (John Marriott) +Files: src/cmdexpand.c + +Patch 8.2.4486 +Problem: MS-Windows GUI: slow scrolling with maximized window. +Solution: Use a better way to check the window is on screen. (Ken Takata, + closes #9865) +Files: src/gui_w32.c + +Patch 8.2.4487 +Problem: Vim9: cannot compare with v:null. +Solution: Allow comparing anything with v:null. (closes #9866) +Files: src/vim9instr.c, src/typval.c, src/proto/typval.pro, + src/vim9.h, src/vim9execute.c, src/evalvars.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4488 (after 8.2.4487) +Problem: Build error with +eval but without +channel or +job. +Solution: Add #ifdef. (John Marriott) +Files: src/typval.c + +Patch 8.2.4489 (after 8.2.4487) +Problem: Failing test for comparing v:null with number. +Solution: Allow comparing v:null with number in legacy script. + (Ken Takata, closes #9873) Also do this for float. +Files: src/typval.c, src/testdir/test_vimscript.vim + +Patch 8.2.4490 +Problem: Terminal focus reporting only works for xterm-like terminals. + (Jonathan Rascher) +Solution: Remove the "focus_mode" flag. (closes #9859) +Files: src/term.c + +Patch 8.2.4491 +Problem: MS-Windows makefile dependencies are outdated. +Solution: Update dependencies. (Ken Takata, closes #9876) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.2.4492 +Problem: No error if an option is given an invalid value with + ":let &opt = val". +Solution: Give the error. (closes #9864) +Files: src/evalvars.c, src/testdir/test_options.vim + +Patch 8.2.4493 (after 8.2.4492) +Problem: Options test fails in the GUI. +Solution: Do not save and restore 'term'. +Files: src/testdir/gen_opt_test.vim + +Patch 8.2.4494 +Problem: The find_tags() function is much too long. +Solution: Refactor the function. (Yegappan Lakshmanan, closes #9869) +Files: src/quickfix.c, src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.2.4495 +Problem: Help test fails in 24 line terminal. +Solution: Use up to 23 lines for text. +Files: src/testdir/test_help.vim + +Patch 8.2.4496 (after 8.2.4494) +Problem: Coverity gives warnings after tags code refactoring. +Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #9882) +Files: src/tag.c + +Patch 8.2.4497 +Problem: Wrong color for half of wide character next to pum scrollbar. +Solution: Redraw the screen cell with the right color. (closes #9874) +Files: src/screen.c, src/testdir/test_ins_complete.vim, + src/testdir/dumps/Test_scrollbar_on_wide_char.dump + +Patch 8.2.4498 +Problem: Using <Plug> with "noremap" does not work. +Solution: Always remap <Plug>. (closes #9879, closes #9789) +Files: runtime/doc/map.txt, src/getchar.c, src/testdir/test_mapping.vim + +Patch 8.2.4499 +Problem: Vim9: at the script level declarations leak from try block to + catch and finally block. +Solution: End the block and start a new one. (closes #9883) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4500 +Problem: Vim9: can declare a global variable on the command line. +Solution: Disallow declaring a variable on the command line. (closes #9881) +Files: src/errors.h, src/evalvars.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_script.vim, + src/testdir/dumps/Test_vim9_reject_declaration.dump + +Patch 8.2.4501 +Problem: With 'showbreak' set and after the end of the line the cursor + may be displayed in the wrong position. +Solution: Do not apply 'showbreak' after the end of the line. (closes #9884) +Files: src/charset.c, src/testdir/test_breakindent.vim, + src/testdir/dumps/Test_cursor_position_with_showbreak.dump + +Patch 8.2.4502 +Problem: In the GUI a modifier is not recognized for the key typed after + CTRL-X, which may result in a mapping to be used. (Daniel + Steinberg) +Solution: Recognize a modifier starting with CSI. (closes #9889) +Files: src/getchar.c, src/testdir/test_ins_complete.vim + +Patch 8.2.4503 +Problem: Vim9: there is no point in supporting :Print and :mode. +Solution: Do not recognize :Print and :mode as commands. (closes #9870) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4504 +Problem: When there is a partially matching map and modifyOtherKeys is + active a full map may not work. +Solution: Only simplify modifiers when there is no matching mapping. + (closes #8792) +Files: src/getchar.c, src/testdir/test_termcodes.vim + +Patch 8.2.4505 +Problem: Vim9: outdated "autocmd nested" still works. +Solution: Do not accept the :autocmd argument "nested" without "++" in Vim9 + script. +Files: src/autocmd.c, src/errors.h, src/testdir/test_autocmd.vim + +Patch 8.2.4506 +Problem: "pattern not found" for :global is not an error message. +Solution: In Vim9 script make this an actual error, so that try/catch can be + used as expected. +Files: src/ex_cmds.c, src/errors.h, src/testdir/test_global.vim + +Patch 8.2.4507 (after 8.2.4506) +Problem: Test fails because of new error message. +Solution: Avoid the test fails. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.4508 +Problem: Vim9: cannot assign to a global variable on the command line. +Solution: Allow using :vim9cmd for assignment on the command line. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim, + src/testdir/dumps/Test_vim9_reject_declaration.dump, + src/testdir/dumps/Test_vim9_reject_declaration_1.dump, + src/testdir/dumps/Test_vim9_reject_declaration_2.dump + +Patch 8.2.4509 +Problem: Vim9: can declare a variable with ":va". +Solution: Disallow using ":va", require using ":var". +Files: src/evalvars.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4510 +Problem: Vim9: shortening commands leads to confusing script. +Solution: In Vim9 script require at least ":cont" for ":continue", "const" + instead of "cons", "break" instead of "brea", "catch" instead of + "cat", "else" instead of "el" "elseif" instead of "elsei" "endfor" + instead of "endfo" "endif" instead of "en" "endtry" instead of + "endt", "finally" instead of "fina", "throw" instead of "th", + "while" instead of "wh". +Files: src/ex_cmds.h, src/ex_docmd.c, src/errors.h, src/evalvars.c, + src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4511 +Problem: Filetype test fails. +Solution: Change "endw" to "endwhile". +Files: runtime/autoload/dist/ft.vim + +Patch 8.2.4512 +Problem: The find_tags_in_file() function is much too long. +Solution: Refactor into multiple smaller functions. (Yegappan Lakshmanan, + closes #9892) +Files: Filelist, src/Makefile, src/quickfix.c, src/tag.c, + src/testdir/test83-tags2, src/testdir/test83-tags3, + src/testdir/test_tagjump.vim + +Patch 8.2.4513 +Problem: Window-local directory is not applied if 'acd' fails. +Solution: Don't call do_autochdir(). (closes #9891) +Files: src/window.c, src/testdir/test_autochdir.vim + +Patch 8.2.4514 +Problem: Vim9: some flow commands can be shortened. +Solution: Also require using the full name for ":return", ":enddef", + ":continue", ":export" and ":import". +Files: src/ex_cmds.h, src/ex_docmd.c, src/errors.h, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4515 +Problem: Old substitute syntax is still supported. +Solution: Disallow using backslash after ":s" in Vim9 script. +Files: src/ex_cmds.c, src/errors.h, src/testdir/test_substitute.vim + +Patch 8.2.4516 (after 8.2.4515) +Problem: Build failure without the +eval feature. +Solution: Move error message outside of #ifdef. +Files: src/errors.h + +Patch 8.2.4517 +Problem: MS-Windows: cannot specify location of sodium library. +Solution: Allow for using a path for SODIUM. (Ken Takata, closes #9896) +Files: src/Make_cyg_ming.mak + +Patch 8.2.4518 +Problem: The binary tag search feature is always enabled. +Solution: Remove the #ifdefs. Add a few more tests. (Yegappan Lakshmanan, + closes #9893) +Files: src/evalfunc.c, src/feature.h, src/tag.c, src/version.c, + src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim + +Patch 8.2.4519 +Problem: Vim9: Can still use ":fini" and ":finis" for ":finish". +Solution: Require using ":finish". +Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim + +Patch 8.2.4520 +Problem: Using wrong highlight for cursor line number. +Solution: Take filler lines into account when using CursorLineNr. + (closes #9897) +Files: src/drawline.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_with_cursorline_number_01.dump, + src/testdir/dumps/Test_diff_with_cursorline_number_02.dump + +Patch 8.2.4521 (after 8.2.4520) +Problem: Build failure without the +diff feature. (John Marriott) +Solution: Define filler+lines if not declaring it. +Files: src/drawline.c + +Patch 8.2.4522 (after 8.2.4492) +Problem: GUI test fails with Motif. (Dominique Pellé) +Solution: Remove using an invalid value for 'guifontset'. +Files: src/testdir/test_gui.vim + +Patch 8.2.4523 +Problem: When gvim is started maximized the 'window' option isn't set + properly. (Christian J. Robinson) +Solution: Check if 'windows' was already set or not. (Ken Takata, + closes #9904) +Files: src/term.c + +Patch 8.2.4524 +Problem: MS-Windows: cannot build with some sodium libraries. +Solution: Make the DLL name configurable. Add build instructions. + (Ken Takata, closes #9905) +Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/crypt.c + +Patch 8.2.4525 +Problem: Some GUI tests don't work on Athena. +Solution: Skip tests that won't work. (Yegappan Lakshmanan, closes #9902) +Files: src/testdir/test_gui.vim + +Patch 8.2.4526 +Problem: Vim9: cannot set variables to a null value. +Solution: Add null_list, null_job, etc. +Files: runtime/doc/vim9.txt, src/eval.c, src/proto/eval.pro, + src/vim9expr.c, src/vim9script.c, src/vim9instr.c, + src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/vim9type.c, + src/evalvars.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_expr.vim + +Patch 8.2.4527 +Problem: The Athena GUI is old and does not work well. +Solution: Remove the Athena GUI from configure to find out who still wants + support for this GUI. +Files: src/configure.ac, src/auto/configure, src/Makefile + +Patch 8.2.4528 +Problem: Crash when using null_function for a partial. +Solution: Don't call fname_trans_sid() with NULL. (closes #9908) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4529 +Problem: Vim9: comparing partial with function fails. +Solution: Support this comparison. Avoid a crash. (closes #9909) + Add more test cases. +Files: src/vim9instr.c, src/userfunc.c, src/vim9type.c, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vimscript.vim + +Patch 8.2.4530 +Problem: Making comparison with null work changes legacy behavior. +Solution: Only use the better comparison in Vim9 script. (closes #9910) +Files: src/typval.c, src/testdir/test_expr.vim + +Patch 8.2.4531 +Problem: LGTM warnings for condition always true and buffer size too small. +Solution: Remove the useless condition. Make the buffer larger. (Goc + Dundar, closes #9914) +Files: src/charset.c, src/term.c + +Patch 8.2.4532 +Problem: Suspending with CTRL-Z does not work on OpenBSD. +Solution: Adjust #ifdef for SIGTSTP. (Stuart Henderson, closes #9912) +Files: src/os_unix.c + +Patch 8.2.4533 +Problem: Vim9: no test that after assigning null the type is still checked. +Solution: Add a test. +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.4534 +Problem: Vim9: "is" operator with empty string and null returns true. +Solution: Consider empty string and null to be different for "is". +Files: src/typval.c, src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4535 +Problem: Filename modifier ":8" removes the filename. +Solution: Use strncpy() instead of vim_strncpy(). (Christian Brabandt, + closes #9918, closes #8600) +Files: src/filepath.c, src/testdir/test_shortpathname.vim + +Patch 8.2.4536 (after 8.2.4534) +Problem: Debugger test fails when breaking on expression. +Solution: Compare strings with "==" instead of "is". +Files: src/debugger.c + +Patch 8.2.4537 +Problem: Output from linter and language server shows up in git. +Solution: Add patterns to .gitignore. (Goc Dundar, closes #9925) +Files: .gitignore + +Patch 8.2.4538 +Problem: The find_tags_in_file() function is too long. +Solution: Refactor into smaller functions. (Yegappan Lakshmanan, + closes #9920) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.2.4539 +Problem: When comparing special v:none and v:null are handled the same when + compiling. +Solution: Pass more information so that v:none can be handled differently at + compile time. (issue #9923) +Files: src/vim9instr.c, src/vim9compile.c, src/globals.h, + src/testdir/test_vim9_expr.vim + +Patch 8.2.4540 +Problem: Line number for error is off by one. +Solution: Remember the line number of the comparison. (closes #9923) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4541 +Problem: Crash in debugger when a variable is not available in the current + block. +Solution: Check for a NULL name. (closes #9926) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.4542 +Problem: Vim9: "break" inside try/catch not handled correctly. +Solution: First jump to :endtry. (closes #9927) +Files: src/vim9cmds.c, src/vim9.h, src/testdir/test_vim9_script.vim + +Patch 8.2.4543 +Problem: Coverity warning for refactored tag search code. +Solution: Avoid the warnings. Update comments. Add one more test case. + (Yegappan Lakshmanan, closes #9928) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.2.4544 +Problem: Coverity warnings for not using returned value. +Solution: Assign to vim_ignored. +Files: src/tag.c + +Patch 8.2.4545 +Problem: MS-Windows: the installed icon is low resolution. +Solution: Use a better icon. Install vim.ico. (Christian Brabandt, + closes #9931, closes #9930) +Files: Filelist, nsis/gvim.nsi, src/vim.ico, runtime/bitmaps/vim.ico + +Patch 8.2.4546 +Problem: Duplicate #undef. +Solution: Remove one #undef. (closes #9932) +Files: src/regexp_nfa.c + +Patch 8.2.4547 +Problem: The neXTaw GUI is old and does not work well. +Solution: Remove the neXTaw GUI from configure to find out who still wants + support for this GUI. +Files: src/configure.ac, src/auto/configure, src/Makefile + +Patch 8.2.4548 +Problem: Script-local function is deleted when used in a funcref. +Solution: Do not consider a function starting with "<SNR>" reference + counted. (closes #9916, closes #9820) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4549 +Problem: Cannot build with Motif and editres. (Tony Mechelynck) +Solution: Fix configure mistake. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.4550 +Problem: Motif: cannot set the color of the scrollbar thumb. +Solution: Remove #ifdef. +Files: src/gui_motif.c + +Patch 8.2.4551 +Problem: When mapping <Esc> terminal codes are not recognized. +Solution: Specifically recognize a mapping with just <Esc> and check for + terminal codes even though there is no partial mapping. + (closes #9903) +Files: src/getchar.c, src/testdir/test_termcodes.vim + +Patch 8.2.4552 +Problem: In a :def function "put = expr" does not work. +Solution: Skip over white space. (closes #9936) +Files: src/vim9cmds.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4553 +Problem: Linear tag search is a bit slow. +Solution: Remove a vim_ftell() call. (Yegappan Lakshmanan, closes #9937) +Files: src/tag.c, src/testdir/test_taglist.vim + +Patch 8.2.4554 +Problem: Vim9: using null values not sufficiently tested. +Solution: Add more tests. Fix uncovered problem. +Files: src/vim9type.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.4555 +Problem: getmousepos() returns the wrong column. (Ernie Rael) +Solution: Limit to the text size, not the number of bytes. +Files: src/mouse.c, src/testdir/test_functions.vim + +Patch 8.2.4556 +Problem: Test fails without the +job or +channel feature. (Dominique Pellé) +Solution: Adjust #ifdefs. Pass on skip flag. (closes #9942) +Files: src/eval.c, src/vim9compile.c + +Patch 8.2.4557 +Problem: Confusing comment about 'cursorlineopt'. +Solution: Adjust comment. (closes #9939) Add parenthesis around logical + OR. +Files: src/drawline.c + +Patch 8.2.4558 +Problem: Motif: using default colors does not work as expected. +Solution: Do not try to store the default colors, use the resources. + (closes #9933) +Files: src/gui_motif.c, src/gui.h + +Patch 8.2.4559 (after 8.24555) +Problem: getmousepos() returns the screen column. (Ernie Rael) +Solution: Return the text column, as documented. +Files: src/mouse.c, src/testdir/test_functions.vim + +Patch 8.2.4560 +Problem: Suspending with CTRL-Z does not work on DragonFlyBSD. +Solution: Adjust #ifdef. (Ozaki Kiichi, closes #9943) +Files: src/os_unix.c + +Patch 8.2.4561 +Problem: Build failure with some combination of features. (John Marriott) +Solution: Adjust #ifdef. +Files: src/mouse.c + +Patch 8.2.4562 +Problem: Linear tag search is not optimal. +Solution: Improve linear tag search performance. (Yegappan Lakshmanan, + closes #9944) +Files: src/tag.c + +Patch 8.2.4563 +Problem: "z=" in Visual mode may go beyond the end of the line. +Solution: Adjust "badlen". +Files: src/spellsuggest.c, src/testdir/test_spell.vim + +Patch 8.2.4564 +Problem: Running test leaves file behind. (Dominique Pellé) +Solution: Run the profiling in a separate Vim instance. (closes #9952) +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.4565 +Problem: No command line completion for :breakadd and :breakdel. +Solution: Add completion for :breakadd and :breakdel. (Yegappan Lakshmanan, + closes #9950) +Files: runtime/doc/builtin.txt, src/cmdexpand.c, src/spellsuggest.c, + src/usercmd.c, src/vim.h, src/testdir/test_cmdline.vim, + src/testdir/test_writefile.vim + +Patch 8.2.4566 +Problem: Check for existing buffer in session file does not work for files + in the home directory. +Solution: Use fnamemodify(). (James Cherti, closes #9945) Add a test. +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.4567 +Problem: Bracketed paste doesn't work well in Visual linewise mode. +Solution: Handle linewise Visual mode differently. (closes #9947) +Files: src/normal.c, src/testdir/test_paste.vim + +Patch 8.2.4568 +Problem: getmousepos() does not compute the column below the last line. +Solution: Also compute the column when the mouse is below the last line. + (Sean Dewar, closes #9946) +Files: src/mouse.c, src/testdir/test_functions.vim + +Patch 8.2.4569 +Problem: Coverity warning for not using a return value. +Solution: Add "(void)". +Files: src/popupwin.c + +Patch 8.2.4570 +Problem: No command line completion for :profile and :profdel. +Solution: Implement completion. (Yegappan Lakshmanan, closes #9955) +Files: src/cmdexpand.c, src/profiler.c, src/testdir/test_cmdline.vim, + src/testdir/test_profile.vim + +Patch 8.2.4571 +Problem: Not all gdb files are recognized. +Solution: Add a few more patterns for gdb. (Jade Lovelace, closes #9956) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4572 +Problem: Vim9: return type "any" is sometimes changed to first returned + type. (Virginia Senioria) +Solution: Do not change the return type if declared as "any". (closes #9949) +Files: src/vim9cmds.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4573 +Problem: A nested function (closure) is compiled for debugging without + context. +Solution: Check if a nested function is marked for debugging before + compiling it. Give an error when trying to compile a closure + without its context. (closes #9951) +Files: src/vim9compile.c, src/vim9execute.c, src/proto/vim9execute.pro, + src/vim9expr.c, src/errors.h + +Patch 8.2.4574 +Problem: Vim9: test for profiling fails. +Solution: Mark function for profiling earlier to avoid E1271. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.4575 +Problem: Vim9: test for profiling still fails. +Solution: Update flags for profiling and breakpoints when obtaining the + compile type. Do not set the FC_CLOSURE flag for a toplevel + function. +Files: src/vim.h, src/vim9compile.c, src/proto/vim9compile.pro, + src/eval.c, src/vim9execute.c, src/vim9expr.c, src/vim9instr.c, + src/vim9.h + +Patch 8.2.4576 +Problem: Vim9: error for comparing with null can be annoying. +Solution: Allow comparing anything with null. (closes #9948) +Files: src/vim9instr.c, src/typval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4577 +Problem: Message test is flaky. (Elimar Riesebieter) +Solution: Trigger the autocommand event only after startup is finished. +Files: src/testdir/test_messages.vim + +Patch 8.2.4578 +Problem: No warning when an autoload script for completion function has an + error. +Solution: Do not ignore errors when a function name is given with a dot or + '#' character. (closes #9958) +Files: src/eval.c, src/testdir/test_cmdline.vim + +Patch 8.2.4579 +Problem: Cannot use page-up and page-down in the command line completion + popup menu. +Solution: Check for to page-up and page-down keys. (Yegappan Lakshmanan, + closes #9960) +Files: src/cmdexpand.c, src/ex_getln.c, src/spellsuggest.c, src/vim.h, + src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_42.dump, + src/testdir/dumps/Test_wildmenu_pum_43.dump, + src/testdir/dumps/Test_wildmenu_pum_44.dump, + src/testdir/dumps/Test_wildmenu_pum_45.dump, + src/testdir/dumps/Test_wildmenu_pum_46.dump, + src/testdir/dumps/Test_wildmenu_pum_47.dump, + src/testdir/dumps/Test_wildmenu_pum_48.dump, + src/testdir/dumps/Test_wildmenu_pum_49.dump, + src/testdir/dumps/Test_wildmenu_pum_50.dump + +Patch 8.2.4580 +Problem: Vim9: incorrect error for shadowing variable. +Solution: Do not pass the context when compiling a referenced function. +Files: src/vim9expr.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4581 +Problem: Null types not fully tested. +Solution: Add some more tests using null types. +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.4582 +Problem: Useless code handling a type declaration. +Solution: Remove the code and give an error. +Files: src/eval.c, src/errors.h, src/testdir/test_vim9_script.vim, + src/testdir/dumps/Test_misplaced_type.dump + +Patch 8.2.4583 (after 8.2.4582) +Problem: Screendump test fails. +Solution: Check that making a screendump is possible. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.4584 (after 8.2.4578) +Problem: Error for using autoload function in custom completion. +Solution: Do not check for errors when using an autoload function. + (closes #9962) +Files: src/eval.c, src/testdir/test_cmdline.vim + +Patch 8.2.4585 +Problem: Cannot use keypad page-up/down for completion menu. +Solution: Recognize the keypad keys. (Yegappan Lakshmanan, closes #9963) +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.4586 +Problem: Vim9: no error for using lower case name for "func" argument. + (Ernie Rael) +Solution: Check the name as soon as the type is known. +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4587 +Problem: Vim9: double free after unpacking a list. +Solution: Make a copy of the value instead of moving it. (closes #9968) +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4588 +Problem: Mapping with key code after other matching mapping does not work. +Solution: Change ">" to ">=". (closes #9903) +Files: src/getchar.c, src/testdir/test_termcodes.vim + +Patch 8.2.4589 +Problem: Cannot index the g: dictionary. +Solution: Recognize using "g:[key]". (closes #9969) +Files: src/ex_docmd.c, src/eval.c, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4590 +Problem: Vim9: range type check has wrong offset. +Solution: Adjust offset for CHECKTYPE. Remove other type check. +Files: src/vim9compile.c, src/vim9execute.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4591 +Problem: Cursor line not updated when a callback moves the cursor. +Solution: Check if the cursor moved. (closes #9970) +Files: src/main.c, src/drawscreen.c, src/proto/drawscreen.pro, + src/testdir/test_cursorline.vim, + src/testdir/dumps/Test_cursorline_callback_1.dump + +Patch 8.2.4592 +Problem: Search continues after giving E1204. +Solution: Return failure after giving E1204. (closes #9972) +Files: src/regexp_nfa.c + +Patch 8.2.4593 +Problem: Unnecessary call to redraw_later(). +Solution: Remove the call to redraw_later() in op_yank(). (closes #9971) +Files: src/register.c + +Patch 8.2.4594 +Problem: Need to write script to a file to be able to source them. +Solution: Make ":source" use lines from the current buffer. (Yegappan + Lakshmanan et al., closes #9967) +Files: runtime/doc/repeat.txt, runtime/doc/todo.txt, src/alloc.c, + src/digraph.c, src/eval.c, src/ex_cmds.h, src/scriptfile.c, + src/proto/scriptfile.pro, src/vim9script.c, + src/testdir/test_source.vim + +Patch 8.2.4595 +Problem: X11: using --remote-wait may keep the CPU busy. +Solution: Set the timeout for select() on every call. (Jacopo Secchiero, + closes #9973) +Files: src/if_xcmdsrv.c + +Patch 8.2.4596 +Problem: Installing tutor binary may fail. +Solution: Fix the dependency. (Sergei Trofimovich, closes #9978) +Files: src/Makefile + +Patch 8.2.4597 +Problem: LuaV_debug() not covered by tests. +Solution: Add a test. (Dominique Pellé, closes #9980) +Files: src/testdir/test_lua.vim + +Patch 8.2.4598 +Problem: Profile completion test sometimes fails. +Solution: Delete the .res file before running tests. +Files: src/testdir/runtest.vim + +Patch 8.2.4599 +Problem: GTK: get assertion errors when scrolling a split window. +Solution: Use GDK_IS_DRAWABLE() on the scrollbar window. (closes #9982) +Files: src/gui_gtk.c + +Patch 8.2.4600 +Problem: Vim9: not enough test coverage for executing :def function. +Solution: Add a few more tests. Fix inconsistencies. +Files: src/vim9execute.c, src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_listdict.vim, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.4601 +Problem: Vim9: not enough test coverage for executing :def function. +Solution: Add a few more tests. +Files: src/testdir/test_vim9_script.vim, src/testdir/test_vim9_func.vim, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.4602 +Problem: Vim9: not enough test coverage for executing :def function. +Solution: Add a few more tests. Fix uncovered problem. Remove dead code. +Files: src/vim9execute.c, src/vim9.h, src/vim9instr.c, + src/proto/vim9instr.pro, src/vim9compile.c, + src/testdir/test_vim9_script.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.4603 +Problem: Sourcing buffer lines is too complicated. +Solution: Simplify the code. Make it possible to source Vim9 script lines. + (Yegappan Lakshmanan, closes #9974) +Files: runtime/doc/repeat.txt, src/ex_docmd.c, src/proto/scriptfile.pro, + src/scriptfile.c, src/structs.h, src/testdir/test_source.vim + +Patch 8.2.4604 +Problem: Error for redefining a script item may be confusing. +Solution: Put quotes around the name. +Files: src/errors.h + +Patch 8.2.4605 +Problem: Error for arguments of remote_expr() even when the +clientserver + feature is not included. +Solution: Move #ifdef. +Files: src/clientserver.c + +Patch 8.2.4606 (after 8.2.4605) +Problem: Test fails because of changed error message. +Solution: Update the expected error message +Files: src/testdir/test_vim9_import.vim + +Patch 8.2.4607 +Problem: Sourcing buffer lines may lead to errors for conflicts. +Solution: Add the ++clear argument. (Yegappan Lakshmanan, closes #9991) +Files: runtime/doc/repeat.txt, src/scriptfile.c, src/vim9script.c, + src/proto/vim9script.pro, src/testdir/test_source.vim + +Patch 8.2.4608 +Problem: getcompletion() does not work properly when 'wildoptions' + contains "fuzzy". +Solution: Do not use addstar(). (Yegappan Lakshmanan, closes #9992, + closes #9986) +Files: runtime/doc/builtin.txt, src/cmdexpand.c, + src/testdir/test_cmdline.vim + +Patch 8.2.4609 +Problem: :unhide does not check for failing to close a window. +Solution: When closing a window fails continue with the next one. Do not + try closing the autocmd window. (closes #9984) +Files: src/buffer.c, src/window.c, src/proto/window.pro, + src/testdir/test_autocmd.vim + +Patch 8.2.4610 +Problem: Some conditions are always true. +Solution: Remove the useless conditions. (closes #9993) +Files: src/clientserver.c, src/drawline.c, src/drawscreen.c, + src/ex_cmds.c, src/fileio.c, src/message.c, src/misc2.c, + src/ops.c, src/sign.c, src/spell.c, src/vim9cmds.c, src/window.c + +Patch 8.2.4611 +Problem: Typos in tests; one lua line not covered by test. +Solution: Fix typos. Add test case. (Dominique Pellé, closes #9994) +Files: src/testdir/test_breakindent.vim, src/testdir/test_crypt.vim, + src/testdir/test_cursorline.vim, src/testdir/test_digraph.vim, + src/testdir/test_gui.vim, src/testdir/test_lua.vim, + src/testdir/test_regexp_latin.vim, src/testdir/test_signals.vim, + src/testdir/test_spell.vim, src/testdir/test_statusline.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vimscript.vim + +Patch 8.2.4612 +Problem: Vim9: cannot use a recursive call in a nested function. (Sergey + Vlasov) +Solution: Define the funcref before compiling the function. (closes #9989) +Files: src/vim9compile.c, src/vim9instr.c, src/proto/vim9instr.pro, + src/vim9expr.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4613 +Problem: Return type of swapfile_unchanged() is wrong. +Solution: Use "int". (closes #10000 Yeah!) +Files: src/memline.c + +Patch 8.2.4614 +Problem: Redrawing too much when 'cursorline' is set and jumping around. +Solution: Rely on win_update() to redraw the current and previous cursor + line, do not mark lines as modified. (closes #9996) +Files: src/drawline.c, src/drawscreen.c, src/move.c, src/proto/move.pro, + src/option.c + +Patch 8.2.4615 +Problem: Mapping with escaped bar does not work in :def function. (Sergey + Vlasov) +Solution: Do not remove the backslash. (closes #10002) +Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/syntax.c, + src/vim9cmds.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4616 +Problem: Vim9: Declarations in a {} block of a user command do not use Vim9 + rules if defined in a legacy script. (Yegappan Lakshmanan) +Solution: Pretend the script is Vim9 script. +Files: src/usercmd.c, src/testdir/test_usercommands.vim + +Patch 8.2.4617 +Problem: No completion for :scriptnames. +Solution: Implement :scriptnames completion. (Yegappan Lakshmanan, + closes #10005) +Files: runtime/doc/builtin.txt, src/cmdexpand.c, src/ex_cmds.h, + src/scriptfile.c, src/usercmd.c, src/vim.h, + src/testdir/test_cmdline.vim, src/testdir/test_quickfix.vim + +Patch 8.2.4618 +Problem: Command line completion does not recognize single letter commands. +Solution: Use the condition from find_ex_command(). +Files: src/ex_docmd.c + +Patch 8.2.4619 +Problem: Mapping is cancelled when mouse moves and popup is visible. +Solution: Only generate mouse moved events when a popup may use them. + (closes #10004) +Files: src/gui.c, src/globals.h, src/popupwin.c + +Patch 8.2.4620 (after 8.2.4618) +Problem: Two letter substitute commands don't work. (Yegappan Lakshmanan) +Solution: Invert condition. +Files: src/ex_docmd.c + +Patch 8.2.4621 +Problem: Crash when using the tabline right-click menu. +Solution: Use XtPointer for XmNuserData. (closes #10009) +Files: src/gui_motif.c + +Patch 8.2.4622 +Problem: Vim9: Crash with :execute and :finish. (Sergey Vlasov) +Solution: Check for NULL. (closes #10011) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4623 +Problem: Coverity warns for using uninitialized field. +Solution: Initialize the field to zero. +Files: src/ex_docmd.c + +Patch 8.2.4624 +Problem: Old Coverity warning for resource leak. +Solution: Close the file if memory allocation fails. +Files: src/diff.c + +Patch 8.2.4625 +Problem: Old Coverity warning for resource leak. +Solution: Call FreeWild() if expanding matches did not fail. +Files: src/help.c + +Patch 8.2.4626 +Problem: Visual area not fully updated when removing sign in Visual mode + while scrolling. +Solution: Adjust check for topline. (closes #10017) +Files: src/drawscreen.c, src/testdir/test_display.vim, + src/testdir/dumps/Test_display_scroll_update_visual.dump + +Patch 8.2.4627 +Problem: flatten() does not use maxdepth correctly. +Solution: Use a recursive implementation. (closes #10020) +Files: src/list.c, src/testdir/test_flatten.vim + +Patch 8.2.4628 +Problem: Not enough testing for 2/3 letter substitute commands. +Solution: Add more tests. (Yegappan Lakshmanan, closes #10019) +Files: src/testdir/test_cmdline.vim, src/testdir/test_substitute.vim + +Patch 8.2.4629 +Problem: flattennew() makes a deep copy unnecessarily. +Solution: Use a shallow copy. (issue #10012) +Files: src/list.c + +Patch 8.2.4630 +Problem: 'cursorline' not always updated with 'cursorlineopt' is + "screenline". +Solution: Call check_redraw_cursorline() more often. (closes #10013) +Files: src/normal.c, src/edit.c, src/testdir/test_cursorline.vim, + src/testdir/dumps/Test_cursorline_screenline_1.dump, + src/testdir/dumps/Test_cursorline_screenline_2.dump + +Patch 8.2.4631 +Problem: Crash when switching window in BufWipeout autocommand. +Solution: Put any buffer in the window to avoid it being NULL. + (closes #10024) +Files: src/window.c, src/buffer.c, src/testdir/test_autocmd.vim + +Patch 8.2.4632 +Problem: Using freed memory in flatten(). +Solution: Clear typval after recursing into list. +Files: src/list.c + +Patch 8.2.4633 +Problem: Visual range does not work before command modifiers. +Solution: Move Visual range to after command modifiers. +Files: src/ex_docmd.c, src/testdir/test_source.vim + +Patch 8.2.4634 +Problem: Vim9: cannot initialize a variable to null_list. +Solution: Give negative count to NEWLIST. (closes #10027) + Also fix inconsistencies in comparing with null values. +Files: src/vim9instr.c, src/proto/vim9instr.pro, src/vim9.h, + src/vim9compile.c, src/vim9expr.c, src/vim9execute.c, + src/evalvars.c, src/typval.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4635 (after 8.2.4634) +Problem: Tests using null list or dict fail. +Solution: Only use the new rules for Vim9 script. +Files: src/evalvars.c + +Patch 8.2.4636 (after 8.2.4633) +Problem: Not using Visual range. +Solution: Put the command pointer back to the range. +Files: src/ex_docmd.c + +Patch 8.2.4637 +Problem: Warning for using uninitialized variable. (Tony Mechelynck) +Solution: Initialize it. +Files: src/ex_docmd.c + +Patch 8.2.4638 +Problem: Superfluous check if a redraw is needed for 'cursorline'. +Solution: Remove check_redraw_cursorline(). (closes #10030, closes #10029) +Files: src/drawscreen.c, src/proto/drawscreen.pro, src/edit.c, + src/main.c, src/normal.c, src/move.c, + src/testdir/dumps/Test_cursorcolumn_callback_1.dump, + src/testdir/dumps/Test_relativenumber_callback_1.dump, + src/testdir/test_highlight.vim, src/testdir/test_number.vim + +Patch 8.2.4639 +Problem: Not sufficient parenthesis in preprocessor macros. +Solution: Add more parenthesis. (closes #10031) +Files: src/globals.h, src/gui.h, src/if_py_both.h, src/macros.h, + src/option.h, src/regexp.h, src/spell.h, src/structs.h, src/vim.h, + src/vim9.h + +Patch 8.2.4640 +Problem: Some boolean options use "long" instead of "int". +Solution: Adjust the type. (James McCoy, closes #10033) +Files: src/option.h + +Patch 8.2.4641 +Problem: May mark the wrong window for redrawing. +Solution: Use redraw_win_later(). (closes #10032) +Files: src/move.c + +Patch 8.2.4642 +Problem: Vim9: in :def function script var cannot be null. +Solution: Only initialize a script variable when not set to a null value. + (closes #10034) +Files: src/vim9execute.c, src/vim9type.c, src/globals.h, src/evalvars.c, + src/vim.h, src/vim9script.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4643 +Problem: Vim9: variable may be locked unintentionally. +Solution: Clear "v_lock". (closes #10036) +Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4644 +Problem: Redrawing too often when 'relativenumber' is set. +Solution: Only redraw when the cursor line changed. (Lewis Russell, + closes #10040) +Files: src/change.c, src/drawscreen.c, src/structs.h + +Patch 8.2.4645 +Problem: 'shortmess' changed when session does not store options. +Solution: Save and restore 'shortmess' if needed. (James Cherti, + closes #10037) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.4646 +Problem: Using buffer line after it has been freed in old regexp engine. +Solution: After getting mark get the line again. +Files: src/regexp_bt.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.4647 +Problem: "source" can read past end of copied line. +Solution: Add a terminating NUL. +Files: src/scriptfile.c, src/testdir/test_source.vim + +Patch 8.2.4648 +Problem: Handling LSP messages is a bit slow. +Solution: Included support for LSP messages. (Yegappan Lakshmanan, + closes #10025) +Files: runtime/doc/channel.txt, src/channel.c, src/job.c, src/json.c, + src/proto/json.pro, src/structs.h, src/testdir/test_channel.vim, + src/testdir/test_channel_lsp.py + +Patch 8.2.4649 +Problem: Various formatting problems. +Solution: Improve the code formatting. +Files: src/mark.c, src/quickfix.c, src/regexp_nfa.c, src/register.c, + src/testdir/test_filechanged.vim, src/gui_athena.c, + src/gui_motif.c, src/os_unix.c + +Patch 8.2.4650 +Problem: "import autoload" only works with using 'runtimepath'. +Solution: Also support a relative and absolute file name. +Files: runtime/doc/vim9.txt, src/structs.h, src/scriptfile.c, + src/proto/scriptfile.pro, src/vim9script.c, src/vim9expr.c, + src/vim9.h, src/vim9execute.c, src/vim9instr.c, + src/proto/vim9instr.pro, src/vim.h, src/userfunc.c, + src/proto/userfunc.pro, src/testdir/test_vim9_import.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4651 (after 8.2.4650) +Problem: Test fails because path differs. +Solution: Only compare the tail of the path. +Files: src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4652 (after 8.2.4650) +Problem: Leaking memory if assignment fails. +Solution: Clear assigned value on failure. +Files: src/vim9execute.c + +Patch 8.2.4653 +Problem: "import autoload" does not check the file name. +Solution: Give an error if the file is not readable. (closes #10049) +Files: src/filepath.c, src/proto/filepath.pro, src/errors.h, + src/ex_cmds.c, src/ex_docmd.c, src/spellfile.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4654 (after 8.2.4653) +Problem: Missing changes for import check. +Solution: Add missing changes. +Files: src/vim9script.c + +Patch 8.2.4655 +Problem: Command line completion popup menu positioned wrong when using a + terminal window. +Solution: Position the popup menu differently when editing the command line. + (Yegappan Lakshmanan, closes #10050, closes #10035) +Files: src/popupmenu.c, src/testdir/test_cmdline.vim, + src/testdir/test_terminal.vim, + src/testdir/dumps/Test_wildmenu_pum_term_01.dump + +Patch 8.2.4656 +Problem: Vim9: can't use items from "import autoload" with autoload + directory name. +Solution: Let sn_autoload_prefix overrule sn_import_autoload. + (closes #10054) +Files: src/structs.h, src/vim9instr.c, src/vim9expr.c, src/vim9script.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4657 +Problem: Errors for functions are sometimes hard to read. +Solution: Use printable_func_name() in more places. +Files: src/vim9execute.c, src/userfunc.c, src/proto/userfunc.pro, + src/vim9expr.c, src/eval.c, src/vim9instr.c, src/vim9type.c, + src/testdir/test_vim9_expr.vim + +Patch 8.2.4658 +Problem: Org-mode files are not recognized. +Solution: Add patterns to recognize "org" files. (closes #10046) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4659 +Problem: Invalid memory access when using printable function name. +Solution: Adjust copied name length. +Files: src/userfunc.c + +Patch 8.2.4660 +Problem: Cursorcolumn is sometimes not correct. +Solution: Recompute the cursor column when entering Insert mode and the + cursor is on a character wider than a screen cell. (closes #10057) +Files: src/edit.c, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_cursorcolumn_insert_on_tab_1.dump, + src/testdir/dumps/Test_cursorcolumn_insert_on_tab_2.dump + +Patch 8.2.4661 +Problem: Coverity warning for using uninitialized variable. +Solution: Initialize variable to NULL. +Files: src/vim9expr.c + +Patch 8.2.4662 +Problem: No error for using out of range list index. +Solution: Check list index at script level like in compiled function. + (closes #10051) +Files: src/vim.h, src/evalvars.c, src/list.c, src/proto/list.pro, + src/eval.c, src/vim9execute.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.4663 +Problem: Occasional crash when running the GUI tests. +Solution: Check that the line index is not too high. (closes #8681) +Files: src/screen.c + +Patch 8.2.4664 +Problem: Elvish files are not recognized. +Solution: Recognize .elv files. (Bruno Roque, closes #10058) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4665 +Problem: Popup with "minwidth" and scrollbar not updated properly. +Solution: Adjust the computation if the window width. (closes #10061) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_previewpopup_4.dump, + src/testdir/dumps/Test_popupwin_previewpopup_5.dump, + src/testdir/dumps/Test_popupwin_previewpopup_7.dump, + src/testdir/dumps/Test_popupwin_previewpopup_8.dump, + src/testdir/dumps/Test_popupwin_previewpopup_9.dump, + src/testdir/dumps/Test_popupwin_previewpopup_10.dump, + src/testdir/dumps/Test_popupwin_drag_minwidth_1.dump, + src/testdir/dumps/Test_popupwin_drag_minwidth_2.dump, + src/testdir/dumps/Test_popupwin_drag_minwidth_3.dump + +Patch 8.2.4666 +Problem: Vim9: assignment not recognized in skipped block. +Solution: When skipping assume identifier exists. (closes #10059) +Files: src/vim9compile.c, src/proto/vim9compile.pro, src/vim9cmds.c, + src/testdir/test_vim9_cmd.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.4667 +Problem: expandcmd() fails on an error. +Solution: On failure return the command unmodified. (Yegappan Lakshmanan, + closes #10063) +Files: runtime/doc/builtin.txt, src/evalfunc.c, + src/testdir/test_expand.vim + +Patch 8.2.4668 +Problem: Buffer allocation failures insufficiently tested. +Solution: Add tests for memory allocation failures. (Yegappan Lakshmanan, + closes #10064) +Files: src/alloc.h, src/buffer.c, src/popupwin.c, src/window.c, + src/testdir/test_buffer.vim, src/testdir/test_swap.vim + +Patch 8.2.4669 +Problem: In compiled code len('string') is not inlined. +Solution: Compute the length at compile time if possible. (closes #10065) +Files: src/evalfunc.c, src/proto/evalfunc.pro, src/vim9expr.c, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4670 +Problem: Memory allocation failures for new tab page not tested. +Solution: Add tests with failing memory allocation. (Yegappan Lakshmanan, + closes #10067) +Files: src/alloc.h, src/blob.c, src/buffer.c, src/window.c, + src/testdir/test_blob.vim, src/testdir/test_buffer.vim, + src/testdir/test_tabpage.vim, src/testdir/test_window_cmd.vim + +Patch 8.2.4671 +Problem: 'wildignorecase' is sometimes not used for glob(). +Solution: Also use 'wildignorecase' when there are no wildcards. + (closes #10066, closes #8350) +Files: src/filepath.c, src/testdir/test_functions.vim + +Patch 8.2.4672 +Problem: Using :normal with Ex mode may make :substitute hang. +Solution: When getting an empty line behave like 'q' was typed. + (closes #10070) +Files: src/ex_cmds.c, src/testdir/test_normal.vim + +Patch 8.2.4673 +Problem: Redrawing a vertically split window is slow when using CTRL-F and + CTRL-B. +Solution: When deciding on USE_REDRAW bail out if scrolling more than three + lines. (issue #8002) +Files: src/screen.c + +Patch 8.2.4674 +Problem: Cannot force getting MouseMove events. +Solution: Add the 'mousemoveevent' option with implementation for the GUI. + (Ernie Rael, closes #10044) +Files: runtime/doc/gui.txt, runtime/doc/options.txt, + runtime/doc/testing.txt, src/gui.c, src/option.h, + src/optiondefs.h, src/testing.c, src/testdir/test_gui.vim + +Patch 8.2.4675 +Problem: No error for missing expression after :elseif. (Ernie Rael) +Solution: Check for missing expression. (closes #10068) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4676 (after 8.2.4675) +Problem: Test fails with different error. +Solution: Add argument to :elseif. +Files: src/testdir/test_vimscript.vim + +Patch 8.2.4677 +Problem: The Athena GUI support is outdated. +Solution: Remove the Athena GUI code. +Files: Filelist, src/Makefile, src/proto.h, src/clipboard.c, + src/gui_athena.c, src/proto/gui_athena.pro, src/gui_at_sb.c, + src/gui_at_sb.h, src/gui_at_fs.c, src/gui_motif.c, src/evalfunc.c, + src/gui.c, src/gui_beval.c, src/gui_x11.c, src/if_mzsch.c, + src/main.c, src/menu.c, src/mouse.c, src/version.c, src/feature.h, + src/gui.h, src/structs.h, src/vim.h, src/testdir/gui_init.vim, + src/testdir/setup_gui.vim, src/testdir/test_clientserver.vim, + src/testdir/test_edit.vim, src/testdir/test_gui.vim, + src/testdir/test_highlight.vim, src/testdir/test_quotestar.vim, + src/testdir/test_startup.vim, runtime/doc/gui.txt, + runtime/doc/gui_x11.txt + +Patch 8.2.4678 +Problem: Vim9: not all code is tested. +Solution: Add a few more tests. +Files: src/vim9execute.c, src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_import.vim, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4679 +Problem: Cannot have expandcmd() give an error message for mistakes. +Solution: Add an optional argument to give errors. Fix memory leak when + expanding files fails. (Yegappan Lakshmanan, closes #10071) +Files: runtime/doc/builtin.txt, src/evalfunc.c, src/filepath.c, + src/testdir/test_expand.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4680 +Problem: Build failure without +postscript. +Solution: Use another error message. +Files: src/vim9execute.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4681 +Problem: Build fails with a combination of features. +Solution: Remove #ifdef for alloc_clear_id(). (John Marriott) +Files: src/alloc.c + +Patch 8.2.4682 +Problem: Vim9: can use :unlockvar for const variable. (Ernie Rael) +Solution: Check whether the variable is a const. +Files: src/ex_docmd.c, src/evalvars.c, src/vim9script.c, + src/proto/vim9script.pro, src/eval.c, src/userfunc.c, + src/testdir/test_vim9_cmd.vim + +Patch 8.2.4683 +Problem: Verbose check with dict_find() to see if a key is present. +Solution: Add dict_has_key(). (Yegappan Lakshmanan, closes #10074) +Files: src/channel.c, src/dict.c, src/evalwindow.c, src/filepath.c, + src/highlight.c, src/json.c, src/match.c, src/popupwin.c, + src/proto/dict.pro, src/quickfix.c, src/search.c, src/sign.c, + src/tag.c, src/terminal.c, src/testing.c, src/textprop.c, + src/time.c + +Patch 8.2.4684 +Problem: Cannot open a channel on a Unix domain socket. +Solution: Add Unix domain socket support. (closes #10062) +Files: runtime/doc/channel.txt, src/channel.c, src/testdir/check.vim, + src/testdir/shared.vim, src/testdir/test_channel.py, + src/testdir/test_channel.vim, src/testdir/test_channel_unix.py, + src/testdir/test_cmdline.vim + +Patch 8.2.4685 +Problem: When a swap file is found for a popup there is no dialog and the + buffer is loaded anyway. +Solution: Silently load the buffer read-only. (closes #10073) +Files: runtime/doc/popup.txt, src/memline.c, src/popupwin.c, src/vim.h, + src/buffer.c, src/testdir/test_popupwin.vim + +Patch 8.2.4686 +Problem: Configure doesn't find the Motif library with Cygwin. +Solution: Check for libXm.dll.a. (Kelvin Lee, closes #10077) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.4687 +Problem: "vimgrep /\%v/ *" may cause a crash. +Solution: When compiling the pattern with the old engine fails, restore the + regprog of the new engine instead of leaving it NULL. + (closes #10079) +Files: src/regexp.c + +Patch 8.2.4688 +Problem: New regexp engine does not give an error for "\%v". +Solution: Check for a value argument. (issue #10079) +Files: src/regexp_nfa.c, src/errors.h, src/regexp_bt.c, + src/testdir/test_regexp_latin.vim + +Patch 8.2.4689 +Problem: Using <Cmd> in a mapping does not work for mouse keys in Insert + mode. (Sergey Vlasov) +Solution: When reading the <Cmd> argument do not use the stuff buffer. + (closes #10080) +Files: src/getchar.c + +Patch 8.2.4690 +Problem: Channel tests fail on MS-Windows. +Solution: Check if the AF_UNIX attribute exists. (closes #10083) +Files: src/testdir/test_channel.py, src/testdir/test_channel_unix.py + +Patch 8.2.4691 (after 8.2.4689) +Problem: Solution for <Cmd> in a mapping causes trouble. +Solution: Use another solution: put back CTRL-O after reading the <Cmd> + sequence. +Files: src/getchar.c + +Patch 8.2.4692 +Problem: No test for what 8.2.4691 fixes. +Solution: Add a test. Use a more generic solution. (closes #10090) +Files: src/getchar.c, src/mouse.c, src/testdir/test_mapping.vim + +Patch 8.2.4693 (after 8.2.4688) +Problem: new regexp does not accept pattern "\%>0v". +Solution: Do accept digit zero. +Files: src/regexp_bt.c, src/regexp_nfa.c, + src/testdir/test_regexp_latin.vim + +Patch 8.2.4694 +Problem: Avoidance of #elif causes more preproc nesting. +Solution: Use #elif where it is useful. (Ozaki Kiichi, closes #10081) +Files: src/option.c, src/optiondefs.h, src/optionstr.c, src/version.c + +Patch 8.2.4695 +Problem: JSON encoding could be faster. +Solution: Optimize encoding JSON strings. (closes #10086) +Files: src/json.c, src/testdir/test_json.vim + +Patch 8.2.4696 +Problem: delete() with "rf" argument does not report a failure. +Solution: Return -1 if the directory could not be removed. (closes #10078) +Files: src/fileio.c, src/testdir/test_functions.vim + +Patch 8.2.4697 +Problem: Vim9: crash when adding a duplicate key to a dictionary. +Solution: Clear the stack item when it has been moved into the dictionary. + (closes #10087) +Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4698 +Problem: Vim9: script variable has no flag that it was set. +Solution: Add a flag that it was set, to avoid giving it a value when used. + (closes #10088) +Files: src/structs.h, src/vim9script.c, src/vim9execute.c, + src/evalvars.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4699 +Problem: Hard to reproduce hang when reading from a channel. +Solution: Check for readahead before starting to wait. (closes #10093, + closes #7781, closes #6364) +Files: src/channel.c + +Patch 8.2.4700 +Problem: Buffer remains active if a WinClosed event throws an exception. +Solution: Ignore aborting() when closing the buffer. (closes #10097) +Files: src/window.c, src/testdir/test_autocmd.vim + +Patch 8.2.4701 +Problem: Kuka Robot Language files not recognized. +Solution: Recognize *.src and *.dat files. (Patrick Meiser-Knosowski, + closes #10096) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim, + runtime/autoload/dist/ft.vim + +Patch 8.2.4702 +Problem: C++ scope labels are hard-coded. +Solution: Add 'cinscopedecls' to define the labels. (Rom Praschan, + closes #10109) +Files: runtime/doc/indent.txt, runtime/doc/options.txt, + runtime/doc/quickref.txt, runtime/optwin.vim, src/buffer.c, + src/cindent.c, src/option.c, src/option.h, src/optiondefs.h, + src/optionstr.c, src/structs.h, src/testdir/test_cindent.vim + +Patch 8.2.4703 (after 8.2.4702) +Problem: Memory leak in handling 'cinscopedecls'. +Solution: Free the memory before returning. +Files: src/cindent.c + +Patch 8.2.4704 +Problem: Using "else" after return or break increases indent. +Solution: Remove "else" and reduce indent. (Goc Dundar, closes #10099) +Files: src/fileio.c, src/memline.c, src/option.c, src/syntax.c + +Patch 8.2.4705 +Problem: reg_executing may not be cleared. +Solution: Reset reg_executing later. (closes #10111, closes #10110) +Files: src/ex_docmd.c, src/getchar.c, src/globals.h, src/structs.h, + src/testdir/test_registers.vim + +Patch 8.2.4706 +Problem: Buffer remains active if a WinClosed event throws an exception + when there are multiple tabpages. +Solution: Ignore aborting() when closing the buffer. (closes #10101) +Files: src/window.c, src/testdir/test_autocmd.vim + +Patch 8.2.4707 +Problem: Redrawing could be a bit more efficient. +Solution: Optimize redrawing. (closes #10105) +Files: src/change.c, src/edit.c, src/testdir/test_highlight.vim, + src/testdir/dumps/Test_cursorcolumn_insert_on_tab_3.dump + +Patch 8.2.4708 +Problem: PHP test files are not recognized. +Solution: Add the *.phpt pattern. (Julien Voisin, closes #10112) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4709 +Problem: After :redraw the statusline highlight might be used. +Solution: Clear the screen attribute after redrawing the screen. + (closes #10108) +Files: src/ex_docmd.c + +Patch 8.2.4710 +Problem: Smart indenting does not work after completion. +Solution: Set "can_si". (Christian Brabandt, closes #10113, closes #558) +Files: src/edit.c, src/testdir/test_ins_complete.vim + +Patch 8.2.4711 +Problem: When 'insermode' is set :edit from <Cmd> mapping misbehaves. +Solution: Don't set "need_start_insertmode" when already in Insert mode. + (closes #10116) +Files: src/ex_cmds.c, src/testdir/test_edit.vim + +Patch 8.2.4712 +Problem: Only get profiling information after exiting. +Solution: Add "profile dump" and "profile stop". (Marco Hinz, Yegappan + Lakshmanan, closes #10107) +Files: runtime/doc/repeat.txt, src/profiler.c, + src/testdir/test_profile.vim + +Patch 8.2.4713 +Problem: Plugins cannot track text scrolling. +Solution: Add the WinScrolled event. (closes #10102) +Files: runtime/doc/autocmd.txt, src/autocmd.c, src/proto/autocmd.pro, + src/edit.c, src/gui.c, src/main.c, src/structs.h, src/vim.h, + src/window.c, src/proto/window.pro, src/testdir/test_autocmd.vim + +Patch 8.2.4714 +Problem: Using g:filetype_dat and g:filetype_src not tested. +Solution: Add a test. (Patrick Meiser-Knosowski, closes #10117) +Files: src/testdir/test_filetype.vim + +Patch 8.2.4715 +Problem: Vagrantfile not recognized. +Solution: Recognize Vagrantfile as ruby. (Julien Voisin, closes #10119) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4716 +Problem: Memory allocation failure not tested when defining a function. +Solution: Add a test. (Yegappan Lakshmanan, closes #10127) +Files: src/alloc.c, src/alloc.h, src/proto/alloc.pro, src/userfunc.c, + src/testdir/test_user_func.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.4717 +Problem: For TextYankPost v:event does not contain information about the + operation being inclusive or not. +Solution: Add "inclusive" to v:event. (Justin M. Keyes, Yegappan Lakshmanan, + closes #10125) +Files: runtime/doc/autocmd.txt, src/register.c, + src/testdir/test_autocmd.vim + +Patch 8.2.4718 +Problem: @@@ in the last line sometimes drawn in the wrong place. +Solution: Make sure the column is valid. (closes #10130) +Files: src/drawscreen.c, src/screen.c, src/testdir/test_display.vim + src/testdir/dumps/Test_display_lastline_1.dump, + src/testdir/dumps/Test_display_lastline_2.dump, + src/testdir/dumps/Test_display_lastline_3.dump, + src/testdir/dumps/Test_display_lastline_4.dump + +Patch 8.2.4719 +Problem: ">" marker sometimes not displayed in the jumplist. +Solution: If the buffer no longer exists show "-invalid-". (Christian + Brabandt, closes #10131, closes #10100) +Files: runtime/doc/motion.txt, src/mark.c, src/testdir/Make_all.mak, + src/testdir/test_alot.vim, src/testdir/test_jumplist.vim, + src/testdir/test_jumps.vim + +Patch 8.2.4720 +Problem: ABB Rapid files are not recognized properly. +Solution: Add checks for ABB Rapid files. (Patrick Meiser-Knosowski, + closes #10104) +Files: runtime/autoload/dist/ft.vim, runtime/doc/filetype.txt, + runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4721 +Problem: Cooklang files are not recognized. +Solution: recognize *.cook files. (Goc Dundar, closes #10120) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4722 +Problem: When a recording is ended with a mapped key that key is also + recorded. +Solution: Remember the previous last_recorded_len. (closes #10122) +Files: src/getchar.c, src/testdir/test_registers.vim + +Patch 8.2.4723 +Problem: The ModeChanged autocmd event is inefficient. +Solution: Avoid allocating memory. (closes #10134) Rename + trigger_modechanged() to may_trigger_modechanged(). +Files: src/misc1.c, src/proto/misc1.pro, src/edit.c, src/ex_docmd.c, + src/ex_getln.c, src/insexpand.c, src/normal.c, src/terminal.c, + src/autocmd.c + +Patch 8.2.4724 +Problem: Current instance of last search pattern not easily spotted. +Solution: Add CurSearch highlighting. (closes #10133) +Files: runtime/doc/options.txt, runtime/doc/syntax.txt, src/highlight.c, + src/match.c, src/normal.c, src/optiondefs.h, src/structs.h, + src/vim.h, src/normal.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_cursearch_multiple_line.dump, + src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump, + src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump, + src/testdir/dumps/Test_hlsearch_cursearch_single_line_3.dump + +Patch 8.2.4725 (after 8.2.4724) +Problem: Unused variable in tiny build. +Solution: Add #ifdef. +Files: src/normal.c + +Patch 8.2.4726 +Problem: Cannot use expand() to get the script name. +Solution: Support expand('<script>'). (closes #10121) +Files: runtime/doc/cmdline.txt, src/errors.h, src/ex_docmd.c, + src/scriptfile.c, src/vim.h, src/testdir/test_expand.vim + +Patch 8.2.4727 +Problem: Unused code. +Solution: Remove code and add #ifdefs. (Dominique Pellé, closes #10136) +Files: runtime/doc/editing.txt, runtime/doc/eval.txt, + runtime/doc/vim9.txt, src/errors.h, src/option.c, src/search.c, + src/proto/search.pro + +Patch 8.2.4728 +Problem: No test that v:event cannot be modified. +Solution: Add a test. (closes #10139) +Files: src/testdir/test_autocmd.vim + +Patch 8.2.4729 +Problem: HEEx and Surface templates do not need a separate filetype. +Solution: Use Eelixir for the similar filetypes. (Aaron Tinio, closes #10124) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4730 +Problem: MS-Windows GUI: cannot use CTRL-/. +Solution: Handle the WM_KEYUP event. (Yasuhiro Matsumoto, closes #10141) +Files: src/gui_w32.c + +Patch 8.2.4731 +Problem: The changelist index is not remembered per buffer. +Solution: Keep the changelist index per window and buffer. (closes #10135, + closes #2173) +Files: src/buffer.c, src/evalfunc.c, src/structs.h, + src/testdir/test_changelist.vim + +Patch 8.2.4732 +Problem: Duplicate code to free fuzzy matches. +Solution: Bring back fuzmatch_str_free(). +Files: src/search.c, src/proto/search.pro, src/cmdexpand.c + +Patch 8.2.4733 (after 8.2.4729) +Problem: HEEx and Surface do need a separate filetype. +Solution: Revert 8.2.4729. (closes #10147) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4734 +Problem: getcharpos() may change a mark position. +Solution: Copy the mark position. (closes #10148) +Files: src/eval.c, src/testdir/test_cursor_func.vim + +Patch 8.2.4735 +Problem: Quickfix tests can be a bit hard to read. +Solution: Use heredoc instead of strings and line continuation. (Yegappan + Lakshmanan, closes #10145) +Files: src/testdir/test_quickfix.vim + +Patch 8.2.4736 +Problem: Build problem for Cygwin with Motif. +Solution: Undefine ControlMask. (Kelvin Lee, closes #10152) +Files: src/mbyte.c + +Patch 8.2.4737 +Problem: // in JavaScript string recognized as comment. +Solution: Only check for linecomment if 'cindent' is set. (closes #10151) +Files: src/change.c, src/testdir/test_textformat.vim + +Patch 8.2.4738 +Problem: Esc on commandline executes command instead of abandoning it. +Solution: Save and restore KeyTyped when removing the popup menu. + (closes #10154) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_1.dump, + src/testdir/dumps/Test_wildmenu_with_pum_foldexpr_2.dump + +Patch 8.2.4739 +Problem: Accessing freed memory after WinScrolled autocmd event. +Solution: Check the window pointer is still valid. (closes #10156) + Remove the argument from may_trigger_winscrolled(). +Files: src/window.c, src/proto/window.pro, src/edit.c, src/gui.c, + src/main.c, src/testdir/test_autocmd.vim + +Patch 8.2.4740 +Problem: When expand() fails there is no error message. +Solution: When 'verbose' is set give an error message. +Files: runtime/doc/builtin.txt, src/evalfunc.c, + src/testdir/test_expand.vim + +Patch 8.2.4741 (after 8.2.4740) +Problem: Startup test fails. +Solution: Avoid an error for verbose expansion. Fix that the "0verbose" + command modifier doesn't work. +Files: runtime/syntax/syntax.vim, runtime/syntax/synload.vim, + src/structs.h, src/ex_docmd.c, src/testdir/test_excmd.vim + +Patch 8.2.4742 +Problem: There is no way to start logging very early in startup. +Solution: Add the --log argument. Include the date in the start message in + the log file. Avoid a duplicate message when forking. Log an + executed shell command. +Files: runtime/doc/starting.txt, runtime/doc/channel.txt, + src/main.c, src/channel.c, src/os_unix.c, src/os_win32.c, + src/testdir/test_startup.vim + +Patch 8.2.4743 +Problem: Clang 14 is available on CI. +Solution: Switch from clang 13 to 14. (closes #10157) +Files: .github/workflows/ci.yml + +Patch 8.2.4744 +Problem: A terminal window can't use the bell. +Solution: Add bell support for the terminal window. (closes #10178) +Files: runtime/doc/options.txt, src/gui_w32.c, src/option.h, + src/optionstr.c, src/terminal.c + +Patch 8.2.4745 (after 8.2.4744) +Problem: Using wrong flag for using bell in the terminal. +Solution: Change to use BO_TERM. +Files: src/terminal.c, src/misc1.c + +Patch 8.2.4746 +Problem: Supercollider filetype not recognized. +Solution: Match file extensions and check file contents to detect + supercollider. (closes #10142) +Files: runtime/filetype.vim, runtime/autoload/dist/ft.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4747 +Problem: No filetype override for .sys files. +Solution: Add g:filetype_sys. (Patrick Meiser-Knosowski, closes #10181) +Files: runtime/doc/filetype.txt, runtime/autoload/dist/ft.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4748 +Problem: Cannot use an imported function in a mapping. +Solution: Recognize <SID>name.Func. +Files: runtime/doc/vim9.txt, src/term.c, src/vim9execute.c, + src/proto/vim9execute.pro, src/scriptfile.c, + src/testdir/test_vim9_import.vim + +Patch 8.2.4749 +Problem: <script> is not expanded in autocmd context. +Solution: Add the context to the pattern struct. (closes #10144) + Rename AutoPatCmd to AutoPatCmd_T. +Files: src/autocmd.c, src/proto/autocmd.pro, src/scriptfile.c, + src/structs.h, src/testdir/test_expand.vim + +Patch 8.2.4750 +Problem: Small pieces of dead code. +Solution: Remove the dead code. (Goc Dundar, closes #10190) Rename the + qftf_cb struct member to avoid confusion. +Files: src/ex_cmds.c, src/misc1.c, src/optionstr.c, src/quickfix.c + +Patch 8.2.4751 (after 8.2.4748) +Problem: Mapping <SID>name.Func does not work for script in autoload + directory. +Solution: Use the # form for a script in the autoload directory. + (closes #10186) +Files: src/term.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4752 +Problem: Wrong 'statusline' value can cause illegal memory access. +Solution: Properly check the value. (closes #10192) +Files: src/optionstr.c, src/testdir/test_options.vim + +Patch 8.2.4753 +Problem: Error from setting an option is silently ignored. +Solution: Handle option value errors better. Fix uses of N_(). +Files: src/option.c, src/proto/option.pro, src/optionstr.c, + src/channel.c, src/crypt.c, src/diff.c, src/edit.c, + src/eval.c, src/evalfunc.c, src/evalvars.c, src/ex_cmds2.c, + src/ex_docmd.c, src/ex_getln.c, src/getchar.c, src/gui.c, + src/gui_gtk_x11.c, src/help.c, src/highlight.c, src/if_tcl.c, + src/main.c, src/memline.c, src/message_test.c, + src/popupmenu.c, src/quickfix.c, src/scriptfile.c, src/spell.c, + src/spellfile.c, src/term.c, src/undo.c, src/vim9script.c + +Patch 8.2.4754 +Problem: Still using cached values after unsetting some known environment + variables. +Solution: Take care of the side effects. (closes #10194) +Files: src/evalfunc.c, src/evalvars.c, src/misc1.c, src/proto/misc1.pro, + src/vim9execute.c, src/optionstr.c, src/testdir/test_environ.vim + +Patch 8.2.4755 +Problem: Cannot use <SID>FuncRef in completion spec. +Solution: Dereference a function name in another way. (closes #10197) +Files: src/eval.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4756 (after 8.2.4754) +Problem: Build error without the +eval feature. +Solution: Adjust #ifdefs. +Files: src/misc1.c + +Patch 8.2.4757 +Problem: List of libraries to suppress lsan errors is outdated. +Solution: Add another library. (closes #10201) +Files: src/testdir/lsan-suppress.txt + +Patch 8.2.4758 +Problem: When using an LSP channel want to get the message ID. +Solution: Have ch_sendexpr() return the ID. (Yegappan Lakshmanan, + closes #10202) +Files: runtime/doc/channel.txt, src/channel.c, src/evalfunc.c, + src/testdir/test_channel.vim + +Patch 8.2.4759 +Problem: CurSearch highlight does not work for multi-line match. +Solution: Check cursor position before adjusting columns. (closes #10133) +Files: src/structs.h, src/match.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_cursearch_multiple_line.dump, + src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_1.dump, + src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_2.dump, + src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_3.dump, + src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_4.dump, + src/testdir/dumps/Test_hlsearch_cursearch_multiple_line_5.dump + +Patch 8.2.4760 +Problem: Using matchfuzzy() on a long list can take a while. +Solution: Add a limit to the number of matches. (Yasuhiro Matsumoto, + closes #10189) +Files: runtime/doc/builtin.txt, src/search.c, + src/testdir/test_matchfuzzy.vim + +Patch 8.2.4761 +Problem: Documentation for using LSP messages is incomplete. +Solution: Update the documentation. (Yegappan Lakshmanan, closes #10206) +Files: runtime/doc/channel.txt + +Patch 8.2.4762 +Problem: Using freed memory when using synstack() and synID() in WinEnter. +Solution: Check using the syntax window. (closes #10204) +Files: src/syntax.c, src/testdir/test_syntax.vim + +Patch 8.2.4763 +Problem: Using invalid pointer with "V:" in Ex mode. +Solution: Correctly handle the command being changed to "+". +Files: src/ex_docmd.c, src/testdir/test_ex_mode.vim + +Patch 8.2.4764 +Problem: CI uses an older gcc version. +Solution: Use GCC 11. (closes #10185) +Files: .github/workflows/ci.yml, src/testdir/lsan-suppress.txt + +Patch 8.2.4765 +Problem: Function matchfuzzy() sorts too many items. +Solution: Only put matches in the array. (Yegappan Lakshmanan, + closes #10208) +Files: src/search.c + +Patch 8.2.4766 +Problem: KRL files using "deffct" not recognized. +Solution: Adjust the pattern used for matching. (Patrick Meiser-Knosowski, + closes #10200) +Files: runtime/autoload/dist/ft.vim, src/testdir/test_filetype.vim + +Patch 8.2.4767 +Problem: Openscad files are not recognized. +Solution: Add a filetype pattern. (Niklas Adam, closes #10199) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4768 +Problem: CI: codecov upload sometimes does not work. +Solution: Use action v3 instead of v2. (closes #10209) +Files: .github/workflows/ci.yml + +Patch 8.2.4769 +Problem: Build warning with UCRT. +Solution: Adjust #ifdef for _wenviron. (John Marriott) +Files: src/evalfunc.c + +Patch 8.2.4770 +Problem: Cannot easily mix expression and heredoc. +Solution: Support `=expr` in heredoc. (Yegappan Lakshmanan, closes #10138) +Files: runtime/doc/eval.txt, src/evalvars.c, src/userfunc.c, + src/testdir/test_let.vim, src/testdir/test_vim9_assign.vim + +Patch 8.2.4771 +Problem: Coverity warns for not checking return value. +Solution: Check return value of rettv_dict_alloc(). +Files: src/channel.c + +Patch 8.2.4772 +Problem: Old Coverity warning for not checking ftell() return value. +Solution: Check return value of fseek() and ftell(). +Files: src/misc1.c + +Patch 8.2.4773 +Problem: Build failure without the +eval feature. +Solution: Use other error message. Avoid warnings. +Files: src/misc1.c, src/cindent.c, src/term.c + +Patch 8.2.4774 +Problem: Crash when using a number for lambda name. +Solution: Check the type of the lambda reference. +Files: src/eval.c, src/errors.h, src/testdir/test_lambda.vim + +Patch 8.2.4775 +Problem: SpellBad highlighting does not work in Konsole. +Solution: Do not keep t_8u defined for Konsole. Redraw when t_8u is reset. + (closes #10177) +Files: src/term.c + +Patch 8.2.4776 +Problem: GTK: 'lines' and 'columns' may change during startup. +Solution: Ignore stale GTK resize events. (Ernie Rael, closes #10179) +Files: src/gui_gtk_x11.c + +Patch 8.2.4777 (after 8.2.4775) +Problem: Screendump tests fail because of a redraw. +Solution: Do not output t_8u before receiving termresponse. Redraw only + when t_8u is not reset and termresponse is received. +Files: src/term.c + +Patch 8.2.4778 +Problem: Pacman files use dosini filetype. +Solution: Use conf instead. (Chaoren Lin, closes #10213) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4779 +Problem: lsan suppression is too version specific. +Solution: Leave out the version number. (Christian Brabandt, closes #10214) +Files: src/testdir/lsan-suppress.txt + +Patch 8.2.4780 +Problem: Parsing an LSP message fails when it is split. +Solution: Collapse the received data before parsing. (Yegappan Lakshmanan, + closes #10215) +Files: runtime/doc/channel.txt, src/channel.c, + src/testdir/test_channel.vim, src/testdir/test_channel_lsp.py + +Patch 8.2.4781 +Problem: Maxima files are not recognized. +Solution: Add patterns to detect Maxima files. (Doron Behar, closes #10211) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4782 +Problem: Accessing freed memory. +Solution: Clear evalarg after checking for trailing characters. + (issue #10218) +Files: src/userfunc.c, src/testdir/test_lambda.vim + +Patch 8.2.4783 +Problem: Coverity warns for leaking memory. +Solution: Use another strategy freeing "theline". +Files: src/evalvars.c + +Patch 8.2.4784 +Problem: Lamba test with timer is flaky. +Solution: Adjust sleep time on retry. +Files: src/testdir/test_lambda.vim + +Patch 8.2.4785 +Problem: Visual mode not stopped early enough if win_gotoid() goes to + another buffer. (Sergey Vlasov) +Solution: Stop Visual mode before jumping to another buffer. (closes #10217) +Files: src/evalwindow.c, src/testdir/test_vim9_builtin.vim, + src/testdir/dumps/Test_win_gotoid_1.dump, + src/testdir/dumps/Test_win_gotoid_2.dump, + src/testdir/dumps/Test_win_gotoid_3.dump + +Patch 8.2.4786 (after 8.2.4785) +Problem: Test for win_gotoid() in Visual mode fails on Mac. +Solution: Skip the test on MacOS. +Files: src/testdir/test_vim9_builtin.vim + +Patch 8.2.4787 +Problem: prop_find() does not find the right property. +Solution: Fix the scan order. (closes #10220) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.4788 +Problem: Large payload for LSP message not tested. +Solution: Add a test with a large LSP payload. (Yegappan Lakshmanan, + closes #10223) +Files: src/channel.c, src/testdir/test_channel.vim, + src/testdir/test_channel_lsp.py + +Patch 8.2.4789 +Problem: The cursor may be in the in wrong place when using :redraw while + editing the cmdline. +Solution: When editing the command line let :redraw update the command line + too. (closes #10210) +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_redraw_in_autocmd_1.dump, + src/testdir/dumps/Test_redraw_in_autocmd_2.dump + +Patch 8.2.4790 +Problem: Lilypond filetype not recognized. +Solution: Add patterns for lilypond. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4791 +Problem: Autocmd events triggered in different order when reusing an empty + buffer. +Solution: Call buff_freeall() earlier. (Charlie Groves, closes #10198) +Files: src/buffer.c, src/testdir/test_autocmd.vim + +Patch 8.2.4792 +Problem: Indent operator creates an undo entry for every line. +Solution: Create one undo entry for all lines. (closes #10227) +Files: src/indent.c, src/testdir/test_indent.vim + +Patch 8.2.4793 +Problem: Recognizing Maxima filetype even though it might be another. +Solution: Remove *.mc and *.dem patterns from Maxima files +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4794 +Problem: Compiler warning for not initialized variable. +Solution: Initialize the variable. (John Marriott) +Files: src/indent.c + +Patch 8.2.4795 +Problem: 'cursorbind' scrolling depends on whether 'cursorline' is set. +Solution: Always call validate_cursor(). (Christian Brabandt, closes #10230, + closes #10014) +Files: src/move.c, src/testdir/README.txt, + src/testdir/test_cursorline.vim, + src/testdir/dumps/Test_hor_scroll_1.dump, + src/testdir/dumps/Test_hor_scroll_2.dump, + src/testdir/dumps/Test_hor_scroll_3.dump, + src/testdir/dumps/Test_hor_scroll_4.dump + +Patch 8.2.4796 (after 8.2.4795) +Problem: File left behind after running cursorline tests. +Solution: Uncomment the line that deletes the file. +Files: src/testdir/test_cursorline.vim + +Patch 8.2.4797 +Problem: getwininfo() may get outdated values. +Solution: Make sure w_botline is up-to-date. (closes #10226) +Files: src/evalwindow.c, src/testdir/test_bufwintabinfo.vim + +Patch 8.2.4798 +Problem: t_8u option was reset even when set by the user. +Solution: Only reset t_8u when using the default value. (closes #10239) +Files: src/term.c + +Patch 8.2.4799 +Problem: Popup does not use correct topline. +Solution: Also add one when firstline is negative. (closes #10229) +Files: src/popupwin.c, src/testdir/test_popupwin.vim + +Patch 8.2.4800 (after 8.2.4798) +Problem: Missing test update for adjusted t_8u behavior. +Solution: Update and extend the test. +Files: src/testdir/test_termcodes.vim + +Patch 8.2.4801 (after 8.2.4795) +Problem: Fix for cursorbind fix not fully tested. +Solution: Add another test case. (Christian Brabandt, closes #10240) +Files: src/testdir/test_cursorline.vim, + src/testdir/dumps/Test_hor_scroll_5.dump + +Patch 8.2.4802 +Problem: Test is not cleaned up. +Solution: Make test clean up after itself. Avoid NUL. (closes #10233) +Files: src/testdir/test_autocmd.vim + +Patch 8.2.4803 +Problem: WinScrolled not always triggered when scrolling with the mouse. +Solution: Add calls to may_trigger_winscrolled(). (closes #10246) +Files: src/mouse.c, src/testdir/test_autocmd.vim + +Patch 8.2.4804 +Problem: Expression in heredoc doesn't work for compiled function. +Solution: Implement compiling the heredoc expressions. (Yegappan Lakshmanan, + closes #10232) +Files: runtime/doc/eval.txt, src/evalvars.c, src/proto/evalvars.pro, + src/ex_getln.c, src/vim9compile.c, src/proto/vim9compile.pro, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4805 +Problem: CurSearch used for all matches in current line. +Solution: Don't use the non-zero line count. (closes #10247) +Files: src/match.c, src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_cursearch_single_line_1.dump, + src/testdir/dumps/Test_hlsearch_cursearch_single_line_2.dump, + src/testdir/dumps/Test_hlsearch_cursearch_single_line_2a.dump, + src/testdir/dumps/Test_hlsearch_cursearch_single_line_2b.dump + +Patch 8.2.4806 +Problem: A mapping using <LeftDrag> does not start Select mode. +Solution: When checking for starting select mode with the mouse also do this + when there is typeahead. (closes #10249) +Files: src/normal.c + +Patch 8.2.4807 +Problem: Processing key events in Win32 GUI is not ideal. +Solution: Improve processing of key events. (closes #10155) +Files: src/gui_w32.c + +Patch 8.2.4808 +Problem: Unused item in engine struct. +Solution: Remove "expr". Add comment with tags. +Files: src/regexp.h + +Patch 8.2.4809 +Problem: Various things not properly tested. +Solution: Add various test cases. (Yegappan Lakshmanan, closes #10259) +Files: src/testdir/test_blob.vim, src/testdir/test_debugger.vim, + src/testdir/test_listdict.vim, src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_import.vim, src/testdir/test_vim9_script.vim + +Patch 8.2.4810 (after 8.2.4808) +Problem: Missing changes in one file. +Solution: Also change the struct initializers. +Files: src/regexp.c + +Patch 8.2.4811 (after 8.2.4807) +Problem: Win32 GUI: caps lock doesn't work. +Solution: Handle VK_CAPITAL. (closes #10260, closes #10258) +Files: src/gui_w32.c + +Patch 8.2.4812 +Problem: Unused struct item. +Solution: Remove "lines" match_T. Simplify the code. (closes #10256) +Files: src/match.c, src/structs.h + +Patch 8.2.4813 +Problem: Pasting text while indent folding may mess up folds. +Solution: Adjust the way folds are split. (Brandon Simmons, closes #10254) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.4814 +Problem: Possible to leave a popup window with win_gotoid(). +Solution: Give an error when trying to leave a popup window with + win_gotoid(). (closes #10253) +Files: src/evalwindow.c, src/testdir/test_terminal3.vim + +Patch 8.2.4815 (after 8.2.4776) +Problem: Cannot build with older GTK version. +Solution: Use gtk_window_get_size() instead of gdk_window_get_width() and + gdk_window_get_height(). (Ernie Rael, closes #10257) +Files: src/gui_gtk_x11.c + +Patch 8.2.4816 +Problem: Still using older codecov app in some places of CI. +Solution: Use v3.1.0. (closes #10209) +Files: .github/workflows/ci.yml + +Patch 8.2.4817 +Problem: Win32 GUI: modifiers are not always used. +Solution: Handle more modifiers. (closes #10269) +Files: src/gui_w32.c + +Patch 8.2.4818 (after 8.2 4806) +Problem: No test for what 8.2.4806 fixes. +Solution: Add a test. (closes #10272) +Files: src/testdir/test_mapping.vim + +Patch 8.2.4819 +Problem: Unmapping simplified keys also deletes other mapping. +Solution: Only unmap a mapping with m_simplified set. (closes #10270) +Files: src/map.c, src/testdir/test_mapping.vim + +Patch 8.2.4820 +Problem: No simple programmatic way to find a specific mapping. +Solution: Add getmappings(). (Ernie Rael, closes #10273) +Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/map.c, src/proto/map.pro, src/testdir/test_maparg.vim + +Patch 8.2.4821 +Problem: Crash when imported autoload script was deleted. +Solution: Initialize local variable. (closes #10274) Give a more meaningful + error message. +Files: src/eval.c, src/vim9script.c, src/testdir/test_vim9_import.vim + +Patch 8.2.4822 +Problem: Setting ufunc to NULL twice. +Solution: Set ufunc to NULL in find_exported(). (closes #19275) +Files: src/eval.c, src/vim9script.c + +Patch 8.2.4823 +Problem: Concatenating more than 2 strings in a :def function is + inefficient. +Solution: Add a count to the CONCAT instruction. (closes #10276) +Files: src/vim9.h, src/vim9cmds.c, src/vim9compile.c, src/vim9execute.c, + src/vim9expr.c, src/vim9instr.c, src/proto/vim9instr.pro, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4824 +Problem: Expression is evaluated multiple times. +Solution: Evaluate expression once and store the result. (closes #10278) +Files: src/map.c + +Patch 8.2.4825 +Problem: Can only get a list of mappings. +Solution: Add the optional {abbr} argument. (Ernie Rael, closes #10277) + Rename to maplist(). Rename test file. +Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/map.c, src/proto/map.pro, src/testdir/test_maparg.vim, + src/testdir/test_map_functions.vim, src/testdir/Make_all.mak + +Patch 8.2.4826 +Problem: .cshtml files are not recognized. +Solution: Use html filetype for .cshtml files. (Julien Voisin, closes #10212) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4827 +Problem: Typo in variable name. (Gabriel Dupras) +Solution: Rename the variable. +Files: src/map.c + +Patch 8.2.4828 +Problem: Fix for unmapping simplified key not fully tested. +Solution: Add a test case. (closes #10292) +Files: src/map.c, src/testdir/test_mapping.vim + +Patch 8.2.4829 +Problem: A key may be simplified to NUL. +Solution: Use K_ZERO instead. Use macros instead of hard coded values. + (closes #10290) +Files: src/getchar.c, src/misc2.c, src/testdir/test_termcodes.vim + +Patch 8.2.4830 +Problem: Possible endless loop if there is unused typahead. +Solution: Only loop when the typeahead changed. +Files: src/channel.c + +Patch 8.2.4831 +Problem: Crash when using maparg() and unmapping simplified keys. +Solution: Do not keep a mapblock pointer. (closes #10294) +Files: src/map.c, src/testdir/test_map_functions.vim + +Patch 8.2.4832 +Problem: Passing zero instead of NULL to a pointer argument. +Solution: Use NULL. (closes #10296) +Files: src/getchar.c, src/term.c + +Patch 8.2.4833 +Problem: Failure of mapping not checked for. +Solution: Check return value of ins_typebuf(). (closes #10299) +Files: src/getchar.c, src/term.c, src/testdir/test_termcodes.vim + +Patch 8.2.4834 +Problem: Vim9: some lines not covered by tests. +Solution: Add a few more tests. Remove dead code. +Files: src/vim9execute.c, src/vim9instr.c, src/vim9.h, + src/testdir/test_vim9_expr.vim + +Patch 8.2.4835 +Problem: Vim9: some lines not covered by tests. +Solution: Add a few more tests. Fix disassemble output. +Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4836 +Problem: Vim9: some lines not covered by tests. +Solution: Remove dead code. Add disassemble tests. +Files: src/vim9execute.c, src/vim9.h, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4837 (after patch 8.2.0919) +Problem: Modifiers not simplified when timed out or using feedkeys() with + 'n" flag. +Solution: Adjust how mapped flag and timeout are used. (closes #10305) +Files: src/getchar.c, src/testdir/test_paste.vim, + src/testdir/test_termcodes.vim + +Patch 8.2.4838 +Problem: Checking for absolute path is not trivial. +Solution: Add isabsolutepath(). (closes #10303) +Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/filepath.c, src/proto/filepath.pro, + src/testdir/test_functions.vim + +Patch 8.2.4839 +Problem: Compiler warning for unused argument. +Solution: Add "UNUSED". +Files: src/gui_gtk_x11.c + +Patch 8.2.4840 +Problem: Heredoc expression evaluated even when skipping. +Solution: Don't evaluate when "skip" is set. (closes #10306) +Files: src/evalvars.c, src/testdir/test_let.vim + +Patch 8.2.4841 +Problem: Empty string considered an error for expand() when 'verbose' is + set. (Christian Brabandt) +Solution: Do not give an error for an empty result. (closes #10307) +Files: src/evalfunc.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/filepath.c, src/testdir/test_expand_func.vim + +Patch 8.2.4842 (after 8.2.4841) +Problem: expand("%:p") is not empty when there is no buffer name. +Solution: When ignoring errors still return NULL. (closes #10311) +Files: src/ex_docmd.c, src/testdir/test_expand_func.vim + +Patch 8.2.4843 (after 8.2.4807) +Problem: Win32 GUI: Treating CTRL + ALT as AltGr is not backwards + compatible. (Axel Bender) +Solution: Make a difference between left and right menu keys. + (closes #10308) +Files: src/gui_w32.c + +Patch 8.2.4844 +Problem: <C-S-I> is simplified to <S-Tab>. +Solution: Do not simplify CTRL if there is also SHIFT. (closes #10313) +Files: src/getchar.c, src/testdir/test_gui.vim + +Patch 8.2.4845 +Problem: Duplicate code. +Solution: Move code below if/else. (closes #10314) +Files: src/misc1.c + +Patch 8.2.4846 (after 8.2.4844) +Problem: Termcodes test fails. +Solution: use CTRL-SHIFT-V to insert an unsimplified key. (closes #10316) +Files: runtime/doc/cmdline.txt, src/edit.c, src/getchar.c, + src/testdir/test_gui.vim + +Patch 8.2.4847 +Problem: Crash when using uninitialized function pointer. +Solution: Check for NULL pointer. (closes #10319, closes #10319) +Files: src/eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4848 +Problem: Local completion with mappings and simplification not working. +Solution: Fix local completion <C-N>/<C-P> mappings not ignored if keys are + not simplified. (closes #10323) +Files: src/getchar.c, src/testdir/test_popup.vim + +Patch 8.2.4849 +Problem: Gleam filetype not detected. +Solution: Add a pattern for Gleam files. (Mathias Jean Johansen, + closes #10326) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4850 +Problem: Mksession mixes up "tabpages" and "curdir" arguments. +Solution: Correct logic for storing tabpage in session. (closes #10312) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.4851 +Problem: Compiler warning for uninitialized variable. +Solution: Use another variable to decide to restore option values. +Files: src/session.c + +Patch 8.2.4852 +Problem: ANSI color index to RGB value not correct. +Solution: Convert the cterm index to ANSI index. (closes #10321, + closes #9836) +Files: src/term.c + +Patch 8.2.4853 +Problem: CI with FreeBSD is a bit outdated. +Solution: Use 12.3 instead of 12.1. (closes #10333) +Files: .cirrus.yml + +Patch 8.2.4854 +Problem: Array size does not match usage. +Solution: Make array size 3 instead of 4. (Christian Brabandt, closes #10336) +Files: src/term.c + +Patch 8.2.4855 +Problem: Robot files are not recognized. +Solution: Add patterns for robot files. (Zoe Roux, closes #10339) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4856 +Problem: MinGW compiler complains about unknown escape sequence. +Solution: Avoid using a backslash in path. (Christian Brabandt, + closes #10337) +Files: .github/workflows/ci.yml + +Patch 8.2.4857 +Problem: Yaml indent for multiline is wrong. +Solution: Adjust patterns. (closes #10328, closes #8740) +Files: runtime/indent/yaml.vim, runtime/indent/testdir/yaml.in, + runtime/indent/testdir/yaml.ok + +Patch 8.2.4858 +Problem: K_SPECIAL may be escaped twice. +Solution: Avoid double escaping. (closes #10340) +Files: src/highlight.c, src/misc2.c, src/proto/misc2.pro, src/term.c, + src/typval.c, src/testdir/test_eval_stuff.vim, + src/testdir/test_feedkeys.vim, src/testdir/test_functions.vim, + src/testdir/test_mapping.vim + +Patch 8.2.4859 +Problem: wget2 files are not recognized. +Solution: Add patterns to recognize wget2. (Doug Kearns) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.4860 +Problem: MS-Windows: always uses current directory for executables. +Solution: Check the NoDefaultCurrentDirectoryInExePath environment variable. + (Yasuhiro Matsumoto, closes #10341) +Files: runtime/doc/builtin.txt, src/os_win32.c, + src/testdir/test_functions.vim + +Patch 8.2.4861 +Problem: It is not easy to restore saved mappings. +Solution: Make mapset() accept a dict argument. (Ernie Rael, closes #10295) +Files: runtime/doc/builtin.txt, src/errors.h, src/evalfunc.c, src/map.c, + src/typval.c, src/proto/typval.pro, + src/testdir/test_map_functions.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4862 +Problem: Vim9: test may fail when run with valgrind. +Solution: Wait longer for callback if needed. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.4863 +Problem: Accessing freed memory in test without the +channel feature. + (Dominique Pellé) +Solution: Do not generted PUSHCHANNEL or PUSHJOB if they are not + implemented. (closes #10350) +Files: src/vim9instr.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4864 (after 8.2.4863) +Problem: Vim9: script test fails. +Solution: Remove "if" around declaration. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.4865 +Problem: :startinsert right after :stopinsert does not work when popup menu + is still visible. +Solution: Use ins_compl_active() instead of pum_visible(). (closes #10352) +Files: src/edit.c, src/testdir/test_ins_complete.vim + +Patch 8.2.4866 +Problem: Duplicate code in "get" functions. +Solution: Use get_var_from() for getwinvar(), gettabvar(), gettabwinvar() + and getbufvar(). (closes #10335) +Files: src/evalvars.c + +Patch 8.2.4867 +Problem: Listing of mapping with K_SPECIAL is wrong. +Solution: Adjust escaping of special characters. (closes #10351) +Files: src/map.c, src/message.c, src/testdir/test_mapping.vim + +Patch 8.2.4868 +Problem: When closing help window autocmds triggered for the wrong window. +Solution: Figure out the new current window earlier. (closes #10348) +Files: src/window.c, src/testdir/test_help.vim + +Patch 8.2.4869 +Problem: Expression in command block does not look after NL. +Solution: Skip over NL to check what follows. (closes #10358) +Files: src/eval.c, src/proto/eval.pro, src/vim9script.c, + src/testdir/test_usercommands.vim + +Patch 8.2.4870 +Problem: Vim9: expression in :substitute is not compiled. +Solution: Use an INSTR instruction if possible. (closes #10334) +Files: src/evalfunc.c, src/regexp.c, src/vim9execute.c, src/vim9expr.c, + src/testdir/test_vim9_builtin.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4871 +Problem: Vim9: in :def function no error for using a range with a command + that does not accept one. +Solution: Check for the command to accept a range. (closes #10330) +Files: src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4872 +Problem: Vim9: no error for using an expression only at the script level + when followed by an empty line. +Solution: Do not check the line number but whether something follows. + (closes #10357) +Files: src/ex_eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4873 +Problem: Vim9: using "else" differs from using "endif/if !cond". +Solution: Leave the block and enter another one. (closes #10320) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4874 +Problem: Win32 GUI: horizontal scroll wheel not handled properly. +Solution: Also handle WM_MOUSEHWHEEL. (closes #10309) +Files: src/gui_w32.c + +Patch 8.2.4875 +Problem: MS-Windows: some .exe files are not recognized. +Solution: Parse APPEXECLINK junctions. (closes #10302) +Files: src/os_mswin.c, src/proto/os_mswin.pro, src/os_win32.c, + src/os_win32.h, src/testdir/test_functions.vim + +Patch 8.2.4876 +Problem: MS-Windows: Shift-BS results in strange character in powershell. +Solution: Add K_S_BS. (Christian Brabandt, closes #10283, closes #10279) +Files: src/edit.c, src/keymap.h, src/term.c, src/testdir/shared.vim, + src/testdir/test_edit.vim + +Patch 8.2.4877 +Problem: MS-Windows: Using Normal colors for termguicolors causes problems. +Solution: Do not use Normal colors to set sg_gui_fg and sg_gui_bg. + (Christian Brabandt, closes #10317, closes #10241) +Files: src/highlight.c + +Patch 8.2.4878 +Problem: Valgrind warning for using uninitialized variable. +Solution: Initialize the type of newtv. +Files: src/strings.c + +Patch 8.2.4879 +Problem: Screendump test may fail when using valgrind. +Solution: Wait longer for the first screendump. +Files: src/testdir/test_vim9_builtin.vim, src/testdir/screendump.vim + +Patch 8.2.4880 +Problem: Vim9: misplaced elseif causes invalid memory access. +Solution: Check cs_idx not to be negative. +Files: src/ex_eval.c + +Patch 8.2.4881 +Problem: "P" in Visual mode still changes some registers. +Solution: Make "P" in Visual mode not change any register. (Shougo + Matsushita, closes #10349) +Files: runtime/doc/change.txt, runtime/doc/index.txt, + runtime/doc/visual.txt, src/normal.c, src/testdir/test_visual.vim + +Patch 8.2.4882 +Problem: Cannot make 'breakindent' use a specific column. +Solution: Add the "column" entry in 'breakindentopt'. (Christian Brabandt, + closes #10362, closes #10325) +Files: runtime/doc/options.txt, src/indent.c, src/structs.h, + src/testdir/test_breakindent.vim + +Patch 8.2.4883 +Problem: String interpolation only works in heredoc. +Solution: Support interpolated strings. Use syntax for heredoc consistent + with strings, similar to C#. (closes #10327) +Files: runtime/doc/eval.txt, src/errors.h, src/eval.c, src/evalvars.c, + src/proto/evalvars.pro, src/typval.c, src/proto/typval.pro, + src/vim9compile.c, src/proto/vim9compile.pro, src/vim9expr.c, + src/testdir/test_debugger.vim, src/testdir/test_expr.vim, + src/testdir/test_let.vim, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4884 +Problem: Test fails without the job/channel feature. (Dominique Pellé) +Solution: Add condition. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.4885 (after 8.2.4884) +Problem: Test fails with the job/channel feature. +Solution: Move check for job/channel separately. +Files: src/testdir/test_vim9_script.vim + +Patch 8.2.4886 +Problem: Vim9: redir in skipped block seen as assignment. +Solution: Check for valid assignment. +Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim + +Patch 8.2.4887 +Problem: Channel log does not show invoking a timer callback. +Solution: Add a ch_log() call. +Files: src/time.c + +Patch 8.2.4888 +Problem: Line number of lambda ignores line continuation. +Solution: Use the line number of where the arguments are. Avoid outputting + "..." twice. (closes #10364) +Files: src/userfunc.c + +Patch 8.2.4889 +Problem: CI only tests with FreeBSD 12. +Solution: Also test with FreeBSD 13. (closes #10366) +Files: .cirrus.yml + +Patch 8.2.4890 +Problem: Inconsistent capitalization in error messages. +Solution: Make capitalization consistent. (Doug Kearns) +Files: src/errors.h + +Patch 8.2.4891 +Problem: Vim help presentation could be better. +Solution: Add an imported file for extra Vim help support. Show highlight + names in the color they have. +Files: Filelist, runtime/import/dist/vimhelp.vim + +Patch 8.2.4892 +Problem: Test failures because of changed error messages. +Solution: Adjust the expected error messages. +Files: src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim, + src/testdir/test_expand.vim, src/testdir/test_tcl.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.4893 (after 8.2.4891) +Problem: Distributed import files are not installed. +Solution: Add rules to Makefile and NSIS. +Files: src/Makefile, nsis/gvim.nsi + +Patch 8.2.4894 +Problem: MS-Windows: not using italics. +Solution: Use italics. Simplify the code. (closes #10359) +Files: src/term.c + +Patch 8.2.4895 +Problem: Buffer overflow with invalid command with composing chars. +Solution: Check that the whole character fits in the buffer. +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.2.4896 (after 8.2.4869) +Problem: Expression in command block does not look after NL when command is + typed. +Solution: Skip over NL also when not in a script. (closes #10358) +Files: src/eval.c, src/testdir/test_usercommands.vim + +Patch 8.2.4897 +Problem: Comment inside an expression in lambda ignores the rest of the + expression. +Solution: Truncate the line at the comment. (closes #10367) +Files: src/eval.c, src/testdir/test_lambda.vim + +Patch 8.2.4898 +Problem: Coverity complains about pointer usage. +Solution: Move code for increment/decrement. +Files: src/vim9compile.c + +Patch 8.2.4899 +Problem: With latin1 encoding CTRL-W might go before the start of the + command line. +Solution: Check already being at the start of the command line. +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.4900 +Problem: Vim9 expression test fails without the job feature. +Solution: Add a check for the job feature. (Dominique Pellé, closes #10373) +Files: src/testdir/test_vim9_expr.vim + +Patch 8.2.4901 +Problem: NULL pointer access when using invalid pattern. +Solution: Check for failed regexp program. +Files: src/buffer.c, src/testdir/test_buffer.vim + +Patch 8.2.4902 +Problem: Mouse wheel scrolling is inconsistent. +Solution: Use the MS-Windows system setting. (closes #10368) +Files: runtime/doc/scroll.txt, src/gui_w32.c, src/mouse.c, + src/proto/mouse.pro, src/testing.c, src/testdir/test_gui.vim + +Patch 8.2.4903 +Problem: Cannot get the current cmdline completion type and position. +Solution: Add getcmdcompltype() and getcmdscreenpos(). (Shougo Matsushita, + closes #10344) +Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/cmdexpand.c, + src/proto/cmdexpand.pro, src/evalfunc.c, src/ex_getln.c, + src/proto/ex_getln.pro, src/usercmd.c, src/proto/usercmd.pro, + src/testdir/test_cmdline.vim + +Patch 8.2.4904 +Problem: codecov includes MS-Windows install files. +Solution: Ignore dosinst.c and uninstall.c. +Files: .codecov.yml + +Patch 8.2.4905 +Problem: codecov includes MS-Windows install header file. +Solution: Ignore dosinst.h. +Files: .codecov.yml + +Patch 8.2.4906 +Problem: MS-Windows: cannot use transparent background. +Solution: Make transparent background work with 'termguicolors' and NONE + background color. (Yasuhiro Matsumoto, closes #10310, closes #7162) +Files: runtime/doc/options.txt, src/os_win32.c, src/term.c + +Patch 8.2.4907 +Problem: Some users do not want a line comment always inserted. +Solution: Add the '/' flag to 'formatoptions' to not repeat the comment + leader after a statement when using "o". +Files: runtime/doc/change.txt, src/option.h, src/change.c, + src/testdir/test_textformat.vim + +Patch 8.2.4908 +Problem: No text formatting for // comment after a statement. +Solution: format a comment when the 'c' flag is in 'formatoptions'. +Files: src/textformat.c, src/testdir/test_textformat.vim + +Patch 8.2.4909 +Problem: MODE_ enum entries names are too generic. +Solution: use CH_MODE_. +Files: src/structs.h, src/channel.c, src/job.c, src/terminal.c + +Patch 8.2.4910 +Problem: Imperfect coding. +Solution: Make code nicer. +Files: src/ex_getln.c + +Patch 8.2.4911 +Problem: The mode #defines are not clearly named. +Solution: Prepend MODE_. Renumber them to put the mapped modes first. +Files: src/vim.h, src/autocmd.c, src/buffer.c, src/change.c, + src/charset.c, src/cindent.c, src/clipboard.c, src/debugger.c, + src/digraph.c, src/drawline.c, src/drawscreen.c, src/edit.c, + src/evalfunc.c, src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, + src/fileio.c, src/fold.c, src/getchar.c, src/globals.h, src/gui.c, + src/gui_gtk.c, src/gui_w32.c, src/gui_xim.c, src/indent.c, + src/insexpand.c, src/macros.h, src/main.c, src/map.c, src/menu.c, + src/message.c, src/misc1.c, src/misc2.c, src/mouse.c, + src/netbeans.c, src/normal.c, src/ops.c, src/option.c, + src/os_unix.c, src/os_win32.c, src/popupmenu.c, src/search.c, + src/tag.c, src/screen.c, src/term.c, src/terminal.c, + src/textformat.c, src/window.c + +Patch 8.2.4912 +Problem: Using execute() to define a lambda doesn't work. (Ernie Rael) +Solution: Put the getline function in evalarg. (closes #10375) +Files: src/eval.c, src/evalfunc.c, src/proto/evalfunc.pro, + src/testdir/test_vim9_func.vim + +Patch 8.2.4913 +Problem: Popup_hide() does not always have effect. +Solution: Add the POPF_HIDDEN_FORCE flag. (closes #10376) +Files: src/popupwin.c, src/vim.h, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popup_prop_not_visible_01a.dump, + src/testdir/dumps/Test_popup_prop_not_visible_01b.dump + +Patch 8.2.4914 +Problem: String interpolation in :def function may fail. +Solution: Do not terminate the expression. (closes #10377) +Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4915 +Problem: Sometimes the cursor is in the wrong position. +Solution: When the cursor moved to another line, recompute w_botline. + (closes #9736) +Files: src/move.c + +Patch 8.2.4916 (after 8.2.4915) +Problem: Mouse in Insert mode test fails. +Solution: Fix the test and check relevant positions. +Files: src/testdir/test_edit.vim + +Patch 8.2.4917 +Problem: Fuzzy expansion of option names is not right. +Solution: Pass the fuzzy flag down the call chain. (Christian Brabandt, + closes #10380, closes #10318) +Files: src/cmdexpand.c, src/option.c, src/proto/option.pro, + src/testdir/test_options.vim + +Patch 8.2.4918 +Problem: Conceal character from matchadd() displayed too many times. +Solution: Check the syntax flag. (closes #10381, closes #7268) +Files: src/drawline.c, src/testdir/test_matchadd_conceal.vim + +Patch 8.2.4919 +Problem: Can add invalid bytes with :spellgood. +Solution: Check for a valid word string. +Files: src/mbyte.c, src/spellfile.c, src/errors.h, + src/testdir/test_spell_utf8.vim + +Patch 8.2.4920 (after 8.2.4902) +Problem: MS-Windows GUI: unused variables. +Solution: Delete the variables. (John Marriott) +Files: src/gui_w32.c + +Patch 8.2.4921 +Problem: Spell test fails because of new illegal byte check. +Solution: Remove the test. +Files: src/testdir/test_spell.vim + +Patch 8.2.4922 (after 8.2.4916) +Problem: Mouse test fails on MS-Windows. +Solution: Set 'mousemodel' to "extend". +Files: src/testdir/test_edit.vim + +Patch 8.2.4923 +Problem: Test checks for terminal feature unnecessarily. +Solution: Remove CheckRunVimInTerminal. (closes #10383) +Files: src/testdir/test_matchadd_conceal.vim + +Patch 8.2.4924 +Problem: maparg() may return a string that cannot be reused. +Solution: use msg_outtrans_special() instead of str2special(). + (closes #10384) +Files: src/message.c, src/option.c, src/testdir/test_map_functions.vim, + src/testdir/test_mapping.vim, src/testdir/test_options.vim + +Patch 8.2.4925 +Problem: Trailing backslash may cause reading past end of line. +Solution: Check for NUL after backslash. +Files: src/textobject.c, src/testdir/test_textobjects.vim + +Patch 8.2.4926 +Problem: #ifdef for crypt feature around too many lines. +Solution: Move code outside of #ifdef. (closes #10388) +Files: src/option.c + +Patch 8.2.4927 +Problem: Return type of remove() incorrect when using three arguments. +Solution: Use first argument type when there are three arguments. + (closes #10387) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4928 +Problem: Various white space and cosmetic mistakes. +Solution: Change spaces to tabs, improve comments. +Files: src/bufwrite.c, src/channel.c, src/cindent.c, src/crypt.c, + src/debugger.c, src/digraph.c, src/edit.c, src/evalwindow.c, + src/ex_cmds.c, src/ex_docmd.c, src/ex_getln.c, src/fileio.c, + src/filepath.c, src/gui.c, src/highlight.c, src/indent.c, + src/insexpand.c, src/job.c, src/keymap.h, src/macros.h, + src/menu.c, src/misc1.c, src/misc2.c, src/mouse.c, src/move.c, + src/normal.c, src/ops.c, src/option.c, src/option.h, src/search.c, + src/session.c, src/spellsuggest.c, src/structs.h, src/tag.c, + src/term.c, src/terminal.c, src/textformat.c, src/typval.c, + src/ui.c, src/userfunc.c, src/vim.h, src/vim9.h, + src/vim9compile.c, src/vim9execute.c, src/window.c, + src/testdir/test_cursorline.vim, src/os_unix.c, src/if_lua.c, + src/if_py_both.h, src/os_amiga.c, src/os_win32.c, src/os_mswin.c, + src/os_vms.c, src/os_vms_conf.h + +Patch 8.2.4929 +Problem: Off-by-one error in statusline item. +Solution: Subtrace one less. (closes #10394, closes #5599) +Files: src/buffer.c, src/testdir/test_statusline.vim, + src/testdir/dumps/Test_statusline_hl.dump + +Patch 8.2.4930 +Problem: Interpolated string expression requires escaping. +Solution: Do not require escaping in the expression. +Files: runtime/doc/eval.txt, src/typval.c, src/proto/typval.pro, + src/dict.c, src/eval.c, src/evalvars.c, src/proto/evalvars.pro, + src/vim9compile.c, src/proto/vim9compile.pro, src/vim9expr.c, + src/vim9instr.c, src/alloc.c, src/proto/alloc.pro, + src/testdir/test_expr.vim, src/testdir/test_let.vim + +Patch 8.2.4931 +Problem: Crash with sequence of Perl commands. +Solution: Move PUTBACK to another line. (closes #10386) +Files: src/if_perl.xs + +Patch 8.2.4932 +Problem: Not easy to filter the output of maplist(). +Solution: Add mode_bits to the dictionary. (Ernie Rael, closes #10356) +Files: runtime/doc/builtin.txt, src/map.c, + src/testdir/test_map_functions.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4933 +Problem: A few more capitalization mistakes in error messages. +Solution: Adjust capitalization. (Doug Kearns) +Files: src/errors.h + +Patch 8.2.4934 +Problem: String interpolation fails when not evaluating. +Solution: Skip the expression when not evaluating. (closes #10398) +Files: src/typval.c, src/evalvars.c, src/proto/evalvars.pro, + src/testdir/test_vim9_expr.vim + +Patch 8.2.4935 +Problem: With 'foldmethod' "indent" some lines are not included in the + fold. (Oleg Koshovetc) +Solution: Fix it. (Brandon Simmons, closes #10399, closes #3214) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.4936 +Problem: MS-Windows: mouse coordinates for scroll event are wrong. +Solution: Convert coordinates to the text area coordinates. (closes #10400) +Files: src/gui_w32.c + +Patch 8.2.4937 (after 8.2.4931) +Problem: No test for what 8.2.4931 fixes. +Solution: Add a test that triggers a valgrind error. +Files: src/testdir/test_perl.vim + +Patch 8.2.4938 +Problem: Crash when matching buffer with invalid pattern. +Solution: Check for NULL regprog. +Files: src/buffer.c, src/testdir/test_buffer.vim + +Patch 8.2.4939 +Problem: matchfuzzypos() with "matchseq" does not have all positions. +Solution: Also add a position for white space. (closes #10404) +Files: runtime/doc/builtin.txt, src/search.c, + src/testdir/test_matchfuzzy.vim + +Patch 8.2.4940 +Problem: Some code is never used. +Solution: Remove dead code. Add a few more test cases. +Files: src/vim9expr.c, src/proto/vim9expr.pro, src/vim9compile.c, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim + +Patch 8.2.4941 +Problem: '[ and '] marks may be wrong after undo. +Solution: Adjust the '[ and '] marks if needed. (closes #10407, closes #1281) +Files: src/undo.c, src/testdir/test_undo.vim + +Patch 8.2.4942 +Problem: Error when setting 'filetype' in help file again. +Solution: Deal with text property type already existing. (closes #10409) +Files: runtime/import/dist/vimhelp.vim + +Patch 8.2.4943 +Problem: Changing 'switchbuf' may have no effect. +Solution: Handle 'switchbuf' in didset_string_options(). (Sean Dewar, + closes #10406) +Files: src/optionstr.c, src/testdir/test_options.vim + +Patch 8.2.4944 +Problem: Text properties are wrong after "cc". (Axel Forsman) +Solution: Pass the deleted byte count to inserted_bytes(). (closes #10412, + closes #7737, closes #5763) +Files: src/change.c, src/testdir/test_textprop.vim + +Patch 8.2.4945 +Problem: Inconsistent use of white space. +Solution: Use Tabs and Spaces consistently. +Files: src/os_amiga.c, src/if_py_both.h, src/os_win32.c, src/os_mswin.c, + src/os_vms.c, src/os_vms_conf.h + +Patch 8.2.4946 +Problem: Vim9: some code not covered by tests. +Solution: Add a few more test cases. Remove dead code. +Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4947 +Problem: Text properties not adjusted when accepting spell suggestion. +Solution: Adjust text properties when text changes. (closes #10414) +Files: src/spell.c, src/spellsuggest.c, src/testdir/test_textprop.vim + +Patch 8.2.4948 +Problem: Cannot use Perl heredoc in nested :def function. (Virginia + Senioria) +Solution: Only concatenate heredoc lines when not in a nested function. + (closes #10415) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4949 +Problem: Vim9: some code not covered by tests. +Solution: Add a few more test cases. Fix double error message. +Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4950 +Problem: Text properties position wrong after shifting text. +Solution: Adjust the text properties when shifting a block of text. + (closes #10418) +Files: src/ops.c, src/testdir/test_textprop.vim + +Patch 8.2.4951 +Problem: Smart indenting done when not enabled. +Solution: Check option values before setting can_si. (closes #10420) +Files: src/indent.c, src/proto/indent.pro, src/change.c, src/edit.c, + src/ops.c, src/testdir/test_smartindent.vim + +Patch 8.2.4952 +Problem: GUI test will fail if color scheme changes. +Solution: Reduce the test for now. +Files: src/testdir/test_gui.vim + +Patch 8.2.4953 +Problem: With 'smartindent' inserting '}' after completion goes wrong. +Solution: Check the cursor is in indent. (closes #10420) +Files: src/indent.c, src/testdir/test_smartindent.vim + +Patch 8.2.4954 +Problem: Inserting line breaks text property spanning more than one line. +Solution: Check TP_FLAG_CONT_PREV and TP_FLAG_CONT_NEXT. (closes #10423) +Files: src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.4955 +Problem: Text property in wrong position after auto-indent. +Solution: Adjust text property columns. (closes #10422, closes #7719) +Files: src/change.c, src/testdir/test_textprop.vim + +Patch 8.2.4956 +Problem: Reading past end of line with "gf" in Visual block mode. +Solution: Do not include the NUL in the length. +Files: src/normal.c, src/testdir/test_gf.vim + +Patch 8.2.4957 +Problem: Text properties in a wrong position after a block change. +Solution: Adjust the properties columns. (closes #10427) +Files: src/ops.c, src/testdir/test_textprop.vim + +Patch 8.2.4958 +Problem: A couple conditions are always true. +Solution: Remove the conditions. (Goc Dundar, closes #10428) +Files: src/evalfunc.c, src/quickfix.c + +Patch 8.2.4959 +Problem: Using NULL regexp program. +Solution: Check for regexp program becoming NULL in more places. +Files: src/buffer.c, src/testdir/test_buffer.vim + +Patch 8.2.4960 +Problem: Text properties that cross line boundary are not correctly updated + for a deleted line. +Solution: Correct computing location of text property entry. (Paul Ollis, + closes #10431, closes #10430) +Files: src/memline.c, src/testdir/test_textprop.vim + +Patch 8.2.4961 +Problem: Build error with a certain combination of features. +Solution: Adjust #if. (John Marriott) +Files: src/memline.c + +Patch 8.2.4962 +Problem: Files show up in git status. +Solution: Adjust the list of ignored files. Clean up more test files. + (Shane xb Qian, closes #9929) +Files: .gitignore, src/testdir/Makefile + +Patch 8.2.4963 +Problem: Expanding path with "/**" may overrun end of buffer. +Solution: Use vim_snprintf(). +Files: src/filepath.c + +Patch 8.2.4964 +Problem: MS-Windows GUI: mouse event test is flaky. +Solution: Add a short delay after generating a mouse event. +Files: src/testdir/test_gui.vim + +Patch 8.2.4965 +Problem: GUI: testing mouse move event depends on screen cell size. +Solution: Multiply the row and column with the screen cell size. +Files: runtime/doc/testing.txt, src/testing.c, src/testdir/test_gui.vim + +Patch 8.2.4966 +Problem: MS-Windows GUI: mouse event test gets extra event. +Solution: Ignore one move event. +Files: src/testdir/test_gui.vim + +Patch 8.2.4967 (after 8.2.4966) +Problem: MS-Windows GUI: mouse event test sometimes fails. +Solution: Ignore one move event only if there is an extra event. +Files: src/testdir/test_gui.vim + +Patch 8.2.4968 +Problem: Reading past end of the line when C-indenting. +Solution: Check for NUL. +Files: src/cindent.c, src/testdir/test_cindent.vim + +Patch 8.2.4969 +Problem: Changing text in Visual mode may cause invalid memory access. +Solution: Check the Visual position after making a change. +Files: src/change.c, src/edit.c, src/misc2.c, src/proto/misc2.pro, + src/testdir/test_visual.vim + +Patch 8.2.4970 +Problem: "eval 123" gives an error, "eval 'abc'" does not. +Solution: Also give an error when evaluating only a string. (closes #10434) +Files: src/ex_eval.c, src/testdir/test_vim9_cmd.vim + +Patch 8.2.4971 +Problem: Vim9: interpolated string seen as range. +Solution: Recognize an interpolated string at the start of a command line. + (closes #10434) +Files: src/ex_docmd.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4972 +Problem: Vim9: compilation fails when using dict member when skipping. +Solution: Do not generate ISN_USEDICT when skipping. (closes #10433) +Files: src/vim9expr.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4973 +Problem: Vim9: type error for list unpack mentions argument. +Solution: Mention variable. (close #10435) +Files: src/vim9.h, src/vim9execute.c, src/vim9instr.c, + src/proto/vim9instr.pro, src/vim9compile.c, + src/testdir/test_vim9_script.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4974 +Problem: ":so" command may read after end of buffer. +Solution: Compute length of text properly. +Files: src/scriptfile.c, src/testdir/test_source.vim + +Patch 8.2.4975 +Problem: Recursive command line loop may cause a crash. +Solution: Limit recursion of getcmdline(). +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.4976 +Problem: Coverity complains about not restoring a saved value. +Solution: Restore value before handling error. +Files: src/vim9execute.c + +Patch 8.2.4977 +Problem: Memory access error when substitute expression changes window. +Solution: Disallow changing window in substitute expression. +Files: src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.2.4978 +Problem: No error if engine selection atom is not at the start. +Solution: Give an error. (Christian Brabandt, closes #10439) +Files: runtime/doc/pattern.txt, src/errors.h, src/regexp_bt.c, + src/regexp_nfa.c, src/testdir/test_regexp_latin.vim + +Patch 8.2.4979 +Problem: Accessing freed memory when line is flushed. +Solution: Make a copy of the pattern to search for. +Files: src/window.c, src/testdir/test_tagjump.vim + +Patch 8.2.4980 +Problem: When 'shortmess' contains 'A' loading a session may still warn for + an existing swap file. (Melker Österberg) +Solution: Keep the 'A' flag to 'shortmess' in the session file. + (closes #10443) +Files: src/session.c, src/testdir/test_mksession.vim + +Patch 8.2.4981 +Problem: It is not possible to manipulate autocommands. +Solution: Add functions to add, get and set autocommands. (Yegappan + Lakshmanan, closes #10291) +Files: runtime/doc/autocmd.txt, runtime/doc/builtin.txt, + runtime/doc/usr_41.txt, src/autocmd.c, src/evalfunc.c, + src/proto/autocmd.pro, src/testdir/test_autocmd.vim, + src/testdir/test_vim9_builtin.vim + +Patch 8.2.4982 +Problem: Colors in terminal window are not 100% correct. +Solution: Use g:terminal_ansi_colors as documented. (closes #10429, + closes #7227 closes #10347) +Files: src/job.c, src/option.c, src/proto/term.pro, + src/terminal.c, src/proto/terminal.pro, src/term.c, + src/testdir/test_functions.vim, src/testdir/test_terminal.vim + +Patch 8.2.4983 (after 8.2.4982) +Problem: Colors test fails in the GUI. +Solution: Reset g:terminal_ansi_colors. +Files: src/testdir/test_functions.vim + +Patch 8.2.4984 +Problem: Dragging statusline fails for window with winbar. +Solution: Fix off-by-one error. (closes #10448) +Files: src/mouse.c, src/testdir/test_winbar.vim + +Patch 8.2.4985 +Problem: PVS warns for possible array underrun. +Solution: Add a check for a positive value. (Goc Dundar, closes #10451) +Files: src/spell.c + +Patch 8.2.4986 +Problem: Some github actions are outdated. +Solution: Update CodeQl to v2, update checkout to v3. (closes #10450) +Files: .github/workflows/ci.yml, .github/workflows/codeql-analysis.yml, + .github/workflows/coverity.yml + +Patch 8.2.4987 +Problem: After deletion a small fold may be closable. +Solution: Check for a reverse range. (Brandon Simmons, closes #10457) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.4988 +Problem: Textprop in wrong position when replacing multi-byte chars. +Solution: Adjust textprop position. (closes #10461) +Files: src/change.c, src/testdir/test_textprop.vim + +Patch 8.2.4989 +Problem: Cannot specify a function name for :defcompile. +Solution: Implement a function name argument for :defcompile. +Files: runtime/doc/vim9.txt, src/userfunc.c, src/proto/userfunc.pro, + src/vim9execute.c, src/ex_cmds.h, src/testdir/test_vim9_cmd.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4990 (after 8.2.4989) +Problem: Memory leak when :defcompile fails. +Solution: Free fname when returning early. +Files: src/userfunc.c + +Patch 8.2.4991 +Problem: No test for what patch 8.1.0535 fixes. +Solution: Add a test. (closes #10462) +Files: src/testdir/test_fold.vim + +Patch 8.2.4992 (after 8.2.4989) +Problem: Compiler warning for possibly uninitialized variable. (Tony + Mechelynck) +Solution: Initialize variable in the caller instead of in the function. +Files: src/userfunc.c, src/vim9execute.c + +Patch 8.2.4993 +Problem: smart/C/lisp indenting is optional, which makes the code more + complex, while it only reduces the executable size a bit. +Solution: Graduate FEAT_CINDENT, FEAT_SMARTINDENT and FEAT_LISP. +Files: runtime/doc/builtin.txt, runtime/doc/indent.txt, + runtime/doc/options.txt, runtime/doc/various.txt, src/feature.h, + src/buffer.c, src/change.c, src/cindent.c, src/charset.c, + src/edit.c, src/evalfunc.c, src/indent.c, src/insexpand.c, + src/main.c, src/mouse.c, src/ops.c, src/option.c, src/optionstr.c, + src/register.c, src/search.c, src/textformat.c, src/version.c, + src/option.h, src/optiondefs.h, src/structs.h, src/globals.h, + src/testdir/test_edit.vim + +Patch 8.2.4994 +Problem: Tests are using legacy functions. +Solution: Convert a few tests to use :def functions. +Files: src/testdir/test_cindent.vim + +Patch 8.2.4995 (after 8.2.4992) +Problem: Still a compiler warning for possibly uninitialized variable. + (Tony Mechelynck) +Solution: Initialize variables. +Files: src/vim9execute.c + +Patch 8.2.4996 (after 8.2.4969) +Problem: setbufline() may change Visual selection. (Qiming Zhao) +Solution: Disable Visual mode when using another buffer. (closes #10466) +Files: src/evalbuffer.c, src/testdir/test_bufline.vim + +Patch 8.2.4997 +Problem: Python: changing hidden buffer can cause the display to be messed + up. +Solution: Do not mark changed lines when using another buffer. (Paul Ollis, + closes #10437, closes #7972) +Files: src/if_py_both.h, src/testdir/test_python3.vim + +Patch 8.2.4998 +Problem: Vim9: crash when using multiple funcref(). +Solution: Check if varargs type is NULL. (closes #10467) +Files: src/vim9type.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4999 +Problem: Filetype test table is not properly sorted. +Solution: Sort by filetype. (Doug Kearns) +Files: src/testdir/test_filetype.vim + +Patch 8.2.5000 +Problem: No patch for documentation updates. +Solution: Update documentation files. +Files: runtime/doc/arabic.txt, runtime/doc/autocmd.txt, + runtime/doc/builtin.txt, runtime/doc/change.txt, + runtime/doc/channel.txt, runtime/doc/cmdline.txt, + runtime/doc/diff.txt, runtime/doc/digraph.txt, + runtime/doc/editing.txt, runtime/doc/eval.txt, + runtime/doc/filetype.txt, runtime/doc/fold.txt, + runtime/doc/ft_ada.txt, runtime/doc/ft_ps1.txt, + runtime/doc/ft_raku.txt, runtime/doc/ft_rust.txt, + runtime/doc/ft_sql.txt, runtime/doc/gui.txt, + runtime/doc/gui_w32.txt, runtime/doc/helphelp.txt, + runtime/doc/help.txt, runtime/doc/if_cscop.txt, + runtime/doc/if_lua.txt, runtime/doc/if_perl.txt, + runtime/doc/if_pyth.txt, runtime/doc/if_tcl.txt, + runtime/doc/indent.txt, runtime/doc/index.txt, + runtime/doc/insert.txt, runtime/doc/intro.txt, + runtime/doc/map.txt, runtime/doc/mbyte.txt, + runtime/doc/message.txt, runtime/doc/motion.txt, + runtime/doc/netbeans.txt, runtime/doc/options.txt, + runtime/doc/os_dos.txt, runtime/doc/os_vms.txt, + runtime/doc/os_win32.txt, runtime/doc/pattern.txt, + runtime/doc/pi_netrw.txt, runtime/doc/pi_zip.txt, + runtime/doc/popup.txt, runtime/doc/print.txt, + runtime/doc/quickfix.txt, runtime/doc/quickref.txt, + runtime/doc/remote.txt, runtime/doc/repeat.txt, + runtime/doc/rileft.txt, runtime/doc/scroll.txt, + runtime/doc/sign.txt, runtime/doc/spell.txt, + runtime/doc/sponsor.txt, runtime/doc/starting.txt, + runtime/doc/syntax.txt, runtime/doc/tabpage.txt, + runtime/doc/tagsrch.txt, runtime/doc/terminal.txt, + runtime/doc/term.txt, runtime/doc/testing.txt, + runtime/doc/textprop.txt, runtime/doc/tips.txt, + runtime/doc/todo.txt, runtime/doc/uganda.txt, + runtime/doc/undo.txt, runtime/doc/usr_02.txt, + runtime/doc/usr_04.txt, runtime/doc/usr_05.txt, + runtime/doc/usr_06.txt, runtime/doc/usr_08.txt, + runtime/doc/usr_09.txt, runtime/doc/usr_12.txt, + runtime/doc/usr_20.txt, runtime/doc/usr_29.txt, + runtime/doc/usr_40.txt, runtime/doc/usr_41.txt, + runtime/doc/usr_45.txt, runtime/doc/usr_46.txt, + runtime/doc/usr_50.txt, runtime/doc/usr_51.txt, + runtime/doc/usr_52.txt, runtime/doc/usr_90.txt, + runtime/doc/usr_toc.txt, runtime/doc/various.txt, + runtime/doc/version5.txt, runtime/doc/version6.txt, + runtime/doc/version7.txt, runtime/doc/version8.txt, + runtime/doc/version9.txt, runtime/doc/vi_diff.txt, + runtime/doc/vim9.txt, runtime/doc/visual.txt, + runtime/doc/windows.txt, runtime/doc/tags, runtime/doc/Makefile + +Patch 8.2.5001 +Problem: Checking translations affects the search pattern history. +Solution: Use "keeppatterns". (Doug Kearns) +Files: src/po/check.vim + +Patch 8.2.5002 +Problem: deletebufline() may change Visual selection. +Solution: Disable Visual mode when using another buffer. (closes #10469) +Files: src/evalbuffer.c, src/testdir/test_bufline.vim + +Patch 8.2.5003 +Problem: Cannot do bitwise shifts. +Solution: Add the >> and << operators. (Yegappan Lakshmanan, closes #8457) +Files: runtime/doc/eval.txt, src/errors.h, src/eval.c, src/structs.h, + src/vim.h, src/vim9execute.c, src/vim9expr.c, + src/testdir/test_expr.vim, src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_expr.vim + +Patch 8.2.5004 +Problem: Right shift on negative number does not work as documented. +Solution: Use a uvarnumber_T type cast. +Files: runtime/doc/eval.txt, src/eval.c, src/vim9expr.c, + src/vim9execute.c, src/charset.c, src/testdir/test_expr.vim + +Patch 8.2.5005 (after 8.2.5003) +Problem: Compiler warning for uninitialized variable. (John Marriott) +Solution: Initialize the pointer to NULL. +Files: src/vim9expr.vim + +Patch 8.2.5006 (after 8.2.5003) +Problem: Asan warns for undefined behavior. +Solution: Cast the shifted value to unsigned. +Files: src/eval.c, src/vim9expr.c, src/vim9execute.c + +Patch 8.2.5007 +Problem: Spell suggestion may use uninitialized memory. (Zdenek Dohnal) +Solution: Avoid going over the end of the word. +Files: src/spellsuggest.c, src/testdir/test_spell_utf8.vim + +Patch 8.2.5008 +Problem: When 'formatoptions' contains "/" wrongly wrapping a long trailing + comment. +Solution: Pass the OPENLINE_FORMAT flag. +Files: src/change.c, src/vim.h, src/textformat.c, + src/testdir/test_textformat.vim + +Patch 8.2.5009 +Problem: Fold may not be closable after appending. +Solution: Set the fd_small flag to MAYBE. (Brandon Simmons, closes #10471) +Files: src/fold.c, src/testdir/test_fold.vim + +Patch 8.2.5010 +Problem: The terminal debugger uses various global variables. +Solution: Add a dictionary to hold the terminal debugger preferences. +Files: runtime/doc/terminal.txt, + runtime/pack/dist/opt/termdebug/plugin/termdebug.vim + +Patch 8.2.5011 +Problem: Replacing an autocommand requires several lines. +Solution: Add the "replace" flag to autocmd_add(). (Yegappan Lakshmanan, + closes #10473) +Files: runtime/doc/autocmd.txt, runtime/doc/builtin.txt, src/autocmd.c, + src/testdir/test_autocmd.vim + +Patch 8.2.5012 +Problem: Cannot select one character inside (). +Solution: Do not try to extend the area if it is empty. (closes #10472, + closes #6616) +Files: src/textobject.c, src/testdir/test_textobjects.vim + +Patch 8.2.5013 +Problem: After text formatting the cursor may be in an invalid position. +Solution: Correct the cursor position after formatting. +Files: src/textformat.c, src/testdir/test_textformat.vim + +Patch 8.2.5014 +Problem: Byte offsets are wrong when using text properties. +Solution: Make sure text properties do not affect the byte counts. + (Paul Ollis, closes #10474) +Files: src/memline.c, src/textprop.c, src/testdir/test_textprop.vim + +Patch 8.2.5015 +Problem: Hoon and Moonscript files are not recognized. +Solution: Add filetype patterns. (Goc Dundar, closes #10478) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.5016 +Problem: Access before start of text with a put command. +Solution: Check the length is more than zero. +Files: src/register.c, src/testdir/test_put.vim + +Patch 8.2.5017 +Problem: Gcc 12.1 warns for uninitialized variable. +Solution: Initialize the variable. (closes #10476) +Files: src/evalvars.c + +Patch 8.2.5018 +Problem: Vim9: some code is not covered by tests. +Solution: Delete dead code. +Files: src/vim9instr.c, src/proto/vim9instr.pro, src/vim9compile.c, + src/vim9expr.c, + +Patch 8.2.5019 +Problem: Cannot get the first screen column of a character. +Solution: Let virtcol() optionally return a list. (closes #10482, + closes #7964) +Files: runtime/doc/builtin.txt, src/evalfunc.c, + src/testdir/test_functions.vim, src/testdir/test_vim9_builtin.vim + +Patch 8.2.5020 +Problem: Using 'imstatusfunc' and 'imactivatefunc' breaks 'foldopen'. +Solution: Save and restore the KeyTyped flag. (closes #10479) +Files: src/gui_xim.c, src/testdir/test_iminsert.vim + + +Patch 8.2.5021 +Problem: Build fails with normal features and +terminal. (Dominique Pellé) +Solution: Add #ifdefs. (closes #10484) +Files: src/terminal.c + +Patch 8.2.5022 +Problem: 'completefunc'/'omnifunc' error does not end completion. +Solution: Check if there was an error or exception. (closes #10486, + closes #4218) +Files: src/insexpand.c, src/testdir/test_ins_complete.vim + +Patch 8.2.5023 +Problem: Substitute overwrites allocated buffer. +Solution: Disallow undo when in a substitute command. +Files: src/normal.c, src/undo.c, src/testdir/test_substitute.vim + +Patch 8.2.5024 +Problem: Using freed memory with "]d". +Solution: Copy the pattern before searching. +Files: src/normal.c, src/testdir/test_tagjump.vim + +Patch 8.2.5025 +Problem: Vim9: a few lines not covered by tests. +Solution: Add a few tests. +Files: src/vim9script.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_import.vim + +Patch 8.2.5026 +Problem: Vim9: a few lines not covered by tests. +Solution: Delete dead code. Add a few test cases. make "12->func()" work. +Files: src/vim9type.c, src/ex_docmd.c, src/proto/ex_docmd.pro, + src/vim9compile.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_func.vim + +Patch 8.2.5027 +Problem: Error for missing :endif when an exception was thrown. (Dani + Dickstein) +Solution: Do not give an error when aborting. (closes #10490) +Files: src/ex_docmd.c, src/testdir/test_trycatch.vim + +Patch 8.2.5028 +Problem: Syntax regexp matching can be slow. +Solution: Adjust the counters for checking the timeout to check about once + per msec. (closes #10487, closes #2712) +Files: src/regexp_bt.c, src/regexp_nfa.c + +Patch 8.2.5029 +Problem: "textlock" is always zero. +Solution: Remove "textlock" and rename "textwinlock" to "textlock". + (closes #10489) +Files: runtime/doc/insert.txt, runtime/doc/tags, src/beval.c, + src/change.c, src/edit.c, src/errors.h, src/eval.c, src/ex_cmds.c, + src/ex_getln.c, src/proto/ex_getln.pro, src/globals.h, + src/indent.c, src/insexpand.c, src/map.c, src/register.c, + src/undo.c, src/window.c, src/testdir/test_edit.vim, + src/testdir/test_ins_complete.vim, src/testdir/test_popup.vim, + src/testdir/test_quickfix.vim + +Patch 8.2.5030 +Problem: autocmd_add() can only handle one event and pattern. +Solution: Support a list of events and patterns. (Yegappan Lakshmanan, + closes #10483) +Files: runtime/doc/builtin.txt, src/autocmd.c, src/errors.h, + src/testdir/test_autocmd.vim + +Patch 8.2.5031 +Problem: Cannot easily run the benchmarks. +Solution: Have "make benchmark" in the src directory work. +Files: src/Makefile, src/testdir/Makefile + +Patch 8.2.5032 +Problem: Python 3 test fails without the GUI. +Solution: Check the balloon_eval feature is available. +Files: src/testdir/test_python3.vim + +Patch 8.2.5033 (after 8.2.5030) +Problem: Build error with +eval but without +quickfix. Warning for + uninitialized variable. +Solution: Adjust #ifdefs. (John Marriott) +Files: src/errors.h, src/autocmd.c + +Patch 8.2.5034 +Problem: There is no way to get the byte index from a virtual column. +Solution: Add virtcol2col(). (Yegappan Lakshmanan, closes #10477, + closes #10098) +Files: runtime/doc/builtin.txt, runtime/doc/usr_41.txt, src/evalfunc.c, + src/move.c, src/proto/move.pro, src/testdir/test_cursor_func.vim + +Patch 8.2.5035 +Problem: When splitting a window the changelist position moves. +Solution: Set the changelist index a bit later. (closes #10493) +Files: src/window.c, src/testdir/test_changelist.vim, + src/testdir/test_normal.vim + +Patch 8.2.5036 (after 8.2.5028) +Problem: Using two counters for timeout check in NFA engine. +Solution: Use only one counter. Tune the counts based on guessing. +Files: src/regexp_nfa.c + +Patch 8.2.5037 +Problem: Cursor position may be invalid after "0;" range. +Solution: Check the cursor position when it was set by ";" in the range. +Files: src/ex_docmd.c, src/testdir/test_excmd.vim + +Patch 8.2.5038 +Problem: A finished terminal in a popup window does not show a scrollbar. +Solution: Show the scrollbar if the terminal job is finished. (closes + #10497) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_poptermscroll_1.dump, + src/testdir/dumps/Test_popupwin_poptermscroll_2.dump, + src/testdir/dumps/Test_popupwin_poptermscroll_3.dump + +Patch 8.2.5039 +Problem: Confusing error if first argument of popup_create() is wrong. +Solution: Give a more informative error. +Files: src/popupwin.c, src/testdir/test_popupwin.vim, src/errors.h, + src/testdir/dumps/Test_popup_settext_07.dump + +Patch 8.2.5040 +Problem: Scrollbar thumb in scrolled popup not visible. +Solution: Show at least one thumb character. (fixes 10492) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_13.dump + +Patch 8.2.5041 +Problem: Cannot close a terminal popup with "NONE" job. +Solution: Adjust the conditions for whether a job is running. + (closes #10498) +Files: src/buffer.c, src/terminal.c, src/proto/terminal.pro, + src/undo.c, src/testdir/test_popupwin.vim + +Patch 8.2.5042 +Problem: Scrollbar thumb in tall scrolled popup not visible. +Solution: Show at least one thumb character. (fixes 10492) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_scroll_13.dump + +Patch 8.2.5043 +Problem: Can open a cmdline window from a substitute expression. +Solution: Disallow opening a command line window when text or buffer is + locked. +Files: src/buffer.c, src/ex_getln.c, src/proto/ex_getln.pro, + src/window.c, src/testdir/test_substitute.vim + +Patch 8.2.5044 (after 8.2.5043) +Problem: Command line test fails. +Solution: Also beep when cmdline win can't be opened because of locks. + Make the test not beep. Make the test pass on MS-Windows. +Files: src/ex_getln.c, src/testdir/test_substitute.vim + +Patch 8.2.5045 +Problem: Can escape a terminal popup window when the job is finished. +Solution: Only check for a finished job where it is relevant. + (closes #10253) +Files: src/popupwin.c, src/testdir/test_popupwin.vim, + src/testdir/dumps/Test_popupwin_poptermscroll_1.dump, + src/testdir/dumps/Test_popupwin_poptermscroll_2.dump, + src/testdir/dumps/Test_popupwin_poptermscroll_3.dump, + src/testdir/dumps/Test_popupwin_poptermscroll_4.dump + +Patch 8.2.5046 +Problem: vim_regsub() can overwrite the destination. +Solution: Pass the destination length, give an error when it doesn't fit. +Files: src/regexp.h, src/regexp.c, src/proto/regexp.pro, src/eval.c, + src/ex_cmds.c + +Patch 8.2.5047 +Problem: CurSearch highlight is often wrong. +Solution: Remember the last highlighted position and redraw when needed. +Files: src/globals.h, src/match.c, src/drawscreen.c, src/change.c, + src/testdir/test_search.vim, + src/testdir/dumps/Test_hlsearch_cursearch_changed_1.dump + +Patch 8.2.5048 +Problem: When using XIM the gui test may fail. +Solution: Only use --not-a-term when not using XIM. +Files: src/testdir/test_gui.vim + +Patch 8.2.5049 +Problem: Insufficient tests for autocommands. +Solution: Add a few more tests. (Yegappan Lakshmanan, closes #10507) +Files: src/autocmd.c, src/testdir/gen_opt_test.vim, + src/testdir/test_autocmd.vim, src/testdir/test_cmdline.vim + +Patch 8.2.5050 +Problem: Using freed memory when searching for pattern in path. +Solution: Make a copy of the line. +Files: src/search.c, src/testdir/test_tagjump.vim + +Patch 8.2.5051 +Problem: Check for autocmd_add() event argument is confusing. +Solution: Make the code more straightforward. +Files: src/autocmd.c + +Patch 8.2.5052 +Problem: CI checkout step title is a bit cryptic. +Solution: Add a better title. (closes #10509) +Files: .github/workflows/ci.yml, .github/workflows/coverity.yml, + .github/workflows/codeql-analysis.yml + +Patch 8.2.5053 +Problem: Cannot have a comment halfway an expression in an autocmd command + block. +Solution: When skipping over the NL also skip over comments. (closes #10519) +Files: src/eval.c, src/testdir/test_autocmd.vim + +Patch 8.2.5054 +Problem: No good filetype for conf files similar to dosini. +Solution: Add the confini filetype. (closes #10518) +Files: runtime/filetype.vim, src/testdir/test_filetype.vim + +Patch 8.2.5055 +Problem: Statusline is not updated when terminal title changes. +Solution: Redraw the status line when the title changes. (issue #10425) +Files: src/terminal.c + +Patch 8.2.5056 +Problem: The channel log only contains some of the raw terminal output. +Solution: Add the "o" flag to log all terminal output. Use it for "--log". +Files: runtime/doc/channel.txt, runtime/doc/starting.txt, src/main.c, + src/channel.c, src/vim.h, src/term.c, src/edit.c, src/normal.c, + src/optionstr.c + +Patch 8.2.5057 +Problem: Using gettimeofday() for timeout is very inefficient. +Solution: Set a platform dependent timer. (Paul Ollis, closes #10505) +Files: src/auto/configure, src/config.h.in, src/configure.ac, + src/drawscreen.c, src/errors.h, src/evalfunc.c, src/ex_cmds.c, + src/ex_getln.c, src/match.c, src/os_mac.h, src/os_macosx.m, + src/os_unix.c, src/os_win32.c, src/proto/os_unix.pro, + src/proto/os_win32.pro, src/proto/regexp.pro, src/quickfix.c, + src/regexp.c, src/regexp.h, src/regexp_bt.c, src/regexp_nfa.c, + src/screen.c, src/search.c, src/structs.h, src/syntax.c, + src/testdir/test_hlsearch.vim, src/testdir/test_search.vim, + src/testdir/test_syntax.vim + +Patch 8.2.5058 +Problem: input() does not handle composing characters properly. +Solution: Use mb_cptr2char_adv() instead of mb_ptr2char_adv(). + (closes #10527) +Files: src/getchar.c, src/testdir/test_functions.vim + +Patch 8.2.5059 +Problem: Autoconf 2.71 produces many obsolete warnings. +Solution: Replace obsolete macros with non-obsolete ones, where the + functionality does not change. (issue #10528) +Files: src/configure.ac, src/auto/configure + +Patch 8.2.5060 (after 8.2.5059) +Problem: Running configure fails. +Solution: Remove line break. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.5061 +Problem: C89 requires signal handlers to return void. +Solution: Drop RETSIGTYPE and hard-code a void return value. +Files: src/configure.ac, src/auto/configure, src/if_cscope.c, + src/os_unix.c, src/pty.c, src/os_mac.h, src/os_vms_conf.h, + src/config.h.in, src/osdef1.h.in + +Patch 8.2.5062 +Problem: Coverity warns for dead code. +Solution: Remove the dead code. +Files: src/os_unix.c, src/match.c + +Patch 8.2.5063 +Problem: Error for a command may go over the end of IObuff. +Solution: Truncate the message. +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.2.5064 +Problem: No test for what 8.1.0052 fixes. +Solution: Add a test. (closes #10531) +Files: src/getchar.c, src/testdir/test_mapping.vim + +Patch 8.2.5065 +Problem: Wrong return type for main() in tee.c. +Solution: Use "int" instead of "void". Remove unused variable. +Files: src/tee/tee.c + +Patch 8.2.5066 +Problem: Can specify multispace listchars only for whole line. +Solution: Add "leadmultispace". (Christian Brabandt, closes #10496) +Files: runtime/doc/options.txt, src/drawline.c, src/message.c, + src/screen.c, src/structs.h, src/window.c, + src/testdir/test_listchars.vim + +Patch 8.2.5067 +Problem: Timer_create is not available on every Mac system. (Hisashi T + Fujinaka) +Solution: Adjust #ifdef. +Files: src/os_unix.c + +Patch 8.2.5068 +Problem: Gcc 12.1 warning when building tee. +Solution: Change type to size_t. (John Marriott) +Files: src/tee/tee.c + +Patch 8.2.5069 +Problem: Various warnings from clang on MS-Windows. +Solution: Fix the code to avoid the warnings. (Yegappan Lakshmanan, + closes #10538) +Files: src/dosinst.c, src/fileio.c, src/gui_w32.c, src/os_mswin.c, + src/os_win32.c + +Patch 8.2.5070 +Problem: Unnecessary code. +Solution: Remove code that isn't needed. (closes #10534) +Files: src/message.c, src/screen.c + +Patch 8.2.5071 +Problem: With some Mac OS version clockid_t is redefined. +Solution: Adjust #ifdefs. (Ozaki Kiichi, closes #10549) +Files: src/os_mac.h + +Patch 8.2.5072 +Problem: Using uninitialized value and freed memory in spell command. +Solution: Initialize "attr". Check for empty line early. +Files: src/spell.c, src/testdir/test_spell_utf8.vim + +Patch 8.2.5073 +Problem: Clang on MS-Windows produces warnings. +Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #10546) +Files: src/dosinst.c, src/dosinst.h, src/gui_dwrite.cpp, src/gui_w32.c, + src/iscygpty.c, src/libvterm/src/vterm_internal.h, src/mbyte.c, + src/os_win32.c, src/os_win32.h, src/term.c, src/xdiff/xinclude.h + +Patch 8.2.5074 +Problem: Spell test fails on MS-Windows. +Solution: Do not change 'encoding' +Files: src/testdir/test_spell_utf8.vim + +Patch 8.2.5075 +Problem: Clang gives an out of bounds warning. +Solution: adjust conditional expression (John Marriott) +Files: src/ui.c + +Patch 8.2.5076 +Problem: Unnecessary code. +Solution: Remove code and replace with function call. (closes #10552) +Files: src/drawline.c, src/getchar.c + +Patch 8.2.5077 +Problem: Various warnings from clang on MS-Windows. +Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #10553) +Files: src/dosinst.c, src/dosinst.h, src/filepath.c, src/gui_w32.c, + src/misc1.c, src/os_win32.c + +Patch 8.2.5078 +Problem: Substitute test has a one second delay. +Solution: Use ":silent!". Add another test case. (closes #10558) +Files: src/testdir/test_substitute.vim + +Patch 8.2.5079 +Problem: DirChanged autocommand may use freed memory. (Shane-XB Qian) +Solution: Free the memory later. (closes #10555) +Files: src/ex_docmd.c, src/testdir/test_autocmd.vim + +Patch 8.2.5080 +Problem: When indenting gets out of hand it is hard to stop. +Solution: When line gets too long set got_int. +Files: src/indent.c + +Patch 8.2.5081 +Problem: Autocmd test fails on MS-Windows. +Solution: Set shellslash to get forward slashes. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.5082 (after 8.2.5080) +Problem: Retab test fails. +Solution: Disable the test for now. +Files: src/testdir/test_retab.vim + +Patch 8.2.5083 +Problem: Autocmd test still fails on MS-Windows. +Solution: Change backward to forward slashes. +Files: src/testdir/test_autocmd.vim + +Patch 8.2.5084 +Problem: When the GUI shows a dialog tests get stuck. +Solution: Add the --gui-dialog-file argument. +Files: runtime/doc/starting.txt, src/Make_mvc.mak, src/gui.c, src/main.c, + src/message.c, src/os_mswin.c, src/proto/gui.pro, + src/proto/main.pro, src/structs.h, src/testdir/Make_dos.mak, + src/testdir/Make_ming.mak, src/testdir/Makefile, + src/testdir/runtest.vim, src/testdir/shared.vim + +Patch 8.2.5085 +Problem: Gcc gives warning for signed/unsigned difference. +Solution: Use a different pointer type. (John Marriott) +Files: src/os_mswin.c + +Patch 8.2.5086 +Problem: CI runs on Windows 2019. +Solution: Switch to Windows 2022. (closes #10566) +Files: .github/workflows/ci.yml + +Patch 8.2.5087 +Problem: Cannot build with clang on MS-Windows. +Solution: Add support for building with clang. (Yegappan Lakshmanan, + closes #10557) +Files: src/GvimExt/Make_ming.mak, src/INSTALLpc.txt, + src/Make_cyg_ming.mak + +Patch 8.2.5088 +Problem: Value of cmod_verbose is a bit complicated to use. +Solution: Use zero for not set, value + 1 when set. (closes #10564) +Files: src/ex_docmd.c, src/ex_getln.c, src/globals.h, src/structs.h + +Patch 8.2.5089 +Problem: Some functions return a different value on failure. +Solution: Initialize the return value earlier. (Yegappan Lakshmanan, + closes #10568) +Files: src/autocmd.c, src/dict.c, src/evalfunc.c, src/list.c + +Patch 8.2.5090 +Problem: MS-Windows: vim.def is no longer used. +Solution: Delete vim.def. (Ken Takata, closes #10569) +Files: Filelist, Makefile, src/vim.def + +Patch 8.2.5091 +Problem: Terminal test fails with some shell commands. +Solution: Disable setting the window title. (closes #10530) +Files: src/testdir/test_terminal.vim + +Patch 8.2.5092 +Problem: Using "'<,'>" in Ex mode may compare unrelated pointers. +Solution: Set eap->cmd to "+" only later. +Files: src/ex_docmd.c + +Patch 8.2.5093 +Problem: Error message for unknown command may mention the command twice. + (Malcolm Rowe) +Solution: Add the did_append_cmd flag. (closes #10570) +Files: src/ex_docmd.c + +Patch 8.2.5094 +Problem: MS-Windows GUI: empty command may cause a dialog. +Solution: Delete the dialog file. Improve the message. +Files: src/testdir/runtest.vim, src/testdir/test_ex_mode.vim + +Patch 8.2.5095 +Problem: Terminal test still fails with some shell commands. +Solution: Disable setting the window title in the Vim instance running in a + terminal window. (closes #10530) +Files: src/testdir/test_terminal.vim + +Patch 8.2.5096 (after 8.2.5095) +Problem: Terminal test still fails with some shell commands. +Solution: Add missing "call". (closes #10530) +Files: src/testdir/test_terminal.vim + +Patch 8.2.5097 +Problem: Using uninitialized memory when using 'listchars'. +Solution: Use the length returned by mb_char2bytes(). (closes #10576) +Files: src/message.c + +Patch 8.2.5098 +Problem: Spelldump test sometimes hangs. +Solution: Catch the problem of the spell file not being found to avoid + hanging in the download dialog. +Files: src/testdir/test_spell.vim + +Patch 8.2.5099 +Problem: Some terminal tests are not retried. +Solution: Mark terminal tests as flaky. +Files: src/testdir/test_terminal.vim + +Patch 8.2.5100 +Problem: Memory usage tests are not retried. +Solution: Mark memory usage tests as flaky. +Files: src/testdir/test_memory_usage.vim + +Patch 8.2.5101 +Problem: MS-Windows with MinGW: $CC may be "cc" instead of "gcc". +Solution: Set $CC if it is not matching "clang". (Yegappan Lakshmanan, + closes #10578) +Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak + +Patch 8.2.5102 +Problem: Interrupt not caught in test. +Solution: Consider an exception thrown in the current try/catch when got_int + is set. Also catch early exit when not using try/catch. +Files: src/indent.c, src/testing.c, src/testdir/test_retab.vim, + src/testdir/runtest.vim + +Patch 8.2.5103 +Problem: Build fails with small features. +Solution: Add #ifdef. Skip test on MS-Windows. +Files: src/indent.c, src/testdir/test_retab.vim + +Patch 8.2.5104 (after 8.2.5103) +Problem: Test hangs on MS-Windows. +Solution: Skip another test on MS-Windows. +Files: src/testdir/test_retab.vim + +Patch 8.2.5105 (after 8.2.5104) +Problem: Test still hangs on MS-Windows. +Solution: Skip "nocatch" test the right way. +Files: src/testdir/test_retab.vim + +Patch 8.2.5106 +Problem: Default cmdwin mappings are re-mappable. +Solution: Make the default mappings not re-mappable. (closes #10580) Use + symbols for the first do_map() argument. +Files: src/vim.h, src/ex_getln.c, src/map.c, src/proto/map.pro, + src/digraph.c, src/netbeans.c + +Patch 8.2.5107 +Problem: Some callers of rettv_list_alloc() check for not OK. (Christ van + Willegen) +Solution: Use "==" instead of "!=" when checking the return value. +Files: src/evalbuffer.c, src/channel.c, src/cmdexpand.c, src/evalfunc.c, + src/evalwindow.c, src/insexpand.c, src/job.c, src/list.c, + src/map.c, src/menu.c, src/mouse.c, src/move.c, src/sign.c, + src/textprop.c, src/term.c, src/time.c + +Patch 8.2.5108 +Problem: Retab test disabled because it hangs on MS-Windows. +Solution: Also set got_int at the other place an overlong text is detected. +Files: src/indent.c, src/testdir/test_retab.vim + +Patch 8.2.5109 +Problem: Mode not updated after CTRL-O CTRL-C in Insert mode. +Solution: Set redraw_mode and use it. (closes #10581) +Files: src/main.c, src/normal.c, src/testdir/test_normal.vim, + src/testdir/dumps/Test_mode_updated_1.dump + +Patch 8.2.5110 +Problem: Icon filetype not recognized from the first line. +Solution: Add a check for the first line. (Doug Kearns) +Files: runtime/autoload/dist/script.vim, src/testdir/test_filetype.vim + +Patch 8.2.5111 +Problem: No test for --gui-dialog-file. +Solution: Add a test. +Files: src/testdir/test_gui.vim + +Patch 8.2.5112 (after 8.2.5111) +Problem: Gui test hangs on MS-Windows. +Solution: Use "!start" to start Vim. +Files: src/testdir/test_gui.vim + +Patch 8.2.5113 +Problem: Timer becomes invalid after fork/exec, :gui gives errors. (Gabriel + Dupras) +Solution: Delete the timer befor forking. (closes #10584) +Files: src/os_unix.c, src/proto/os_unix.pro, src/gui.c + +Patch 8.2.5114 +Problem: Time limit on searchpair() does not work properly. +Solution: Set the time limit once instead of for each regexp. (closes #10562) +Files: src/search.c, src/evalfunc.c, src/testdir/test_search.vim + +Patch 8.2.5115 +Problem: Search timeout is overrun with some patterns. +Solution: Check for timeout in more places. Make the flag volatile and + atomic. Use assert_inrange() to see what happened. +Files: src/regexp_nfa.c, src/regexp_bt.c, src/regexp.c, src/os_unix.c, + src/proto/os_unix.pro, src/testdir/test_search.vim + +Patch 8.2.5116 +Problem: "limit" option of matchfuzzy() not always respected. +Solution: Remove "else". (Kazuyuki Miyagi, closes #10586) +Files: runtime/doc/builtin.txt, src/search.c, + src/testdir/test_matchfuzzy.vim + +Patch 8.2.5117 +Problem: Crash when calling a Lua callback from a :def function. (Bohdan + Makohin) +Solution: Handle FC_CFUNC in call_user_func_check(). (closes #10587) +Files: src/userfunc.c, src/testdir/test_lua.vim + +Patch 8.2.5118 +Problem: MS-Windows: sending a message to another Vim may hang if that Vim + is halted. +Solution: Add a timeout to serverSendToVim(). (Ken Takata, closes #10585) +Files: runtime/pack/dist/opt/editexisting/plugin/editexisting.vim, + src/os_mswin.c + +Patch 8.2.5119 +Problem: CI uses cache v2. +Solution: Use cache v3. (closes #10588) +Files: .github/workflows/ci.yml + +Patch 8.2.5120 +Problem: Searching for quotes may go over the end of the line. +Solution: Check for running into the NUL. +Files: src/textobject.c + +Patch 8.2.5121 +Problem: Interrupt test sometimes fails. +Solution: Use a different file name. +Files: src/testdir/test_interrupt.vim + +Patch 8.2.5122 +Problem: Lisp indenting my run over the end of the line. +Solution: Check for NUL earlier. +Files: src/indent.c, src/testdir/test_indent.vim + +Patch 8.2.5123 +Problem: Using invalid index when looking for spell suggestions. +Solution: Do not decrement the index when it is zero. +Files: src/spellsuggest.c, src/testdir/test_spell.vim + +Patch 8.2.5124 +Problem: When syntax timeout test fails it does not show the time. +Solution: Use assert_inrange(). +Files: src/testdir/test_syntax.vim + +Patch 8.2.5125 +Problem: MS-Windows: warnings from MinGW compiler. +Solution: Use "volatile". (Yasuhiro Matsumoto, closes #10589) Initialize + variable. +Files: src/os_win32.c, src/proto/os_win32.pro, src/map.c + +Patch 8.2.5126 +Problem: Substitute may overrun destination buffer. +Solution: Disallow switching buffers in a substitute expression. +Files: src/ex_docmd.c, src/testdir/test_substitute.vim + +Patch 8.2.5127 +Problem: Using assert_true() does not show value on failure. +Solution: Use assert_inrange(). (closes #10593) +Files: src/testdir/test_channel.vim, src/testdir/test_hlsearch.vim + +Patch 8.2.5128 +Problem: Syntax highlighting disabled when using synID() in searchpair() + skip expression and it times out. (Jaehwang Jung) +Solution: Add the redrawtime_limit_set flag. (closes #10562) +Files: src/globals.h, src/drawscreen.c, src/syntax.c + +Patch 8.2.5129 +Problem: Timeout handling is not optimal. +Solution: Avoid setting timeout_flag twice. Adjust the pointer when + stopping the regexp timeout. Adjust variable name. +Files: src/os_unix.c, src/os_win32.c, src/regexp.c + +Patch 8.2.5130 +Problem: Edit test for mode message fails when using valgrind. +Solution: Use WaitForAssert(). Run beep test later. +Files: src/testdir/test_edit.vim + +Patch 8.2.5131 +Problem: Timeout implementation is not optimal. +Solution: Further improvements for timeouts. Add a test for searchpair() + timeout. (partly by Paul Ollis) +Files: src/configure.ac, src/auto/configure, + src/testdir/test_hlsearch.vim, src/testdir/test_search.vim + +Patch 8.2.5132 +Problem: :mkview test doesn't test much. +Solution: Save the view with the folds closed. (James McCoy, closes #10596) +Files: src/testdir/test_mksession.vim + +Patch 8.2.5133 +Problem: MacOS: build fails. +Solution: Remove "#if 0" from timer_delete(). +Files: src/os_macosx.m + +Patch 8.2.5134 +Problem: Function has confusing name. +Solution: Rename tgetent_error() to invoke_tgetent(). +Files: src/term.c + +Patch 8.2.5135 +Problem: Running configure gives warnings for main() return type. +Solution: Specify "int" return type. Avoid a few more warnings. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.5136 +Problem: Debugger test fails when run with valgrind. +Solution: Wait longer when using valgrind. +Files: src/testdir/shared.vim, src/testdir/test_debugger.vim, + src/testdir/test_search.vim + +Patch 8.2.5137 +Problem: Cannot build without the +channel feature. (Dominique Pellé) +Solution: Add #ifdef around ch_log() calls. (closes #10598) +Files: src/os_unix.c, src/regexp_nfa.c, src/regexp_bt.c + +Patch 8.2.5138 +Problem: Various small issues. +Solution: Various small improvements. +Files: src/filepath.c, src/job.c, src/mark.c, src/move.c, + src/popupwin.c, src/testdir/test_filetype.vim + +Patch 8.2.5139 +Problem: TIME_WITH_SYS_TIME is no longer supported by autoconf. +Solution: Always include time.h. +Files: src/os_unix.h + +Patch 8.2.5140 +Problem: Seachpair timeout test is flaky. +Solution: Mark the test as flaky so it is retried. +Files: src/testdir/test_search.vim + +Patch 8.2.5141 +Problem: Using "volatile int" in a signal handler might be wrong. +Solution: Use "volatile sig_atomic_t". +Files: src/os_unix.c, src/proto/os_unix.pro, src/os_win32.c, + src/proto/os_win32.pro, src/regexp.c, + +Patch 8.2.5142 +Problem: Startup test fails if there is a status bar at the top of the + screen. (Ernie Rael) +Solution: Use a larger vertical offset in the test. +Files: src/testdir/test_startup.vim + +Patch 8.2.5143 +Problem: Some tests fail when using valgrind. Spurious leak reports. +Solution: Use WaitForAssert(). Avoid failing fork/exec. Skip tests where a + job is killed when running valgrind. +Files: src/testdir/test_iminsert.vim, src/testdir/test_popup.vim, + src/testdir/test_cscope.vim, src/testdir/test_channel.vim + +Patch 8.2.5144 +Problem: With 'lazyredraw' set completion menu may be displayed wrong. +Solution: When the popup menu is visible do not insert a screen line. + (closes #10601) +Files: src/screen.c + +Patch 8.2.5145 +Problem: Exit test causes spurious valgrind reports. +Solution: Skip test. Add CheckNotValgrind. +Files: src/testdir/test_exit.vim, src/testdir/check.vim, + src/testdir/test_channel.vim + +Patch 8.2.5146 +Problem: Memory leak when substitute expression nests. +Solution: Use an array of expression results. +Files: src/alloc.c, src/regexp.c, src/proto/regexp.pro, + src/errors.h, src/ex_cmds.c, src/testdir/test_substitute.vim + +Patch 8.2.5147 +Problem: Flaky test always fails on retry. +Solution: Delete the created function. +Files: src/testdir/test_search.vim + +Patch 8.2.5148 +Problem: Invalid memory access when using an expression on the command line. +Solution: Make sure the position does not go negative. +Files: src/ex_getln.c, src/testdir/test_cmdline.vim + +Patch 8.2.5149 (after 8.2.5148) +Problem: Cannot build without the +eval feature. (Tony Mechelynck) +Solution: Add #ifdefs. +Files: src/ex_getln.c + +Patch 8.2.5150 +Problem: Read past the end of the first line with ":0;'{". +Solution: When on line zero check the column is valid for line one. +Files: src/ex_docmd.c, src/testdir/test_cmdline.vim + +Patch 8.2.5151 +Problem: Reading beyond the end of the line with lisp indenting. +Solution: Avoid going over the NUL at the end of the line. +Files: src/indent.c, src/testdir/test_lispwords.vim + +Patch 8.2.5152 +Problem: search() gets stuck with "c" and skip evaluates to true. +Solution: Reset the SEARCH_START option. (closes #10608) +Files: src/evalfunc.c, src/testdir/test_syntax.vim + +Patch 8.2.5153 +Problem: "make uninstall" does not remove colors/lists. +Solution: Add a line to the Makefile. (closes #10609) +Files: src/Makefile + +Patch 8.2.5154 +Problem: Still mentioning version8, some cosmetic issues. +Solution: Prefer mentioning version9, cosmetic improvements. +Files: src/version.c, src/if_tcl.c, src/regexp.c, + src/testdir/test_gui.vim, src/os_unix.c, Filelist, src/Makefile + +Patch 8.2.5155 +Problem: In diff mode windows may get out of sync. (Gary Johnson) +Solution: Avoid that the other window scrolls for 'cursorbind'. +Files: src/move.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_scroll_1.dump, + src/testdir/dumps/Test_diff_scroll_2.dump + +Patch 8.2.5156 +Problem: Search timeout test often fails with FreeBSD. +Solution: Double the maximum time. +Files: src/testdir/test_search.vim + +Patch 8.2.5157 +Problem: MS-Windows GUI: CTRL-key combinations do not always work. +Solution: Handle special key combinations better. (closes #10613, + closes #10602, closes #10579) +Files: src/gui_w32.c + +Patch 8.2.5158 +Problem: TSTP and INT signal tests are not run with valgrind. +Solution: Sleep a bit longer. (closes #10614) +Files: src/testdir/test_signals.vim + +Patch 8.2.5159 (after 8.2.5157) +Problem: Fix for CTRL-key combinations causes more problems than it solves. +Solution: Roll back the change. +Files: src/gui_w32.c + +Patch 8.2.5160 +Problem: Accessing invalid memory after changing terminal size. +Solution: Adjust cmdline_row and msg_row to the value of Rows. +Files: src/term.c + +Patch 8.2.5161 +Problem: Might still access invalid memory. +Solution: Add extra check for negative value. +Files: src/message.c + +Patch 8.2.5162 +Problem: Reading before the start of the line with BS in Replace mode. +Solution: Check the cursor column is more than zero. +Files: src/edit.c + +Patch 8.2.5163 +Problem: Crash when deleting buffers in diff mode. +Solution: Recompute diffs later. Skip window without a valid buffer. +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.2.5164 +Problem: Invalid memory access after diff buffer manipulations. +Solution: Use zero offset when change removes all lines in a diff block. +Files: src/diff.c, src/testdir/test_diffmode.vim + +Patch 8.2.5165 +Problem: Import test fails because 'diffexpr' isn't reset. +Solution: Reset 'diffexpr'. +Files: src/testdir/test_vim9_import.vim + +Patch 8.2.5166 +Problem: Test for DiffUpdated fails. +Solution: Also accept a count of two. +Files: src/testdir/test_diffmode.vim + +Patch 8.2.5167 +Problem: get(Fn, 'name') on funcref returns special byte code. +Solution: Use the printable name. +Files: src/evalfunc.c, src/testdir/test_getvar.vim + +Patch 8.2.5168 +Problem: Cannot build with Python 3.11. +Solution: Adjust define for _PyObject_TypeCheck. (Zdenek Dohnal, + closes #10627) +Files: src/if_python3.c + +Patch 8.2.5169 +Problem: Nested :source may use NULL pointer. +Solution: Do not use the NULL pointer. +Files: src/eval.c, src/testdir/test_vimscript.vim + +Patch 8.2.5170 +Problem: Tiny issues. +Solution: Tiny improvements. +Files: src/misc1.c, src/screen.c, src/vim.h + +Patch 8.2.5171 +Problem: Dependencies and proto files are outdated. +Solution: Update dependencies and proto files. Avoid errors. +Files: src/Makefile, src/gui_w32.c, src/os_mswin.c, src/proto/buffer.pro, + src/proto/cmdexpand.pro, src/proto/getchar.pro, + src/proto/help.pro, src/proto/mbyte.pro, src/proto/option.pro, + src/proto/screen.pro, src/proto/syntax.pro, + src/proto/textformat.pro, src/proto/textobject.pro, + src/proto/time.pro, src/proto/gui_x11.pro, src/proto/if_tcl.pro, + src/proto/os_mswin.pro + +Patch 8.2.5172 +Problem: "make menu" still uses legacy script. +Solution: make menu generation script use Vim9 script, fix errors. +Files: runtime/makemenu.vim + + + vim:tw=78:ts=8:noet:ft=help:norl: |