1- *version9.txt* For Vim version 9.0. Last change: 2023 Dec 24
1+ *version9.txt* For Vim version 9.0. Last change: 2023 Dec 30
22
33
44 VIM REFERENCE MANUAL by Bram Moolenaar
@@ -29,6 +29,11 @@ COMPILE TIME CHANGES |compile-changes-9|
2929
3030PATCHES |patches-9|
3131
32+ VERSION 9.1 |version-9.1|
33+ Changed |changed-9.1|
34+ Added |added-9.1|
35+ Patches |patches-9.1|
36+
3237
3338See |vi_diff.txt| for an overview of differences between Vi and Vim 9.0.
3439See |version4.txt|, |version5.txt|, |version6.txt|, |version7.txt| and
@@ -31683,6 +31688,8 @@ Files: runtime/makemenu.vim
3168331688VERSION 9.1 *version-9.1* *version9.1* *vim-9.1*
3168431689
3168531690This section is about improvements made between version 9.0 and 9.1.
31691+ The release 9.1 is dedicated to Vims Benevolent dictator for life
31692+ |Bram-Moolenaar|.
3168631693
3168731694This release has hundreds of bug fixes, there are a few new features and there
3168831695are many minor improvements.
@@ -31717,14 +31724,15 @@ Refer to the 'smoothscroll' option.
3171731724The EditorConfig (|editorconfig-install|) and the JSON formatting
3171831725(|ft-json-plugin|) plugins are included.
3171931726
31720- OpenVMS x86_64 platform port.
31727+ OpenVMS x86_64 platform port: http://www.polarhome.com/vim/
3172131728
3172231729Other improvements *new-other-9.1*
3172331730------------------
3172431731- Support for undercurl (|t_Ce|), double underline (|t_Us|), dotted underline
3172531732 (|t_ds|) and dashed underline (|t_Ds|) termcap entries and
3172631733 highlight modes (|highlight-term|).
31727- - The 'fillchars' option is now a global-local option.
31734+ - The 'fillchars' option is now a global-local option and allows to
31735+ specify the character used for the last window line.
3172831736- The |vertical| and |horizontal| modifiers can be used with ":wincmd ="
3172931737 command to equalize windows vertically or horizontally.
3173031738- |:defer| command to defer the execution of a function till the end of a
@@ -31733,54 +31741,79 @@ Other improvements *new-other-9.1*
3173331741- Sound support in MacOS.
3173431742- The |prop_remove()| function can now remove multiple text properties.
3173531743- The |items()| function now supports a List or a String argument.
31744+ - The |repeat()| function now supports blob repeat.
3173631745- Command line completion support for |:runtime| command.
31737- - Support for multiple "%=" items in 'statusline'
31746+ - Support for custom completion using |getcompletion()|.
31747+ - Command-line completion support for option values.
31748+ - Support for multiple "%=" items in 'statusline'.
3173831749- Support for the PmenuKind, PmenuKindSel, PmenuExtra and PmenuExtraSel
3173931750 highlight groups.
3174031751- Text properties can override 'cursorline' highlight.
3174131752- Support for echoing messages in a popup window |:echowindow|.
3174231753- Control scroll behavior when splitting windows 'splitkeep'.
31743- - Specify the character used for the last window line 'fillchars'
3174431754- Support for mouse scrolling in the MS-Windows console.
3174531755- Support for using different keyboard protocols 'keyprotocol'
31756+ (xterm |modifyOtherKeys| and Kitty terminal protocol (CSI u) support).
3174631757- Support for UTF-16 string index.
3174731758- Quickfix list items can have associated custom user data.
31748- - |reverse()| supports reversing a string
31759+ - |reverse()| supports reversing a string.
3174931760- 'switchbuf' is used by more commands.
3175031761- |undotree()| can be used with any buffer.
31751- - |printf()| supports positional arguments
31752- - Support for custom completion using |getcompletion()|
31753- - Support for Python3 stable ABI (|python-stable|)
31754- - Use |jumplist| like a stack
31755- - Command-line completion support for option values
31756- - Support for writing extended attributes in Linux (|xattr|)
31757- - 'errorformat' supports parsing a buffer number (|%b|)
31762+ - |printf()| supports positional arguments.
31763+ - |col()|, |charcol()| and |virtcol()| can be used with different windows.
31764+ - Support for Python3 stable ABI (|python-stable|).
31765+ - Use |jumplist| like a stack 'jumpoptions'.
31766+ - Support for writing extended attributes in Linux (|xattr|).
31767+ - 'errorformat' supports parsing a buffer number (|%b|).
3175831768- Support for building the python interface using Python 3.12.
31769+ - |matchaddpos()| is no longer limited to 8 positions.
31770+ - |readblob()| allows to read part of a file.
31771+ - 'shortmess' allows to suppress "scanning" messages.
31772+ - Add the XChaCha20v2 encryption method 'cryptmethod'.
31773+ - Add support for testing syntax files.
31774+ - Support "**" for filename expansion with bash using globstar setting.
31775+ - Add quadruple prime digraph using 4'.
31776+ - Better high dpi support on Windows.
31777+ - Varous fixes for unsafe memory access, memory leaks, buffer overflows
31778+ and potential crashes.
3175931779- Termdebug: Support for the variables window (|termdebug_variables_window|),
3176031780 moving up/down the stack frames (|termdebug-frames|) and setting temporary
31761- breakpoints (|:Tbreak|)
31762- - xxd: support for using colors in the hex dump output (xxd -R)
31763- - xxd: reversing a bit dump (xxd -r)
31764- - xxd: customize the variable name used in the C include output (xxd -n)
31781+ breakpoints (|:Tbreak|).
31782+ - xxd: support for using colors in the hex dump output (xxd -R).
31783+ - xxd: reversing a bit dump (xxd -r).
31784+ - xxd: customize the variable name used in the C include output (xxd -n).
3176531785
3176631786Changed *changed-9.1*
3176731787-------
3176831788- The features |++builtin_terms|, |+cmdline_info|, |+cmdwin|, |+file_in_path|,
3176931789 |+float|, |+path_extra|, |+textobjects|, |+wildignore| and |+wildmenu| are
3177031790 available in all the builds.
3177131791- Support for Windows-XP is dropped.
31792+ - Support for VisVim is removed.
3177231793- The "small" and "big" builds are dropped in favor of "tiny" and "huge"
3177331794 builds.
31774- - Support for VisVim is removed .
31795+ - Mention the detected 'keyprotocol' on ":verbose map" when listing mappings .
3177531796- The optional Content-Type header is removed from the LSP messages.
3177631797- |charidx()| returns the character length when the index is one more than the
3177731798 last byte index.
3177831799- Ctrl-Q works like Ctrl-V in replace mode.
3177931800- |popup_filter_menu()| now wraps around.
31780- - |g<End>| now jumps to the last non-blank character
31781- - dot and hyphen are supported in highlight group names
31801+ - |popup_create()| now aborts on an error.
31802+ - |g<End>| now jumps to the last non-blank character.
31803+ - dot and hyphen are supported in highlight group names.
3178231804- |executable()| resolves symlinks on MS-Windows.
3178331805- Ruby 1.8 support is dropped.
31806+ - 'ttyfast' is always set.
31807+ - |virtcol2col()| returns the first byte for a multi-byte character.
31808+ - |i_CTRL-O| resets Select Mode.
31809+ - |mode()| returns more submodes.
31810+ - r with CTRL-C on a visual area replaces using CTRL-C consistently.
31811+ - The matchparen plugin no longer uses hard coded match id 3.
31812+ - The Statusline no longer uses hard coded values "^" and "=" if the
31813+ highlighting groups for the statusline have been cleared.
31814+ - 'maxfuncdepth' setting is also used for the maximum callback depth.
31815+ - Migrate to autoconf 2.71.
31816+ - Start using C99 feature (declare variable in for loops).
3178431817
3178531818Added *added-9.1*
3178631819-----
@@ -31790,7 +31823,7 @@ Various syntax, indent and other plugins were added.
3179031823Functions: ~
3179131824
3179231825|err_teapot()| produce error 418 or 503
31793- |getbufoneline()| get a one line from the specified buffer
31826+ |getbufoneline()| get a single line from the specified buffer
3179431827|getcellwidths()| get character cell width overrides
3179531828|getmouseshape()| get name of the current mouse shape
3179631829|getscriptinfo()| get list of sourced vim scripts
@@ -31813,13 +31846,13 @@ Autocommands: ~
3181331846
3181431847Commands: ~
3181531848
31816- |:abstract| define an Vim9 abstract class
31849+ |:abstract| define a Vim9 abstract class
3181731850|:class| start of a class specification
3181831851|:defer| call function when current function is done
3181931852|:echowindow| same as :echomsg, but use a popup window
3182031853|:endinterface| end of an interface specification
3182131854|:endclass| end of a class specification
31822- |:horizontal| following window command work horizontally
31855+ |:horizontal| following window command works horizontally
3182331856|:interface| start of an interface specification
3182431857|:public| prefix for a class or object member
3182531858|:static| prefix for a class member or function
@@ -41429,4 +41462,73 @@ Patch 9.0.2175
4142941462Problem: Compiler warning for uninitialized var
4143041463Solution: initialize variable to NULL
4143141464
41465+ Patch 9.0.2176
41466+ Problem: Compile error with Motif UI + mouse support (after v9.0.1262)
41467+ Solution: Use correct oldval option pointer
41468+
41469+ Patch 9.0.2177
41470+ Problem: Wrong cursor position when dragging out of window.
41471+ Solution: Don't use ScreenCols[] when mouse is not in current window.
41472+
41473+ Patch 9.0.2178
41474+ Problem: reg_executing() returns wrong result in :normal with range
41475+ when 'showcmd' is set (after 8.2.4705).
41476+ Solution: Reset "pending_end_reg_executing" when executing a register.
41477+
41478+ Patch 9.0.2179
41479+ Problem: no filetype detection for execline scripts
41480+ Solution: Add filetype detection for execline
41481+
41482+ Patch 9.0.2180
41483+ Problem: POSIX function name in exarg struct causes issues
41484+ on OpenVMS
41485+ Solution: Rename getline member in exarg struct to ea_getline,
41486+ remove isinf() workaround for VMS
41487+
41488+ Patch 9.0.2181
41489+ Problem: Vim9: missing error messages
41490+ Solution: Add one more error message
41491+
41492+ Patch 9.0.2182
41493+ Problem: Vim9: need a way to reserve future extension
41494+ Solution: reserve double underscore prefix for future use
41495+ (Yegappan Lakshmanan)
41496+
41497+ Patch 9.0.2183
41498+ Problem: Maximum callback depth is not configurable.
41499+ Solution: Revert patch 9.0.2103. Set 'maxfuncdepth' in test.
41500+ (zeertzjq)
41501+
41502+ Patch 9.0.2184
41503+ Problem: Vim9: inconsistent :type/:class messages
41504+ Solution: Update the Messages (Ernie Rael)
41505+
41506+ Patch 9.0.2185
41507+ Problem: Coverity complains about not checking return value
41508+ in compare_isn_not_values (after 9.0.2184)
41509+ Solution: cast return value to "(void)" to make intention clear
41510+
41511+ Patch 9.0.2186
41512+ Problem: LTCG compile error on Win/ARM64 for `write_chars()`
41513+ Solution: Explicitly initialise the storage to use data rather than BSS
41514+ (Saleem Abdulrasool)
41515+
41516+ Patch 9.0.2187
41517+ Problem: Visual selection isn't drawn with 'breakindent' when the line
41518+ doesn't fit in the window (Jaehwang Jung)
41519+ Solution: Adjust wlv->fromcol also for 'breakindent' (zeertzjq)
41520+
41521+ Patch 9.0.2188
41522+ Problem: cursor wrong after { in single line buffer
41523+ (Edwin Chan)
41524+ Solution: do not place the cursor at the end for a single
41525+ line buffer when moving backwards (Gary Johnson)
41526+
41527+ Patch 9.0.2189
41528+ Problem: Wrong display when 'breakindentopt' contains "sbr" and
41529+ 'showbreak' and 'nobreakindent' are set.
41530+ Solution: Always reset wlv->need_showbreak regardless of the values of
41531+ 'breakindent' and 'showbreak', as they aren't checked when
41532+ setting wlv->need_showbreak (zeertzjq)
41533+
4143241534 vim:tw=78:ts=8:noet:ft=help:norl:
0 commit comments