Update runtime files.
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 7db3ffc..d0b50ca 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 8.2. Last change: 2021 Jan 21
+*change.txt* For Vim version 8.2. Last change: 2021 Mar 01
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -649,6 +649,8 @@
The space between `:substitute` and the 'c', 'g',
'i', 'I' and 'r' flags isn't required, but in scripts
it's a good idea to keep it to avoid confusion.
+ Also see the two and three letter commands to repeat
+ :substitute below |:substitute-repeat|.
:[range]~[&][flags] [count] *:~*
Repeat last substitute with same substitute string
@@ -877,20 +879,26 @@
*:sge* *:sgi* *:sgI* *:sgl* *:sgn* *:sgp* *:sgr* *:sI* *:si*
*:sic* *:sIc* *:sie* *:sIe* *:sIg* *:sIl* *:sin* *:sIn* *:sIp*
*:sip* *:sIr* *:sir* *:sr* *:src* *:srg* *:sri* *:srI* *:srl*
- *:srn* *:srp*
+ *:srn* *:srp* *:substitute-repeat*
2-letter and 3-letter :substitute commands ~
+These commands repeat the previous `:substitute` command with the given flags.
+The first letter is always "s", followed by one or two of the possible flag
+characters. For example `:sce` works like `:s///ce`. The table lists the
+possible combinations, not all flags are possible, because the command is
+short for another command.
+
List of :substitute commands
| c e g i I n p l r
- | c :sc :sce :scg :sci :scI :scn :scp :scl ---
+ | c :sc :sce :scg :sci :scI :scn :scp :scl
| e
| g :sgc :sge :sg :sgi :sgI :sgn :sgp :sgl :sgr
- | i :sic :sie --- :si :siI :sin :sip --- :sir
+ | i :sic :sie :si :siI :sin :sip :sir
| I :sIc :sIe :sIg :sIi :sI :sIn :sIp :sIl :sIr
| n
| p
| l
- | r :src --- :srg :sri :srI :srn :srp :srl :sr
+ | r :src :srg :sri :srI :srn :srp :srl :sr
Exceptions:
:scr is `:scriptnames`
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 03fcb65..92f0206 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 8.2. Last change: 2021 Feb 10
+*eval.txt* For Vim version 8.2. Last change: 2021 Mar 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5300,6 +5300,9 @@
Get the position for {expr}. Same as |getpos()| but the column
number in the returned List is a character index instead of
a byte index.
+ If |getpos()| returns a very large column number, such as
+ 2147483647, then getcharpos() will return the character index
+ of the last character.
Example:
With the cursor on '세' in line 5 with text "여보세요": >
@@ -5779,6 +5782,8 @@
The column number in the returned List is the byte position
within the line. To get the character position in the line,
use |getcharpos()|
+ The column number can be very large, e.g. 2147483647, in which
+ case it means "after the end of the line".
This can be used to save and restore the position of a mark: >
let save_a_mark = getpos("'a")
...
@@ -7450,7 +7455,8 @@
to be used when fast match additions and deletions are
required, for example to highlight matching parentheses.
- The list {pos} can contain one of these items:
+ {pos} is a list of positions. Each position can be one of
+ these:
- A number. This whole line will be highlighted. The first
line has number 1.
- A list with one number, e.g., [23]. The whole line with this
@@ -7463,7 +7469,7 @@
- A list with three numbers, e.g., [23, 11, 3]. As above, but
the third number gives the length of the highlight in bytes.
- The maximum number of positions is 8.
+ The maximum number of positions in {pos} is 8.
Example: >
:highlight MyGroup ctermbg=green guibg=green
@@ -7472,8 +7478,7 @@
:call matchdelete(m)
< Matches added by |matchaddpos()| are returned by
- |getmatches()| with an entry "pos1", "pos2", etc., with the
- value a list like the {pos} item.
+ |getmatches()|.
Can also be used as a |method|: >
GetGroup()->matchaddpos([23, 11])
@@ -10273,7 +10278,8 @@
strcharpart({src}, {start} [, {len}]) *strcharpart()*
Like |strpart()| but using character index and length instead
- of byte index and length.
+ of byte index and length. Composing characters are counted
+ separately.
When a character index is used where a character does not
exist it is assumed to be one character. For example: >
strcharpart('abc', -1, 2)
@@ -13142,7 +13148,7 @@
Cannot be followed by a comment.
Examples: >
:execute "buffer" nextbuf
- :execute "normal" count . "w"
+ :execute "normal" count .. "w"
<
":execute" can be used to append a command to commands
that don't accept a '|'. Example: >
@@ -13158,8 +13164,8 @@
file names. The |fnameescape()| function can be used
for Vim commands, |shellescape()| for |:!| commands.
Examples: >
- :execute "e " . fnameescape(filename)
- :execute "!ls " . shellescape(filename, 1)
+ :execute "e " .. fnameescape(filename)
+ :execute "!ls " .. shellescape(filename, 1)
<
Note: The executed string may be any command-line, but
starting or ending "if", "while" and "for" does not
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 6a23b2f..318507c 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt* For Vim version 8.2. Last change: 2021 Jan 21
+*filetype.txt* For Vim version 8.2. Last change: 2021 Mar 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -628,6 +628,13 @@
set -x MANPAGER "vim -M +MANPAGER -"
+
+MARKDOWN *ft-markdown-plugin*
+
+To enable folding use this: >
+ let g:markdown_folding = 1
+<
+
PDF *ft-pdf-plugin*
Two maps, <C-]> and <C-T>, are provided to simulate a tag stack for navigating
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index aa00dd3..71b4e10 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -677,9 +677,9 @@
opt/fooextra/doc/tags " help tags
This allows for the user to do: >
- mkdir ~/.vim/pack/myfoobar
- cd ~/.vim/pack/myfoobar
- git clone https://github.com/you/foobar.git
+ mkdir ~/.vim/pack
+ cd ~/.vim/pack
+ git clone https://github.com/you/foobar.git myfoobar
Here "myfoobar" is a name that the user can choose, the only condition is that
it differs from other packages.
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index 9c52587..66f8cc6 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -1,4 +1,4 @@
-*sign.txt* For Vim version 8.2. Last change: 2020 Oct 28
+*sign.txt* For Vim version 8.2. Last change: 2021 Mar 07
VIM REFERENCE MANUAL by Gordon Prieur
@@ -146,6 +146,9 @@
texthl={group}
Highlighting group used for the text item.
+ Example: >
+ :sign define MySign text=>> texthl=Search linehl=DiffText
+<
DELETING A SIGN *:sign-undefine* *E155*
@@ -155,7 +158,9 @@
Deletes a previously defined sign. If signs with this {name}
are still placed this will cause trouble.
-
+ Example: >
+ :sign undefine MySign
+<
LISTING SIGNS *:sign-list* *E156*
@@ -209,6 +214,10 @@
Same, but use buffer {nr}. If the buffer argument is not
given, place the sign in the current buffer.
+ Example: >
+ :sign place 10 line=99 name=sign3
+ :sign place 10 line=99 name=sign3 buffer=3
+<
*E885*
:sign place {id} name={name} file={fname}
Change the placed sign {id} in file {fname} to use the defined
@@ -221,10 +230,17 @@
"priority={prio}" attribute can be used to change the priority
of an existing sign.
+ Example: >
+ :sign place 23 name=sign1 file=/path/to/edit.py
+<
:sign place {id} name={name} [buffer={nr}]
Same, but use buffer {nr}. If the buffer argument is not
given, use the current buffer.
+ Example: >
+ :sign place 23 name=sign1
+ :sign place 23 name=sign1 buffer=7
+<
REMOVING SIGNS *:sign-unplace* *E159*
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 6a94980..bef8601 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 8.2. Last change: 2021 Jan 21
+*syntax.txt* For Vim version 8.2. Last change: 2021 Mar 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1741,8 +1741,8 @@
The <> of opening tags are colored differently than the </> of a closing tag.
This is on purpose! For opening tags the 'Function' color is used, while for
-closing tags the 'Type' color is used (See syntax.vim to check how those are
-defined for you)
+closing tags the 'Identifier' color is used (See syntax.vim to check how those
+are defined for you)
Known tag names are colored the same way as statements in C. Unknown tag
names are colored with the same color as the <> or </> respectively which
@@ -4676,7 +4676,7 @@
- A line continuation pattern can be given. It is used to decide which group
of lines need to be searched like they were one line. This means that the
search for a match with the specified items starts in the first of the
- consecutive that contain the continuation pattern.
+ consecutive lines that contain the continuation pattern.
- When using "nextgroup" or "contains", this only works within one line (or
group of continued lines).
- When using a region, it must start and end in the same line (or group of
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 5f0b6c6..27e8d75 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3191,6 +3191,7 @@
:stselect tagsrch.txt /*:stselect*
:su change.txt /*:su*
:substitute change.txt /*:substitute*
+:substitute-repeat change.txt /*:substitute-repeat*
:sun windows.txt /*:sun*
:sunhide windows.txt /*:sunhide*
:sunm map.txt /*:sunm*
@@ -6578,6 +6579,7 @@
ft-make-syntax syntax.txt /*ft-make-syntax*
ft-man-plugin filetype.txt /*ft-man-plugin*
ft-maple-syntax syntax.txt /*ft-maple-syntax*
+ft-markdown-plugin filetype.txt /*ft-markdown-plugin*
ft-masm-syntax syntax.txt /*ft-masm-syntax*
ft-mathematica-syntax syntax.txt /*ft-mathematica-syntax*
ft-matlab-indent indent.txt /*ft-matlab-indent*
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 5be1890..4e4cff0 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt* For Vim version 8.2. Last change: 2020 Dec 12
+*testing.txt* For Vim version 8.2. Last change: 2021 Mar 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -168,6 +168,7 @@
wait time of up to 3 seconds for messages
term_props reset all terminal properties when the version
string is detected
+ uptime overrules sysinfo.uptime
ALL clear all overrides ({val} is not used)
"starting" is to be used when a test should behave like
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 835a5cc..2486d9d 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 20
+*todo.txt* For Vim version 8.2. Last change: 2021 Mar 11
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -39,13 +39,25 @@
-------------------- Known bugs and current work -----------------------
Vim9 - Make everything work:
-- Implement "export {one, two three}".
+- Does this work now: Implement using imported items at script level from
+ "import * as X" in
+- import of item that isn't exported: error should mention missing "export"?
+- no error for using :import in legacy script?
- Disallow :open ?
+- Check: what if 'cpo' is intentionally changed in Vim9 script, does it get
+ restored at the end?
- 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?
- give error for variable name:
var p = function('NoSuchFunc')
+- When indexing a string, should we include composing characters? #6563
+ string[0] - first character including its composing characters.
+ string[0 : 0] - same
+ If you don't want that use strcharpart().
+ Also, add optional arg to strcharpart() to include composing chars, to
+ make it consistent with strchars().
+ Add strcharlen(), like strchars() but like skipcc is always set
- Make closures work better:
- Create closure in a loop. Need to make a list of them.
- If a :def function is called with a function reference, compile it to get
@@ -74,13 +86,11 @@
- make 0 == 'string' fail on the script level, like inside :def.
- Check that when using a user function name without prefix, it does not find
a global function. Prefixing g: is required.
-- Need the equivalent of get_lval() and set_var_lval() to implement assignment
- to nested list and dict members.
- - Assignment to dict doesn't work:
- var ret: dict<string> = #{}
- ret[i] = string(i)
- - Appending to dict item doesn't work:
- var d[i] ..= value
+- Appending to dict item doesn't work in a :def function:
+ var d: dict<string> = {a: 'x'}
+ d['a'] ..= 'y'
+ d.a ..= 'y'
+ Test to be extended: Test_assign_dict_with_op()
- Using ".." at script level doesn't convert arguments to a string.
- Compile replacement of :s command: s/pat/\=expr/
- Compile redir to local variable: var_redir_start().
@@ -89,8 +99,6 @@
islocked()
- When evaluating constants for script variables, some functions could work:
has('asdf'), len('string')
-- Implement "as Name" in "import Item as Name from ..."
-- Implement using imported items at script level from "import * as X" in
eval_variable(). Should pass the ".xxx" that follows and return that.
- Make "++nr" work. "++g:count" doesn't work, thinks it is a range.
- Reload: How to make sure type of script function hasn't changed?
@@ -102,6 +110,11 @@
- give an error for "echo Func()" if Func() does not return anything.
- Using "windo echo expr" does not accept a line break inside "expr" (in a
:def function and at script level in a not executed block). #7681
+- "assert_fails()" cannot access local variables. Perhaps add this:
+ assertfails
+ ... cmd ...
+ endassertfails /E99:.*cmd/
+ Similar to try/catch/endtry but without the boilerplate.
Once Vim9 is stable:
- Change the help to prefer Vim9 syntax where appropriate
@@ -184,6 +197,7 @@
- Popup attached to text property stays visible when text is deleted with
"cc". (#7737) "C" works OK. "dd" also files in a buffer with a single
line.
+- Auto-indenting may cause highlighting to shift. (#7719)
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
- Combining text property with 'cursorline' does not always work (Billie
Cleek, #5533)
@@ -263,7 +277,9 @@
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
-Valgrind reports memory leaks in test_options
+Include patch #6290: recognize shell directory change.
+
+Valgrind reports memory leaks in test_options.
test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
@@ -277,6 +293,8 @@
Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
(#4087) Did patch 8.2.2379 help?
+Also, z= in German on a long word can take a very long time, but CTRL-C to
+interrupt does not work. Where to add ui_breakcheck()?
Remove SPACE_IN_FILENAME ? It is only used for completion.
@@ -288,6 +306,8 @@
Patch for blockwise paste reporting changes: #6660.
+Patch to make fillchars global-local. (#5206)
+
Missing filetype test for bashrc, PKGBUILD, etc.
Add an option to not fetch terminal codes in xterm, to avoid flicker when t_Co
@@ -306,6 +326,10 @@
Regexp to search for duplicate lines does not work correctly:
/\(^.*\n\)\1 (Chris Morgan, #6239)
+MS-Windows: when writing undo file the infostreams are copied in
+mch_copy_file_attribute(), that seems unnecessary. (#7925)
+Add a flag to only copy attributes?
+
Changing a capturing group to non-capturing changes the result: #7607
:echo matchstr('aaa bbb', '\(.\{-1,}\>\)\|.*')
aaa
@@ -382,6 +406,10 @@
Patch to add :argdedupe. (Nir Lichtman, #6235)
+When editing a file with ":edit" the output of :swapname is relative, while
+editing it with "vim file" it is absolute. (#355)
+Which one should it be?
+
:map output does not clear the reset of the command line.
(#5623, also see #5962)
@@ -1156,9 +1184,6 @@
Rule to use "^" for statusline does not work if a space is defined with
highlighting for both stl and stlnc. Patch by Ken Hamada (itchyny, 2016 Dec 11)
-8 "stl" and "stlnc" in 'fillchars' don't work for multibyte characters.
- Patch by Christian Wellenbrock, 2013 Jul 5.
-
Using CTRL-G_U in InsertCharPre causes trouble for redo. (Israel Chauca
Fuentes, 2017 Feb 12, #1470)
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index c60b1aa..fd135c6 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt* For Vim version 8.2. Last change: 2021 Jan 26
+*various.txt* For Vim version 8.2. Last change: 2021 Mar 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -572,7 +572,7 @@
it in / any non-ID character (see |'isident'|) can be
used, so long as it does not appear in {pat}. Without
the enclosing character the pattern cannot include the
- bar character.
+ bar character. 'ignorecase' is not used.
The pattern is matched against the relevant part of
the output, not necessarily the whole line. Only some
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 016089a..20689ef 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 23
+*vim9.txt* For Vim version 8.2. Last change: 2021 Mar 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -800,6 +800,8 @@
The 'edcompatible' option value is not used.
The 'gdefault' option value is not used.
+You may also find this wiki useful. It was written by an early adoptor of
+Vim9 script: https://github.com/lacygoill/wiki/blob/master/vim/vim9.md
==============================================================================
@@ -1111,7 +1113,7 @@
export class MyClass ...
As this suggests, only constants, variables, `:def` functions and classes can
-be exported. {classes are not implemented yet}
+be exported. {not implemented yet: export class}
*E1042*
`:export` can only be used in Vim9 script, at the script level.