Update runtime files.
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 2d96769..ea1b137 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 8.2. Last change: 2021 Feb 11
+*index.txt* For Vim version 8.2. Last change: 2021 Feb 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1699,7 +1699,8 @@
|:version| :ve[rsion] print version number and other info
|:verbose| :verb[ose] execute command with 'verbose' set
|:vertical| :vert[ical] make following command split vertically
-|:vim9script| :vim9[script] indicates Vim9 script file
+|:vim9cmd| :vim9[cmd] make following command use Vim9 script syntax
+|:vim9script| :vim9s[cript] indicates Vim9 script file
|:vimgrep| :vim[grep] search for pattern in files
|:vimgrepadd| :vimgrepa[dd] like :vimgrep, but append to current list
|:visual| :vi[sual] same as ":edit", but turns off "Ex" mode
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 82b4418..a5b9099 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 8.2. Last change: 2021 Jan 08
+*pattern.txt* For Vim version 8.2. Last change: 2021 Feb 16
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -229,7 +229,7 @@
*last-pattern*
The last used pattern and offset are remembered. They can be used to repeat
the search, possibly in another direction or with another count. Note that
-two patterns are remembered: One for 'normal' search commands and one for the
+two patterns are remembered: One for "normal" search commands and one for the
substitute command ":s". Each time an empty pattern is given, the previously
used pattern is used. However, if there is no previous search command, a
previous substitute pattern is used, if possible.
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index e7209c4..de60920 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -1,4 +1,4 @@
-*popup.txt* For Vim version 8.2. Last change: 2021 Feb 06
+*popup.txt* For Vim version 8.2. Last change: 2021 Feb 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -693,8 +693,8 @@
the left.
border List with numbers, defining the border thickness
above/right/below/left of the popup (similar to CSS).
- Only values of zero and non-zero are recognized.
- An empty list uses a border all around.
+ Only values of zero and non-zero are currently
+ recognized. An empty list uses a border all around.
borderhighlight List of highlight group names to use for the border.
When one entry it is used for all borders, otherwise
the highlight for the top/right/bottom/left border.
@@ -742,10 +742,10 @@
line or to another window.
mousemoved Like "moved" but referring to the mouse pointer
position
- cursorline non-zero: Highlight the cursor line. Also scrolls the
- text to show this line (only works properly
- when 'wrap' is off).
- zero: Do not highlight the cursor line.
+ cursorline TRUE: Highlight the cursor line. Also scrolls the
+ text to show this line (only works properly
+ when 'wrap' is off).
+ zero: Do not highlight the cursor line.
Default is zero, except for |popup_menu()|.
filter A callback that can filter typed characters, see
|popup-filter|.
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 60ef9c1..aa00dd3 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt* For Vim version 8.2. Last change: 2021 Jan 23
+*repeat.txt* For Vim version 8.2. Last change: 2021 Feb 13
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -879,7 +879,7 @@
valid in the script where it has been defined and if that
script is called from several other scripts, this will stop
whenever that particular variable will become visible or
- unaccessible again.
+ inaccessible again.
The [lnum] is the line number of the breakpoint. Vim will stop at or after
this line. When omitted line 1 is used.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 9d3c9aa..5f0b6c6 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3402,7 +3402,9 @@
:vie editing.txt /*:vie*
:view editing.txt /*:view*
:vim quickfix.txt /*:vim*
-:vim9 repeat.txt /*:vim9*
+:vim9 vim9.txt /*:vim9*
+:vim9cmd vim9.txt /*:vim9cmd*
+:vim9s repeat.txt /*:vim9s*
:vim9script repeat.txt /*:vim9script*
:vimgrep quickfix.txt /*:vimgrep*
:vimgrepa quickfix.txt /*:vimgrepa*
@@ -10126,6 +10128,7 @@
vim9-final vim9.txt /*vim9-final*
vim9-gotchas vim9.txt /*vim9-gotchas*
vim9-import vim9.txt /*vim9-import*
+vim9-mix vim9.txt /*vim9-mix*
vim9-namespace vim9.txt /*vim9-namespace*
vim9-rationale vim9.txt /*vim9-rationale*
vim9-reload vim9.txt /*vim9-reload*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index dd2ed70..835a5cc 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 8.2. Last change: 2021 Feb 10
+*todo.txt* For Vim version 8.2. Last change: 2021 Feb 20
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -39,13 +39,8 @@
-------------------- Known bugs and current work -----------------------
Vim9 - Make everything work:
-- Use ":vim9cmd" as a command modifier? Then make ":vim9" short for that.
-- Add a test for profiling with nested function calls and lambda.
-- Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
-- Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
-- Expand `=expr` in :mkspell
-- Unlet with range: "unlet list[a : b]"
- Implement "export {one, two three}".
+- Disallow :open ?
- ISN_CHECKTYPE could use check_argtype()
- Using a script variable inside a :def function doesn't work if the variable
is inside a block, see Test_nested_function(). Should it work?
@@ -110,10 +105,11 @@
Once Vim9 is stable:
- Change the help to prefer Vim9 syntax where appropriate
-- Use Vim9 for runtime files.
- PR #7497 for autoload/ccomplete.vim
- Add all the error numbers in a good place in documentation.
- In the generic eval docs, point out the Vim9 syntax where it differs.
+- Add the "vim9script" feature, can use has('vim9script')
+- Use Vim9 for runtime files.
+ PR #7497 for autoload/ccomplete.vim
Also for Vim9:
- better implementation for partial and tests for that.
@@ -198,8 +194,6 @@
'incsearch' with :s:
- :s/foo using CTRL-G moves to another line, should not happen, or use the
correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
-- :s@pat/tern@ doesn't include "/" in the pattern. (Takahiro Yoshihara, #3637)
- pass delim to do_search() ?
- Also support range: :/foo/,/bar/delete
- Also support for user command, e.g. Cfilter
- :%s/foo should take the first match below the cursor line, unless there
@@ -269,7 +263,7 @@
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
-Valgind reports memory leaks in test_options
+Valgrind reports memory leaks in test_options
test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
@@ -770,8 +764,6 @@
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
19.
-Should make 'listchars' global-local. Local to window or to buffer?
-Probably window. #5206
Add something like 'fillchars' local to window, but allow for specifying a
highlight name. Esp. for the statusline.
And "extends" and "precedes" are also useful without 'list' set. Also in
@@ -1241,6 +1233,8 @@
Add "unicode true" to NSIS installer. Doesn't work with Windows 95, which we
no longer support.
+Suppoert sort(l, 'F'), convert strings to float. (#7857)
+
sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
4#1038)
diff --git a/runtime/doc/usr_04.txt b/runtime/doc/usr_04.txt
index d2dc056..ac629a5 100644
--- a/runtime/doc/usr_04.txt
+++ b/runtime/doc/usr_04.txt
@@ -1,4 +1,4 @@
-*usr_04.txt* For Vim version 8.2. Last change: 2019 Nov 21
+*usr_04.txt* For Vim version 8.2. Last change: 2021 Feb 22
VIM USER MANUAL - by Bram Moolenaar
@@ -464,9 +464,9 @@
You can switch between Insert mode and Replace mode with the <Insert> key.
-When you use <BS> (backspace) to make correction, you will notice that the
-old text is put back. Thus it works like an undo command for the last typed
-character.
+When you use <BS> (backspace) to make a correction, you will notice that the
+old text is put back. Thus it works like an undo command for the previously
+typed character.
==============================================================================
*04.10* Conclusion
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index bde3c9b..016089a 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt* For Vim version 8.2. Last change: 2021 Feb 03
+*vim9.txt* For Vim version 8.2. Last change: 2021 Feb 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -279,8 +279,8 @@
variables, because they are not really declared. They can also be deleted
with `:unlet`.
-Variables and functions cannot shadow previously defined or imported variables
-and functions.
+Variables, functions and function arguments cannot shadow previously defined
+or imported variables and functions in the same script file.
Variables may shadow Ex commands, rename the variable if needed.
Global variables and user defined functions must be prefixed with "g:", also
@@ -307,14 +307,14 @@
const myList = [1, 2]
myList = [3, 4] # Error!
myList[0] = 9 # Error!
- muList->add(3) # Error!
+ myList->add(3) # Error!
< *:final*
`:final` is used for making only the variable a constant, the value can be
changed. This is well known from Java. Example: >
final myList = [1, 2]
myList = [3, 4] # Error!
myList[0] = 9 # OK
- muList->add(3) # OK
+ myList->add(3) # OK
It is common to write constants as ALL_CAPS, but you don't have to.
@@ -412,7 +412,7 @@
*vim9-curly*
To avoid the "{" of a dictionary literal to be recognized as a statement block
-wrap it in parenthesis: >
+wrap it in parentheses: >
var Lambda = (arg) => ({key: 42})
Also when confused with the start of a command block: >
@@ -1029,10 +1029,14 @@
- Using a number where a string is expected. *E1024*
One consequence is that the item type of a list or dict given to map() must
-not change. This will give an error in compiled code: >
+not change. This will give an error in Vim9 script: >
map([1, 2, 3], (i, v) => 'item ' .. i)
- E1012: Type mismatch; expected list<number> but got list<string>
-Instead use |mapnew()|.
+ E1012: Type mismatch; expected number but got string
+Instead use |mapnew()|. If the item type was determined to be "any" it can
+change to a more specific type. E.g. when a list of mixed types gets changed
+to a list of numbers.
+Same for |extend()|, use |extendnew()| instead, and for |flatten()|, use
+|flattennew()| instead.
==============================================================================
@@ -1084,7 +1088,7 @@
vim9script
# Vim9 script commands go here
This allows for writing a script that takes advantage of the Vim9 script
-syntax if possible, but will also work on an Vim version without it.
+syntax if possible, but will also work on a Vim version without it.
This can only work in two ways:
1. The "if" statement evaluates to false, the commands up to `endif` are