changeset 34011:62d771d915fe

runtime(doc): list of new/changed features in version9.txt Commit: https://github.com/vim/vim/commit/49cdd629a39d7e40e7349e65cb177e2442871a04 Author: Yegappan Lakshmanan <yegappan@yahoo.com> Date: Sun Dec 24 11:01:23 2023 +0100 runtime(doc): list of new/changed features in version9.txt closes: https://github.com/vim/vim/issues/13753 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
author Christian Brabandt <cb@256bit.org>
date Sun, 24 Dec 2023 11:15:04 +0100
parents 7bbae0fa2d7d
children 291b4ea552eb
files runtime/doc/builtin.txt runtime/doc/map.txt runtime/doc/tags runtime/doc/version9.txt runtime/doc/vim9class.txt
diffstat 5 files changed, 120 insertions(+), 54 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt*	For Vim version 9.0.  Last change: 2023 Dec 14
+*builtin.txt*	For Vim version 9.0.  Last change: 2023 Dec 24
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5163,8 +5163,12 @@ items({dict})						*items()*
 			for [key, value] in items(mydict)
 			   echo key .. ': ' .. value
 			endfor
-
-<		Can also be used as a |method|: >
+<
+		A List or a String argument is also supported.  In these
+		cases, items() returns a List with the index and the value at
+		the index.
+
+		Can also be used as a |method|: >
 			mydict->items()
 
 job_ functions are documented here: |job-functions-details|
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 9.0.  Last change: 2023 May 28
+*map.txt*       For Vim version 9.0.  Last change: 2023 December 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -406,7 +406,7 @@ Note:
 							*E1255* *E1136*
 <Cmd> and <ScriptCmd> commands must terminate, that is, they must be followed
 by <CR> in the {rhs} of the mapping definition.  |Command-line| mode is never
