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
2
2
3
3
4
4
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -29,6 +29,11 @@ COMPILE TIME CHANGES |compile-changes-9|
29
29
30
30
PATCHES |patches-9|
31
31
32
+ VERSION 9.1 |version-9.1|
33
+ Changed |changed-9.1|
34
+ Added |added-9.1|
35
+ Patches |patches-9.1|
36
+
32
37
33
38
See |vi_diff.txt| for an overview of differences between Vi and Vim 9.0.
34
39
See |version4.txt|, |version5.txt|, |version6.txt|, |version7.txt| and
@@ -31683,6 +31688,8 @@ Files: runtime/makemenu.vim
31683
31688
VERSION 9.1 *version-9.1* *version9.1* *vim-9.1*
31684
31689
31685
31690
This 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|.
31686
31693
31687
31694
This release has hundreds of bug fixes, there are a few new features and there
31688
31695
are many minor improvements.
@@ -31717,14 +31724,15 @@ Refer to the 'smoothscroll' option.
31717
31724
The EditorConfig (|editorconfig-install|) and the JSON formatting
31718
31725
(|ft-json-plugin|) plugins are included.
31719
31726
31720
- OpenVMS x86_64 platform port.
31727
+ OpenVMS x86_64 platform port: http://www.polarhome.com/vim/
31721
31728
31722
31729
Other improvements *new-other-9.1*
31723
31730
------------------
31724
31731
- Support for undercurl (|t_Ce|), double underline (|t_Us|), dotted underline
31725
31732
(|t_ds|) and dashed underline (|t_Ds|) termcap entries and
31726
31733
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.
31728
31736
- The |vertical| and |horizontal| modifiers can be used with ":wincmd ="
31729
31737
command to equalize windows vertically or horizontally.
31730
31738
- |:defer| command to defer the execution of a function till the end of a
@@ -31733,54 +31741,79 @@ Other improvements *new-other-9.1*
31733
31741
- Sound support in MacOS.
31734
31742
- The |prop_remove()| function can now remove multiple text properties.
31735
31743
- The |items()| function now supports a List or a String argument.
31744
+ - The |repeat()| function now supports blob repeat.
31736
31745
- 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'.
31738
31749
- Support for the PmenuKind, PmenuKindSel, PmenuExtra and PmenuExtraSel
31739
31750
highlight groups.
31740
31751
- Text properties can override 'cursorline' highlight.
31741
31752
- Support for echoing messages in a popup window |:echowindow|.
31742
31753
- Control scroll behavior when splitting windows 'splitkeep'.
31743
- - Specify the character used for the last window line 'fillchars'
31744
31754
- Support for mouse scrolling in the MS-Windows console.
31745
31755
- Support for using different keyboard protocols 'keyprotocol'
31756
+ (xterm |modifyOtherKeys| and Kitty terminal protocol (CSI u) support).
31746
31757
- Support for UTF-16 string index.
31747
31758
- Quickfix list items can have associated custom user data.
31748
- - |reverse()| supports reversing a string
31759
+ - |reverse()| supports reversing a string.
31749
31760
- 'switchbuf' is used by more commands.
31750
31761
- |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|).
31758
31768
- 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.
31759
31779
- Termdebug: Support for the variables window (|termdebug_variables_window|),
31760
31780
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).
31765
31785
31766
31786
Changed *changed-9.1*
31767
31787
-------
31768
31788
- The features |++builtin_terms|, |+cmdline_info|, |+cmdwin|, |+file_in_path|,
31769
31789
|+float|, |+path_extra|, |+textobjects|, |+wildignore| and |+wildmenu| are
31770
31790
available in all the builds.
31771
31791
- Support for Windows-XP is dropped.
31792
+ - Support for VisVim is removed.
31772
31793
- The "small" and "big" builds are dropped in favor of "tiny" and "huge"
31773
31794
builds.
31774
- - Support for VisVim is removed .
31795
+ - Mention the detected 'keyprotocol' on ":verbose map" when listing mappings .
31775
31796
- The optional Content-Type header is removed from the LSP messages.
31776
31797
- |charidx()| returns the character length when the index is one more than the
31777
31798
last byte index.
31778
31799
- Ctrl-Q works like Ctrl-V in replace mode.
31779
31800
- |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.
31782
31804
- |executable()| resolves symlinks on MS-Windows.
31783
31805
- 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).
31784
31817
31785
31818
Added *added-9.1*
31786
31819
-----
@@ -31790,7 +31823,7 @@ Various syntax, indent and other plugins were added.
31790
31823
Functions: ~
31791
31824
31792
31825
|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
31794
31827
|getcellwidths()| get character cell width overrides
31795
31828
|getmouseshape()| get name of the current mouse shape
31796
31829
|getscriptinfo()| get list of sourced vim scripts
@@ -31813,13 +31846,13 @@ Autocommands: ~
31813
31846
31814
31847
Commands: ~
31815
31848
31816
- |:abstract| define an Vim9 abstract class
31849
+ |:abstract| define a Vim9 abstract class
31817
31850
|:class| start of a class specification
31818
31851
|:defer| call function when current function is done
31819
31852
|:echowindow| same as :echomsg, but use a popup window
31820
31853
|:endinterface| end of an interface specification
31821
31854
|:endclass| end of a class specification
31822
- |:horizontal| following window command work horizontally
31855
+ |:horizontal| following window command works horizontally
31823
31856
|:interface| start of an interface specification
31824
31857
|:public| prefix for a class or object member
31825
31858
|:static| prefix for a class member or function
@@ -41429,4 +41462,73 @@ Patch 9.0.2175
41429
41462
Problem: Compiler warning for uninitialized var
41430
41463
Solution: initialize variable to NULL
41431
41464
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
+
41432
41534
vim:tw=78:ts=8:noet:ft=help:norl:
0 commit comments