diff options
author | Bram Moolenaar <Bram@vim.org> | 2022-06-20 11:17:32 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-06-20 11:17:32 +0100 |
commit | d799daa660b8821943cbe1682f00da9e812dd48c (patch) | |
tree | 1d08e90a0a11ca9aced21d776ea98944622ec5f1 /runtime/doc/version9.txt | |
parent | e366ed4f2c6fa8cb663f1b9599b39d57ddbd8a2a (diff) |
Update runtime files
Diffstat (limited to 'runtime/doc/version9.txt')
-rw-r--r-- | runtime/doc/version9.txt | 4370 |
1 files changed, 4362 insertions, 8 deletions
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt index 7d5c2585ea..b9713b3952 100644 --- a/runtime/doc/version9.txt +++ b/runtime/doc/version9.txt @@ -1,4 +1,4 @@ -*version9.txt* For Vim version 8.2. Last change: 2022 Mar 08 +*version9.txt* For Vim version 8.2. Last change: 2022 Jun 20 VIM REFERENCE MANUAL by Bram Moolenaar @@ -7,9 +7,9 @@ *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|. +and Vim9 script syntax has been introduced. This file mentions all the new +things and changes to existing features since Vim 8.2.0. The patches up to Vim +8.2 can be found here: |vim-8.2|. Use this command to see the full version and features information of the Vim program you are using: > @@ -35,7 +35,7 @@ See |version4.txt|, |version5.txt|, |version6.txt|, |version7.txt| and You can find an overview of the most important changes (according to Martin Tournoij) on this site: https://www.arp242.net/vimlog/ - + *Sven-Guckes* Vim version 9.0 is dedicated to Sven Guckes, who passed away in February 2022 when the release was being prepared. Sven was a long time supporter of Vim. He registered the vim.org domain and created the first Vim website. We will @@ -75,7 +75,9 @@ Options: ~ 'autoshelldir' change directory to the shell's current directory 'cdhome' change directory to the home directory by ":cd" +'cinscopedecls' words that are recognized by 'cino-g' 'guiligatures' GTK GUI: ASCII characters that can form shapes +'mousemoveevent' report mouse moves with <MouseMove> 'quickfixtextfunc' function for the text in the quickfix window 'spelloptions' options for spell checking 'thesaurusfunc' function to be used for thesaurus completion @@ -116,6 +118,9 @@ Ex command modifiers: ~ New and extended functions: ~ |assert_nobeep()| assert that a command does not cause a beep +|autocmd_add()| add a list of autocmds and groups +|autocmd_delete()| delete a list of autocmds and groups +|autocmd_get()| return a list of autocmds |blob2list()| get a list of numbers from a blob |charclass()| class of a character |charcol()| character number of the cursor or a mark @@ -132,13 +137,16 @@ New and extended functions: ~ |fullcommand()| get full command name |getcharpos()| get character position of cursor, mark, etc. |getcharstr()| get a character from the user as a string +|getcmdcompltype()| return current cmdline completion type |getcursorcharpos()| get character position of the cursor |getmarklist()| list of global/local marks |getreginfo()| get information about a register |gettext()| lookup message translation |hlget()| get highlight group attributes |hlset()| set highlight group attributes +|isabsolutepath()| check if a path is absolute |list2blob()| get a blob from a list of numbers +|maplist()| list of all mappings, a dict for each |mapnew()| make a new List with changed items |mapset()| restore a mapping |matchfuzzy()| fuzzy matches a string in a list of strings @@ -164,6 +172,7 @@ New and extended functions: ~ |test_unknown()| return a value with unknown type |test_void()| return a value with void type |typename()| type of a variable as text +|virtcol2col()| byte index of a character on screen |win_gettype()| get type of window |win_move_separator()| move window vertical separator |win_move_statusline()| move window status line @@ -193,10 +202,17 @@ New autocommand events: ~ |ModeChanged| after changing the mode |SigUSR1| after the SIGUSR1 signal has been detected |WinClosed| after closing a window +|WinScrolled| after scrolling or resizing a window |VimSuspend| when suspending Vim |VimResume| when Vim is resumed after being suspended +New operator: ~ + +|>>| bitwise right shift +|<<| bitwise left shift +|??| falsy operator + New runtime files: ~ Too many to list here. @@ -205,17 +221,128 @@ 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. +run into a problem when upgrading from Vim 8.2 to 9.0. TODO ============================================================================== IMPROVEMENTS *improvements-9* +Various small and useful improvements have been made since Vim 8.2. Here is a +collection of changes that are worth mentioning. + Many memory leaks, invalid memory accesses and crashes have been fixed. -See the list of patches below. +See the list of patches below: |bug-fixes-9|. -TODO +Support for Vim expression evaluation in a string. |interp-string| +Support for evaluating Vim expressions in a heredoc. |:let-heredoc| + +Display the command line completion matches in a popup menu. 'wildoptions' + +Support for fuzzy matching a string in a List of strings. |fuzzy-matching| + +Fuzzy completion support for command line completion using 'wildoptions'. + +Fuzzy match support for |:vimgrep|. + +Support for "lsp" channel mode to simplify LSP server RPC communication +|language-server-protocol|. + +Support for sourcing lines from the current buffer. |:source-range| + +Support for stopping profiling a Vim script: `:profile stop` and dumping the +report to a file: `:profile dump` . |:profile| + +Argument completion support for the |:scriptnames|, |:profile|, |:profdel|, +|:breakadd| and |:breakdel| commands. + +Support for using a funcref/lambda value with the 'foldtext', 'completefunc', +'omnifunc', 'operatorfunc', 'thesaurusfunc', 'quickfixtextfunc', 'tagfunc', +'imactivatefunc' and 'imstatusfunc' options. + +Support for using multibyte items with the 'fillchars', 'stl' and 'stlnc' +options. + +Support for xchacha20 encryption method 'cryptmethod' + +Spell check current word with |z=| even when 'spell' is off. + +Support for executing Ex commands in a map without changing the current mode +|<Cmd>| and |<ScriptCmd>|. + +A large number of tests have been added to verify the Vim functionality. Most +of the old style tests have been converted to new style tests using the new +style assert_* functions. + +Add optional error code to |:cquit|. + +Support for using a Unix domain socket with a |channel|. + +IPv6 support in channels |channel-address|. + +Call Vim functions from Lua (vim.call('func', 'arg')). + +Add unsigned to 'nrformats'. + +Allow setting underline color in terminal. + +Expand script ID using expand('<SID>'). |expand()| + +Jump to the last accessed tab page using |g<Tab>|. + +Locale aware sorting using |:sort| and |sort()|. + +Hide cursor when sleeping using |:sleep!|. + +Detect focus events in terminal (|FocusGained| and |FocusLost|). + +Highlight leading spaces when 'list' is set (|'listchars'|) + +Support for looping over a string using |:for|. + +Don't reset 'wrap' for diff windows when "followwrap" is set in 'diffopt'. + +Support for re-evaluating the 'statusline' expression as a statusline format +string (%{expr}) + +Add |zp| and |zP| to paste in block mode without adding trailing white space. +Add |zy| to yank without trailing white space in block mode. + +Add \%.l, \%<.l and \%>.l atoms to match the line the cursor is currently on. +See |/\%l| for more information. + +Add "list" to 'breakindentopt' to add additional indent for lines that match +a numbered or bulleted list. Add "column" to 'breakindentopt' to indent +soft-wrapped lines at a specific column. + +Add "multispace" to 'listchars' to show two or more spaces no matter where +they appear. + +Add |hl-CursorLineSign| and |hl-CursorLineFold| default highlight groups to +adjust sign highlighting for 'cursorline'. + +Add the |hl-CurSearch| default highlight group for the current search match. + +Support directly setting the 'balloonexpr', 'foldexpr', 'formatexpr', +'includeexpr', 'printexpr', 'patchexpr', 'indentexpr', 'modelineexpr', +'diffexpr' and 'printexpr' options to a script-local function. + +Add the 'P' command in visual mode to paste text in visual mode without +yanking the deleted text to the unnamed register. + +Add "timeout" to 'spellsuggest' to limit the searching time for spell +suggestions. + +Add support for parsing the end line number (%e) and end column number +(%k) using 'errorformat'. + +Add support for logging on Vim startup (|--log|). + +Add "/" in 'formatoptions' to stop inserting // when using "o" on a line with +inline comment. + + +TODO: more ============================================================================== COMPILE TIME CHANGES *compile-changes-9* @@ -26920,9 +27047,4236 @@ Solution: Include the script ID in the partial name. Files: src/userfunc.c, src/proto/userfunc.pro, src/evalfunc.c, src/vim9type.c, src/testdir/test_vim9_import.vim +Patch 8.2.4430 +Problem: GTK: crash when using 'guiligatures' and reading from stdin. +Solution: Make a copy of the message. (Amon Sha, closes #9719, closes #9814) +Files: src/fileio.c + +Patch 8.2.4431 +Problem: Unnecessary condition when assigning to a variable. +Solution: Remove the condition. +Files: src/evalvars.c + +Patch 8.2.4432 (after 8.2.4428) +Problem: Cannot use settabvar() while the cmdline window is open. +Solution: Only give an error when actually switching tabpage. + (closes #9813) +Files: src/window.c + +Patch 8.2.4433 +Problem: CI: cannot see interface versions for MS-Windows. +Solution: List the interface versions. (Ken Takata, closes #9811) +Files: .github/workflows/ci.yml + +Patch 8.2.4434 +Problem: Duplicate check for cmdline window. +Solution: Remove the second check. (Sean Dewar, closes #9816) +Files: src/window.c + +Patch 8.2.4435 +Problem: Dead code in checking map() arguments. (Dominique Pellé) +Solution: Remove the first return statement. (closes #9815) +Files: src/evalfunc.c + +Patch 8.2.4436 +Problem: Crash with weird 'vartabstop' value. +Solution: Check for running into the end of the line. +Files: src/indent.c, src/testdir/test_vartabs.vim + +Patch 8.2.4437 +Problem: Vartabs test fails on MS-Windows. +Solution: Use iso8859-1 'encoding'. (Ken Takata, closes #9818) +Files: src/testdir/test_vartabs.vim + +Patch 8.2.4438 +Problem: Crash on exit when using cmdline window. +Solution: Reset "cmdwin_type" before exiting. (closes #9817) +Files: src/ui.c, src/testdir/test_exit.vim + +Patch 8.2.4439 +Problem: Accepting "iso8859" 'encoding' as "iso-8859-". +Solution: use "iso8859" as "iso-8859-1". +Files: src/mbyte.c, src/testdir/test_options.vim + +Patch 8.2.4440 +Problem: Crash with specific regexp pattern and string. +Solution: Stop at the start of the string. +Files: src/regexp_bt.c, src/testdir/test_regexp_utf8.vim + +Patch 8.2.4441 +Problem: Vim9: function argument of filter() not checked like map(). +Solution: Also check the function argument of filter(). +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4442 (after 8.2.4438) +Problem: Test for error reading input fails on MS-Windows. +Solution: Don't run the test on MS-Windows. +Files: src/testdir/test_exit.vim + +Patch 8.2.4443 (after 8.2.4440) +Problem: Regexp pattern test fails on Mac. +Solution: Do not use a swapfile for the buffer. +Files: src/testdir/test_regexp_utf8.vim + +Patch 8.2.4444 +Problem: Beep caused by test. ASAN reports leaks. +Solution: Do not put a NL at the end of the script. Make the text work on + MS-Windows. Do not run the test with ASAN. +Files: src/testdir/test_exit.vim + +Patch 8.2.4445 +Problem: Exit test fails on MS-Windows anyway. +Solution: Skip the test on MS-Windows. +Files: src/testdir/test_exit.vim + +Patch 8.2.4446 +Problem: Vim9: cannot refer to a global function like a local one. +Solution: When g:name is not a variable but a function, use a function + reference. (closes #9826) +Files: src/vim9execute.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4447 +Problem: Vim9: can still use s:var in a compiled function. +Solution: Disallow using s:var for Vim9 script. (closes #9824) +Files: runtime/doc/vim9.txt, src/vim9expr.c, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4448 (after 8.2.4447) +Problem: Filetype detection is failing. +Solution: Do not use "s:" where it is no longer allowed. +Files: runtime/autoload/dist/ft.vim, + +Patch 8.2.4449 +Problem: vim9: function argument of sort() not checked at compile time. +Solution: Add a compile time check. +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4450 (after 8.2.4449) +Problem: List sort test fails. +Solution: Pass a valid "how" argument. +Files: src/testdir/test_listdict.vim + +Patch 8.2.4451 (after 8.2.4450) +Problem: sort() fails when ignoring case. +Solution: Accept a number one argument in sort(). +Files: src/evalfunc.c, src/testdir/test_listdict.vim + +Patch 8.2.4452 +Problem: Test for what 8.2.4436 fixes does not check for regression. +Solution: Set several options. (Ken Takata, closes #9830) +Files: src/testdir/test_vartabs.vim + +Patch 8.2.4453 +Problem: :helpgrep may free an option that was not allocated. (Yegappan + Lakshmanan) +Solution: Check if the value was allocated. +Files: src/option.c, src/proto/option.pro, src/quickfix.c, + src/testdir/test_quickfix.vim + +Patch 8.2.4454 +Problem: Resetting cmdwin_type only for one situation. +Solution: Reset cmdwin_type before closing windows. (closes #9822) +Files: src/ui.c, src/window.c, src/testdir/test_exit.vim + +Patch 8.2.4455 +Problem: Accepting one and zero for the second sort() argument is strange. +Solution: Disallow using one and zero in Vim9 script. +Files: runtime/doc/builtin.txt, src/evalfunc.c, src/list.c, + src/testdir/test_listdict.vim + +Patch 8.2.4456 +Problem: Terminal test may fail on some machines. +Solution: Increase wait time. (Zdenek Dohnal, closes #9834) +Files: src/testdir/test_terminal.vim + +Patch 8.2.4457 +Problem: The GPM library can only be linked statically. +Solution: Make it possible to load the GPM library dynamically. (Damien) +Files: runtime/doc/various.txt, src/config.h.in, src/configure.ac, + src/Makefile, src/evalfunc.c, src/feature.h, src/os_unix.c, + src/proto/os_unix.pro, src/version.c + +Patch 8.2.4458 +Problem: Vim9: compiling filter() call fails with funcref that has unknown + arguments. +Solution: Do not check the arguments if they are unknown at compile time. + (closes #9835) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4459 +Problem: Vim9: compiling sort() call fails with a funcref that has unknown + arguments. +Solution: Do not check the arguments if they are unknown at compile time. + (closes #9835) +Files: src/evalfunc.c, src/testdir/test_vim9_builtin.vim + +Patch 8.2.4460 +Problem: Vim9: wrong error for defining dict function. +Solution: Explicitly check for trying to define a dict function. + (closes 9827) +Files: src/errors.h, src/userfunc.c, src/vim9compile.c, + src/testdir/test_vim9_func.vim + +Patch 8.2.4461 +Problem: MS-Windows: garbage characters on stdout with VIMDLL. +Solution: Don't call gui_focus_change() when about to quit. (Ken Takata, + closes #9840) +Files: src/gui_w32.c + +Patch 8.2.4462 +Problem: Not enough testing for quickfix code. +Solution: Add more tests. Fix uncovered problem. (Yegappan Lakshmanan, + closes #9839) +Files: src/quickfix.c, src/window.c, src/testdir/test_makeencoding.vim, + src/testdir/test_quickfix.vim + +Patch 8.2.4463 +Problem: Completion only uses strict matching. +Solution: Add the "fuzzy" item for 'wildoptions'. (Yegappan Lakshmanan, + closes #9803) +Files: runtime/doc/options.txt, src/buffer.c, src/cmdexpand.c, + src/option.c, src/option.h, src/optionstr.c, + src/proto/cmdexpand.pro, src/proto/option.pro, + src/proto/search.pro, src/search.c, src/structs.h, + src/testdir/gen_opt_test.vim, src/testdir/test_cmdline.vim + +Patch 8.2.4464 +Problem: Dtrace files are recognized as filetype D. +Solution: Add a pattern for Dtrace files. (Teubel György, closes #9841) + Add some more testing. +Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim, + src/testdir/test_filetype.vim + +Patch 8.2.4465 +Problem: Fuzzy completion does not order matches properly. +Solution: Do not use regular expression match. (Yegappan Lakshmanan, + closes #9843) +Files: src/cmdexpand.c, src/search.c, src/testdir/test_cmdline.vim + +Patch 8.2.4466 +Problem: MS-Windows: illegal memory access in installer when using + "create-directories" as the final argument. +Solution: Check the argument count. (Cam Sinclair, closes #9844) +Files: src/dosinst.c + +Patch 8.2.4467 +Problem: Running filetype test leaves file behind. +Solution: Delete the file. +Files: src/testdir/test_filetype.vim + +Patch 8.2.4468 +Problem: Coverity warns for uninitialized struct member. +Solution: Set color.index to zero. +Files: src/terminal.c + +Patch 8.2.4469 +Problem: Coverity warns for uninitialized variable. +Solution: Set the value to zero. +Files: src/ex_getln.c + +Patch 8.2.4470 +Problem: Coverity warns for uninitialized variable. +Solution: Set can_spell to zero. +Files: src/drawline.c + +Patch 8.2.4471 +Problem: Coverity warns for uninitialized variable. +Solution: Set flags to zero. +Files: src/vim9cmds.c + +Patch 8.2.4472 +Problem: Coverity warns for use of a freed function name. +Solution: Only check an autoload name when is prefixed. +Files: src/userfunc.c + +Patch 8.2.4473 +Problem: Coverity warnds for not checking return value of ftell(). +Solution: Bail out if ftell() returns a negative value. +Files: src/spellfile.c + +Patch 8.2.4474 +Problem: Memory allocation failures not tested in quickfix code. +Solution: Add alloc IDs and tests. (Yegappan Lakshmanan, closes #9848) +Files: src/alloc.h, src/quickfix.c, src/vim.h, + src/testdir/test_quickfix.vim + +Patch 8.2.4475 +Problem: Fuzzy cmdline completion does not work for lower case. +Solution: Also use fuzzy completion for lower case input. (Yegappan + Lakshmanan, closes #9849) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.4476 +Problem: Operator name spelled wrong. +Solution: Change trinary to ternary. (Goc Dundar, closes #9850) +Files: src/testdir/test_expr.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vimscript.vim + +Patch 8.2.4477 +Problem: Crash when using fuzzy completion. +Solution: Temporary fix: put back regexp. (closes #9851) +Files: src/cmdexpand.c + +Patch 8.2.4478 +Problem: Crash when using fuzzy completion. +Solution: Temporary fix: put back regexp. (closes #9852, closes #9851) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.4479 +Problem: No fuzzy completieon for maps and abbreviations. +Solution: Fuzzy complete maps and abbreviations. (Yegappan Lakshmanan, + closes #9856) +Files: src/cmdexpand.c, src/map.c, src/proto/map.pro, src/search.c, + src/testdir/test_cmdline.vim + +Patch 8.2.4480 +Problem: Suspending with CTRL-Z does not work on Android. +Solution: Do not handle SIGTSTP. (closes #9854) +Files: src/os_unix.c + +Patch 8.2.4481 +Problem: Cmdline popup menu not removed when 'lazyredraw' is set. +Solution: Temporarily reset 'lazyredraw' when removing the popup menu. + (closes #9857) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim, + src/testdir/dumps/Test_wildmenu_pum_41.dump + +Patch 8.2.4482 +Problem: No fuzzy cmdline completion for user defined completion. +Solution: Add fuzzy completion for user defined completion. (Yegappan + Lakshmanan, closes #9858) +Files: src/cmdexpand.c, src/testdir/test_cmdline.vim + +Patch 8.2.4483 +Problem: Command completion makes two rounds to collect matches. +Solution: Use a growarray to collect matches. (Yegappan Lakshmanan, + closes #9860) +Files: src/buffer.c, src/cmdexpand.c, src/map.c, + src/testdir/test_cmdline.vim + +Patch 8.2.4484 +Problem: Vim9: some error messages are not tested. +Solution: Add a few more test cases. Delete dead code. +Files: src/vim9execute.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_expr.vim, src/testdir/test_vim9_func.vim + +Patch 8.2.4485 +Problem: Compiler warning for uninitialized variable. +Solution: Initialize the variable. (John Marriott) +Files: src/cmdexpand.c + +Patch 8.2.4486 +Problem: MS-Windows GUI: slow scrolling with maximized window. +Solution: Use a better way to check the window is on screen. (Ken Takata, + closes #9865) +Files: src/gui_w32.c + +Patch 8.2.4487 +Problem: Vim9: cannot compare with v:null. +Solution: Allow comparing anything with v:null. (closes #9866) +Files: src/vim9instr.c, src/typval.c, src/proto/typval.pro, + src/vim9.h, src/vim9execute.c, src/evalvars.c, + src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_disassemble.vim + +Patch 8.2.4488 (after 8.2.4487) +Problem: Build error with +eval but without +channel or +job. +Solution: Add #ifdef. (John Marriott) +Files: src/typval.c + +Patch 8.2.4489 (after 8.2.4487) +Problem: Failing test for comparing v:null with number. +Solution: Allow comparing v:null with number in legacy script. + (Ken Takata, closes #9873) Also do this for float. +Files: src/typval.c, src/testdir/test_vimscript.vim + +Patch 8.2.4490 +Problem: Terminal focus reporting only works for xterm-like terminals. + (Jonathan Rascher) +Solution: Remove the "focus_mode" flag. (closes #9859) +Files: src/term.c + +Patch 8.2.4491 +Problem: MS-Windows makefile dependencies are outdated. +Solution: Update dependencies. (Ken Takata, closes #9876) +Files: src/Make_cyg_ming.mak, src/Make_mvc.mak + +Patch 8.2.4492 +Problem: No error if an option is given an invalid value with + ":let &opt = val". +Solution: Give the error. (closes #9864) +Files: src/evalvars.c, src/testdir/test_options.vim + +Patch 8.2.4493 (after 8.2.4492) +Problem: Options test fails in the GUI. +Solution: Do not save and restore 'term'. +Files: src/testdir/gen_opt_test.vim + +Patch 8.2.4494 +Problem: The find_tags() function is much too long. +Solution: Refactor the function. (Yegappan Lakshmanan, closes #9869) +Files: src/quickfix.c, src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.2.4495 +Problem: Help test fails in 24 line terminal. +Solution: Use up to 23 lines for text. +Files: src/testdir/test_help.vim + +Patch 8.2.4496 (after 8.2.4494) +Problem: Coverity gives warnings after tags code refactoring. +Solution: Avoid the warnings. (Yegappan Lakshmanan, closes #9882) +Files: src/tag.c + +Patch 8.2.4497 +Problem: Wrong color for half of wide character next to pum scrollbar. +Solution: Redraw the screen cell with the right color. (closes #9874) +Files: src/screen.c, src/testdir/test_ins_complete.vim, + src/testdir/dumps/Test_scrollbar_on_wide_char.dump + +Patch 8.2.4498 +Problem: Using <Plug> with "noremap" does not work. +Solution: Always remap <Plug>. (closes #9879, closes #9789) +Files: runtime/doc/map.txt, src/getchar.c, src/testdir/test_mapping.vim + +Patch 8.2.4499 +Problem: Vim9: at the script level declarations leak from try block to + catch and finally block. +Solution: End the block and start a new one. (closes #9883) +Files: src/ex_eval.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4500 +Problem: Vim9: can declare a global variable on the command line. +Solution: Disallow declaring a variable on the command line. (closes #9881) +Files: src/errors.h, src/evalvars.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_script.vim, + src/testdir/dumps/Test_vim9_reject_declaration.dump + +Patch 8.2.4501 +Problem: With 'showbreak' set and after the end of the line the cursor + may be displayed in the wrong position. +Solution: Do not apply 'showbreak' after the end of the line. (closes #9884) +Files: src/charset.c, src/testdir/test_breakindent.vim, + src/testdir/dumps/Test_cursor_position_with_showbreak.dump + +Patch 8.2.4502 +Problem: In the GUI a modifier is not recognized for the key typed after + CTRL-X, which may result in a mapping to be used. (Daniel + Steinberg) +Solution: Recognize a modifier starting with CSI. (closes #9889) +Files: src/getchar.c, src/testdir/test_ins_complete.vim + +Patch 8.2.4503 +Problem: Vim9: there is no point in supporting :Print and :mode. +Solution: Do not recognize :Print and :mode as commands. (closes #9870) +Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4504 +Problem: When there is a partially matching map and modifyOtherKeys is + active a full map may not work. +Solution: Only simplify modifiers when there is no matching mapping. + (closes #8792) +Files: src/getchar.c, src/testdir/test_termcodes.vim + +Patch 8.2.4505 +Problem: Vim9: outdated "autocmd nested" still works. +Solution: Do not accept the :autocmd argument "nested" without "++" in Vim9 + script. +Files: src/autocmd.c, src/errors.h, src/testdir/test_autocmd.vim + +Patch 8.2.4506 +Problem: "pattern not found" for :global is not an error message. +Solution: In Vim9 script make this an actual error, so that try/catch can be + used as expected. +Files: src/ex_cmds.c, src/errors.h, src/testdir/test_global.vim + +Patch 8.2.4507 (after 8.2.4506) +Problem: Test fails because of new error message. +Solution: Avoid the test fails. +Files: src/testdir/test_vim9_cmd.vim + +Patch 8.2.4508 +Problem: Vim9: cannot assign to a global variable on the command line. +Solution: Allow using :vim9cmd for assignment on the command line. +Files: src/evalvars.c, src/testdir/test_vim9_script.vim, + src/testdir/dumps/Test_vim9_reject_declaration.dump, + src/testdir/dumps/Test_vim9_reject_declaration_1.dump, + src/testdir/dumps/Test_vim9_reject_declaration_2.dump + +Patch 8.2.4509 +Problem: Vim9: can declare a variable with ":va". +Solution: Disallow using ":va", require using ":var". +Files: src/evalvars.c, src/errors.h, src/vim9compile.c, + src/testdir/test_vim9_assign.vim + +Patch 8.2.4510 +Problem: Vim9: shortening commands leads to confusing script. +Solution: In Vim9 script require at least ":cont" for ":continue", "const" + instead of "cons", "break" instead of "brea", "catch" instead of + "cat", "else" instead of "el" "elseif" instead of "elsei" "endfor" + instead of "endfo" "endif" instead of "en" "endtry" instead of + "endt", "finally" instead of "fina", "throw" instead of "th", + "while" instead of "wh". +Files: src/ex_cmds.h, src/ex_docmd.c, src/errors.h, src/evalvars.c, + src/vim9compile.c, src/testdir/test_vim9_script.vim + +Patch 8.2.4511 +Problem: Filetype test fails. +Solution: Change "endw" to "endwhile". +Files: runtime/autoload/dist/ft.vim + +Patch 8.2.4512 +Problem: The find_tags_in_file() function is much too long. +Solution: Refactor into multiple smaller functions. (Yegappan Lakshmanan, + closes #9892) +Files: Filelist, src/Makefile, src/quickfix.c, src/tag.c, + src/testdir/test83-tags2, src/testdir/test83-tags3, + src/testdir/test_tagjump.vim + +Patch 8.2.4513 +Problem: Window-local directory is not applied if 'acd' fails. +Solution: Don't call do_autochdir(). (closes #9891) +Files: src/window.c, src/testdir/test_autochdir.vim + +Patch 8.2.4514 +Problem: Vim9: some flow commands can be shortened. +Solution: Also require using the full name for ":return", ":enddef", + ":continue", ":export" and ":import". +Files: src/ex_cmds.h, src/ex_docmd.c, src/errors.h, src/userfunc.c, + src/testdir/test_vim9_script.vim + +Patch 8.2.4515 +Problem: Old subsitute syntax is still supported. +Solution: Disallow using backslash after ":s" in Vim9 script. +Files: src/ex_cmds.c, src/errors.h, src/testdir/test_substitute.vim + +Patch 8.2.4516 (after 8.2.4515) +Problem: Build failure without the +eval feature. +Solution: Move error message outside of #ifdef. +Files: src/errors.h + +Patch 8.2.4517 +Problem: MS-Windows: cannot specify location of sodium library. +Solution: Allow for using a path for SODIUM. (Ken Takata, closes #9896) +Files: src/Make_cyg_ming.mak + +Patch 8.2.4518 +Problem: The binary tag search feature is always enabled. +Solution: Remove the #ifdefs. Add a few more tests. (Yegappan Lakshmanan, + closes #9893) +Files: src/evalfunc.c, src/feature.h, src/tag.c, src/version.c, + src/testdir/test_tagjump.vim, src/testdir/test_taglist.vim + +Patch 8.2.4519 +Problem: Vim9: Can still use ":fini" and ":finis" for ":finish". +Solution: Require using ":finish". +Files: src/ex_cmds.h, src/testdir/test_vim9_script.vim + +Patch 8.2.4520 +Problem: Using wrong highlight for cursor line number. +Solution: Take filler lines into account when using CursorLineNr. + (closes #9897) +Files: src/drawline.c, src/testdir/test_diffmode.vim, + src/testdir/dumps/Test_diff_with_cursorline_number_01.dump, + src/testdir/dumps/Test_diff_with_cursorline_number_02.dump + +Patch 8.2.4521 (after 8.2.4520) +Problem: Build failure without the +diff feature. (John Marriott) +Solution: Define filler+lines if not declaring it. +Files: src/drawline.c + +Patch 8.2.4522 (after 8.2.4492) +Problem: GUI test fails with Motif. (Dominique Pellé) +Solution: Remove using an invalid value for 'guifontset'. +Files: src/testdir/test_gui.vim + +Patch 8.2.4523 +Problem: When gvim is started maximized the 'window' option isn't set + properly. (Christian J. Robinson) +Solution: Check if 'windows' was already set or not. (Ken Takata, + closes #9904) +Files: src/term.c + +Patch 8.2.4524 +Problem: MS-Windows: cannot build with some sodium libraries. +Solution: Make the DLL name configuragle. Add build instructions. + (Ken Takata, closes #9905) +Files: src/INSTALLpc.txt, src/Make_cyg_ming.mak, src/Make_mvc.mak, + src/crypt.c + +Patch 8.2.4525 +Problem: Some GUI tests don't work on Athena. +Solution: Skip tests that won't work. (Yegappan Lakshmanan, closes #9902) +Files: src/testdir/test_gui.vim + +Patch 8.2.4526 +Problem: Vim9: cannot set variables to a null value. +Solution: Add null_list, null_job, etc. +Files: runtime/doc/vim9.txt, src/eval.c, src/proto/eval.pro, + src/vim9expr.c, src/vim9script.c, src/vim9instr.c, + src/vim9compile.c, src/vim9execute.c, src/vim9.h, src/vim9type.c, + src/evalvars.c, src/testdir/test_vim9_assign.vim, + src/testdir/test_vim9_disassemble.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_expr.vim + +Patch 8.2.4527 +Problem: The Athena GUI is old and does not work well. +Solution: Remove the Athena GUI from configure to find out who still wants + support for this GUI. +Files: src/configure.ac, src/auto/configure, src/Makefile + +Patch 8.2.4528 +Problem: Crash when using null_function for a partial. +Solution: Don't call fname_trans_sid() with NULL. (closes #9908) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4529 +Problem: Vim9: comparing partial with function fails. +Solution: Support this comparison. Avoid a crash. (closes #9909) + Add more test cases. +Files: src/vim9instr.c, src/userfunc.c, src/vim9type.c, + src/testdir/test_vim9_builtin.vim, src/testdir/test_vim9_expr.vim, + src/testdir/test_vim9_func.vim, src/testdir/test_vimscript.vim + +Patch 8.2.4530 +Problem: Making comparison with null work changes legacy behavior. +Solution: Only use the better comparison in Vim9 script. (closes #9910) +Files: src/typval.c, src/testdir/test_expr.vim + +Patch 8.2.4531 +Problem: LGTM warnings for condition always true and buffer size too small. +Solution: Remove the useless condition. Make the buffer larger. (Goc + Dundar, closes #9914) +Files: src/charset.c, src/term.c + +Patch 8.2.4532 +Problem: Suspending with CTRL-Z does not work on OpenBSD. +Solution: Adjust #ifdef for SIGTSTP. (Stuart Henderson, closes #9912) +Files: src/os_unix.c + +Patch 8.2.4533 +Problem: Vim9: no test that after assigning null the type is still checked. +Solution: Add a test. +Files: src/testdir/test_vim9_assign.vim + +Patch 8.2.4534 +Problem: Vim9: "is" operator with empty string and null returns true. +Solution: Consider empty string and null to be different for "is". +Files: src/typval.c, src/vim9execute.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4535 +Problem: Filename modifer ":8" removes the filename. +Solution: Use strncpy() instead of vim_strncpy(). (Christian Brabandt, + closes #9918, closes #8600) +Files: src/filepath.c, src/testdir/test_shortpathname.vim + +Patch 8.2.4536 (after 8.2.4534) +Problem: Debugger test fails when breaking on expression. +Solution: Compare strings with "==" instead of "is". +Files: src/debugger.c + +Patch 8.2.4537 +Problem: Output from linter and language server shows up in git. +Solution: Add patterns to .gitignore. (Goc Dundar, closes #9925) +Files: .gitignore + +Patch 8.2.4538 +Problem: The find_tags_in_file() function is too long. +Solution: Refactor into smaller functions. (Yegappan Lakshmanan, + closes #9920) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.2.4539 +Problem: When comparing special v:none and v:null are handled the same when + compiling. +Solution: Pass more information so that v:none can be handled differently at + compile time. (issue #9923) +Files: src/vim9instr.c, src/vim9compile.c, src/globals.h, + src/testdir/test_vim9_expr.vim + +Patch 8.2.4540 +Problem: Line number for error is off by one. +Solution: Remember the line number of the comparison. (closes #9923) +Files: src/eval.c, src/testdir/test_vim9_expr.vim + +Patch 8.2.4541 +Problem: Crash in debugger when a variable is not available in the current + block. +Solution: Check for a NULL name. (closes #9926) +Files: src/vim9execute.c, src/testdir/test_debugger.vim + +Patch 8.2.4542 +Problem: Vim9: "break" inside try/catch not handled correctly. +Solution: First jump to :endtry. (closes #9927) +Files: src/vim9cmds.c, src/vim9.h, src/testdir/test_vim9_script.vim + +Patch 8.2.4543 +Problem: Coverity warning for refactored tag search code. +Solution: Avoid the warnings. Update comments. Add one more test case. + (Yegappan Lakshmanan, closes #9928) +Files: src/tag.c, src/testdir/test_tagjump.vim + +Patch 8.2.4544 +Problem: Coverity warnings for not using returned value. +Solution: Assign to vim_ignored. +Files: src/tag.c + +Patch 8.2.4545 +Problem: MS-Windows: the installed icon is low resolution. +Solution: Use a better icon. Install vim.ico. (Christian Brabandt, + closes #9931, closes #9930) +Files: Filelist, nsis/gvim.nsi, src/vim.ico, runtime/bitmaps/vim.ico + +Patch 8.2.4546 +Problem: Duplicate #undef. +Solution: Remove one #undef. (closes #9932) +Files: src/regexp_nfa.c + +Patch 8.2.4547 +Problem: The neXTaw GUI is old and does not work well. +Solution: Remove the neXTaw GUI from configure to find out who still wants + support for this GUI. +Files: src/configure.ac, src/auto/configure, src/Makefile + +Patch 8.2.4548 +Problem: Script-local function is deleted when used in a funcref. +Solution: Do not consider a function starting with "<SNR>" reference + counted. (closes #9916, closes #9820) +Files: src/userfunc.c, src/testdir/test_vim9_func.vim + +Patch 8.2.4549 +Problem: Cannot build with Motif and editres. (Tony Mechelynck) +Solution: Fix configure mistake. +Files: src/configure.ac, src/auto/configure + +Patch 8.2.4550 +Problem: Motif: cannot set the color of the scrollbar thumb. +Solution: Remove #ifdef. +Files: src/gui_motif.c + +Patch 8.2.4551 +Problem: When mapping <Esc> terminal codes are not recognized. +Solution: Specifically recognize a mapping with just <Esc> and check for + terminal codes even though there is no partial mapping. + (closes #9903) +Files: src/getchar.c, src/testdir/test |