summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/CODEOWNERS24
-rw-r--r--runtime/doc/autocmd.txt5
-rw-r--r--runtime/doc/eval.txt23
-rw-r--r--runtime/doc/helphelp.txt21
-rw-r--r--runtime/doc/map.txt35
-rw-r--r--runtime/doc/pattern.txt23
-rw-r--r--runtime/doc/syntax.txt20
-rw-r--r--runtime/doc/tags6
-rw-r--r--runtime/doc/todo.txt49
-rw-r--r--runtime/doc/undo.txt10
-rw-r--r--runtime/doc/vim9.txt11
-rw-r--r--runtime/filetype.vim2
-rw-r--r--runtime/pack/dist/opt/termdebug/plugin/termdebug.vim10
-rw-r--r--runtime/syntax/aidl.vim4
-rw-r--r--runtime/syntax/diff.vim6
-rw-r--r--runtime/tools/emoji_list.vim4
-rw-r--r--runtime/tutor/tutor.fr6
-rw-r--r--runtime/tutor/tutor.fr.utf-86
-rw-r--r--src/INSTALLx.txt9
-rw-r--r--src/po/tr.po1683
20 files changed, 1744 insertions, 213 deletions
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 929447d77f..1738db14e2 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -20,6 +20,7 @@ runtime/autoload/rubycomplete.vim @segfault @dkearns
runtime/autoload/tar.vim @cecamp
runtime/autoload/vimball.vim @cecamp
runtime/autoload/zip.vim @cecamp
+runtime/autoload/xmlformat.vim @chrisbra
runtime/compiler/checkstyle.vim @dkearns
runtime/compiler/cucumber.vim @tpope
runtime/compiler/dart.vim @dkearns
@@ -57,6 +58,7 @@ runtime/compiler/tsc.vim @dkearns
runtime/compiler/typedoc.vim @dkearns
runtime/compiler/xmllint.vim @dkearns
runtime/compiler/xo.vim @dkearns
+runtime/compiler/zsh.vim @dkearns
runtime/doc/pi_getscript.txt @cecamp
runtime/doc/pi_logipat.txt @cecamp
runtime/doc/pi_netrw.txt @cecamp
@@ -65,6 +67,7 @@ runtime/doc/pi_vimball.txt @cecamp
runtime/doc/pi_zip.txt @cecamp
runtime/ftplugin/awk.vim @dkearns
runtime/ftplugin/bst.vim @tpope
+runtime/ftplugin/cfg.vim @chrisbra
runtime/ftplugin/css.vim @dkearns
runtime/ftplugin/cucumber.vim @tpope
runtime/ftplugin/eiffel.vim @dkearns
@@ -78,9 +81,11 @@ runtime/ftplugin/haml.vim @tpope
runtime/ftplugin/hgcommit.vim @k-takata
runtime/ftplugin/javascript.vim @dkearns
runtime/ftplugin/javascriptreact.vim @dkearns
+runtime/ftplugin/kconfig.vim @chrisbra
runtime/ftplugin/liquid.vim @tpope
runtime/ftplugin/markdown.vim @tpope
runtime/ftplugin/matlab.vim @cecamp
+runtime/ftplugin/nroff.vim @a-vrma
runtime/ftplugin/nsis.vim @k-takata
runtime/ftplugin/pdf.vim @tpope
runtime/ftplugin/ruby.vim @tpope @dkearns
@@ -89,7 +94,10 @@ runtime/ftplugin/scss.vim @tpope
runtime/ftplugin/tmux.vim @ericpruitt
runtime/ftplugin/typescript.vim @dkearns
runtime/ftplugin/typescriptreact.vim @dkearns
+runtime/ftplugin/xml.vim @chrisbra
+runtime/ftplugin/zsh.vim @chrisbra
runtime/indent/bst.vim @tpope
+runtime/syntax/cs.vim @nickspoons
runtime/indent/cucumber.vim @tpope
runtime/indent/dosbatch.vim @k-takata
runtime/indent/eruby.vim @tpope @dkearns
@@ -100,7 +108,11 @@ runtime/indent/nsis.vim @k-takata
runtime/indent/ruby.vim @AndrewRadev @dkearns
runtime/indent/sass.vim @tpope
runtime/indent/scss.vim @tpope
+runtime/indent/sh.vim @chrisbra
+runtime/indent/xml.vim @chrisbra
+runtime/indent/zsh.vim @chrisbra
runtime/indent/teraterm.vim @k-takata
+runtime/pack/dist/opt/matchit/ @chrisbra
runtime/plugin/getscriptPlugin.vim @cecamp
runtime/plugin/logiPat.vim @cecamp
runtime/plugin/netrwPlugin.vim @cecamp
@@ -112,9 +124,13 @@ runtime/syntax/asm.vim @dkearns
runtime/syntax/asmh8300.vim @dkearns
runtime/syntax/awk.vim @dkearns
runtime/syntax/bst.vim @tpope
+runtime/syntax/cabalconfig.vim @coot
+runtime/syntax/cabalproject.vim @coot
+runtime/syntax/cs.vim @nickspoons
runtime/syntax/csh.vim @cecamp
runtime/syntax/cucumber.vim @tpope
runtime/syntax/dcl.vim @cecamp
+runtime/syntax/dtd.vim @chrisbra
runtime/syntax/elmfilt.vim @cecamp
runtime/syntax/eruby.vim @tpope @dkearns
runtime/syntax/exports.vim @cecamp
@@ -123,7 +139,9 @@ runtime/syntax/gitcommit.vim @tpope
runtime/syntax/gitconfig.vim @tpope
runtime/syntax/gitrebase.vim @tpope
runtime/syntax/haml.vim @tpope
+runtime/syntax/haskell.vim @coot
runtime/syntax/hgcommit.vim @k-takata
+runtime/syntax/kconfig.vim @chrisbra
runtime/syntax/lex.vim @cecamp
runtime/syntax/liquid.vim @tpope
runtime/syntax/lisp.vim @cecamp
@@ -138,12 +156,15 @@ runtime/syntax/nsis.vim @k-takata
runtime/syntax/pdf.vim @tpope
runtime/syntax/php.vim @TysonAndre
runtime/syntax/privoxy.vim @dkearns
+runtime/syntax/rc.vim @chrisbra
runtime/syntax/rpcgen.vim @cecamp
runtime/syntax/ruby.vim @dkearns
runtime/syntax/sass.vim @tpope
runtime/syntax/scss.vim @tpope
runtime/syntax/sh.vim @cecamp
runtime/syntax/sm.vim @cecamp
+runtime/syntax/sqloracle.vim @chrisbra
+runtime/syntax/sshdconfig.vim @Jakuje
runtime/syntax/tags.vim @cecamp
runtime/syntax/teraterm.vim @k-takata
runtime/syntax/tex.vim @cecamp
@@ -154,5 +175,8 @@ runtime/syntax/wget.vim @dkearns
runtime/syntax/xbl.vim @dkearns
runtime/syntax/xmath.vim @cecamp
runtime/syntax/xslt.vim @Boobies
+runtime/syntax/xml.vim @chrisbra
runtime/syntax/xxd.vim @cecamp
runtime/syntax/yacc.vim @cecamp
+runtime/syntax/zsh.vim @chrisbra
+src/po/de.po @chrisbra
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index ea9a220cdb..3b376274c6 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 8.2. Last change: 2020 Nov 12
+*autocmd.txt* For Vim version 8.2. Last change: 2020 Dec 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -70,7 +70,8 @@ effects. Be careful not to destroy your text.
The special pattern <buffer> or <buffer=N> defines a buffer-local autocommand.
See |autocmd-buflocal|.
-If the `:autocmd` is in Vim9 script then {cmd} will be executed as in Vim9
+If the `:autocmd` is in Vim9 script (a script that starts with `:vim9script`
+and in a `:def` function) then {cmd} will be executed as in Vim9
script. Thus this depends on where the autocmd is defined, not where it is
triggered.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 6f594ab81b..9e81832a06 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 8.2. Last change: 2020 Nov 11
+*eval.txt* For Vim version 8.2. Last change: 2020 Dec 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5059,9 +5059,9 @@ getbufvar({expr}, {varname} [, {def}]) *getbufvar()*
The result is the value of option or local buffer variable
{varname} in buffer {expr}. Note that the name without "b:"
must be used.
- When {varname} is empty returns a dictionary with all the
+ When {varname} is empty returns a |Dictionary| with all the
buffer-local variables.
- When {varname} is equal to "&" returns a dictionary with all
+ When {varname} is equal to "&" returns a |Dictionary| with all
the buffer-local options.
Otherwise, when {varname} starts with "&" returns the value of
a buffer-local option.
@@ -5533,8 +5533,8 @@ getloclist({nr} [, {what}]) *getloclist()*
|location-list-file-window| for more
details.
- Returns a Dictionary with default values if there is no location
- list for the window {nr}.
+ Returns a |Dictionary| with default values if there is no
+ location list for the window {nr}.
Returns an empty Dictionary if window {nr} does not exist.
Examples (See also |getqflist-examples|): >
@@ -5647,7 +5647,7 @@ getpos({expr}) Get the position for {expr}. For possible values of {expr}
getqflist([{what}]) *getqflist()*
- Returns a list with all the current quickfix errors. Each
+ Returns a |List| with all the current quickfix errors. Each
list item is a dictionary with these entries:
bufnr number of buffer that has the file name, use
bufname() to get the name
@@ -7153,7 +7153,8 @@ mapcheck({name} [, {mode} [, {abbr}]]) *mapcheck()*
mapnew({expr1}, {expr2}) *mapnew()*
Like |map()| but instead of replacing items in {expr1} a new
List or Dictionary is created and returned. {expr1} remains
- unchanged.
+ unchanged. Items can still be changed by {expr2}, if you
+ don't want that use |deepcopy()| first.
mapset({mode}, {abbr}, {dict}) *mapset()*
@@ -7382,7 +7383,7 @@ matchend({expr}, {pat} [, {start} [, {count}]]) *matchend()*
matchfuzzy({list}, {str} [, {dict}]) *matchfuzzy()*
- If {list} is a list of strings, then returns a list with all
+ If {list} is a list of strings, then returns a |List| with all
the strings in {list} that fuzzy match {str}. The strings in
the returned list are sorted based on the matching score.
@@ -10660,7 +10661,7 @@ tagfiles() Returns a |List| with the file names used to search for tags
taglist({expr} [, {filename}]) *taglist()*
- Returns a list of tags matching the regular expression {expr}.
+ Returns a |List| of tags matching the regular expression {expr}.
If {filename} is passed it is used to prioritize the results
in the same way that |:tselect| does. See |tag-priority|.
@@ -10752,7 +10753,7 @@ term_ functions are documented here: |terminal-function-details|
terminalprops() *terminalprops()*
- Returns a dictionary with properties of the terminal that Vim
+ Returns a |Dictionary| with properties of the terminal that Vim
detected from the response to |t_RV| request. See
|v:termresponse| for the response itself. If |v:termresponse|
is empty most values here will be 'u' for unknown.
@@ -11159,7 +11160,7 @@ win_execute({id}, {command} [, {silent}]) *win_execute()*
GetCommand()->win_execute(winid)
win_findbuf({bufnr}) *win_findbuf()*
- Returns a list with |window-ID|s for windows that contain
+ Returns a |List| with |window-ID|s for windows that contain
buffer {bufnr}. When there is none the list is empty.
Can also be used as a |method|: >
diff --git a/runtime/doc/helphelp.txt b/runtime/doc/helphelp.txt
index 8dcaa1f509..36e766e614 100644
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt* For Vim version 8.2. Last change: 2020 Jul 27
+*helphelp.txt* For Vim version 8.2. Last change: 2020 Dec 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -161,6 +161,25 @@ files in the directories specified in the 'runtimepath' option.
The initial height of the help window can be set with the 'helpheight' option
(default 20).
+When the help buffer is created, several local options are set to make sure
+the help text is displayed as it was intended:
+ 'iskeyword' nearly all ASCII chars except ' ', '*', '"' and '|'
+ 'foldmethod' "manual"
+ 'tabstop' 8
+ 'arabic' off
+ 'binary' off
+ 'buflisted' off
+ 'cursorbind' off
+ 'diff' off
+ 'foldenable' off
+ 'list' off
+ 'modifiable' off
+ 'number' off
+ 'relativenumber' off
+ 'rightleft' off
+ 'scrollbind' off
+ 'spell' off
+
Jump to specific subjects by using tags. This can be done in two ways:
- Use the "CTRL-]" command while standing on the name of a command or option.
This only works when the tag is a keyword. "<C-Leftmouse>" and
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 5132507b0a..bf391305dc 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 8.2. Last change: 2020 Nov 21
+*map.txt* For Vim version 8.2. Last change: 2020 Dec 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -909,7 +909,7 @@ Insert mode to avoid every key with a modifier causing Insert mode to end.
1.12 MAPPING AN OPERATOR *:map-operator*
An operator is used before a {motion} command. To define your own operator
-you must create mapping that first sets the 'operatorfunc' option and then
+you must create a mapping that first sets the 'operatorfunc' option and then
invoke the |g@| operator. After the user types the {motion} command the
specified function will be called.
@@ -1321,15 +1321,15 @@ last defined. Example: >
See |:verbose-cmd| for more information.
*E174* *E182*
-:com[mand][!] [{attr}...] {cmd} {rep}
+:com[mand][!] [{attr}...] {cmd} {repl}
Define a user command. The name of the command is
- {cmd} and its replacement text is {rep}. The command's
- attributes (see below) are {attr}. If the command
- already exists, an error is reported, unless a ! is
- specified, in which case the command is redefined.
- There is one exception: When sourcing a script again,
- a command that was previously defined in that script
- will be silently replaced.
+ {cmd} and its replacement text is {repl}. The
+ command's attributes (see below) are {attr}. If the
+ command already exists, an error is reported, unless a
+ ! is specified, in which case the command is
+ redefined. There is one exception: When sourcing a
+ script again, a command that was previously defined in
+ that script will be silently replaced.
:delc[ommand] {cmd} *:delc* *:delcommand* *E184*
@@ -1539,11 +1539,11 @@ feature. Use the full name for new scripts.
Replacement text ~
-The replacement text for a user defined command is scanned for special escape
-sequences, using <...> notation. Escape sequences are replaced with values
-from the entered command line, and all other text is copied unchanged. The
-resulting string is executed as an Ex command. To avoid the replacement use
-<lt> in place of the initial <. Thus to include "<bang>" literally use
+The replacement text {repl} for a user defined command is scanned for special
+escape sequences, using <...> notation. Escape sequences are replaced with
+values from the entered command line, and all other text is copied unchanged.
+The resulting string is executed as an Ex command. To avoid the replacement
+use <lt> in place of the initial <. Thus to include "<bang>" literally use
"<lt>bang>".
The valid escape sequences are
@@ -1669,6 +1669,11 @@ errors and the "update" command to write modified buffers): >
This will invoke: >
:call Allargs("%s/foo/bar/ge|update")
<
+If the command is defined in Vim9 script (a script that starts with
+`:vim9script` and in a `:def` function) then {repl} will be executed as in Vim9
+script. Thus this depends on where the command is defined, not where it is
+used.
+
When defining a user command in a script, it will be able to call functions
local to the script and use mappings local to the script. When the user
invokes the user command, it will run in the context of the script it was
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 19edb7268b..4a574e35db 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 8.2. Last change: 2020 Sep 01
+*pattern.txt* For Vim version 8.2. Last change: 2020 Dec 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -361,8 +361,8 @@ For starters, read chapter 27 of the user manual |usr_27.txt|.
*/atom*
5. An atom can be one of a long list of items. Many atoms match one character
in the text. It is often an ordinary character or a character class.
- Braces can be used to make a pattern into an atom. The "\z(\)" construct
- is only for syntax highlighting.
+ Parentheses can be used to make a pattern into an atom. The "\z(\)"
+ construct is only for syntax highlighting.
atom ::= ordinary-atom |/ordinary-atom|
or \( pattern \) |/\(|
@@ -676,7 +676,7 @@ overview.
Note that using "\&" works the same as using "\@=": "foo\&.." is the
same as "\(foo\)\@=..". But using "\&" is easier, you don't need the
- braces.
+ parentheses.
*/\@!*
@@ -1069,8 +1069,8 @@ x A single character, with no special meaning, matches itself
[] (with 'nomagic': \[]) */[]* */\[]* */\_[]* */collection*
\_[]
- A collection. This is a sequence of characters enclosed in brackets.
- It matches any single character in the collection.
+ A collection. This is a sequence of characters enclosed in square
+ brackets. It matches any single character in the collection.
Example matches ~
[xyz] any 'x', 'y' or 'z'
[a-zA-Z]$ any alphabetic character at the end of a line
@@ -1129,11 +1129,12 @@ x A single character, with no special meaning, matches itself
*[:ident:]* [:ident:] identifier character (same as "\i")
*[:keyword:]* [:keyword:] keyword character (same as "\k")
*[:fname:]* [:fname:] file name character (same as "\f")
- The brackets in character class expressions are additional to the
- brackets delimiting a collection. For example, the following is a
- plausible pattern for a UNIX filename: "[-./[:alnum:]_~]\+" That is,
- a list of at least one character, each of which is either '-', '.',
- '/', alphabetic, numeric, '_' or '~'.
+ The square brackets in character class expressions are additional to
+ the square brackets delimiting a collection. For example, the
+ following is a plausible pattern for a UNIX filename:
+ "[-./[:alnum:]_~]\+". That is, a list of at least one character,
+ each of which is either '-', '.', '/', alphabetic, numeric, '_' or
+ '~'.
These items only work for 8-bit characters, except [:lower:] and
[:upper:] also work for multibyte characters when using the new
regexp engine. See |two-engines|. In the future these items may
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 00d01bc520..ad61a8bfe1 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 8.2. Last change: 2020 Nov 22
+*syntax.txt* For Vim version 8.2. Last change: 2020 Dec 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -3183,6 +3183,7 @@ redrawing can become slow.
TEX *tex.vim* *ft-tex-syntax* *latex-syntax*
+ *syntax-tex* *syntax-latex*
Tex Contents~
Tex: Want Syntax Folding? |tex-folding|
@@ -3199,6 +3200,7 @@ TEX *tex.vim* *ft-tex-syntax* *latex-syntax*
Tex: Selective Conceal Mode |g:tex_conceal|
Tex: Controlling iskeyword |g:tex_isk|
Tex: Fine Subscript and Superscript Control |tex-supersub|
+ Tex: Match Check Control |tex-matchcheck|
*tex-folding* *g:tex_fold_enabled*
Tex: Want Syntax Folding? ~
@@ -3422,6 +3424,22 @@ syntax highlighting script handles this with the following logic:
< in ~/.vim/ftplugin/tex/tex.vim in order to avoid having inscrutable
utf-8 glyphs appear.
+ *tex-matchcheck* *g:tex_matchcheck*
+ Tex: Match Check Control~
+
+ Sometimes one actually wants mismatched parentheses, square braces,
+ and or curly braces; for example, \text{(1,10] is a range from but
+ not including 1 to and including 10}. This wish, of course, conflicts
+ with the desire to provide delimiter mismatch detection. To
+ accommodate these conflicting goals, syntax/tex.vim provides >
+ g:tex_matchcheck = '[({[]'
+< which is shown along with its default setting. So, if one doesn't
+ want [] and () to be checked for mismatches, try using >
+ let g:tex_matchcheck= '[{}]'
+< If you don't want matching to occur inside bold and italicized
+ regions, >
+ let g:tex_excludematcher= 1
+< will prevent the texMatcher group from being included in those regions.
TF *tf.vim* *ft-tf-syntax*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 1e9b5dafc8..4e58f65b5f 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -6255,6 +6255,7 @@ exepath() eval.txt /*exepath()*
exim starting.txt /*exim*
exists() eval.txt /*exists()*
exiting starting.txt /*exiting*
+exiting-variable eval.txt /*exiting-variable*
exp() eval.txt /*exp()*
expand() eval.txt /*expand()*
expand-env options.txt /*expand-env*
@@ -6862,6 +6863,7 @@ g:tex_fast syntax.txt /*g:tex_fast*
g:tex_flavor filetype.txt /*g:tex_flavor*
g:tex_fold_enabled syntax.txt /*g:tex_fold_enabled*
g:tex_isk syntax.txt /*g:tex_isk*
+g:tex_matchcheck syntax.txt /*g:tex_matchcheck*
g:tex_no_error syntax.txt /*g:tex_no_error*
g:tex_nospell syntax.txt /*g:tex_nospell*
g:tex_stylish syntax.txt /*g:tex_stylish*
@@ -9174,8 +9176,10 @@ synstack() eval.txt /*synstack()*
syntax syntax.txt /*syntax*
syntax-functions usr_41.txt /*syntax-functions*
syntax-highlighting syntax.txt /*syntax-highlighting*
+syntax-latex syntax.txt /*syntax-latex*
syntax-loading syntax.txt /*syntax-loading*
syntax-printing usr_06.txt /*syntax-printing*
+syntax-tex syntax.txt /*syntax-tex*
syntax.txt syntax.txt /*syntax.txt*
syntax_cmd syntax.txt /*syntax_cmd*
sys-file-list help.txt /*sys-file-list*
@@ -9610,6 +9614,7 @@ tex-cole syntax.txt /*tex-cole*
tex-conceal syntax.txt /*tex-conceal*
tex-error syntax.txt /*tex-error*
tex-folding syntax.txt /*tex-folding*
+tex-matchcheck syntax.txt /*tex-matchcheck*
tex-math syntax.txt /*tex-math*
tex-morecommands syntax.txt /*tex-morecommands*
tex-nospell syntax.txt /*tex-nospell*
@@ -9787,6 +9792,7 @@ v:errmsg eval.txt /*v:errmsg*
v:errors eval.txt /*v:errors*
v:event eval.txt /*v:event*
v:exception eval.txt /*v:exception*
+v:exiting eval.txt /*v:exiting*
v:false eval.txt /*v:false*
v:fcs_choice eval.txt /*v:fcs_choice*
v:fcs_reason eval.txt /*v:fcs_reason*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 454c0c24b6..2e65918db6 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 8.2. Last change: 2020 Nov 28
+*todo.txt* For Vim version 8.2. Last change: 2020 Dec 10
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,34 +38,16 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
-Vim9 - Change
-- Drop support for #{} early December. Close #7310
- -> Does it work to recognize lambda?
- {x: int -> x + 5}
- var int = 5
- {x: int, y: int}
-Vim9 - Making everything work:
-- Compile: for [key, value] in items(map): Also support @r, $VAR, etc.
-- Make map() give an error if the resulting type of the first argument is
- wrong. Only works if the type is known? Is this slow (need to go over all
- items)?
-- Run the same tests in :def and Vim9 script, like in Test_expr7_not()
-- need to check type when a declaration specifies a type: #6507
- let nr: number = 'asdf'
-- Check many more builtin function arguments at compile time.
-- Make sure that in vim9script a function call without namespace only finds
- the script-local function, not a global one.
-- Make sure that where a callback is expected a function can be used (without
- quotes). E.g. sort() and map(). Also at the script level.
-- ":put" with ISN_PUT does not handle range correctly, e.g. ":$-2put".
- Add command to parse range at runtime?
-- When defining an :autocmd or :command, how to specify using Vim9 syntax?
- - always do this when defined in a Vim9 script
- - add some command modifier.
-- For an :autocmd and :command argument, if a following line starts with "|"
- append it. It's like line continuation. (#6702)
+Vim9 - Make everything work:
+- For an :autocmd and :command argument defined in Vim9 script, if a following
+ line starts with "|" append it. It's like line continuation. (#6702)
+- The syntax of a range list[a:b] is ambiguous, is this one "a:b" variable or
+ a range from "a" to "b"? To avoid confusion, require white space before
+ (and after) the colon? #7409
- Implement "export {one, two three}".
- 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:
let p = function('NoSuchFunc')
- If a :def function is called with a function reference, compile it to get
@@ -78,7 +60,14 @@ Vim9 - Making everything work:
- Does this work already: can use func as reference:
def SomeFunc() ...
map(list, SomeFunc)
+- For builtin functions using tv_get_string*() use check_for_string() to be
+ more strict about the argument type.
- Support passing v:none to use the default argument value. (#6504)
+- Make map() give an error if the resulting type of the first argument is
+ wrong. Only works if the type is known? Is this slow (need to go over all
+ items)?
+- Run the same tests in :def and Vim9 script, like in Test_expr7_not()
+- Check many more builtin function arguments at compile time.
- 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.
@@ -107,9 +96,11 @@ Vim9 - Making everything work:
- expandcmd() with `=expr` in filename uses legacy expression.
- eval_expr() in ex_cexpr()
- eval_expr() call in dbg_parsearg() and debuggy_find()
-New syntax and functionality:
Improve error checking:
- "echo Func()" is an error if Func() does not return anything.
+Before launch:
+- Add all the error numbers in a good place in documentation.
+- In the generic eval docs, point out the Vim9 syntax where it differs.
Also:
- For range: make table of first ASCII character with flag to quickly check if
it can be a Vim9 command. E.g. "+" can, but "." can't.
@@ -184,6 +175,8 @@ Text properties:
- "cc" does not call inserted_bytes(). (Axel Forsman, #5763)
- Combining text property with 'cursorline' does not always work (Billie
Cleek, #5533)
+- Should we let the textprop highlight overrule other (e.g. diff) highlight if
+ the priority is above a certain value? (#7392)
- See remarks at top of src/textprop.c
'incsearch' with :s:
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index b1c6fa7694..fabee453d8 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt* For Vim version 8.2. Last change: 2020 Oct 18
+*undo.txt* For Vim version 8.2. Last change: 2020 Nov 30
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -65,9 +65,9 @@ with the redo command. If you make a new change after the undo command,
the redo will not be possible anymore.
'u' included, the Vi-compatible way:
-The undo command undoes the previous change, and also the previous undo command.
-The redo command repeats the previous undo command. It does NOT repeat a
-change command, use "." for that.
+The undo command undoes the previous change, and also the previous undo
+command. The redo command repeats the previous undo command. It does NOT
+repeat a change command, use "." for that.
Examples Vim way Vi-compatible way ~
"uu" two times undo no-op
@@ -103,7 +103,7 @@ change again. But you can do something like this: >
:undojoin | delete
-After this an "u" command will undo the delete command and the previous
+After this a "u" command will undo the delete command and the previous
change.
To do the opposite, break a change into two undo blocks, in Insert mode use
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 5b0fded944..1872b82ee2 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt* For Vim version 8.2. Last change: 2020 Dec 04
+*vim9.txt* For Vim version 8.2. Last change: 2020 Dec 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -123,8 +123,8 @@ often 10x to 100x times.
Many errors are already found when compiling, before the function is executed.
The syntax is strict, to enforce code that is easy to read and understand.
-Compilation is done when:
-- the function is first called
+Compilation is done when either of these is encountered:
+- the first time the function is called
- when the `:defcompile` command is encountered in the script where the
function was defined
- `:disassemble` is used for the function.
@@ -132,8 +132,9 @@ Compilation is done when:
reference
`:def` has no options like `:function` does: "range", "abort", "dict" or
-"closure". A `:def` function always aborts on an error, does not get a range
-passed and cannot be a "dict" function.
+"closure". A `:def` function always aborts on an error (unless `:silent!` was
+used for the command or inside a `:try` block), does not get a range passed
+and cannot be a "dict" function.
The argument types and return type need to be specified. The "any" type can
be used, type checking will then be done at runtime, like with legacy
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 881366ed56..7322f74be9 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2020 Nov 22
+" Last Change: 2020 Dec 07
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index bf38dc93a5..07d5cb8d52 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -2,7 +2,7 @@
"
" Author: Bram Moolenaar
" Copyright: Vim license applies, see ":help license"
-" Last Change: 2020 Oct 28
+" Last Change: 2020 Dec 07
"
" WORK IN PROGRESS - Only the basics work
" Note: On MS-Windows you need a recent version of gdb. The one included with
@@ -726,8 +726,12 @@ func s:DeleteCommands()
delcommand Source
delcommand Winbar
- if exists('s:k_map_saved') && !empty(s:k_map_saved)
- call mapset('n', 0, s:k_map_saved)
+ if exists('s:k_map_saved')
+ if empty(s:k_map_saved)
+ nunmap K
+ else
+ call mapset('n', 0, s:k_map_saved)
+ endif
unlet s:k_map_saved
endif
diff --git a/runtime/syntax/aidl.vim b/runtime/syntax/aidl.vim
index 1947ab97d8..3a79433aa9 100644
--- a/runtime/syntax/aidl.vim
+++ b/runtime/syntax/aidl.vim
@@ -2,7 +2,7 @@
" Language: aidl (Android Interface Definition Language)
" https://developer.android.com/guide/components/aidl
" Maintainer: Dominique Pelle <dominique.pelle@tomtom.com>
-" LastChange: 2020/07/25
+" LastChange: 2020/12/03
" Quit when a syntax file was already loaded.
if exists("b:current_syntax")
@@ -12,7 +12,7 @@ endif
source <sfile>:p:h/java.vim
syn keyword aidlParamDir in out inout
-syn keyword aidlKeyword oneway parcelable
+syn keyword aidlKeyword const oneway parcelable
" Needed for the 'in', 'out', 'inout' keywords to be highlighted.
syn cluster javaTop add=aidlParamDir
diff --git a/runtime/syntax/diff.vim b/runtime/syntax/diff.vim
index b656cd97a6..ac43d6650a 100644
--- a/runtime/syntax/diff.vim
+++ b/runtime/syntax/diff.vim
@@ -2,7 +2,7 @@
" Language: Diff (context or unified)
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Translations by Jakson Alves de Aquino.
-" Last Change: 2016 Apr 02
+" Last Change: 2020 Dec 07
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -346,9 +346,11 @@ syn match diffLine "^---$"
syn match diffLine "^\d\+\(,\d\+\)\=[cda]\d\+\>.*"
syn match diffFile "^diff\>.*"
-syn match diffFile "^+++ .*"
syn match diffFile "^Index: .*"
syn match diffFile "^==== .*"
+" Old style diff uses *** for old and --- for new.
+" Unified diff uses --- for old and +++ for new; names are wrong but it works.
+syn match diffOldFile "^+++ .*"
syn match diffOldFile "^\*\*\* .*"
syn match diffNewFile "^--- .*"
diff --git a/runtime/tools/emoji_list.vim b/runtime/tools/emoji_list.vim
index 1c8a4a3e42..d361b7ee98 100644
--- a/runtime/tools/emoji_list.vim
+++ b/runtime/tools/emoji_list.vim
@@ -9,9 +9,9 @@ endif
" Use a compiled Vim9 function for speed
def DoIt()
- let lnum = 1
+ var lnum = 1
for c in range(0x100, 0x1ffff)
- let cs = nr2char(c)
+ var cs = nr2char(c)
if charclass(cs) == 3
setline(lnum, '|' .. cs .. '| ' .. strwidth(cs))
lnum += 1
diff --git a/runtime/tutor/tutor.fr b/runtime/tutor/tutor.fr
index a139fb4992..e76c4d6257 100644
--- a/runtime/tutor/tutor.fr
+++ b/runtime/tutor/tutor.fr
@@ -906,9 +906,9 @@ NOTE : Si vous voulez ignorer la casse uniquement pour une recherche, utilisez
soit appuyé.
6. Taper ":set xxx" active l'option "xxx". Quelques options sont :
- 'ic' 'ingnorecase' pour ignorer la casse lors des recherches.
- 'is' 'incsearch' pour montrer les appariements partiels.
- 'hls' 'hlsearch' pour mettre en surbrillance les appariements.
+ 'ic' 'ignorecase' pour ignorer la casse lors des recherches.
+ 'is' 'incsearch' pour montrer les appariements partiels.
+ 'hls' 'hlsearch' pour mettre en surbrillance les appariements.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/runtime/tutor/tutor.fr.utf-8 b/runtime/tutor/tutor.fr.utf-8
index 972439b9fc..035e36e1ef 100644
--- a/runtime/tutor/tutor.fr.utf-8
+++ b/runtime/tutor/tutor.fr.utf-8
@@ -906,9 +906,9 @@ NOTE : Si vous voulez ignorer la casse uniquement pour une recherche, utilisez
soit appuyé.
6. Taper ":set xxx" active l'option "xxx". Quelques options sont :
- 'ic' 'ingnorecase' pour ignorer la casse lors des recherches.
- 'is' 'incsearch' pour montrer les appariements partiels.
- 'hls' 'hlsearch' pour mettre en surbrillance les appariements.
+ 'ic' 'ignorecase' pour ignorer la casse lors des recherches.
+ 'is' 'incsearch' pour montrer les appariements partiels.
+ 'hls' 'hlsearch' pour mettre en surbrillance les appariements.