From e1dc76fbf333243ecfdfc3c0a81ea9984913b4f5 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sat, 25 Jun 2022 18:01:32 +0100 Subject: [PATCH] Update runtime files --- runtime/doc/builtin.txt | 12 +- runtime/doc/tags | 2 + runtime/doc/todo.txt | 16 +- runtime/doc/various.txt | 7 +- runtime/doc/version7.txt | 2 +- runtime/doc/version8.txt | 2 +- runtime/doc/version9.txt | 434 +- runtime/gvim.desktop | 5 +- .../dist/opt/termdebug/plugin/termdebug.vim | 3 +- runtime/vim.desktop | 5 +- src/po/README.txt | 3 + src/po/cs.cp1250.po | 2 +- src/po/gvim.desktop.in | 1 - src/po/vim.desktop.in | 1 - src/po/zh_CN.UTF-8.po | 12133 ++++++++++------ src/po/zh_CN.cp936.po | 12131 +++++++++------ src/po/zh_CN.po | 12131 +++++++++------ 17 files changed, 24032 insertions(+), 12858 deletions(-) diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt index c26a8574e..ad7c5fd1a 100644 --- a/runtime/doc/builtin.txt +++ b/runtime/doc/builtin.txt @@ -10421,7 +10421,7 @@ bsd Compiled on an OS in the BSD family (excluding macOS). builtin_terms Compiled with some builtin terminals. byte_offset Compiled with support for 'o' in 'statusline' channel Compiled with support for |channel| and |job| -cindent Compiled with 'cindent' support. +cindent Compiled with 'cindent' support. (always true) clientserver Compiled with remote invocation support |clientserver|. clipboard Compiled with 'clipboard' support. clipboard_working Compiled with 'clipboard' support and it can be used. @@ -10483,7 +10483,7 @@ insert_expand Compiled with support for CTRL-X expansion commands in Insert mode. (always true) job Compiled with support for |channel| and |job| ipv6 Compiled with support for IPv6 networking in |channel|. -jumplist Compiled with |jumplist| support. +jumplist Compiled with |jumplist| support. (always true) keymap Compiled with 'keymap' support. lambda Compiled with |lambda| support. langmap Compiled with 'langmap' support. @@ -10492,6 +10492,7 @@ linebreak Compiled with 'linebreak', 'breakat', 'showbreak' and 'breakindent' support. linux Linux version of Vim. lispindent Compiled with support for lisp indenting. + (always true) listcmds Compiled with commands for the buffer list |:files| and the argument list |arglist|. localmap Compiled with local mappings and abbr. |:map-local| @@ -10521,7 +10522,7 @@ mzscheme Compiled with MzScheme interface |mzscheme|. nanotime Compiled with sub-second time stamp checks. netbeans_enabled Compiled with support for |netbeans| and connected. netbeans_intg Compiled with support for |netbeans|. -num64 Compiled with 64-bit |Number| support. +num64 Compiled with 64-bit |Number| support. (always true) ole Compiled with OLE automation support for Win32. osx Compiled for macOS cf. mac osxdarwin Compiled for macOS, with |mac-darwin-feature| @@ -10547,7 +10548,7 @@ ruby Compiled with Ruby interface |ruby|. scrollbind Compiled with 'scrollbind' support. (always true) showcmd Compiled with 'showcmd' support. signs Compiled with |:sign| support. -smartindent Compiled with 'smartindent' support. +smartindent Compiled with 'smartindent' support. (always true) sodium Compiled with libsodium for better crypt support sound Compiled with sound support, e.g. `sound_playevent()` spell Compiled with spell checking support |spell|. @@ -10561,7 +10562,7 @@ syntax_items There are active syntax highlighting items for the current buffer. system Compiled to use system() instead of fork()/exec(). tag_binary Compiled with binary searching in tags files - |tag-binary-search|. + |tag-binary-search|. (always true) tag_old_static Support for old static tags was removed, see |tag-old-static|. tcl Compiled with Tcl interface. @@ -10575,6 +10576,7 @@ tgetent Compiled with tgetent support, able to use a termcap or terminfo file. timers Compiled with |timer_start()| support. title Compiled with window title support |'title'|. + (always true) toolbar Compiled with support for |gui-toolbar|. ttyin input is a terminal (tty) ttyout output is a terminal (tty) diff --git a/runtime/doc/tags b/runtime/doc/tags index 7481605b1..cc002ecd0 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -8621,6 +8621,7 @@ new-argument-list version6.txt /*new-argument-list* new-buftype version6.txt /*new-buftype* new-cmdwin version6.txt /*new-cmdwin* new-color-schemes version6.txt /*new-color-schemes* +new-colorschemes-9 version9.txt /*new-colorschemes-9* new-commands version5.txt /*new-commands* new-commands-5.4 version5.txt /*new-commands-5.4* new-conceal version7.txt /*new-conceal* @@ -8670,6 +8671,7 @@ new-other-8.2 version8.txt /*new-other-8.2* new-perl-python version5.txt /*new-perl-python* new-persistent-undo version7.txt /*new-persistent-undo* new-plugins version6.txt /*new-plugins* +new-popup-compl version9.txt /*new-popup-compl* new-popup-window version8.txt /*new-popup-window* new-posix version7.txt /*new-posix* new-print-multibyte version7.txt /*new-print-multibyte* diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 40f9bc038..50661efc4 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.2. Last change: 2022 Jun 23 +*todo.txt* For Vim version 8.2. Last change: 2022 Jun 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -39,7 +39,7 @@ browser use: https://github.com/vim/vim/issues/1234 -------------------- Known bugs and current work ----------------------- Prepare for the Vim 9.0 release: -- Update version9.txt +- Update version number in help Further Vim9 improvements, possibly after launch: - Use Vim9 for more runtime files. @@ -79,7 +79,7 @@ Update list of features to vote on: Popup windows: - Preview popup not properly updated when it overlaps with completion menu. (Yegappan Lakshmanan, 2021 May 22) -- Srollbar thumb sometimes not visible #10492 +- Scrollbar thumb sometimes not visible #10492 - Add a function to redraw a specific popup window. Esp. to be used when editing the command line, when screen updating doesn't happen. (Shougo) - Add a flag to make a popup window focusable? @@ -201,6 +201,7 @@ Terminal emulator window: conversions. Patches considered for including: +- make functions static if possible, add a few tests. #10612 - use ngettext() in a few more places #10606 - move f_hasmapto() to map.c #10611 - allow for nesting of timeout, sketch in #10595 @@ -211,6 +212,8 @@ Patches considered for including: Was originally written by Felipe Morales. - Patch to make fillchars global-local. (#5206) - Version of getchar() that does not move the cursor - #10603 + Use a separate argument for the new flag. +- Improved VB filetype detection. (Doug Kearns, June 25) Autoconf: must use autoconf 2.69, later version generates lots of warnings - try using autoconf 2.71 and fix all "obsolete" warnings @@ -304,6 +307,11 @@ changes. Add ??= operator, "a ??= b" works like "a = a ?? b". #10343 +When ":redir" is used while already active, the previous one is ended. But +when redirecting to a local variable (function or script) storing the value +won't work. At least give an error. Is there a way to make it work? +#10616 + Add an option to start_timer() to return from the input loop with K_IGNORE. This is useful e.g. when a popup was created that disables mappings, we need to return from vgetc() to make this happen. #7011 @@ -380,7 +388,7 @@ Lua: updating wrong buffer when using newly created, unloaded buffer. File marks merging has duplicates since 7.4.1925. (Ingo Karkat, #5733) A syntax plugin cannot use autocommands, it could be sourced from setting -'syntax' in a modeline. Add a function that indicates whethere "secure" +'syntax' in a modeline. Add a function that indicates whether "secure" and/or "sandbox" are set. Problem with auto-formatting - inserting space and putting cursor before added diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt index d09dac48f..1414561c6 100644 --- a/runtime/doc/various.txt +++ b/runtime/doc/various.txt @@ -1,4 +1,4 @@ -*various.txt* For Vim version 8.2. Last change: 2022 May 21 +*various.txt* For Vim version 8.2. Last change: 2022 Jun 25 VIM REFERENCE MANUAL by Bram Moolenaar @@ -558,7 +558,10 @@ N *+X11* Unix only: can restore window title |X11| initialized to an empty string. After the redirection starts, if the variable is removed or locked or the variable type is changed, then further command output - messages will cause errors. + messages will cause errors. When using a local + variable (l:var in a function or s:var in a script) + and another `:redir` causes the current one to end, + the scope might be different and the assignment fails. In Vim9 script: the variable must have been declared as a string. The variable will remain empty until redirection ends. diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt index 0256f4b01..775b9dcdb 100644 --- a/runtime/doc/version7.txt +++ b/runtime/doc/version7.txt @@ -12849,7 +12849,7 @@ Files: src/getchar.c, src/normal.c, src/proto/getchar.pro Patch 7.3.430 Problem: When a custom filetype detection uses "augroup END" the conf - fileytpe detection does not have the filetypedetect group. + filetype detection does not have the filetypedetect group. Solution: Always end the group and include filetypedetect in the conf autocommand. (Lech Lorens) Files: runtime/filetype.vim diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt index b7185e866..670208fde 100644 --- a/runtime/doc/version8.txt +++ b/runtime/doc/version8.txt @@ -18427,7 +18427,7 @@ Problem: When 'wrapscan' is off "gn" does not select the whole pattern when Solution: Check if the search fails. (Christian Brabandt, closes #1683) Files: src/search.c, src/testdir/test_gn.vim -Patch 8.0.0628 (after 8.0.0626 +Patch 8.0.0628 (after 8.0.0626) Problem: Cursor disappears after silent mapping. (Ramel Eshed) Solution: Do restore the cursor when it was changed, but don't change it in the first place for a silent mapping. diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt index 443839475..37054001a 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 Jun 20 +*version9.txt* For Vim version 8.2. Last change: 2022 Jun 24 VIM REFERENCE MANUAL by Bram Moolenaar @@ -7,25 +7,27 @@ *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 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|. +and the Vim9 script syntax is here! 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: > :version -NEW FEATURES |new-9| - Vim script enhancements |new-vim-script-9| - Various new items |new-items-9| +NEW FEATURES |new-9| + Vim script enhancements |new-vim-script-9| + Command line completion in a popup menu |new-popup-compl| + Updated colorschemes |new-colorschemes-9| + Various new items |new-items-9| -INCOMPATIBLE CHANGES |incompatible-9| +INCOMPATIBLE CHANGES |incompatible-9| -IMPROVEMENTS |improvements-9| +IMPROVEMENTS |improvements-9| -COMPILE TIME CHANGES |compile-changes-9| +COMPILE TIME CHANGES |compile-changes-9| -PATCHES |patches-9| +PATCHES |patches-9| See |vi_diff.txt| for an overview of differences between Vi and Vim 9.0. @@ -51,26 +53,41 @@ is below. Vim9 script ~ *new-vim-script-9* The Vim script language has been changed step by step over many years, -preserving backwards compatibility. Several choices made in early days got in -the way of making it work better. At the same time, Vim script is being used -much more often, since there are so many plugins being used. +preserving backwards compatibility. Several choices made in the early days +got in the way of making it work better. At the same time, Vim script is +being used much more often, since there are so many plugins being used. Vim9 script provides a syntax that is much more similar to other languages. In other words: "less weird". Compiled functions are introduced which allow for a large speed improvement. You can expect around ten times faster -execution. The price to pay is that Vim9 script is not backwards compatible. -But don't worry, you can still use your old scripts, the new script language -is added, it does not replace the legacy script. +execution, or even more. The price to pay is that Vim9 script is not +backwards compatible. But don't worry, you can still use your old scripts, +the new script language is added, it does not replace the legacy script. -All the information about Vim9 script can be found in the |Vim9| help file. +Information about Vim9 script can be found in the |Vim9| help file. -Various new items *new-items-9* ------------------ +Command line completion in a popup menu ~ + *new-popup-compl* +Before there was the 'wildmenu' option, which uses the space of one line above +the statusline to show matches. Only a few matches fit there. -TODO: Visual/Insert/Cmdline mode commands? +Now a popup menu can be used by setting "wildoptions' to "pum". This allows +for showing many more matches. This requires redrawing more of the display, +but since computers are fast enough that is not a problem. +Updated colorschemes ~ + *new-colorschemes-9* +Colorschemes from https://github.com/vim/colorschemes have been included. +They were made to work consistently across many types of terminals. Although +generally an improvement, a lot of personal preference is involved. You can +always get the old version if you prefer it, look here: +https://github.com/vim/colorschemes/blob/master/legacy_colors/ + + +Various new items ~ + *new-items-9* Options: ~ 'autoshelldir' change directory to the shell's current directory @@ -86,25 +103,26 @@ Options: ~ Ex commands: ~ -|:abstract| +|:abstract| (reserved for future use) |:argdedupe| remove duplicates from the argument list |:balt| like ":badd" but also set the alternate file -|:class| reserved for future use +|:class| (reserved for future use) |:def| define a Vim9 user function |:defcompile| compile Vim9 user functions in current script |:disassemble| disassemble Vim9 user function |:echoconsole| like :echomsg but write to stdout -|:endinterface| reserved for future use -|:endclass| reserved for future use +|:endinterface| (reserved for future use) +|:endclass| (reserved for future use) |:enddef| end of a user function started with :def -|:endenum| reserved for future use -|:enum| reserved for future use +|:endenum| (reserved for future use) +|:enum| (reserved for future use) +|:eval| evaluate an expression and discard the result |:export| Vim9: export an item from a script |:final| declare an immutable variable in Vim9 |:import| Vim9: import an item from another script -|:interface| reserved for future use -|:static| reserved for future use -|:type| reserved for future use +|:interface| (reserved for future use) +|:static| (reserved for future use) +|:type| (reserved for future use) |:var| variable declaration in Vim9 |:vim9script| indicates Vim9 script file @@ -138,6 +156,7 @@ New and extended functions: ~ |getcharpos()| get character position of cursor, mark, etc. |getcharstr()| get a character from the user as a string |getcmdcompltype()| return current cmdline completion type +|getcmdscreenpos()| return the current cursor position in the cmdline |getcursorcharpos()| get character position of the cursor |getmarklist()| list of global/local marks |getreginfo()| get information about a register @@ -195,10 +214,9 @@ New Vim variables: ~ New autocommand events: ~ -|CompleteDonePre| after Insert mode completion is done, before clearing - info +|CompleteDonePre| after Insert mode completion done, before clearing info |DirChangedPre| before the working directory will change -|InsertLeavePre| just before leaving Insert mode +|InsertLeavePre| just before leaving Insert mode |ModeChanged| after changing the mode |SigUSR1| after the SIGUSR1 signal has been detected |WinClosed| after closing a window @@ -207,7 +225,7 @@ New autocommand events: ~ |VimResume| when Vim is resumed after being suspended -New operator: ~ +New operators: ~ |>>| bitwise right shift |<<| bitwise left shift @@ -220,16 +238,18 @@ 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 to 9.0. +There is only one change that is incompatible with previous releases: + +- Lua arrays are now one-based, they used to be zero-based. -TODO +Note that when using |Vim9| script several things work differently, see +|vim9-differences|. ============================================================================== 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. +Various small and useful improvements have been made since Vim 8.2, here is a +summary. Many memory leaks, invalid memory accesses and crashes have been fixed. See the list of patches below: |bug-fixes-9|. @@ -237,15 +257,12 @@ See the list of patches below: |bug-fixes-9|. 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'. +Support for fuzzy matching: +- a string in a List of strings. |fuzzy-matching| +- completion support for command line completion using 'wildoptions' +- for |:vimgrep|. -Fuzzy match support for |:vimgrep|. - -Haiku support. |Haiku| +Added support for the |Haiku| OS. Support for "lsp" channel mode to simplify LSP server RPC communication |language-server-protocol|. Support for using a Unix domain socket with a @@ -253,13 +270,24 @@ Support for "lsp" channel mode to simplify LSP server RPC communication Support for sourcing lines from the current buffer. |:source-range| -Support for opening a terminal in a popup window. |popup-terminal| +Terminal window improvements: +- Support for opening a terminal in a popup window. |popup-terminal| +- Allow setting underline color in terminal. +- Detect focus events in terminal (|FocusGained| and |FocusLost|). +- Add bell support for the terminal window. ('belloff') +- Support mouse left-right scrolling in a terminal window. Support for stopping profiling a Vim script: `:profile stop` and dumping the report to a file: `:profile dump` . |:profile| -Argument completion support for the |:breakadd|, |:breakdel|, |:diffget|, -|:diffput|, |:profile|, |:profdel| and |:scriptnames| commands. +Completion improvements: +- Argument completion support for the |:breakadd|, |:breakdel|, |:diffget|, + |:diffput|, |:profile|, |:profdel| and |:scriptnames| commands. +- Support using any Vim type for user_data with the completion functions + (|complete-items|). +- Stop insert mode completion without changing text (|i_CTRL-X_CTRL-Z|). +- Add the "cmdline" option to |getcompletion()| to return the command line + arguments. Support for setting the 'foldtext', 'completefunc', 'omnifunc', 'operatorfunc', 'thesaurusfunc', 'quickfixtextfunc', 'tagfunc', @@ -270,35 +298,33 @@ Support directly setting the 'balloonexpr', 'charconvert' 'foldexpr', 'formatexpr', 'includeexpr', 'printexpr', 'patchexpr', 'indentexpr', 'modelineexpr', 'diffexpr' and 'printexpr' options to a script-local function. -Support for configuring the character used to mark the beginning of a fold, -show a closed fold and show a fold separator using "foldopen", "foldclose" and -"foldsep" respectively in 'fillchars'. - -Support for configuring the character displayed in non existing lines using -"eob" in 'fillchars'. - -Support for using multibyte items with the "stl", "stlnc", "foldopen", -"foldclose" and "foldsep" items in the 'fillchars' option. +Improvements in 'fillchars': +- Support for configuring the character used to mark the beginning of a fold, + show a closed fold and show a fold separator using "foldopen", "foldclose" + and "foldsep" respectively in 'fillchars'. +- Support for configuring the character displayed in non existing lines using + "eob" in 'fillchars'. +- Support for using multibyte items with the "stl", "stlnc", "foldopen", + "foldclose" and "foldsep" items in the 'fillchars' option. Support for the XChaCha20 encryption method. 'cryptmethod' -Spell check current word with |z=| even when 'spell' is off. - -Add "timeout" to 'spellsuggest' to limit the searching time for spell -suggestions. +Spell checking: +- Spell check current word with |z=| even when 'spell' is off. +- Add "timeout" to 'spellsuggest' to limit the searching time for spell + suggestions. +- Add support for spell checking CamelCased words by adding "camel" to + 'spelloptions'. Support for executing Ex commands in a map without changing the current mode || and ||. Add optional error code to |:cquit|. -Support for calling Vim functions from Lua (vim.call() and vim.fn()). - Recognize numbers as unsigned when "unsigned" is set in 'nrformats'. -Allow setting underline color in terminal. - -Expand script ID using expand(''). |expand()| +Expand script ID using expand('') and script name using +expand('