💾 Archived View for gmi.noulin.net › vim › version9.gmi captured on 2022-06-12 at 07:52:29. Gemini links have been rewritten to link to archived content
View Raw
More Information
➡️ Next capture (2022-07-17)
-=-=-=-=-=-=-
- version9.txt* For Vim version 8.2. Last change: 2022 Mar 08
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 Vim9 script syntax is introduced. This file mentions all the new items
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|
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/
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 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. 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.
All the information about Vim9 script can be found in the |Vim9| help file.
Various new items *new-items-9*
-----------------
TODO: Visual/Insert/Cmdline mode commands?
Options: ~
'autoshelldir' change directory to the shell's current directory
'cdhome' change directory to the home directory by ":cd"
'guiligatures' GTK GUI: ASCII characters that can form shapes
'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|
|: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
|: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
|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
|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
|list2blob()| get a blob from a list of numbers
|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
|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 is 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
|VimSuspend| when suspending Vim
|VimResume| when Vim is resumed after being suspended
New runtime files: ~
Too many to list here.
==============================================================================
INCOMPATIBLE CHANGES *incompatible-9*
These changes are incompatible with previous releases. Check this list if you
run into a problem when upgrading from Vim 8.2.0 to 9.0.
TODO
==============================================================================
IMPROVEMENTS *improvements-9*
Many memory leaks, invalid memory accesses and crashes have been fixed.
See the list of patches below.
TODO
==============================================================================
COMPILE TIME CHANGES *compile-changes-9*
TODO
==============================================================================
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, '