# HG changeset patch # User Christian Brabandt # Date 1703412904 -3600 # Node ID 62d771d915fe2927211cb974716d2fd2c55cbba2 # Parent 7bbae0fa2d7dbdf1adcdca352d813110ed478e29 runtime(doc): list of new/changed features in version9.txt Commit: https://github.com/vim/vim/commit/49cdd629a39d7e40e7349e65cb177e2442871a04 Author: Yegappan Lakshmanan 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 Signed-off-by: Christian Brabandt diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt --- 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| diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt --- 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* and commands must terminate, that is, they must be followed by in the {rhs} of the mapping definition. |Command-line| mode is never -entered. +entered. To use a literal in the {rhs}, use ||. 1.3 MAPPING AND MODES *:map-modes* diff --git a/runtime/doc/tags b/runtime/doc/tags --- 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* diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt --- 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| 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 diff --git a/runtime/doc/vim9class.txt b/runtime/doc/vim9class.txt --- 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|