-entered.
+entered.  To use a literal <CR> in the {rhs}, use |<lt>|.
 
 
 1.3 MAPPING AND MODES					*:map-modes*
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -11039,6 +11039,7 @@ vim9	vim9.txt	/*vim9*
 vim9-access-modes	vim9class.txt	/*vim9-access-modes*
 vim9-autoload	vim9.txt	/*vim9-autoload*
 vim9-boolean	vim9.txt	/*vim9-boolean*
+vim9-class	vim9class.txt	/*vim9-class*
 vim9-classes	vim9.txt	/*vim9-classes*
 vim9-const	vim9.txt	/*vim9-const*
 vim9-curly	vim9.txt	/*vim9-curly*
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt*  For Vim version 9.0.  Last change: 2023 Dec 21
+*version9.txt*  For Vim version 9.0.  Last change: 2023 Dec 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -29634,7 +29634,7 @@ Solution:   Use K_ZERO instead.  Use mac
 Files:      src/getchar.c, src/misc2.c, src/testdir/test_termcodes.vim
 
 Patch 8.2.4830
-Problem:    Possible endless loop if there is unused typahead.
+Problem:    Possible endless loop if there is unused typeahead.
 Solution:   Only loop when the typeahead changed.
 Files:      src/channel.c
 
@@ -31689,8 +31689,8 @@ are many minor improvements.
 
 Vim9 classes
 ------------
-Support for classes and objects in a Vim9 script are added.  The following
-features are supported:
+Support for classes and objects in a Vim9 script are added.  This is described
+in |vim9-class|.  The following features are supported:
     - Defining classes and instantiating objects
     - Multiple constructors
     - Class variables and methods
@@ -31706,15 +31706,75 @@ Support for creating a type alias for an
 
 Virtual text
 ------------
+Support for adding |virtual-text| to a buffer is added.  This is useful for
+language server features (e.g. inlay hints)
 
 Smooth Scroll
 -------------
+Support for scrolling text using screen lines instead of file lines is added.
+Refer to the 'smoothscroll' option.
+
+EditorConfig and JSON formatting plugins are included.
+
+OpenVMS x86_64 platform port.
 
 Other improvements				*new-other-9.1*
 ------------------
+- Support for undercurl (|t_Ce|), double underline (|t_Us|), dotted underline
+  (|t_ds|) and dashed underline (|t_Ds|) termcap entries.
+- The 'fillchars' option is now a global-local option.
+- The |vertical| and |horizontal| modifiers can be used with ":wincmd ="
+  command to equalize windows vertically or horizontally.
+- |:defer| command to defer the execution of a function till the end of a
+  function.
+- Support for closing a tab page using the middle mouse button.
+- Sound support in MacOS.
+- The |prop_remove()| function can now remove multiple text properties.
+- The |items()| function now supports a List or a String argument.
+- Command line completion support for |:runtime| command.
+- Support for multiple "%=" items in 'statusline'
+- Support for the PmenuKind, PmenuKindSel, PmenuExtra and PmenuExtraSel
+  highlight groups.
+- xxd: support for using colors in the hex dump output
+- xxd: reversing a bit dump
+- Text properties can override 'cursorline' highlight.
+- Support for echoing messages in a popup window |:echowindow|.
+- Control scroll behavior when spliting windows 'splitkeep'.
+- Specify the character used for the last window line 'fillchars'
+- Support for mouse scrolling in the MS-Windows console.
+- Support for using different keyboard protocols 'keyprotocol'
+- Support for UTF-16 string index.
+- Quickfix list items can have associated custom user data.
+- |reverse()| supports reversing a string
+- 'switchbuf' is used by more commands.
+- |undotree()| can be used with any buffer.
+- |printf()| supports positional arguments
+- Support for custom completion using |getcompletion()|
+- Support for Python3 stable ABI
+- Use |jumplist| like a stack
+- Command-line completion support for option values
+- Support for writing extended attributes in Linux
+- 'errorformat' supports parsing a buffer number (|%b|)
+- Termdebug: Support for variables window, moving up/down the stack frames and
+  setting temporary breakpoints
 
 Changed						*changed-9.1*
 -------
+- The features |++builtin_terms|, |+cmdline_info|, |+cmdwin|, |+file_in_path|,
+  |+float|, |+path_extra|, |+textobjects|, |+wildignore| and |+wildmenu| are
+  available in all the builds.
+- Support for Windows-XP is dropped.
+- The "small" and "big" builds are dropped in favor of "tiny" and "huge"
+  builds.
+- Support for VisVim is removed.
+- The optional Content-Type header is removed from the LSP messages.
+- |charidx()| returns the character length when the index is one more than the
+  last byte index.
+- Ctrl-Q works like Ctrl-V in replace mode.
+- |popup_filter_menu()| now wraps around.
+- |g<End>| now jumps to the last non-blank character
+- dot and hypen are supported in highlight group names
+- |executable()| resolves symlinks on MS-Windows.
 
 Added						*added-9.1*
 -----
@@ -31763,6 +31823,7 @@ Commands: ~
 
 Options: ~
 
+'endoffile'		write CTRL-Z at end of the file
 'jumpoptions'		specifies how jumping is done
 'keyprotocol'		what keyboard protocol to use for what terminal
 'lispoptions'		changes how Lisp indenting is done
@@ -31778,6 +31839,9 @@ The list of patches that got included si
 features, but does not include runtime file changes (syntax, indent, ftplugin,
 documentation, etc.)
 
+Note: authorship and the list of changed files is left out and only visible
+through `git log` for each commit.
+
 Patch 9.0.0001
 Problem:    Travis CI is no longer used.
 Solution:   Delete the Travis CI configuration. (Hugo Osvaldo Barrera,
@@ -31853,7 +31917,7 @@ Problem:    Accessing memory beyond the 
 Solution:   Stop Visual mode when closing a window.
 
 Patch 9.0.0018
-Problem:    Going over the end of the typahead.
+Problem:    Going over the end of the typeahead.
 Solution:   Put a NUL after the typeahead.
 
 Patch 9.0.0019
@@ -32059,7 +32123,7 @@ Problem:    Cross-compiling doesn't work
 Solution:   Use AC_CACHE_CHECK(). (Richard Purdie, closes #10777)
 
 Patch 9.0.0066
-Problem:    Switching window uneccarily when getting buffer options.
+Problem:    Switching window unnecessarily when getting buffer options.
 Solution:   Do not switch window when getting buffer options. (closes #10767)
 
 Patch 9.0.0067
@@ -32201,7 +32265,7 @@ Solution:   Allocate a buffer if needed.
 
 Patch 9.0.0098
 Problem:    missing include file in timer_create configure check.
-Solution:   Inlucde stdlib.h.
+Solution:   Include stdlib.h.
 
 Patch 9.0.0099
 Problem:    Scrollback can be wrong after redrawing the command line.
@@ -32493,7 +32557,7 @@ Solution:   Keep an array of property ty
 
 Patch 9.0.0166
 Problem:    When using text properties the line text length is computed twice.
-Solution:   If the text lenght was already computed don't do it again.
+Solution:   If the text length was already computed don't do it again.
 
 Patch 9.0.0167
 Problem:    Checking for text properties could be a bit more efficient.
@@ -32577,7 +32641,7 @@ Problem:    Virtual text prop highlight 
 Solution:   Recompute the length of attributes.
 
 Patch 9.0.0185
-Problem:    Virtual text does not show if tehre is a text prop at same
+Problem:    Virtual text does not show if there is a text prop at same
             position. (Ben Jackson)
 Solution:   Fix the sorting of properties. (closes #10879)
 
@@ -32629,7 +32693,7 @@ Problem:    Cursor displayed in wrong po
 Solution:   Invalidate the cursor position. (closes #10898)
 
 Patch 9.0.0195
-Problem:    Metafun files are not recogized.
+Problem:    Metafun files are not recognized.
 Solution:   Add filetype detection patterns.
 
 Patch 9.0.0196
@@ -32649,7 +32713,7 @@ Problem:    Cursor position wrong with t
 Solution:   Add the padding for right-alignment. (issue #10906)
 
 Patch 9.0.0200
-Problem:    cursor in a wrong positoin if 'wrap' is off and using two right
+Problem:    cursor in a wrong position if 'wrap' is off and using two right
             aligned text props in one line.
 Solution:   Count an extra line for a right aligned text property after a
             below or right aligned text property. (issue #10909)
@@ -33089,7 +33153,7 @@ Solution:   Ignore deprecation warnings.
 
 Patch 9.0.0303
 Problem:    It is not easy to get information about a script.
-Solution:   Make getscriptinf() return the version.  When selecting a specific
+Solution:   Make getscriptinfo() return the version.  When selecting a specific
             script return functions and variables. (Yegappan Lakshmanan,
             closes #10991)
 
@@ -33118,7 +33182,7 @@ Problem:    Invalid memory access when c
 Solution:   Check index in w_lines is smaller than Rows.
 
 Patch 9.0.0310
-Problem:    Output of :messages dissappears when cmdheight is zero.
+Problem:    Output of :messages disappears when cmdheight is zero.
 Solution:   Do not use the messages window for :messages.  Make Esc close the
             messages window.
 
@@ -33339,7 +33403,7 @@ Solution:   Do not check breakpoint for 
 
 Patch 9.0.0361
 Problem:    Removing a listener may result in a memory leak and remove
-            subsequent listerns.
+            subsequent listeners.
 Solution:   Init the "prev" pointer only once. (Yegappan Lakshmanan,
             closes #11039)
 
@@ -33519,7 +33583,7 @@ Problem:    CI uses older clang version.
 Solution:   Switch from clang 14 to 15. (closes #11066)
 
 Patch 9.0.0402
-Problem:    Javascript module files are not recoginzed.
+Problem:    Javascript module files are not recognized.
 Solution:   Recognize "*.jsm" files as Javascript. (Brett Holman,
             closes #11069)
 
@@ -33697,7 +33761,7 @@ Problem:    Closure in for loop test fai
 Solution:   Do not wait for the ruler to show up. (issue #11106)
 
 Patch 9.0.0442
-Problem:    Virtual text "above" doesn't handel line numbers.
+Problem:    Virtual text "above" doesn't handle line numbers.
 Solution:   Take the left column offset into account. (issue #11084)
             Also make padding work.
 
@@ -33811,7 +33875,7 @@ Problem:    Build failure.
 Solution:   Add missing change.
 
 Patch 9.0.0468
-Problem:    Exectution stack underflow without the +eval feature. (Dominique
+Problem:    Execution stack underflow without the +eval feature. (Dominique
             Pellé)
 Solution:   Add to execution stack without FEAT_EVAL. (closes #11135)
 
@@ -33924,7 +33988,7 @@ Problem:    Perl test fails.
 Solution:   Remove remaining FEAT_EVAL.
 
 Patch 9.0.0494
-Problem:    Small build misses float function declaraitons.
+Problem:    Small build misses float function declarations.
 Solution:   Adjust #ifdefs.
 
 Patch 9.0.0495
@@ -34376,7 +34440,7 @@ Solution:   Recognize GYP files. (closes
 
 Patch 9.0.0601
 Problem:    Too much indent.
-Solution:   Return out early from a funtion. (Yegappan Lakshmanan,
+Solution:   Return out early from a function. (Yegappan Lakshmanan,
             close #11238)
 
 Patch 9.0.0602
@@ -34605,7 +34669,7 @@ Problem:    'smoothscroll' not tested wi
 Solution:   Add tests, fix uncovered problem.
 
 Patch 9.0.0653
-Problem:    BS and DEL do not work properly in an interacive shell. (Gary
+Problem:    BS and DEL do not work properly in an interactive shell. (Gary
             Johnson)
 Solution:   Adjust the length for replaced codes.
 
@@ -35078,7 +35142,7 @@ Problem:    No autocmd event for changin
 Solution:   Add TextChangedT. (Shougo Matsushita, closes #11366)
 
 Patch 9.0.0757
-Problem:    Line number not visisble with 'smoothscroll', 'nu' and 'rnu'.
+Problem:    Line number not visible with 'smoothscroll', 'nu' and 'rnu'.
 Solution:   Put the ">>>" after the line number instead of on top.
 
 Patch 9.0.0758
@@ -35135,7 +35199,7 @@ Solution:   Free memory when it's a bit 
             closes #11379)
 
 Patch 9.0.0771
-Problem:    Cannot always tell the difference beween tex and rexx files.
+Problem:    Cannot always tell the difference between tex and rexx files.
 Solution:   Recognize tex by a leading backslash. (Martin Tournoij,
             closes #11380)
 
@@ -35144,7 +35208,7 @@ Problem:    The libvterm code is outdate
 Solution:   Include libvterm changes from revision 790 to 801.
 
 Patch 9.0.0773
-Problem:    Huge build on macos uses dynamic Perl.
+Problem:    Huge build on MacOS uses dynamic Perl.
 Solution:   Use built-in Perl, uninstall the brew one. (closes #11382)
 
 Patch 9.0.0774
@@ -35435,7 +35499,7 @@ Solution:   Only report failure when app
 
 Patch 9.0.0838
 Problem:    Compiler warnings for unused variables.
-Solution:   Addjust #ifdef and remove unused variables. (John Marriott)
+Solution:   Adjust #ifdef and remove unused variables. (John Marriott)
 
 Patch 9.0.0839
 Problem:    Test may fail depending on sequence of events.
@@ -35832,7 +35896,7 @@ Solution:   When dict_add() fails then d
 
 Patch 9.0.0927
 Problem:    Coverity warns for using a NULL pointer.
-Solution:   Check for memory allocaion failure.
+Solution:   Check for memory allocation failure.
 
 Patch 9.0.0928
 Problem:    Using Ruby LDFLAGS may cause build problems.
@@ -37276,7 +37340,7 @@ Solution:   Find the object method and g
 
 Patch 9.0.1251
 Problem:    Checking returned value of ga_grow() is inconsistent.
-Solution:   Check for FAIL instaed of "not OK". (Yegappan Lakshmanan,
+Solution:   Check for FAIL instead of "not OK". (Yegappan Lakshmanan,
             closes #11897)
 
 Patch 9.0.1252
@@ -38160,7 +38224,7 @@ Solution:   Remove EVAL_CONSTANT. (close
 
 Patch 9.0.1453
 Problem:    Typos in source code and tests.
-Solution:   Fi the typos. (Dominique Pellé, closes #12217)
+Solution:   Fix the typos. (Dominique Pellé, closes #12217)
 
 Patch 9.0.1454
 Problem:    Code indenting is confused by macros.
@@ -38601,7 +38665,7 @@ Solution:   Add patterns for USD filetyp
 Patch 9.0.1550
 Problem:    In cmdline window S-Tab does not select previous completion.
             (Maxim Kim)
-Solution:   Add a mappint for S-Tab. (closes #12116)
+Solution:   Add a mapping for S-Tab. (closes #12116)
 
 Patch 9.0.1551
 Problem:    Position of marker for 'smoothscroll' not computed correctly.
@@ -38914,7 +38978,7 @@ Solution:   Fix output of text field aft
 Patch 9.0.1617
 Problem:    charidx() and utf16idx() result is not consistent with byteidx().
 Solution:   When the index is equal to the length of the text return the
-            lenght of the text instead of -1. (Yegappan Lakshmanan,
+            length of the text instead of -1. (Yegappan Lakshmanan,
             closes #12503)
 
 Patch 9.0.1618
@@ -39309,7 +39373,7 @@ Problem:    Cannot wrap around in popup_
 Solution:   Allow to wrap around by default
 
 Patch 9.0.1708
-Problem:    getcompletion() failes for user-defined commands
+Problem:    getcompletion() fails for user-defined commands
 Solution:   set context for completion function
 
 Patch 9.0.1709
@@ -39611,7 +39675,7 @@ Solution:   add space
 
 Patch 9.0.1779
 Problem:    Need more state() tests
-Solution:   Add a few more tests for operater pending mode and register
+Solution:   Add a few more tests for operator pending mode and register
             yank command
 
 Patch 9.0.1780
@@ -39670,8 +39734,8 @@ Solution:   Drop the Content-Type header
             the default value anyway.
 
 Patch 9.0.1791
-Problem:    No tests for the termdebug plugin
-Solution:   Add some simple tests for the termdebug plugin
+Problem:    No tests for the Termdebug plugin
+Solution:   Add some simple tests for the Termdebug plugin
 
 Patch 9.0.1792
 Problem:    Normal mode "gM", "gj", "gk" commands behave incorrectly with
@@ -39745,11 +39809,11 @@ Problem:    runtime: crystal scripts not
 Solution:   Filetype detect Crystal scripts by shebang line
 
 Patch 9.0.1808
-Problem:    termdebug: Typo in termdebug test
+Problem:    Termdebug: Typo in Termdebug test
 Solution:   fix the typos
 
 Patch 9.0.1809
-Problem:    termdebug test flayk
+Problem:    Termdebug test flaky
 Solution:   wait slightly longer
 
 Patch 9.0.1810
@@ -40010,7 +40074,7 @@ Problem:    test_crash still fails for c
 Solution:   give even more time to complete
 
 Patch 9.0.1869
-Problem:    Coverity warns about unitialized var
+Problem:    Coverity warns about uninitialized var
 Solution:   initialize it
 
 Patch 9.0.1870
@@ -40097,7 +40161,7 @@ Problem:    Vim9 static tests fail
 Solution:   Fix tests, make CI happy ;)
 
 Patch 9.0.1890
-Problem:    Vim9: lookup code for class/object repaeated
+Problem:    Vim9: lookup code for class/object repeated
 Solution:   Refactor and make use of lookup functions
 
 Patch 9.0.1891
@@ -40131,7 +40195,7 @@ Solution:   Check in error condition, if
 
 Patch 9.0.1898
 Problem:    Vim9: restrict access to static vars and methods
-Solution:   Class members are accesible only from the class where they are
+Solution:   Class members are accessible only from the class where they are
             defined.
 
 Patch 9.0.1899
@@ -40776,12 +40840,12 @@ Problem:    Test_cq_zero_exmode fails wi
 Solution:   Make the test check the channel feature
 
 Patch 9.0.2043
-Problem:    Vim9: issue with funcref assignmentand varargs
+Problem:    Vim9: issue with funcref assignment and varargs
 Solution:   Fix funcref type checking
 
 Patch 9.0.2044
 Problem:    Vim9: exceptions confuse defered functions
-Solution:   save and restore exception state when calling defered
+Solution:   save and restore exception state when calling deferred
             functions
 
 Patch 9.0.2045
@@ -41031,7 +41095,7 @@ Problem:    Terminal control codes¹ are sent even when silent
 Solution:   Block any terminal codes when silent mode is on
 
 Patch 9.0.2100
-Problem:    CI: test_termdebug fails
+Problem:    CI: test_Termdebug fails
 Solution:   only test for a changed winlayout, if the window
             width actually changed
 
@@ -41073,7 +41137,7 @@ Solution:   break out, if count is too l
 
 Patch 9.0.2110
 Problem:    [security]: overflow in ex address parsing
-Solution:   Verify that lnum is positive, before substracting from
+Solution:   Verify that lnum is positive, before subtracting from
             LONG_MAX
 
 Patch 9.0.2111
@@ -41209,7 +41273,7 @@ Solution:   validate window pointer befo
 
 Patch 9.0.2141
 Problem:    [security]: buffer-overflow in suggest_trie_walk
-Solution:   Check n before using it as index into byts array
+Solution:   Check n before using it as index into bytes array
 
 Patch 9.0.2142
 Problem:    [security]: stack-buffer-overflow in option callback functions
@@ -41296,7 +41360,7 @@ Solution:   Modify `instanceof()` to use
 
 Patch 9.0.2161
 Problem:    Vim9: not able to use imported interfaces and classes
-Solution:   Detect imported class/interfaces names correclty
+Solution:   Detect imported class/interfaces names correctly
 
 Patch 9.0.2162
 Problem:    Vim9: type documentation out-dated
--- a/runtime/doc/vim9class.txt
+++ b/runtime/doc/vim9class.txt
@@ -1,13 +1,10 @@
-*vim9class.txt*	For Vim version 9.0.  Last change: 2023 Dec 14
+*vim9class.txt*	For Vim version 9.0.  Last change: 2023 Dec 24
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
 
 
-NOTE - This is not finished yet, anything can still change! - NOTE
-
-
-Vim9 classes, objects, interfaces, types and enums.
+Vim9 classes, objects, interfaces, types and enums.		*vim9-class*
 
 1.  Overview			|Vim9-class-overview|
 2.  A simple class		|Vim9-simple-class|