summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-03-08 21:35:07 +0000
committerBram Moolenaar <Bram@vim.org>2022-03-08 21:35:07 +0000
commit1588bc8ebee22f2855f27273fc2234fff370f86c (patch)
tree7ef17f0d3739007a97fbe09daa1f96757a8ac8f2
parented0c62e7b16b62655824df28cdd6bd75aadbb8fc (diff)
downloadvim-git-1588bc8ebee22f2855f27273fc2234fff370f86c.tar.gz
Update runtime files
-rw-r--r--runtime/autoload/dist/ft.vim2
-rw-r--r--runtime/compiler/jest.vim8
-rw-r--r--runtime/compiler/sml.vim8
-rw-r--r--runtime/defaults.vim5
-rw-r--r--runtime/doc/autocmd.txt5
-rw-r--r--runtime/doc/builtin.txt7
-rw-r--r--runtime/doc/change.txt6
-rw-r--r--runtime/doc/channel.txt49
-rw-r--r--runtime/doc/eval.txt201
-rw-r--r--runtime/doc/gui.txt5
-rw-r--r--runtime/doc/index.txt4
-rw-r--r--runtime/doc/insert.txt7
-rw-r--r--runtime/doc/intro.txt5
-rw-r--r--runtime/doc/map.txt15
-rw-r--r--runtime/doc/options.txt2
-rw-r--r--runtime/doc/pattern.txt15
-rw-r--r--runtime/doc/quickfix.txt53
-rw-r--r--runtime/doc/syntax.txt4
-rw-r--r--runtime/doc/tags19
-rw-r--r--runtime/doc/term.txt6
-rw-r--r--runtime/doc/todo.txt33
-rw-r--r--runtime/doc/uganda.txt13
-rw-r--r--runtime/doc/various.txt3
-rw-r--r--runtime/doc/version7.txt2
-rw-r--r--runtime/doc/version8.txt10
-rw-r--r--runtime/doc/version9.txt352
-rw-r--r--runtime/doc/vim9.txt13
-rw-r--r--runtime/ftplugin/ant.vim6
-rw-r--r--runtime/ftplugin/aspvbs.vim6
-rw-r--r--runtime/ftplugin/config.vim6
-rw-r--r--runtime/ftplugin/csc.vim6
-rw-r--r--runtime/ftplugin/csh.vim2
-rw-r--r--runtime/ftplugin/dtd.vim6
-rw-r--r--runtime/ftplugin/html.vim6
-rw-r--r--runtime/ftplugin/java.vim6
-rw-r--r--runtime/ftplugin/jsp.vim6
-rw-r--r--runtime/ftplugin/pascal.vim2
-rw-r--r--runtime/ftplugin/php.vim6
-rw-r--r--runtime/ftplugin/sgml.vim6
-rw-r--r--runtime/ftplugin/sh.vim6
-rw-r--r--runtime/ftplugin/svg.vim6
-rw-r--r--runtime/ftplugin/tcsh.vim2
-rw-r--r--runtime/ftplugin/xhtml.vim6
-rw-r--r--runtime/ftplugin/xml.vim2
-rw-r--r--runtime/ftplugin/xsd.vim6
-rw-r--r--runtime/ftplugin/xslt.vim6
-rw-r--r--runtime/indent/vim.vim4
-rw-r--r--runtime/menu.vim8
48 files changed, 634 insertions, 328 deletions
diff --git a/runtime/autoload/dist/ft.vim b/runtime/autoload/dist/ft.vim
index 22974b6cc..a36f615d6 100644
--- a/runtime/autoload/dist/ft.vim
+++ b/runtime/autoload/dist/ft.vim
@@ -3,7 +3,7 @@ vim9script
# Vim functions for file type detection
#
# Maintainer: Bram Moolenaar <Bram@vim.org>
-# Last Change: 2022 Feb 22
+# Last Change: 2022 Mar 05
# These functions are moved here from runtime/filetype.vim to make startup
# faster.
diff --git a/runtime/compiler/jest.vim b/runtime/compiler/jest.vim
index fee70b7c5..a4bb549de 100644
--- a/runtime/compiler/jest.vim
+++ b/runtime/compiler/jest.vim
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: Jest
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2018 May 15
+" Last Change: 2021 Nov 20
if exists("current_compiler")
finish
@@ -15,12 +15,14 @@ endif
let s:cpo_save = &cpo
set cpo&vim
-" CompilerSet makeprg=npx\ jest\ --no-colors
+" CompilerSet makeprg=npx\ --no-install\ jest\ --no-colors
CompilerSet makeprg=jest\ --no-colors
-CompilerSet errorformat=%E\ \ ●\ %m,
+CompilerSet errorformat=%-A\ \ ●\ Console,
+ \%E\ \ ●\ %m,
\%Z\ %\\{4}%.%#Error:\ %f:\ %m\ (%l:%c):%\\=,
\%Z\ %\\{6}at\ %\\S%#\ (%f:%l:%c),
+ \%Z\ %\\{6}at\ %\\S%#\ %f:%l:%c,
\%+C\ %\\{4}%\\w%.%#,
\%+C\ %\\{4}%[-+]%.%#,
\%-C%.%#,
diff --git a/runtime/compiler/sml.vim b/runtime/compiler/sml.vim
index c7e1b1bf1..a0b13b6c8 100644
--- a/runtime/compiler/sml.vim
+++ b/runtime/compiler/sml.vim
@@ -1,7 +1,7 @@
" Vim compiler file
" Compiler: SML/NJ Compiler
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Last Change: 2020 Feb 10
+" Last Change: 2022 Feb 09
if exists("current_compiler")
finish
@@ -16,10 +16,10 @@ let s:cpo_save = &cpo
set cpo&vim
CompilerSet makeprg=sml
-CompilerSet errorformat=%f:%l.%c-%\\d%\\+.%\\d%\\+\ %trror:\ %m,
+CompilerSet errorformat=%f:%l.%c-%e.%k\ %trror:\ %m,
\%f:%l.%c\ %trror:\ %m,
- \%trror:\ %m
- \%f:%l.%c-%\\d%\\+.%\\d%\\+\ %tarning:\ %m,
+ \%trror:\ %m,
+ \%f:%l.%c-%e.%k\ %tarning:\ %m,
\%f:%l.%c\ %tarning:\ %m,
\%tarning:\ %m,
\%-G%.%#
diff --git a/runtime/defaults.vim b/runtime/defaults.vim
index 4a44ebf95..f1d5cd1ed 100644
--- a/runtime/defaults.vim
+++ b/runtime/defaults.vim
@@ -1,7 +1,7 @@
" The default vimrc file.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last change: 2021 Nov 17
+" Last change: 2022 Mar 03
"
" This is loaded if no vimrc file was found.
" Except when Vim is run with "-u NONE" or "-C".
@@ -64,9 +64,10 @@ if has('win32')
set guioptions-=t
endif
-" Don't use Ex mode, use Q for formatting.
+" Don't use Q for Ex mode, use it for formatting. Except for Select mode.
" Revert with ":unmap Q".
map Q gq
+sunmap Q
" CTRL-U in insert mode deletes a lot. Use CTRL-G u to first break undo,
" so that you can undo CTRL-U after inserting a line break.
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 2a5f5fd73..b1120e902 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 8.2. Last change: 2022 Feb 09
+*autocmd.txt* For Vim version 8.2. Last change: 2022 Mar 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -63,7 +63,7 @@ effects. Be careful not to destroy your text.
they were given.
See |autocmd-nested| for [++nested]. "nested"
(without the ++) can also be used, for backwards
- compatibility.
+ compatibility, but not in |Vim9| script. *E1078*
*autocmd-once*
If [++once] is supplied the command is executed once,
then removed ("one shot").
@@ -365,6 +365,7 @@ Name triggered by ~
|InsertEnter| starting Insert mode
|InsertChange| when typing <Insert> while in Insert or Replace mode
|InsertLeave| when leaving Insert mode
+|InsertLeavePre| just before leaving Insert mode
|InsertCharPre| when a character was typed in Insert mode, before
inserting it
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 23756831b..922a2da3b 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt* For Vim version 8.2. Last change: 2022 Feb 23
+*builtin.txt* For Vim version 8.2. Last change: 2022 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5572,7 +5572,7 @@ matchfuzzy({list}, {str} [, {dict}]) *matchfuzzy()*
empty list is returned. If length of {str} is greater than
256, then returns an empty list.
- Refer to |fuzzy-match| for more information about fuzzy
+ Refer to |fuzzy-matching| for more information about fuzzy
matching strings.
Example: >
@@ -8160,8 +8160,7 @@ sound_playfile({path} [, {callback}])
< Can also be used as a |method|: >
GetSoundPath()->sound_playfile()
-< There is no error *E538* , but can listen to 538.nl.
- {only available when compiled with the |+sound| feature}
+< {only available when compiled with the |+sound| feature}
sound_stop({id}) *sound_stop()*
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 04d536cad..04bd238d1 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 8.2. Last change: 2022 Feb 04
+*change.txt* For Vim version 8.2. Last change: 2022 Mar 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -778,8 +778,8 @@ matched pattern is deleted. The separator after {pattern} can also be left
out then. Example: >
:%s/TESTING
This deletes "TESTING" from all lines, but only one per line.
-
-For compatibility with Vi these two exceptions are allowed:
+ *E1270*
+For compatibility with Vi these two exceptions are allowed in legacy script:
"\/{string}/" and "\?{string}?" do the same as "//{string}/r".
"\&{string}&" does the same as "//{string}/".
*pattern-delimiter* *E146* *E1241* *E1242*
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index 0e95cd233..2182ae697 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt* For Vim version 8.2. Last change: 2021 Nov 28
+*channel.txt* For Vim version 8.2. Last change: 2022 Feb 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1288,18 +1288,18 @@ prompt. >
" Create a channel log so we can see what happens.
call ch_logfile('logfile', 'w')
- " Function handling a line of text has been typed.
+ " Function handling a line of text that has been typed.
func TextEntered(text)
" Send the text to a shell with Enter appended.
call ch_sendraw(g:shell_job, a:text .. "\n")
endfunc
- " Function handling output from the shell: Added above the prompt.
+ " Function handling output from the shell: Add it above the prompt.
func GotOutput(channel, msg)
call append(line("$") - 1, "- " .. a:msg)
endfunc
- " Function handling the shell exist: close the window.
+ " Function handling the shell exits: close the window.
func JobExit(job, status)
quit!
endfunc
@@ -1310,7 +1310,6 @@ prompt. >
\ err_cb: function('GotOutput'),
\ exit_cb: function('JobExit'),
\ })
- let shell_ch = job_getchannel(shell_job)
new
set buftype=prompt
@@ -1321,6 +1320,46 @@ prompt. >
" start accepting shell commands
startinsert
<
+The same in |Vim9| script: >
+
+ vim9script
+
+ # Create a channel log so we can see what happens.
+ ch_logfile('logfile', 'w')
+
+ var shell_job: job
+
+ # Function handling a line of text that has been typed.
+ def TextEntered(text: string)
+ # Send the text to a shell with Enter appended.
+ ch_sendraw(shell_job, text .. "\n")
+ enddef
+
+ # Function handling output from the shell: Add it above the prompt.
+ def GotOutput(channel: channel, msg: string)
+ append(line("$") - 1, "- " .. msg)
+ enddef
+
+ # Function handling the shell exits: close the window.
+ def JobExit(job: job, status: number)
+ quit!
+ enddef
+
+ # Start a shell in the background.
+ shell_job = job_start(["/bin/sh"], {
+ out_cb: GotOutput,
+ err_cb: GotOutput,
+ exit_cb: JobExit,
+ })
+
+ new
+ set buftype=prompt
+ var buf = bufnr('')
+ prompt_setcallback(buf, TextEntered)
+ prompt_setprompt(buf, "shell command: ")
+
+ # start accepting shell commands
+ startinsert
vim:tw=78:ts=8:noet:ft=help:norl:
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 87edd49ec..48cef5c09 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 8.2. Last change: 2022 Feb 21
+*eval.txt* For Vim version 8.2. Last change: 2022 Mar 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1834,6 +1834,7 @@ Some variables can be set by the user, but the type cannot be changed.
*v:argv* *argv-variable*
v:argv The command line arguments Vim was invoked with. This is a
list of strings. The first item is the Vim command.
+ See |v:progpath| for the command with full path.
*v:beval_col* *beval_col-variable*
v:beval_col The number of the column, over which the mouse pointer is.
@@ -2215,6 +2216,8 @@ v:none An empty String. Used to put an empty item in JSON. See
< v:none ~
That is so that eval() can parse the string back to the same
value. Read-only.
+ Note that using `== v:none` and `!= v:none` will often give
+ an error. Instead, use `is v:none` and `isnot v:none` .
*v:null* *null-variable*
v:null An empty String. Used to put "null" in JSON. See
@@ -2225,7 +2228,10 @@ v:null An empty String. Used to put "null" in JSON. See
< v:null ~
That is so that eval() can parse the string back to the same
value. Read-only.
- In |Vim9| script "null" can be used without "v:".
+ In |Vim9| script `null` can be used without "v:".
+ In some places `v:null` and `null` can be used for a List,
+ Dict, Job, etc. that is not set. That is slightly different
+ than an empty List, Dict, etc.
*v:numbermax* *numbermax-variable*
v:numbermax Maximum value of a number.
@@ -3423,16 +3429,17 @@ text...
opposite of |:lockvar|.
:if {expr1} *:if* *:end* *:endif* *:en* *E171* *E579* *E580*
-:en[dif] Execute the commands until the next matching ":else"
- or ":endif" if {expr1} evaluates to non-zero.
+:en[dif] Execute the commands until the next matching `:else`
+ or `:endif` if {expr1} evaluates to non-zero.
Although the short forms work, it is recommended to
- always use `:endif` to avoid confusion.
+ always use `:endif` to avoid confusion and to make
+ auto-indenting work properly.
From Vim version 4.5 until 5.0, every Ex command in
- between the ":if" and ":endif" is ignored. These two
+ between the `:if` and `:endif` is ignored. These two
commands were just to allow for future expansions in a
backward compatible way. Nesting was allowed. Note
- that any ":else" or ":elseif" was ignored, the "else"
+ that any `:else` or `:elseif` was ignored, the `else`
part was not executed either.
You can use this to remain compatible with older
@@ -3441,32 +3448,38 @@ text...
: version-5-specific-commands
:endif
< The commands still need to be parsed to find the
- "endif". Sometimes an older Vim has a problem with a
- new command. For example, ":silent" is recognized as
- a ":substitute" command. In that case ":execute" can
+ `endif`. Sometimes an older Vim has a problem with a
+ new command. For example, `:silent` is recognized as
+ a `:substitute` command. In that case `:execute` can
avoid problems: >
:if version >= 600
: execute "silent 1,$delete"
:endif
<
- NOTE: The ":append" and ":insert" commands don't work
- properly in between ":if" and ":endif".
+ In |Vim9| script `:endif` cannot be shortened, to
+ improve script readability.
+ NOTE: The `:append` and `:insert` commands don't work
+ properly in between `:if` and `:endif`.
*:else* *:el* *E581* *E583*
-:el[se] Execute the commands until the next matching ":else"
- or ":endif" if they previously were not being
+:el[se] Execute the commands until the next matching `:else`
+ or `:endif` if they previously were not being
executed.
+ In |Vim9| script `:else` cannot be shortened, to
+ improve script readability.
*:elseif* *:elsei* *E582* *E584*
-:elsei[f] {expr1} Short for ":else" ":if", with the addition that there
- is no extra ":endif".
+:elsei[f] {expr1} Short for `:else` `:if`, with the addition that there
+ is no extra `:endif`.
+ In |Vim9| script `:elseif` cannot be shortened, to
+ improve script readability.
:wh[ile] {expr1} *:while* *:endwhile* *:wh* *:endw*
*E170* *E585* *E588* *E733*
-:endw[hile] Repeat the commands between ":while" and ":endwhile",
+:endw[hile] Repeat the commands between `:while` and `:endwhile`,
as long as {expr1} evaluates to non-zero.
When an error is detected from a command inside the
- loop, execution continues after the "endwhile".
+ loop, execution continues after the `endwhile`.
Example: >
:let lnum = 1
:while lnum <= line("$")
@@ -3474,12 +3487,14 @@ text...
:let lnum = lnum + 1
:endwhile
<
- NOTE: The ":append" and ":insert" commands don't work
- properly inside a ":while" and ":for" loop.
+ In |Vim9| script `:while` and `:endwhile` cannot be
+ shortened, to improve script readability.
+ NOTE: The `:append` and `:insert` commands don't work
+ properly inside a `:while` and `:for` loop.
:for {var} in {object} *:for* *E690* *E732*
:endfo[r] *:endfo* *:endfor*
- Repeat the commands between ":for" and ":endfor" for
+ Repeat the commands between `:for` and `:endfor` for
each item in {object}. {object} can be a |List| or
a |Blob|. *E1177*
@@ -3489,7 +3504,7 @@ text...
global/window/tab/buffer variable.
When an error is detected for a command inside the
- loop, execution continues after the "endfor".
+ loop, execution continues after the `endfor`.
Changing {object} inside the loop affects what items
are used. Make a copy if this is unwanted: >
:for item in copy(mylist)
@@ -3514,9 +3529,12 @@ text...
iterate over. Unlike with |List|, modifying the
|Blob| does not affect the iteration.
+ In |Vim9| script `:endfor` cannot be shortened, to
+ improve script readability.
+
:for [{var1}, {var2}, ...] in {listlist}
:endfo[r] *E1140*
- Like ":for" above, but each item in {listlist} must be
+ Like `:for` above, but each item in {listlist} must be
a list, of which each item is assigned to {var1},
{var2}, etc. Example: >
:for [lnum, col] in [[1, 3], [2, 5], [3, 8]]
@@ -3524,39 +3542,44 @@ text...
:endfor
<
*:continue* *:con* *E586*
-:con[tinue] When used inside a ":while" or ":for" loop, jumps back
+:con[tinue] When used inside a `:while` or `:for` loop, jumps back
to the start of the loop.
- If it is used after a |:try| inside the loop but
- before the matching |:finally| (if present), the
- commands following the ":finally" up to the matching
- |:endtry| are executed first. This process applies to
- all nested ":try"s inside the loop. The outermost
- ":endtry" then jumps back to the start of the loop.
-
+ If it is used after a `:try` inside the loop but
+ before the matching `:finally` (if present), the
+ commands following the `:finally` up to the matching
+ `:endtry` are executed first. This process applies to
+ all nested `:try`s inside the loop. The outermost
+ `:endtry` then jumps back to the start of the loop.
+
+ In |Vim9| script `:cont` is the shortest form, to
+ improve script readability.
*:break* *:brea* *E587*
-:brea[k] When used inside a ":while" or ":for" loop, skips to
- the command after the matching ":endwhile" or
- ":endfor".
- If it is used after a |:try| inside the loop but
- before the matching |:finally| (if present), the
- commands following the ":finally" up to the matching
- |:endtry| are executed first. This process applies to
- all nested ":try"s inside the loop. The outermost
- ":endtry" then jumps to the command after the loop.
+:brea[k] When used inside a `:while` or `:for` loop, skips to
+ the command after the matching `:endwhile` or
+ `:endfor`.
+ If it is used after a `:try` inside the loop but
+ before the matching `:finally` (if present), the
+ commands following the `:finally` up to the matching
+ `:endtry` are executed first. This process applies to
+ all nested `:try`s inside the loop. The outermost
+ `:endtry` then jumps to the command after the loop.
+
+ In |Vim9| script `:break` cannot be shortened, to
+ improve script readability.
:try *:try* *:endt* *:endtry*
*E600* *E601* *E602* *E1032*
:endt[ry] Change the error handling for the commands between
- ":try" and ":endtry" including everything being
- executed across ":source" commands, function calls,
+ `:try` and `:endtry` including everything being
+ executed across `:source` commands, function calls,
or autocommand invocations.
When an error or interrupt is detected and there is
- a |:finally| command following, execution continues
- after the ":finally". Otherwise, or when the
- ":endtry" is reached thereafter, the next
- (dynamically) surrounding ":try" is checked for
- a corresponding ":finally" etc. Then the script
+ a `:finally` command following, execution continues
+ after the `:finally`. Otherwise, or when the
+ `:endtry` is reached thereafter, the next
+ (dynamically) surrounding `:try` is checked for
+ a corresponding `:finally` etc. Then the script
processing is terminated. Whether a function
definition has an "abort" argument does not matter.
Example: >
@@ -3564,9 +3587,9 @@ text...
echomsg "not reached"
<
Moreover, an error or interrupt (dynamically) inside
- ":try" and ":endtry" is converted to an exception. It
- can be caught as if it were thrown by a |:throw|
- command (see |:catch|). In this case, the script
+ `:try` and `:endtry` is converted to an exception. It
+ can be caught as if it were thrown by a `:throw`
+ command (see `:catch`). In this case, the script
processing is not terminated.
The value "Vim:Interrupt" is used for an interrupt
@@ -3581,13 +3604,16 @@ text...
try | sleep 100 | catch /^Vim:Interrupt$/ | endtry
try | edit | catch /^Vim(edit):E\d\+/ | echo "error" | endtry
<
+ In |Vim9| script `:endtry` cannot be shortened, to
+ improve script readability.
+
*:cat* *:catch*
*E603* *E604* *E605* *E654* *E1033*
-:cat[ch] /{pattern}/ The following commands until the next |:catch|,
- |:finally|, or |:endtry| that belongs to the same
- |:try| as the ":catch" are executed when an exception
+:cat[ch] /{pattern}/ The following commands until the next `:catch`,
+ `:finally`, or `:endtry` that belongs to the same
+ `:try` as the `:catch` are executed when an exception
matching {pattern} is being thrown and has not yet
- been caught by a previous ":catch". Otherwise, these
+ been caught by a previous `:catch`. Otherwise, these
commands are skipped.
When {pattern} is omitted all errors are caught.
Examples: >
@@ -3609,29 +3635,35 @@ text...
NOTE: It is not reliable to ":catch" the TEXT of
an error message because it may vary in different
locales.
+ In |Vim9| script `:catch` cannot be shortened, to
+ improve script readability.
*:fina* *:finally* *E606* *E607*
-:fina[lly] The following commands until the matching |:endtry|
+:fina[lly] The following commands until the matching `:endtry`
are executed whenever the part between the matching
- |:try| and the ":finally" is left: either by falling
- through to the ":finally" or by a |:continue|,
- |:break|, |:finish|, or |:return|, or by an error or
- interrupt or exception (see |:throw|).
+ `:try` and the `:finally` is left: either by falling
+ through to the `:finally` or by a `:continue`,
+ `:break`, `:finish`, or `:return`, or by an error or
+ interrupt or exception (see `:throw`).
+
+ In |Vim9| script `:finally` cannot be shortened, to
+ improve script readability and avoid confusion with
+ `:final`.
*:th* *:throw* *E608* *E1129*
:th[row] {expr1} The {expr1} is evaluated and thrown as an exception.
- If the ":throw" is used after a |:try| but before the
- first corresponding |:catch|, commands are skipped
- until the first ":catch" matching {expr1} is reached.
- If there is no such ":catch" or if the ":throw" is
- used after a ":catch" but before the |:finally|, the
- commands following the ":finally" (if present) up to
- the matching |:endtry| are executed. If the ":throw"
- is after the ":finally", commands up to the ":endtry"
+ If the ":throw" is used after a `:try` but before the
+ first corresponding `:catch`, commands are skipped
+ until the first `:catch` matching {expr1} is reached.
+ If there is no such `:catch` or if the ":throw" is
+ used after a `:catch` but before the `:finally`, the
+ commands following the `:finally` (if present) up to
+ the matching `:endtry` are executed. If the `:throw`
+ is after the `:finally`, commands up to the `:endtry`
are skipped. At the ":endtry", this process applies
- again for the next dynamically surrounding ":try"
+ again for the next dynamically surrounding `:try`
(which may be found in a calling function or sourcing
- script), until a matching ":catch" has been found.
+ script), until a matching `:catch` has been found.
If the exception is not caught, the command processing
is terminated.
Example: >
@@ -3640,13 +3672,16 @@ text...
for when an error causes the parsing to skip the whole
line and not see the "|" that separates the commands.
+ In |Vim9| script `:throw` cannot be shortened, to
+ improve script readability.
+
*:ec* *:echo*
:ec[ho] {expr1} .. Echoes each {expr1}, with a space in between. The
first {expr1} starts on a new line.
Also see |:comment|.
Use "\n" to start a new line. Use "\r" to move the
cursor to the first column.
- Uses the highlighting set by the |:echohl| command.
+ Uses the highlighting set by the `:echohl` command.
Cannot be followed by a comment.
Example: >
:echo "the value of 'shell' is" &shell
@@ -3655,21 +3690,21 @@ text...
And since Vim mostly postpones redrawing until it's
finished with a sequence of commands this happens
quite often. To avoid that a command from before the
- ":echo" causes a redraw afterwards (redraws are often
+ `:echo` causes a redraw afterwards (redraws are often
postponed until you type something), force a redraw
- with the |:redraw| command. Example: >
+ with the `:redraw` command. Example: >
:new | redraw | echo "there is a new window"
<
*:echon*
:echon {expr1} .. Echoes each {expr1}, without anything added. Also see
|:comment|.
- Uses the highlighting set by the |:echohl| command.
+ Uses the highlighting set by the `:echohl` command.
Cannot be followed by a comment.
Example: >
:echon "the value of 'shell' is " &shell
<
- Note the difference between using ":echo", which is a
- Vim command, and ":!echo", which is an external shell
+ Note the difference between using `:echo`, which is a
+ Vim command, and `:!echo`, which is an external shell
command: >
:!echo % --> filename
< The arguments of ":!" are expanded, see |:_%|. >
@@ -3685,8 +3720,8 @@ text...
*:echoh* *:echohl*
:echoh[l] {name} Use the highlight group {name} for the following
- |:echo|, |:echon| and |:echomsg| commands. Also used
- for the |input()| prompt. Example: >
+ `:echo`, `:echon` and `:echomsg` commands. Also used
+ for the `input()` prompt. Example: >
:echohl WarningMsg | echo "Don't panic!" | echohl None
< Don't forget to set the group back to "None",
otherwise all following echo's will be highlighted.
@@ -3695,14 +3730,14 @@ text...
:echom[sg] {expr1} .. Echo the expression(s) as a true message, saving the
message in the |message-history|.
Spaces are placed between the arguments as with the
- |:echo| command. But unprintable characters are
+ `:echo` command. But unprintable characters are
displayed, not interpreted.
- The parsing works slightly different from |:echo|,
- more like |:execute|. All the expressions are first
+ The parsing works slightly different from `:echo`,
+ more like `:execute`. All the expressions are first
evaluated and concatenated before echoing anything.
If expressions does not evaluate to a Number or
String, string() is used to turn it into a string.
- Uses the highlighting set by the |:echohl| command.
+ Uses the highlighting set by the `:echohl` command.
Example: >
:echomsg "It's a Zizzer Zazzer Zuzz, as you can plainly see."
< See |:echo-redraw| to avoid the message disappearing
@@ -3712,12 +3747,12 @@ text...
message in the |message-history|. When used in a
script or function the line number will be added.
Spaces are placed between the arguments as with the
- |:echomsg| command. When used inside a try conditional,
+ `:echomsg` command. When used inside a try conditional,
the message is raised as an error exception instead
(see |try-echoerr|).
Example: >
:echoerr "This script just failed!"
-< If you just want a highlighted message use |:echohl|.
+< If you just want a highlighted message use `:echohl`.
And to get a beep: >
:exe "normal \<Esc>"
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index 38adf7701..d4c24bfcb 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt* For Vim version 8.2. Last change: 2021 Jun 27
+*gui.txt* For Vim version 8.2. Last change: 2022 Mar 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -147,7 +147,8 @@ task bar with the 'guiheadroom' option.
*:win* *:winsize* *E465*
:win[size] {width} {height}
Set the window height to {width} by {height} characters.
- Obsolete, use ":set lines=11 columns=22".
+ It is recommended to use `:set lines=11 columns=22` instead,
+ since it's easy to see what the numbers mean.
If you get less lines than expected, check the 'guiheadroom'
option.
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 8403baca6..58a4861f4 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt* For Vim version 8.2. Last change: 2022 Feb 09
+*index.txt* For Vim version 8.2. Last change: 2022 Mar 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1170,7 +1170,7 @@ tag command action ~
be remapped
|:args| :ar[gs] print the argument list
|:argadd| :arga[dd] add items to the argument list
-:argdedupe :argdedupe remove duplicates from the argument list
+|:argdedupe| :argded[upe] remove duplicates from the argument list
|:argdelete| :argd[elete] delete items from the argument list
|:argedit| :arge[dit] add item to the argument list and edit it
|:argdo| :argdo do a command on all items in the argument list
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index a02567e99..3153d4641 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 8.2. Last change: 2021 Dec 29
+*insert.txt* For Vim version 8.2. Last change: 2022 Mar 06
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -283,8 +283,8 @@ start allow backspacing over the start position of insert; CTRL-W and
When 'backspace' is empty, Vi compatible backspacing is used. You cannot
backspace over autoindent, before column 1 or before where insert started.
-For backwards compatibility the values "0", "1" and "2" are also allowed, see
-|'backspace'|.
+For backwards compatibility the values "0", "1", "2" and "3" are also allowed,
+see |'backspace'|.
If the 'backspace' option does contain "eol" and the cursor is in column 1
when one of the three keys is used, the current line is joined with the
@@ -818,6 +818,7 @@ CTRL-X CTRL-K Search the files given with the 'dictionary' option
the 'dictionary' option is empty.
For suggestions where to find a list of words, see the
'dictionary' option.
+ 'ignorecase', 'smartcase' and 'infercase' apply.
CTRL-K or
CTRL-N Search forward for next matching keyword. This
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 543b2a306..fd8cc5990 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt* For Vim version 8.2. Last change: 2021 Sep 29
+*intro.txt* For Vim version 8.2. Last change: 2022 Mar 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -701,7 +701,8 @@ Q Switch to "Ex" mode. This is a bit like typing ":"
Use the ":vi" command |:visual| to exit "Ex" mode.
Note: In older versions of Vim "Q" formatted text,
that is now done with |gq|. But if you use the
- |vimrc_example.vim| script "Q" works like "gq".
+ |vimrc_example.vim| script or |defaults.vim|, "Q"
+ works like "gq". Except for Select mode.
*gQ*
gQ Switch to "Ex" mode like with "Q", but really behave
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 877be5809..1c852d5b2 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 8.2. Last change: 2022 Jan 23
+*map.txt* For Vim version 8.2. Last change: 2022 Mar 03
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -389,7 +389,7 @@ contain special characters like function keys.
1.3 MAPPING AND MODES *:map-modes*
*mapmode-nvo* *mapmode-n* *mapmode-v* *mapmode-o*
-There are six sets of mappings
+There are seven sets of mappings
- For Normal mode: When typing commands.
- For Visual mode: When typing commands while the Visual area is highlighted.
- For Select mode: like Visual mode but typing text replaces the selection.
@@ -397,6 +397,7 @@ There are six sets of mappings
etc.). See below: |omap-info|.
- For Insert mode. These are also used in Replace mode.
- For Command-line mode: When entering a ":" or "/" command.
+- For Terminal mode: When typing in a |:terminal| buffer.
Special case: While typing a count for a command in Normal mode, mapping zero
is disabled. This makes it possible to map zero without making it impossible
@@ -1446,7 +1447,7 @@ See |:verbose-cmd| for more information.
Command attributes ~
-
+ *command-attributes*
User-defined commands are treated by Vim just like any other Ex commands. They
can have arguments, or have a range specified. Arguments are subject to
completion as filenames, buffers, etc. Exactly how this works depends upon the
@@ -1563,9 +1564,11 @@ The function arguments are:
The function may use these for determining context. For the "custom"
argument, it is not necessary to filter candidates against the (implicit
pattern in) ArgLead. Vim will filter the candidates with its regexp engine
-after function return, and this is probably more efficient in most cases. For
-the "customlist" argument, Vim will not filter the returned completion
-candidates and the user supplied function should filter the candidates.
+after function return, and this is probably more efficient in most cases. If
+'wildoptions' contains "fuzzy", then the candidates will be filtered using
+|fuzzy-matching|. For the "customlist" argument, Vim will not
+filter the returned completion candidates and the user supplied function
+should filter the candidates.
The following example lists user names to a Finger command >
:com -complete=custom,ListUsers -nargs=1 Finger !finger <args>
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 98d7762c6..9d353ac2d 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -9087,7 +9087,7 @@ A jump table for the options with a short description can be found at |Q_op|.
feature}
A list of words that change how |cmdline-completion| is done.
The following values are supported:
- fuzzy Use fuzzy matching to find completion matches. When
+ fuzzy Use |fuzzy-matching| to find completion matches. When
this value is specified, wildcard expansion will not
be used for completion. The matches will be sorted by
the "best match" rather than alphabetically sorted.
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index f5855df07..7de182418 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt* For Vim version 8.2. Last change: 2022 Feb 04
+*pattern.txt* For Vim version 8.2. Last change: 2022 Mar 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,7 +19,7 @@ explanations are in chapter 27 |usr_27.txt|.
8. Composing characters |patterns-composing|
9. Compare with Perl patterns |perl-patterns|
10. Highlighting matches |match-highlight|
-11. Fuzzy matching |fuzzy-match|
+11. Fuzzy matching |fuzzy-matching|
==============================================================================
1. Search commands *search-commands*
@@ -164,9 +164,12 @@ index, on which the cursor is. This can look like this: >
Note: the count does not take offset into account.
When no match is found you get the error: *E486* Pattern not found
-Note that for the |:global| command this behaves like a normal message, for Vi
-compatibility. For the |:s| command the "e" flag can be used to avoid the
-error message |:s_flags|.
+Note that for the `:global` command, when used in legacy script, you get a
+normal message "Pattern not found", for Vi compatibility.
+In |Vim9| script you get E486 for "pattern not found" or *E538* when the pattern
+matches in every line with `:vglobal`.
+For the |:s| command the "e" flag can be used to avoid the error message
+|:s_flags|.
*search-offset* *{offset}*
These commands search for the specified pattern. With "/" and "?" an
@@ -1457,7 +1460,7 @@ Finally, these constructs are unique to Perl:
":2match" for another plugin.
==============================================================================
-11. Fuzzy matching *fuzzy-match*
+11. Fuzzy matching *fuzzy-matching*
Fuzzy matching refers to matching strings using a non-exact search string.
Fuzzy matching will match a string, if all the characters in the search string
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index ca00278bc..2a077d98f 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -655,22 +655,25 @@ instead. If the buffer in the used window has changed, and the error is in
another file, jumping to the error will fail. You will first have to make
sure the window contains a buffer which can be abandoned.
-The following steps are used to find a window to open the file selected from
-the quickfix window:
-1. If 'switchbuf' contains "usetab", then find a window in any tabpage
- (starting with the first tabpage) that has the selected file and jump to
- it.
-2. Otherwise find a window displaying the selected file in the current tab
- page (starting with the window before the quickfix window) and use it.
-3. Otherwise find a window displaying a normal buffer ('buftype' is empty)
- starting with the window before the quickfix window. If a window is found,
- open the file in that window.
-4. If a usable window is not found and 'switchbuf' contains "uselast", then
- open the file in the last used window.
-5. Otherwise open the file in the window before the quickfix window. If there
- is no previous window, then open the file in the next window.
-6. If a usable window is not found in the above steps, then create a new
- horizontally split window above the quickfix window and open the file.
+When you select a file from the quickfix window, the following steps are used
+to find a window to edit the file:
+
+1. If a window displaying the selected file is present in the current tabpage
+ (starting with the window before the quickfix window), then that window is
+ used.
+2. If the above step fails and if 'switchbuf' contains "usetab" and a window
+ displaying the selected file is present in any one of the tabpages
+ (starting with the first tabpage) then that window is used.
+3. If the above step fails then a window in the current tabpage displaying a
+ buffer with 'buftype' not set (starting with the window before the quickfix
+ window) is used.
+4. If the above step fails and if 'switchbuf' contains "uselast", then the
+ previously accessed window is used.
+5. If the above step fails then the window before the quickfix window is used.
+ If there is no previous window, then the window after the quickfix window
+ is used.
+6. If the above step fails, then a new horizontally split window above the
+ quickfix window is used.
*CTRL-W_<Enter>* *CTRL-W_<CR>*
You can use CTRL-W <Enter> to open a new window and jump to the error there.
@@ -710,13 +713,15 @@ this window, the displayed location list is used.
When you select a file from the location list window, the following steps are
used to find a window to edit the file:
-1. If a window with the location list displayed in the location list window is
- present, then the file is opened in that window.
-2. If the above step fails and if the file is already opened in another
- window, then that window is used.
-3. If the above step fails then an existing window showing a buffer with
- 'buftype' not set is used.
-4. If the above step fails, then the file is edited in a new window.
+1. If a non-quickfix window associated with the location list is present in
+ the current tabpage, then that window is used.
+2. If the above step fails and if the file is already opened in another window
+ in the current tabpage, then that window is used.
+3. If the above step fails and 'switchbuf' contains "usetab" and if the file
+ is opened in a window in any one of the tabpages, then that window is used.
+4. If the above step fails then a window in the current tabpage showing a
+ buffer with 'buftype' not set is used.
+5. If the above step fails, then the file is edited in a new window.
In all of the above cases, if the location list for the selected window is not
yet set, then it is set to the location list displayed in the location list
@@ -1055,7 +1060,7 @@ commands can be combined to create a NewGrep command: >
matching is used to find matching lines. In this
case, {pattern} is treated as a literal string
instead of a regular expression. See
- |fuzzy-match| for more information about fuzzy
+ |fuzzy-matching| for more information about fuzzy
matching strings.
|QuickFixCmdPre| and |QuickFixCmdPost| are triggered.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index d7859c4a0..f43ab7c82 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 8.2. Last change: 2022 Feb 06
+*syntax.txt* For Vim version 8.2. Last change: 2022 Mar 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4452,7 +4452,7 @@ Leading context *:syn-lc* *:syn-leading* *:syn-context*
Note: This is an obsolete feature, only included for backwards compatibility
with previous Vim versions. It's now recommended to use the |/\@<=| construct
-in the pattern.
+in the pattern. You can also often use |/\zs|.
The "lc" offset specifies leading context -- a part of the pattern that must
be present, but is not considered part of the match. An offset of "lc=n" will
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 22ce70ffa..81ba7d9b4 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2113,6 +2113,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:abclear map.txt /*:abclear*
:abo windows.txt /*:abo*
:aboveleft windows.txt /*:aboveleft*
+:abstract vim9.txt /*:abstract*
:addd quickfix.txt /*:addd*
:al windows.txt /*:al*
:all windows.txt /*:all*
@@ -2272,6 +2273,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:chistory quickfix.txt /*:chistory*
:cl quickfix.txt /*:cl*
:cla quickfix.txt /*:cla*
+:class vim9.txt /*:class*
:clast quickfix.txt /*:clast*
:cle motion.txt /*:cle*
:clearjumps motion.txt /*:clearjumps*
@@ -2444,12 +2446,15 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:emenu gui.txt /*:emenu*
:en eval.txt /*:en*
:end eval.txt /*:end*
+:endclass vim9.txt /*:endclass*
:enddef vim9.txt /*:enddef*
+:endenum vim9.txt /*:endenum*
:endf eval.txt /*:endf*
:endfo eval.txt /*:endfo*
:endfor eval.txt /*:endfor*
:endfunction eval.txt /*:endfunction*
:endif eval.txt /*:endif*
+:endinterface vim9.txt /*:endinterface*
:endt eval.txt /*:endt*
:endtry eval.txt /*:endtry*
:endw eval.txt /*:endw*
@@ -2458,6 +2463,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:ene! editing.txt /*:ene!*
:enew editing.txt /*:enew*
:enew! editing.txt /*:enew!*
+:enum vim9.txt /*:enum*
:eval eval.txt /*:eval*
:ex editing.txt /*:ex*
:exe eval.txt /*:exe*
@@ -2584,6 +2590,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:inoreme gui.txt /*:inoreme*
:inoremenu gui.txt /*:inoremenu*
:insert insert.txt /*:insert*
+:interface vim9.txt /*:interface*
:intro starting.txt /*:intro*
:is tagsrch.txt /*:is*
:isearch tagsrch.txt /*:isearch*
@@ -3216,6 +3223,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:startgreplace insert.txt /*:startgreplace*
:startinsert insert.txt /*:startinsert*
:startreplace insert.txt /*:startreplace*
+:static vim9.txt /*:static*
:stj tagsrch.txt /*:stj*
:stjump tagsrch.txt /*:stjump*
:stop starting.txt /*:stop*
@@ -3393,6 +3401,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:tunma map.txt /*:tunma*
:tunmap map.txt /*:tunmap*
:tunmenu gui.txt /*:tunmenu*
+:type vim9.txt /*:type*
:u undo.txt /*:u*
:un undo.txt /*:un*
:una map.txt /*:una*
@@ -4022,6 +4031,7 @@ E1061 vim9.txt /*E1061*
E1062 eval.txt /*E1062*
E1063 eval.txt /*E1063*
E1064 autocmd.txt /*E1064*
+E1065 vim9.txt /*E1065*
E1066 vim9.txt /*E1066*
E1067 eval.txt /*E1067*
E1068 vim9.txt /*E1068*
@@ -4034,6 +4044,8 @@ E1074 vim9.txt /*E1074*
E1075 vim9.txt /*E1075*
E1076 eval.txt /*E1076*
E1077 vim9.txt /*E1077*
+E1078 autocmd.txt /*E1078*
+E1079 vim9.txt /*E1079*
E108 eval.txt /*E108*
E1080 vim9.txt /*E1080*
E1081 eval.txt /*E1081*
@@ -4241,6 +4253,7 @@ E1264 vim9.txt /*E1264*
E1265 eval.txt /*E1265*
E1266 if_pyth.txt /*E1266*
E127 eval.txt /*E127*
+E1270 change.txt /*E1270*
E128 eval.txt /*E128*
E129 eval.txt /*E129*
E13 message.txt /*E13*
@@ -4682,7 +4695,7 @@ E534 options.txt /*E534*
E535 options.txt /*E535*
E536 options.txt /*E536*
E537 options.txt /*E537*
-E538 builtin.txt /*E538*
+E538 pattern.txt /*E538*
E539 options.txt /*E539*
E54 pattern.txt /*E54*
E540 options.txt /*E540*
@@ -5005,6 +5018,7 @@ E835 options.txt /*E835*
E836 if_pyth.txt /*E836*
E837 if_pyth.txt /*E837*
E838 netbeans.txt /*E838*
+E839 vim9.txt /*E839*
E84 windows.txt /*E84*
E840 insert.txt /*E840*
E841 map.txt /*E841*
@@ -6164,6 +6178,7 @@ collate-variable eval.txt /*collate-variable*
color-xterm syntax.txt /*color-xterm*
coloring syntax.txt /*coloring*
colortest.vim syntax.txt /*colortest.vim*
+command-attributes map.txt /*command-attributes*
command-block vim9.txt /*command-block*
command-line-functions usr_41.txt /*command-line-functions*
command-line-window cmdline.txt /*command-line-window*
@@ -7012,7 +7027,7 @@ function-range-example eval.txt /*function-range-example*
function-search-undo eval.txt /*function-search-undo*
function_key intro.txt /*function_key*
functions eval.txt /*functions*
-fuzzy-match pattern.txt /*fuzzy-match*
+fuzzy-matching pattern.txt /*fuzzy-matching*
fvwm.vim syntax.txt /*fvwm.vim*
fvwm2rc syntax.txt /*fvwm2rc*
fvwmrc syntax.txt /*fvwmrc*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 8a8906a5e..cdcac5da7 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt* For Vim version 8.2. Last change: 2021 Dec 21
+*term.txt* For Vim version 8.2. Last change: 2022 Mar 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -725,12 +725,12 @@ size is wrong you can use the 'lines' and 'columns' options to set the
correct values.
One command can be used to set the screen size:
-
*:mod* *:mode* *E359*
:mod[e] [mode]
Without argument this only detects the screen size and redraws the screen.
-[mode] was used on MS-DOS, but it doesn't work anymore.
+[mode] was used on MS-DOS, but it doesn't work anymore. In |Vim9| this
+command is not supported.
==============================================================================
4. Slow and fast terminals *slow-fast-terminal*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 29c64af3d..5a9705121 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 Feb 16
+*todo.txt* For Vim version 8.2. Last change: 2022 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,10 +38,29 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs*
-------------------- Known bugs and current work -----------------------
+Allow for assigning v:null to job/channel/funcref etc.
+- Check that the declared type is not lost.
+- Check: var d: dict<func> = {a: function('tr'), b: null}
+
+Fix that with s being an empty string, this returns TRUE:
+ echo s is null_string
+
+Make sure null types work to:
+- assign to a variable
+- use as an argument
+- use as default value of optional argument
+- use as return value
+- use in a list/dict constant, type is correct
+- revert comparing with null?
+
+TODO item in eval.c
+
+Really drop the Athena GUI? And NeXtaw?
+
Once Vim9 is stable:
- Use Vim9 for runtime files.
- Check code coverage, add more tests if needed.
- vim9execute.c
+ vim9execute.c line 1900
vim9expr.c
vim9instr.c
vim9script.c
@@ -209,6 +228,13 @@ Use CTRL-R to specify the register to use. (#9531)
Some prompts are not translated: #9495
+Improvement in terminal configuration mess: Request the terminfo entry from
+the terminal itself. The $TERM value then is only relevant for whether this
+feature is supported or not. Replaces the xterm mechanism to request each
+entry separately. #6609
+Multiplexers (screen, tmux) can request it to the underlaying terminal, and
+pass it on with modifications.
+
Test_communicate_ipv6(): is flaky on many systems
Fails in line 64 of Ch_communicate, no exception is thrown.
@@ -286,6 +312,9 @@ Probably because it's using MAXCOL. #8238
Make "g>" and "g<" in Visual mode move the text right or left.
Also for a block selection. #8558
+When using dictionary insert completion with 'ignorecase', the leading capital
+in a word should be preserved.
+
Add optional argument to virtcol() that specifies "start", "cursor" or "end"
to tell which value from getvvcol() should be used. (#7964)
Value returned by virtcol() changes depending on how lines wrap. This is
diff --git a/runtime/doc/uganda.txt b/runtime/doc/uganda.txt
index 6b7b8739c..cfc4afb30 100644
--- a/runtime/doc/uganda.txt
+++ b/runtime/doc/uganda.txt
@@ -1,4 +1,4 @@
-*uganda.txt* For Vim version 8.2. Last change: 2022 Feb 05
+*uganda.txt* For Vim version 8.2. Last change: 2022 Mar 02
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -133,11 +133,12 @@ Kibaale Children's Centre *kcc* *Kibaale* *charity*
Kibaale Children's Centre (KCC) is located in Kibaale, a small town in the
south of Uganda, near Tanzania, in East Africa. The area is known as Rakai
District. The population is mostly farmers. Although people are poor, there
-is enough food. But this district is suffering from AIDS more than any other
-part of the world. Some say that it started there. Estimations are that 10
-to 30% of the Ugandans are infected with HIV. Because parents die, there are
-many orphans. In this district about 60,000 children have lost one or both
-parents, out of a population of 350,000. And this is still continuing.
+usually is enough food. But this district is suffering from AIDS more than
+any other part of the world. Some say that it started there. Estimations are
+that in the past 10 to 30% of the Ugandans are infected with HIV. Because
+parents die, there are many orphans. In this district about 60,000 children
+have lost one or both parents, out of a population of 350,000. Although AIDS
+is now mostly under control, the problems are still continuing.
The children need a lot of help. The KCC is working hard to provide the needy
with food, medical care and education. Food and medical care to keep them
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 922861e9c..79e5a3dd9 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 Feb 03
+*various.txt* For Vim version 8.2. Last change: 2022 Mar 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -114,6 +114,7 @@ g8 Print the hex values of the bytes used in the
:[range]P[rint] [count] [flags]
Just as ":print". Was apparently added to Vi for
people that keep the shift key pressed too long...
+ This command is not supported in |Vim9| script.
Note: A user command can overrule this command.
See |ex-flags| for [flags].
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 71ea17338..0256f4b01 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -14965,7 +14965,7 @@ Solution: Adjust autoconf. (lilydjwg)
Files: src/configure.in, src/auto/configure
Patch 7.3.806
-Problem: Compiler warnings in Perl code when building with Visual studio
+Problem: Compiler warnings in Perl code when building with Visual Studio
2012. (skeept)
Solution: Add type casts. (Christian Brabandt, 2013 Jan 30)
Files: src/if_perl.xs
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index 4a621111f..b7185e866 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -7916,7 +7916,7 @@ Solution: Put remainder of message back in the queue.
Files: src/channel.c
Patch 7.4.1240
-Problem: Visual studio tools are noisy.
+Problem: Visual Studio tools are noisy.
Solution: Suppress startup info. (Mike Williams)
Files: src/GvimExt/Makefile, src/Make_mvc.mak, src/tee/Make_mvc.mak
@@ -20476,7 +20476,7 @@ Files: src/normal.c, src/misc2.c, src/Makefile,
src/testdir/test_virtualedit.vim, src/testdir/test_alot.vim
Patch 8.0.0963
-Problem: Terminal test fails on MacOS. (chdiza)
+Problem: Terminal test fails on macOS. (chdiza)
Solution: Wait for the shell to echo the characters. (closes #1991)
Files: src/testdir/test_terminal.vim
@@ -31038,7 +31038,7 @@ Files: src/ui.c, src/testdir/test_timers.vim, src/gui_gtk_x11.c,
src/gui_w32.c, src/gui_photon.c, src/gui_x11.c
Patch 8.1.0841
-Problem: Travis config to get Lua on MacOS is too complicated.
+Problem: Travis config to get Lua on macOS is too complicated.
Solution: Use an addons entry. (Ozaki Kiichi, closes #3876)
Files: .travis.yml
@@ -39471,7 +39471,7 @@ Solution: Add to the list of flaky tests.
Files: src/testdir/runtest.vim
Patch 8.1.2152
-Problem: Problems navigating tags file on MacOS Catalina.
+Problem: Problems navigating tags file on macOS Catalina.
Solution: Use fseek instead of lseek. (John Lamb, fixes #5061)
Files: src/tag.c
@@ -40648,7 +40648,7 @@ Solution: Allow key codes when fetching argument for CTRL-R. (closes #5266)
Files: src/edit.c, src/ex_getln.c, src/testdir/test_termcodes.vim
Patch 8.1.2347 (after 8.1.2344)
-Problem: MacOS: build fails.
+Problem: macOS: build fails.
Solution: Don't define _XOPEN_SOURCE for Mac.
Files: src/vim.h
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index ca0bbbca7..0e1ecf55d 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 Feb 26
+*version9.txt* For Vim version 8.2. Last change: 2022 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -68,7 +68,133 @@ All the information about Vim9 script can be found in the |Vim9| help file.
Various new items *new-items-9*
-----------------
-TODO
+TODO: Visual/Insert/Cmdline mode commands?
+
+
+Options: ~
+
+'autoshelldir' change directory to the shell's current directory
+'cdhome' change directory to the home directory by ":cd"
+'guiligatures' GTK GUI: ASCII characters that can form shapes
+'quickfixtextfunc' function for the text in the quickfix window
+'spelloptions' options for spell checking
+'thesaurusfunc' function to be used for thesaurus completion
+'xtermcodes' request terminal codes from an xterm
+
+
+Ex commands: ~
+
+|:abstract|
+|:argdedupe| remove duplicates from the argument list
+|:balt| like ":badd" but also set the alternate file
+|: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
+|:enddef| end of a user function started with :def
+|:endenum| reserved for future use
+|:enum| reserved for future use
+|: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
+|:var| variable declaration in Vim9
+|:vim9script| indicates Vim9 script file
+
+
+Ex command modifiers: ~
+
+|:legacy| make following command use legacy script syntax
+|:vim9cmd| make following command use Vim9 script syntax
+
+
+New and extended functions: ~
+
+|assert_nobeep()| assert that a command does not cause a beep
+|blob2list()| get a list of numbers from a blob
+|charclass()| class of a character
+|charcol()| character number of the cursor or a mark
+|charidx()| character index of a byte in a string
+|digraph_get()| get digraph
+|digraph_getlist()| get all digraphs
+|digraph_set()| register digraph
+|digraph_setlist()| register multiple digraphs
+|echoraw()| output characters as-is
+|exists_compiled()| like exists() but check at compile time
+|extendnew()| make a new Dictionary and append items
+|flatten()| flatten a List
+|flattennew()| flatten a copy of a List
+|fullcommand()| get full command name
+|getcharpos()| get character position of cursor, mark, etc.
+|getcharstr()| get a character from the user as a string
+|getcursorcharpos()| get character position of the cursor
+|getmarklist()| list of global/local marks
+|getreginfo()| get information about a register
+|gettext()| lookup message translation
+|hlget()| get highlight group attributes
+|hlset()| set highlight group attributes
+|list2blob()| get a blob from a list of numbers
+|mapnew()| make a new List with changed items
+|mapset()| restore a mapping
+|matchfuzzy()| fuzzy matches a string in a list of strings
+|matchfuzzypos()| fuzzy matches a string in a list of strings
+|menu_info()| get information about a menu item
+|popup_list()| get list of all popup window IDs
+|prompt_getprompt()| get the effective prompt text for a buffer
+|prop_add_list()| attach a property at multiple positions
+|prop_find()| search for a property
+|readblob()| read a file into a Blob
+|readdirex()| get a List of file information in a directory
+|reduce()| reduce a List to a value
+|searchcount()| get number of matches before/after the cursor
+|setcellwidths()| set character cell width overrides
+|setcharpos()| set character position of cursor, mark, etc.
+|setcursorcharpos()| set character position of the cursor
+|slice()| take a slice of a List
+|strcharlen()| length of a string in characters
+|terminalprops()| properties of the terminal
+|test_gui_event()| generate a GUI event for testing
+|test_null_function()| return a null Funcref
+|test_srand_seed()| set the seed value for srand()
+|test_unknown()| return a value with unknown type
+|test_void()| return a value with void type
+|typename()| type of a variable as text
+|win_gettype()| get type of window
+|win_move_separator()| move window vertical separator
+|win_move_statusline()| move window status line
+|windowsversion()| get MS-Windows version
+
+
+New Vim variables: ~
+
+|v:numbermax| maximum value of a number
+|v:numbermin| minimum value of a number (negative)
+|v:numbersize| number of bits in a Number
+|v:collate| current locale setting for collation order
+|v:exiting| vim exit code
+|v:colornames| dictionary that maps color names to hex color strings
+|v:sizeofint| number of bytes in an int
+|v:sizeoflong| number of bytes in a long
+|v:sizeofpointer| number of bytes in a pointer
+|v:maxcol| maximum line length
+
+
+New autocommand events: ~
+
+|CompleteDonePre| after Insert mode completion is done, before clearing
+ info
+|DirChangedPre| before the working directory will change
+|InsertLeavePre| just before leaving Insert mode
+|ModeChanged| after changing the mode
+|SigUSR1| after the SIGUSR1 signal has been detected
+|WinClosed| after closing a window
+|VimSuspend| when suspending Vim
+|VimResume| when Vim is resumed after being suspended
New runtime files: ~
@@ -86,6 +212,9 @@ TODO
==============================================================================
IMPROVEMENTS *improvements-9*
+Many memory leaks, invalid memory accesses and crashes have been fixed.
+See the list of patches below.
+
TODO
==============================================================================
@@ -227,7 +356,7 @@ Solution: Add tests. (Dominique Pellé, closes #5366)
Files: src/testdir/test_termcodes.vim
Patch 8.2.0021
-Problem: Timer test fails too often on Travis with MacOS.
+Problem: Timer test fails too often on Travis with macOS.
Solution: Be less strict with the time.
Files: src/testdir/test_timers.vim
@@ -8651,7 +8780,7 @@ Files: runtime/doc/vim9.txt, src/vim9compile.c,
src/testdir/test_vim9_disassemble.vim
Patch 8.2.1409
-Problem: Nmpmrc and php.ini filetypes not recognized.
+Problem: Npmrc and php.ini filetypes not recognized.
Solution: Add filetype detection. (Doug Kearns)
Files: runtime/filetype.vim, src/testdir/test_filetype.vim
@@ -9053,7 +9182,7 @@ Solution: Recognize .gawk files. (Doug Kearns)
Files: runtime/filetype.vim, src/testdir/test_filetype.vim
Patch 8.2.1459
-Problem: Vim9: declaring ascript variable at the script level does not
+Problem: Vim9: declaring a script variable at the script level does not
infer the type.
Solution: Get the type from the value. (closes #6716)
Files: src/evalvars.c, src/testdir/test_vim9_script.vim
@@ -9522,7 +9651,7 @@ Files: Filelist, runtime/doc/eval.txt, runtime/doc/usr_41.txt,
src/testdir/emoji_list.vim, src/testdir/test_functions.vim
Patch 8.2.1537
-Problem: Memory acccess error when using setcellwidths().
+Problem: Memory access error when using setcellwidths().
Solution: Use array and pointers correctly.
Files: src/mbyte.c, src/errors.h, src/testdir/test_utf8.vim
@@ -9841,7 +9970,7 @@ Solution: Use tv_get_bool_chk(). (closes #6865)
Files: src/evalfunc.c, src/testdir/test_vim9_func.vim
Patch 8.2.1593
-Problem: Tests do not check the error number properly.0
+Problem: Tests do not check the error number properly.
Solution: Add a colon after the error number. (closes #6869)
Files: src/testdir/test_assert.vim, src/testdir/test_autocmd.vim,
src/testdir/test_backspace_opt.vim, src/testdir/test_channel.vim,
@@ -10198,7 +10327,7 @@ Files: runtime/optwin.vim
Patch 8.2.1653
Problem: Expand('<stack>') does not include the final line number.
-Solution: Add the line nuber. (closes #6927)
+Solution: Add the line number. (closes #6927)
Files: src/vim.h, src/scriptfile.c, src/proto/scriptfile.pro,
src/debugger.c, src/ex_docmd.c, src/ex_eval.c, src/message.c,
src/testing.c, src/testdir/test_expand_func.vim
@@ -10299,7 +10428,7 @@ Files: src/memline.c, src/option.c
Patch 8.2.1671
Problem: Vim9: stray error for missing white space.
-Solution: Do not skip over white space after member. (closes #6817)
+Solution: Do not skip over white space after member. (closes #6917)
Files: src/eval.c, src/testdir/test_vim9_expr.vim
Patch 8.2.1672
@@ -10341,7 +10470,7 @@ Files: src/syntax.c, src/testdir/test_syntax.vim
Patch 8.2.1679
Problem: Vim9: ":*" is not recognized as a range.
-Solution: Move recognizing "*" into skip_range(). (closes #6838)
+Solution: Move recognizing "*" into skip_range(). (closes #6938)
Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/cmdexpand.c,
src/ex_getln.c, src/userfunc.c, src/vim9compile.c,
src/testdir/test_vim9_cmd.vim
@@ -10352,7 +10481,7 @@ Solution: Set SOURCING_LNUM. (closes #6936)
Files: src/vim9execute.c, src/testdir/test_vim9_expr.vim
Patch 8.2.1681
-Problem: Vim9: unnessary :call commands in tests.
+Problem: Vim9: unnecessary :call commands in tests.
Solution: Remove the commands. (issue #6936)
Files: src/testdir/test_vim9_func.vim, src/testdir/test_vim9_script.vim
@@ -10503,12 +10632,12 @@ Solution: When a function fails still update any closures. (closes #6973)
Files: src/vim9execute.c, src/testdir/test_vim9_func.vim
Patch 8.2.1707
-Problem: Small inconsitency in highlight test.
+Problem: Small inconsistency in highlight test.
Solution: Use one argument for :execute. (Antony Scriven, #6975)
Files: src/testdir/test_highlight.vim
Patch 8.2.1708
-Problem: Vim9: error message for function has unpritable characters.
+Problem: Vim9: error message for function has unprintable characters.
Solution: use printable_func_name(). (closes #6965)
Files: src/vim9compile.c, src/testdir/test_vim9_func.vim
@@ -10581,7 +10710,7 @@ Files: src/vim9compile.c, src/testdir/test_vim9_script.vim
Patch 8.2.1721
Problem: MS-Windows installer doesn't work.
-Solution: Write "Russian" in ASCII. (closes #6995, see #).
+Solution: Write "Russian" in ASCII. (closes #6995, see #6985).
Files: nsis/lang/russian.nsi
Patch 8.2.1722
@@ -10638,7 +10767,7 @@ Files: src/globals.h, src/getchar.c, src/evalfunc.c, src/ex_docmd.c,
Patch 8.2.1730
Problem: Vim9: cannot use member of unknown type.
-Solution: When type is unknown us "any". (closes #6997)
+Solution: When type is unknown use "any". (closes #6997)
Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim
Patch 8.2.1731
@@ -10959,7 +11088,7 @@ Files: src/map.c, src/testdir/test_vim9_func.vim
Patch 8.2.1783 (after 8.2.1781)
Problem: Try-catch test fails.
-Solution: Don't call win_enter(), only call enterering_window().
+Solution: Don't call win_enter(), only call entering_window().
Files: src/autocmd.c, src/window.c, src/proto/window.pro,
src/testdir/runtest.vim
@@ -11130,7 +11259,7 @@ Solution: Do not skip a local variable with a partial. (closes #7065)
Files: src/vim9execute.c, src/testdir/test_vim9_func.vim
Patch 8.2.1813
-Problem: Vim9: can assign wrong type to script dict. (Christian J. Robinson)
+Problem: Vim9: can assign wrong type to script dict. (Christian J. Robinson)
Solution: Check the type if known.
Files: src/structs.h, src/eval.c, src/vim9script.c,
src/proto/vim9script.pro, src/proto/evalvars.pro,
@@ -11163,7 +11292,7 @@ Files: src/os_unix.c
Patch 8.2.1819
Problem: Vim9: Memory leak when using a closure.
-Solution: Compute the mininal refcount in the funcstack. Reenable disabled
+Solution: Compute the minimal refcount in the funcstack. Reenable disabled
tests.
Files: src/vim9execute.c, src/proto/vim9execute.pro, src/structs.h,
src/eval.c, src/testdir/test_vim9_disassemble.vim,
@@ -11214,7 +11343,7 @@ Files: runtime/filetype.vim, src/testdir/test_filetype.vim
Patch 8.2.1828
Problem: Build failure without the +eval feature.
-Solution: Add dummys for ex_block and ex_endblock.
+Solution: Add dummies for ex_block and ex_endblock.
Files: src/ex_docmd.c
Patch 8.2.1829
@@ -11349,14 +11478,14 @@ Solution: Skip over trailing spaces. (closes #7131)
Files: src/eval.c, src/vim9compile.c, src/testdir/test_vim9_expr.vim
Patch 8.2.1852
-Problem: map() returing zero for NULL list is unexpected.
+Problem: map() returning zero for NULL list is unexpected.
Solution: Return the empty list. (closes #7133)
Files: src/list.c, src/testdir/test_filter_map.vim,
src/testdir/test_blob.vim
Patch 8.2.1853
Problem: "to_f" is recognized at "topleft" modifier.
-Solution: Do not recognize modifer when "_" follows. (closes #7019)
+Solution: Do not recognize modifier when "_" follows. (closes #7019)
Files: src/ex_docmd.c, src/testdir/test_vim9_assign.vim
Patch 8.2.1854
@@ -11534,7 +11663,7 @@ Solution: Initialize with NULL.
Files: src/vim9compile.c, src/evalfunc.c
Patch 8.2.1885
-Problem: Filetype tests unnessarily creates swap files.
+Problem: Filetype tests unnecessarily creates swap files.
Solution: Disable 'swapfile'. (Ken Takata, closes #7183)
Files: src/testdir/test_filetype.vim
@@ -11555,7 +11684,7 @@ Solution: Return an empty list. (closes #7180)
Files: src/evalbuffer.c, src/testdir/test_vim9_builtin.vim
Patch 8.2.1889
-Problem: Vim9: errornous error for missing white space after {}.
+Problem: Vim9: erroneous error for missing white space after {}.
Solution: Don't skip over white space after {}. (issue #7167)
Files: src/dict.c, src/testdir/test_vim9_expr.vim
@@ -12004,7 +12133,7 @@ Files: runtime/filetype.vim, src/testdir/test_filetype.vim
Patch 8.2.1965
Problem: Vim9: tests fail without the channel feature.
Solution: Check if the channel feature is present. (Dominique Pellé,
- closes 7270)
+ closes #7270)
Files: src/testdir/test_vim9_expr.vim
Patch 8.2.1966
@@ -12331,7 +12460,7 @@ Files: src/globals.h, src/ex_docmd.c, src/vim9execute.c,
src/testdir/test_vim9_func.vim
Patch 8.2.2022
-Problem: Vim9: star command recognized errornously.
+Problem: Vim9: star command recognized erroneously.
Solution: Give an error for missing colon. (issue #7335)
Files: src/ex_docmd.c, src/testdir/test_vim9_cmd.vim
@@ -12504,7 +12633,7 @@ Files: src/testdir/test_search.vim
Patch 8.2.2051
Problem: Vim9: crash when aborting a user function call.
-Solution: Do not use the return value when aboring. (closes #7372)
+Solution: Do not use the return value when aborting. (closes #7372)
Files: src/vim9execute.c, src/testdir/test_vim9_func.vim
Patch 8.2.2052
@@ -12514,7 +12643,7 @@ Files: src/ex_docmd.c, src/proto/ex_docmd.pro, src/vim.h, src/ex_cmds.c,
src/testdir/test_vim9_cmd.vim
Patch 8.2.2053
-Problem: Vim9: lamba doesn't accept argument types.
+Problem: Vim9: lambda doesn't accept argument types.
Solution: Optionally accept argument types at the script level.
Files: src/eval.c, src/testdir/test_vim9_expr.vim
@@ -12675,7 +12804,7 @@ Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim,
src/testdir/test_vim9_expr.vim
Patch 8.2.2082
-Problem: Vim9: can still use the depricated #{} dict syntax.
+Problem: Vim9: can still use the deprecated #{} dict syntax.
Solution: Remove support for #{} in Vim9 script. (closes #7406, closes #7405)
Files: src/dict.c, src/proto/dict.pro, src/eval.c, src/vim9compile.c,
src/testdir/test_vim9_assign.vim,
@@ -12766,8 +12895,8 @@ Files: src/vim9compile.c, src/vim9execute.c,
src/testdir/test_vim9_func.vim
Patch 8.2.2097
-Problem: Vim9: using :silent! when calling a function prevents abortng that
- function.
+Problem: Vim9: using :silent! when calling a function prevents aborting
+ that function.
Solution: Add emsg_silent_def and did_emsg_def.
Files: src/globals.h, src/message.c, src/vim9execute.c,
src/testdir/test_vim9_func.vim
@@ -12845,14 +12974,14 @@ Files: src/main.c
Patch 8.2.2111
Problem: GTK: Menu background is the same color as the main window.
-Solution: Fix white space around the test in another way. (closes #7437,
+Solution: Fix white space around the text in another way. (closes #7437,
closes #7427)
Files: src/gui_gtk_x11.c
Patch 8.2.2112
Problem: Running tests may leave some files behind.
Solution: Delete the right files. Fix a few typos. (Dominique Pellé,
- closes #7436
+ closes #7436)
Files: src/testdir/test_filetype.vim, src/testdir/test_messages.vim,
src/testdir/test_mksession.vim
@@ -12950,7 +13079,7 @@ Files: src/os_mswin.c
Patch 8.2.2130
Problem: Insert mode completion messages end up in message history.
-Solution: Set msg_hist_off. (closes #7452
+Solution: Set msg_hist_off. (closes #7452)
Files: src/insexpand.c, src/testdir/test_ins_complete.vim
Patch 8.2.2131
@@ -13096,7 +13225,7 @@ Solution: Remove the "git checkout HEAD^2" block.
Files: .github/workflows/codeql-analysis.yml
Patch 8.2.2156
-Problem: Github actions run on pusing a tag.
+Problem: Github actions run on pushing a tag.
Solution: Don't run CI on tag push. Omit coveralls on pull-request.
(Ozaki Kiichi, closes #7489)
Files: .github/workflows/ci.yml, .github/workflows/codeql-analysis.yml
@@ -13138,7 +13267,7 @@ Files: src/bufwrite.c, src/cindent.c, src/cmdexpand.c, src/eval.c,
Patch 8.2.2161
Problem: Arguments -T and -x not tested yet.
-Solution: Add a test. (Dominique Pellé, closes #7490
+Solution: Add a test. (Dominique Pellé, closes #7490)
Files: src/testdir/test_startup.vim
Patch 8.2.2162
@@ -13151,7 +13280,7 @@ Files: src/vim9compile.c, src/vim9.h, src/vim9execute.c, src/dict.c,
Patch 8.2.2163
Problem: Crash when discarded exception is the current exception.
-Solution: Compare the execption with current_exception. (closes #7499)
+Solution: Compare the exception with current_exception. (closes #7499)
Files: src/ex_eval.c
Patch 8.2.2164
@@ -13279,7 +13408,7 @@ Files: src/typval.c, src/evalfunc.c, src/testdir/test_vim9_builtin.vim,
Patch 8.2.2185
Problem: BufUnload is not triggered for the quickfix dummy buffer.
-Solution: Do trigger BufUnload. (Pontus Leitzler,closes #7518, closes #7517)
+Solution: Do trigger BufUnload. (Pontus Leitzler, closes #7518, closes #7517)
Fix white space around "=".
Files: src/quickfix.c, src/testdir/test_autocmd.vim
@@ -13365,7 +13494,7 @@ Files: src/bufwrite.c, src/testdir/test_writefile.vim
Patch 8.2.2200
Problem: Vim9: lambda without white space around -> is confusing.
-Solution: Require white space in a :def funtion. (issue #7503)
+Solution: Require white space in a :def function. (issue #7503)
Files: src/vim9compile.c, src/testdir/test_vim9_expr.vim,
src/testdir/test_vim9_disassemble.vim
@@ -13602,7 +13731,7 @@ Files: src/testdir/test_clientserver.vim
Patch 8.2.2241
Problem: Build with Ruby and clang may fail.
-Solution: Adjust congigure and sed script. (Ozaki Kiichi, closes #7566)
+Solution: Adjust configure and sed script. (Ozaki Kiichi, closes #7566)
Files: ci/config.mk.clang.sed, src/auto/configure, src/configure.ac
Patch 8.2.2242
@@ -13631,7 +13760,7 @@ Patch 8.2.2246
Problem: Cursor keys not recognized at the hit-Enter prompt after executing
an external command.
Solution: Change the codes for the extra cursor keys. (closes #7562)
- Tune the delays to avoid test flakyness.
+ Tune the delays to avoid test flakiness.
Files: runtime/doc/term.txt, src/term.c, src/testdir/test_terminal3.vim
Patch 8.2.2247
@@ -14033,7 +14162,7 @@ Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c,
src/testdir/test_vim9_disassemble.vim
Patch 8.2.2315
-Problem: Vim9: "enddef" as dict key misintepreted as function end.
+Problem: Vim9: "enddef" as dict key misinterpreted as function end.
Solution: Check for following colon. (closes #7640)
Files: src/userfunc.c, src/testdir/test_vim9_func.vim
@@ -14155,7 +14284,7 @@ Files: runtime/autoload/dist/ft.vim, runtime/filetype.vim,
Patch 8.2.2335
Problem: Vim9: "silent return" does not restore command modifiers.
-Solution: Resture command modifiers before returning. (closes #7649)
+Solution: Restore command modifiers before returning. (closes #7649)
Files: src/vim9compile.c, src/testdir/test_vim9_disassemble.vim
Patch 8.2.2336
@@ -14197,7 +14326,7 @@ Files: src/evalfunc.c, src/evalvars.c, src/proto/evalvars.pro,
src/testdir/test_cmdline.vim
Patch 8.2.2342
-Problem: "char" functions return the wront column in Insert mode when the
+Problem: "char" functions return the wrong column in Insert mode when the
cursor is beyond the end of the line.
Solution: Compute the column correctly. (Yegappan Lakshmanan, closes #7669)
Files: src/eval.c, src/evalfunc.c, src/testdir/test_cursor_func.vim
@@ -14266,7 +14395,7 @@ Solution: Adjust the logic to ignore the escape code.
Files: src/term.c
Patch 8.2.2353
-Problem: Spartql files are not detected.
+Problem: Sparql files are not detected.
Solution: Add the sparql filetype. (closes #7679)
Files: runtime/filetype.vim, src/testdir/test_filetype.vim
@@ -14322,7 +14451,7 @@ Files: src/vim9compile.c, src/proto/vim9compile.pro, src/evalfunc.c,
Patch 8.2.2363
Problem: curpos() does not accept a string argument as before.
solution: Make a string argument work again. (Yegappan Lakshmanan,
- closes #7690
+ closes #7690)
Files: src/evalfunc.c, src/testdir/test_cursor_func.vim
Patch 8.2.2364
@@ -14463,7 +14592,7 @@ Files: src/vim9.h, src/vim9compile.c, src/vim9execute.c,
src/testdir/test_vim9_func.vim
Patch 8.2.2388
-Problem: No easy way to get the maximum or mininum number value.
+Problem: No easy way to get the maximum or minimum number value.
Solution: Add v:numbermax and v:numbermin.
Files: src/evalvars.c, src/vim.h, src/testdir/test_eval_stuff.vim,
runtime/doc/eval.txt
@@ -14558,7 +14687,7 @@ Files: src/vim9compile.c, src/testdir/test_profile.vim,
Patch 8.2.2404
Problem: Vim9: profiling try/catch not correct.
Solution: Add profile instructions. Fix that "entry" did not rethrow an
- excpetion.
+ exception.
Files: src/vim9compile.c, src/vim9execute.c, src/testdir/test_profile.vim
Patch 8.2.2405
@@ -14846,7 +14975,7 @@ Files: src/optionstr.c, src/testdir/test_options.vim
Patch 8.2.2447
Problem: 'foldlevel' not applied to folds restored from session.
-Solution: Set 'foldlevel' after creaiting the folds. (closes #7767)
+Solution: Set 'foldlevel' after creating the folds. (closes #7767)
Files: src/fold.c, src/testdir/test_mksession.vim
Patch 8.2.2448
@@ -15044,7 +15173,7 @@ Solution: Add new error message.
Files: src/errors.h
Patch 8.2.2483
-Problem: Vim9: type error for misformed expression.
+Problem: Vim9: type error for malformed expression.
Solution: Check for end of command before checking type. (closes #7795)
Files: src/vim9compile.c, src/testdir/test_vim9_script.vim
@@ -15125,7 +15254,7 @@ Solution: Adjust the computation of w_skipcol. (partly by Ghjuvan Lacambre,
Files: src/move.c, src/testdir/test_breakindent.vim
Patch 8.2.2496 (after 8.2.2495)
-Problem: Insufficien testing for text jumping fix.
+Problem: Insufficient testing for text jumping fix.
Solution: Add another test case.
Files: src/testdir/test_breakindent.vim
@@ -15513,7 +15642,7 @@ Solution: Add a few more test cases. (Dominique Pellé, closes #7908)
Files: src/testdir/test_textprop.vim
Patch 8.2.2562
-Problem: GUI: star register changed when 'clipboard is "unnamedplus". (Ingo
+Problem: GUI: star register changed when 'clipboard' is "unnamedplus". (Ingo
Karkat)
Solution: Do not change the star register when 'clipboard' contains
"unnamedplus" and not "unnamed". (closes #1516)
@@ -16946,7 +17075,7 @@ Files: src/vim9compile.c, src/testdir/test_vim9_func.vim
Patch 8.2.2810
Problem: Vim9: crash when calling a function in a substitute expression.
Solution: Set the instructions back to the substitute expression
- instrunctions. (closes #8148)
+ instructions. (closes #8148)
Files: src/vim9execute.c, src/testdir/test_vim9_cmd.vim
Patch 8.2.2811
@@ -17002,16 +17131,16 @@ Files: src/map.c, src/testdir/test_mapping.vim
Patch 8.2.2820
Problem: Session file may divide by zero.
-Solution: Avoid writing difide by zero. (closes #8162)
+Solution: Avoid writing divide by zero. (closes #8162)
Files: src/session.c, src/testdir/test_mksession.vim
Patch 8.2.2821
-Problem: MS-Windows: unnessarily loading libraries when registering OLE.
+Problem: MS-Windows: unnecessarily loading libraries when registering OLE.
Solution: Skip loading libraries when invoked with "-register".
Files: src/main.c, src/globals.h, src/os_win32.c
Patch 8.2.2822 (after 8.2.2821)
-Problem: MS-Windows: unnessarily loading libraries when unregistering OLE.
+Problem: MS-Windows: unnecessarily loading libraries when unregistering OLE.
Solution: Also skip loading libraries when invoked with "-unregister". Run
Vim for README.txt with user privileges.
Files: src/main.c, nsis/gvim.nsi, nsis/README.txt
@@ -17229,7 +17358,7 @@ Solution: Adjust the expected error message.
Files: src/testdir/test_tcl.vim
Patch 8.2.2860
-Problem: Adding a text property causes the whole window to be redawn.
+Problem: Adding a text property causes the whole window to be redrawn.
Solution: Use changed_lines_buf() to only redraw the affected lines.
Files: src/change.c, src/proto/change.pro, src/textprop.c
@@ -17240,7 +17369,7 @@ Files: src/vim9compile.c, src/vim9execute.c, src/vim9.h,
src/testdir/test_vim9_expr.vim
Patch 8.2.2862
-Problem: Removing a text property causes the whole window to be redawn.
+Problem: Removing a text property causes the whole window to be redrawn.
Solution: Use changed_lines_buf() to only redraw the affected lines.
Files: src/textprop.c
@@ -17288,7 +17417,7 @@ Solution: Return CMDLINE_NOT_CHANGED from cmdline_insert_reg().
Files: src/ex_getln.c, src/testdir/test_cmdline.vim
Patch 8.2.2871
-Problem: Unnessary VIM_ISDIGIT() calls, badly indented code.
+Problem: Unnecessary VIM_ISDIGIT() calls, badly indented code.
Solution: Call skipdigits() on the next character. Improve indenting.
(Dominique Pellé, closes #8227)
Files: src/charset.c, src/evalfunc.c, src/ex_docmd.c, src/json.c,
@@ -17826,7 +17955,7 @@ Files: src/testdir/test_recover.vim
Patch 8.2.2961
Problem: Keys typed during a :normal command are discarded.
-Solution: Concatenate saved typeahead and typed kesy. (closes #8340)
+Solution: Concatenate saved typeahead and typed keys. (closes #8340)
Files: src/getchar.c, src/proto/getchar.pro, src/ex_docmd.c,
src/evalfunc.c, src/debugger.c, src/ui.c, src/proto/ui.pro
@@ -18074,7 +18203,7 @@ Files: src/ex_docmd.c, src/testdir/test_vim9_script.vim
Patch 8.2.3005
Problem: Vim9: using a void value does not give a proper error message.
-Solution: Give a clear error message. (clodes #8387)
+Solution: Give a clear error message. (closes #8387)
Files: src/typval.c, src/vim9compile.c, src/vim9.h, src/vim9execute.c,
src/testdir/test_vim9_expr.vim,
src/testdir/test_vim9_disassemble.vim
@@ -18155,14 +18284,13 @@ Files: src/vim9execute.c, src/testdir/test_debugger.vim
Patch 8.2.3018
Problem: Formatting using quickfixtextfunc is lost when updating location
lists for different buffers. (Yorick Peterse)
-Solution: Use the right window for the locaiton list. (Yegappan Lakshmanan,
+Solution: Use the right window for the location list. (Yegappan Lakshmanan,
closes #8400, closes #8403)
Files: src/quickfix.c, src/testdir/test_quickfix.vim
Patch 8.2.3019
Problem: Location list only has the start position.
-Solution: Make it possible to add an end position. (Shane-XB-Qian,
- closes #8393)
+Solution: Make it possible to add an end position. (thinca, closes #8393)
Files: runtime/doc/eval.txt, src/quickfix.c,
src/testdir/dumps/Test_quickfix_cwindow_1.dump,
src/testdir/dumps/Test_quickfix_cwindow_2.dump,
@@ -18182,7 +18310,7 @@ Files: src/option.c, src/testdir/test_vim9_script.vim
Patch 8.2.3022
Problem: Available encryption methods are not strong enough.
-Solution: Add initial support for xchaha20. (Christian Brabandt,
+Solution: Add initial support for xchacha20. (Christian Brabandt,
closes #8394)
Files: .github/workflows/ci.yml, runtime/doc/eval.txt,
runtime/doc/options.txt, runtime/doc/various.txt,
@@ -18342,7 +18470,7 @@ Files: src/VisVim/README_VisVim.txt, src/evalfunc.c, src/testdir/vim9.vim
Patch 8.2.3046
Problem: Amiga MorphOS: Term mode is set using DOS packets.
-Solution: Use the same way of setting term mdoe on all next gen Amiga-like
+Solution: Use the same way of setting term mode on all next gen Amiga-like
systems. (Ola Söder, closes #8445)
Files: src/os_amiga.c
@@ -18408,7 +18536,7 @@ Solution: Adjust the INSTRUCTIONS macro. (closes #8460)
Files: src/vim9.h
Patch 8.2.3058 (after 8.2.3056)
-Problem: Vim9: cannot use ternary operator in parenthesis.
+Problem: Vim9: cannot use ternary operator in parentheses.
Solution: Do not use "==" for a default argument value. (closes #8462)
Files: src/userfunc.c, src/testdir/test_vim9_func.vim
@@ -18418,7 +18546,7 @@ Solution: Do not store the default value strings when skipping.
Files: src/userfunc.c
Patch 8.2.3060 (after 8.2.3056)
-Problem: Vim9: cannot use ternary operator in parenthesis.
+Problem: Vim9: cannot use ternary operator in parentheses.
Solution: Do not use "=~" for a default argument value. (closes #8462)
Files: src/userfunc.c, src/testdir/test_vim9_func.vim
@@ -18795,7 +18923,7 @@ Files: src/drawline.c, src/testdir/test_listchars.vim,
src/testdir/dumps/Test_listchars_05.dump
Patch 8.2.3122
-Problem: With 'nowrap' cursor position is unexected in narrow window.
+Problem: With 'nowrap' cursor position is unexpected in narrow window.
(Leonid V. Fedorenchik)
Solution: Put cursor on the last non-empty line. (closes #8525)
Files: src/move.c, src/testdir/test_listchars.vim,
@@ -18831,7 +18959,7 @@ Solution: Check the value type. (closes #8529)
Files: src/list.c, src/testdir/test_vim9_builtin.vim
Patch 8.2.3128
-Problem: Vim9: uninitialzed list does not get type checked.
+Problem: Vim9: uninitialized list does not get type checked.
Solution: Set the type when initializing the variable. (closes #8529)
Files: src/eval.c, src/evalvars.c, src/vim9script.c,
src/userfunc.c, src/proto/vim9script.pro,
@@ -19369,7 +19497,7 @@ Files: src/testdir/test_spellfile.vim
Patch 8.2.3214
Problem: MS-Windows: passing /D does not set the install location.
Solution: Adjust how the installer uses $VIM. Update the documentation.
- (Christian Brabandt, closes #8605)
+ (Christian Brabandt, Ken Takata, closes #8605)
Files: nsis/gvim.nsi, runtime/doc/os_win32.txt
Patch 8.2.3215
@@ -19420,13 +19548,13 @@ Files: src/evalfunc.c, src/popupwin.c, src/proto/typval.pro,
src/testdir/test_vim9_script.vim, src/testing.c, src/typval.c
Patch 8.2.3222
-Problem: Vim9: cannot used loop variable later as lambda argument.
+Problem: Vim9: cannot use loop variable later as lambda argument.
Solution: When not in function context check the current block ID.
(closes #8637)
Files: src/vim9compile.c, src/testdir/test_vim9_func.vim
Patch 8.2.3223
-Problem: Vim: using {} block in autoloade omnifunc fails.
+Problem: Vim: using {} block in autoloaded omnifunc fails.
Solution: Allow using {} block when text is locked. (closes #8631)
Files: src/ex_cmds.h, src/testdir/test_ins_complete.vim
@@ -19444,7 +19572,7 @@ Files: src/ex_getln.c
Patch 8.2.3226
Problem: New digraph functions use old naming scheme.
-Solution: Use the digraph_ prefix. (Hirohito Higashi, closes #8580)
+Solution: Use the digraph_ prefix. (Hirohito Higashi, closes #8642)
Files: runtime/doc/digraph.txt, runtime/doc/eval.txt,
runtime/doc/usr_41.txt, src/digraph.c, src/edit.c, src/errors.h,
src/evalfunc.c, src/proto/digraph.pro,
@@ -19574,7 +19702,7 @@ Files: src/if_lua.c, src/misc2.c, src/proto/misc2.pro
Patch 8.2.3245
Problem: The crypt key may appear in a swap partition.
-Solution: When using xchaha20 use sodium_mlock(). (Christian Brabandt,
+Solution: When using xchacha20 use sodium_mlock(). (Christian Brabandt,
closes #8657)
Files: src/buffer.c, src/crypt.c, src/errors.h, src/fileio.c,
src/memline.c, src/vim.h
@@ -19642,7 +19770,7 @@ Solution: Consider /usr/bin/cat and /bin/cat the same.
Files: src/testdir/test_functions.vim
Patch 8.2.3257
-Problem: Calling prop_find() with -1 for ID gives errornous error. (Naohiro
+Problem: Calling prop_find() with -1 for ID gives erroneous error. (Naohiro
Ono)
Solution: When passing -1 use -2. (closes #8674)
Files: src/textprop.c, src/testdir/test_textprop.vim
@@ -19693,7 +19821,7 @@ Files: src/search.c, src/testdir/test_search.vim
Patch 8.2.3266
Problem: Vim9: assignment with two indexes may check next line.
Solution: Limit the number of lines to avoid checking the next line when
- assiging to a LHS subscript. (closes #8660)
+ assigning to a LHS subscript. (closes #8660)
Files: src/vim9compile.c, src/testdir/test_vim9_assign.vim
Patch 8.2.3267
@@ -20114,7 +20242,7 @@ Files: src/evalfunc.c, src/vim9compile.c, src/testdir/test_listdict.vim
Patch 8.2.3335
Problem: Vim9: not enough tests run with Vim9.
Solution: Run a few more tests in Vim9 script and :def function. Fix that
- items(), keys() and values9) return zero for a NULL dict.
+ items(), keys() and values() return zero for a NULL dict.
Make join() return an empty string for a NULL list. Make sort()
return an empty list for a NULL list.
Files: src/dict.c, src/list.c, src/testdir/test_listdict.vim,
@@ -20898,7 +21026,7 @@ Files: src/testdir/test_search.vim
Patch 8.2.3473
Problem: Some files with tcl syntax are not recognized.
-Solution: Add a few file patterns. (Doug Kearns
+Solution: Add a few file patterns. (Doug Kearns)
Files: runtime/filetype.vim, src/testdir/test_filetype.vim
Patch 8.2.3474
@@ -20997,7 +21125,7 @@ Files: src/buffer.c, src/getchar.c, src/memline.c, src/move.c,
src/option.c
Patch 8.2.3491
-Problem: xpm2 filetype dection is not so good.
+Problem: xpm2 filetype detection is not so good.
Solution: Adjust the check for xpm2. (closes #8914)
Files: runtime/filetype.vim, src/testdir/test_filetype.vim
@@ -21050,7 +21178,7 @@ Solution: Install llvm-11 explicitly. (Christian Brabandt, closes #8993)
Files: .github/workflows/ci.yml
Patch 8.2.3501
-Problem: tmux filetype dection is incomplete
+Problem: tmux filetype detection is incomplete
Solution: Also use tmux for files having text after .conf. (Eric Pruitt,
closes #8971)
Files: runtime/filetype.vim, src/testdir/test_filetype.vim
@@ -21125,7 +21253,7 @@ Solution: Allocated mr_pattern.
Files: src/search.c
Patch 8.2.3514
-Problem: Autoread test with nano second time sometimes fails.
+Problem: Autoread test with nanosecond time sometimes fails.
Solution: Mark the test as being flaky.
Files: src/testdir/test_stat.vim
@@ -21151,7 +21279,7 @@ Files: src/buffer.c, src/bufwrite.c, src/edit.c, src/structs.h,
Patch 8.2.3518
Problem: Test_xrestore sometimes fails.
-Solution: Mark the test as flayky. Move marking test as flaky to the test
+Solution: Mark the test as flaky. Move marking test as flaky to the test
instead of listing them in runtest.
Files: src/testdir/test_paste.vim, src/testdir/runtest.vim,
src/testdir/test_autocmd.vim, src/testdir/test_channel.vim,
@@ -21330,7 +21458,7 @@ Files: src/ex_cmds.c, src/vim.h, src/quickfix.c, src/buffer.c,
src/testdir/test_quickfix.vim
Patch 8.2.3548
-Problem: GTK GUI crashen when reading from stdin.
+Problem: GTK GUI crashes when reading from stdin.
Solution: Do not overwrite the NUL after the string. (closes #9028)
Files: src/gui_gtk_x11.c, src/testdir/test_gui.vim
@@ -21636,7 +21764,7 @@ Files: runtime/filetype.vim, src/testdir/test_filetype.vim
Patch 8.2.3600 (after 8.2.3598)
Problem: Filetype test fails.
-Solution: Add missint change.
+Solution: Add missing change.
Files: runtime/scripts.vim
Patch 8.2.3601
@@ -22004,7 +22132,7 @@ Solution: Add a type cast. (Mike Williams, closes #9199)
Files: src/vim9compile.c
Patch 8.2.3656
-Problem: Vim9: no error for an evironment variable by itself.
+Problem: Vim9: no error for an environment variable by itself.
Solution: Give a "without effect" error. (closes #9166)
Files: src/ex_eval.c, src/testdir/test_vim9_cmd.vim
@@ -22173,7 +22301,7 @@ Solution: Adjust text column for indent. (closes #9229)
Files: src/ops.c, src/testdir/test_blockedit.vim
Patch 8.2.3685
-Problem: Visual studio project files are not recognized.
+Problem: Visual Studio project files are not recognized.
Solution: Use the xml file type. (Doug Kearns)
Files: runtime/filetype.vim, src/testdir/test_filetype.vim
@@ -22231,7 +22359,7 @@ Files: src/ex_docmd.c, src/charset.c, src/proto/charset.pro,
Patch 8.2.3695
Problem: Confusing error for missing key.
-Solution: Use the actualy key for the error. (closes #9241)
+Solution: Use the actual key for the error. (closes #9241)
Files: src/eval.c, src/testdir/test_listdict.vim
Patch 8.2.3696
@@ -22772,7 +22900,7 @@ Solution: Include all the recent changes.
Files: runtime/doc/options.txt
Patch 8.2.3785
-Problem: Running CI on MacOS with gcc is not useful.
+Problem: Running CI on macOS with gcc is not useful.
Solution: Only use clang. (Ozaki Kiichi, closes #9326) Also build with
normal features.
Files: .github/workflows/ci.yml
@@ -22821,7 +22949,7 @@ Files: src/change.c
Patch 8.2.3792
Problem: Setting *func options insufficiently tested.
-Solution: Impove tests. (Yegappan Lakshmanan, closes #9337)
+Solution: Improve tests. (Yegappan Lakshmanan, closes #9337)
Files: src/testdir/test_iminsert.vim, src/testdir/test_ins_complete.vim,
src/testdir/test_normal.vim, src/testdir/test_quickfix.vim,
src/testdir/test_tagfunc.vim
@@ -22830,7 +22958,7 @@ Patch 8.2.3793
Problem: Using "g:Func" as a funcref does not work in script context
because "g:" is dropped.
Solution: Keep "g:" in the name. Also add parenthesis to avoid confusing
- operator prececence. (closes #9336)
+ operator precedence. (closes #9336)
Files: src/evalvars.c, src/testdir/test_vim9_func.vim
Patch 8.2.3794
@@ -22962,7 +23090,7 @@ Files: src/ex_docmd.c, src/charset.c, src/proto/charset.pro,
src/eval.c, src/testdir/test_vim9_expr.vim
Patch 8.2.3816
-Problem: Compiler warning for posible loss of data on MS-Windows.
+Problem: Compiler warning for possible loss of data on MS-Windows.
Solution: Add type cast. (Mike Williams, closes #9349)
Files: src/userfunc.c
@@ -23011,7 +23139,7 @@ Files: src/testdir/test_visual.vim
Patch 8.2.3824
Problem: No ASAN support for MSVC.
-Solution: Add ASAN support and fix a coupld of uncovered problems. (Yegappan
+Solution: Add ASAN support and fix a couple of uncovered problems. (Yegappan
Lakshmanan, closes #9357)
Files: src/Make_mvc.mak, src/findfile.c, src/os_mswin.c,
src/testdir/test_fnamemodify.vim
@@ -23178,7 +23306,7 @@ Files: src/eval.c, src/testdir/test_messages.vim
Patch 8.2.3851
Problem: Vim9: overhead when comparing string, dict or function.
-Solution: Call the intented compare function directly. Refactor to avoid
+Solution: Call the intended compare function directly. Refactor to avoid
duplicated code.
Files: src/vim9execute.c, src/typval.c, src/proto/typval.pro
@@ -23662,7 +23790,7 @@ Solution: Correct order of function arguments.
Files: src/userfunc.c
Patch 8.2.3929
-Problem: Using unititialized variable.
+Problem: Using uninitialized variable.
Solution: Set the option flags to zero for a terminal option.
Files: src/option.c
@@ -23985,7 +24113,7 @@ Files: src/errors.h, src/change.c, src/clientserver.c, src/eval.c,
src/terminal.c, src/textprop.c, src/userfunc.c
Patch 8.2.3978
-Problem: Build error when using dynamycally loaded Python 3.
+Problem: Build error when using dynamically loaded Python 3.
Solution: Adjust #ifdef.
Files: src/errors.h
@@ -24403,7 +24531,7 @@ Files: src/alloc.c, src/proto/alloc.pro, src/vim9compile.c,
src/usercmd.c, src/viminfo.c, src/testdir/test_vim9_func.vim
Patch 8.2.4041
-Problem: Using unitialized pointer.
+Problem: Using uninitialized pointer.
Solution: Store "ht" when variable is in another script.
Files: src/evalvars.c
@@ -24414,7 +24542,7 @@ Files: src/vim9execute.c
Patch 8.2.4043
Problem: Using int for second argument of ga_init2().
-Solution: Remove unnessary type cast (int) when using sizeof().
+Solution: Remove unnecessary type cast (int) when using sizeof().
Files: src/arglist.c, src/channel.c, src/cmdexpand.c, src/dict.c,
src/digraph.c, src/eval.c, src/evalfunc.c, src/evalvars.c,
src/evalwindow.c, src/ex_docmd.c, src/fileio.c, src/filepath.c,
@@ -24662,7 +24790,7 @@ Solution: Only lower case the prefix on systems where the file name is not
Files: src/scriptfile.c, src/testdir/test_vim9_import.vim
Patch 8.2.4083
-Problem: Vim9: no test for "vim9script autoload' and using script variable
+Problem: Vim9: no test for "vim9script autoload" and using script variable
in the same script.
Solution: Add a simple test. Fix uncovered problem.
Files: src/evalvars.c, src/testdir/test_vim9_import.vim
@@ -24714,7 +24842,7 @@ Solution: Just use "w_virtcol". (closes #9523)
Files: src/buffer.c, src/testdir/test_statusline.vim
Patch 8.2.4092
-Problem: MacOS CI: unnecessarily doing "Install packages".
+Problem: macOS CI: unnecessarily doing "Install packages".
Solution: Only do "Install packages" for huge build. (Ozaki Kiichi,
closes #9521)
Files: .github/workflows/ci.yml
@@ -24778,8 +24906,8 @@ Solution: Recognize an imported function name. (closes #9496)
Files: src/eval.c, src/testdir/test_vim9_import.vim
Patch 8.2.4103
-Problem: Vim9: variable declared in for loop not initialzed.
-Solution: Always initialze the variable. (closes #9535)
+Problem: Vim9: variable declared in for loop not initialized.
+Solution: Always initialize the variable. (closes #9535)
Files: src/vim9instr.c, src/proto/vim9instr.pro, src/vim9compile.c,
src/testdir/test_vim9_assign.vim
@@ -24812,8 +24940,8 @@ Files: src/drawscreen.c
Patch 8.2.4109
Problem: MS-Windows: high dpi support is outdated.
-Solution: Improve High DPI support by using PerMonitorV2. (closes #9525,
- closes #3102)
+Solution: Improve High DPI support by using PerMonitorV2. (Ken Takata
+ closes #9525, closes #3102)
Files: src/gui.c, src/gui.h, src/gui_w32.c, src/vim.manifest
Patch 8.2.4110
@@ -24822,7 +24950,7 @@ Solution: Check "evalarg" is not NULL. Skip errors when "verbose" is false.
Files: src/eval.c
Patch 8.2.4111
-Problem: Potential proglem when map is deleted while executing.
+Problem: Potential problem when map is deleted while executing.
Solution: Reset last used map pointer when deleting a mapping.
Files: src/map.c
@@ -24940,7 +25068,7 @@ Files: src/vim9script.c, src/testdir/test_vim9_import.vim
Patch 8.2.4133
Problem: output of ":scriptnames" goes into the message history, while this
- des not happen for other commands, such as ":ls".
+ does not happen for other commands, such as ":ls".
Solution: Use msg_outtrans() instead of smsg(). (closes #9551)
Files: src/scriptfile.c, src/testdir/test_scriptnames.vim
@@ -24963,7 +25091,7 @@ Files: runtime/doc/vim9.txt, runtime/doc/repeat.txt, src/vim9script.c,
Patch 8.2.4137
Problem: Vim9: calling import with and without method is inconsistent.
-Solution: Set a flag that a parenthsis follows to compile_load_scriptvar().
+Solution: Set a flag that a parenthesis follows to compile_load_scriptvar().
Add some more tests. Improve error message.
Files: src/vim9expr.c, src/vim9execute.c, src/vim9script.c,
src/testdir/test_vim9_import.vim
@@ -25142,7 +25270,7 @@ Files: src/userfunc.c, src/testdir/test_autoload.vim,
src/testdir/sautest/autoload/foo.vim
Patch 8.2.4169
-Problem: MS-Windows: unnessary casts and other minor things.
+Problem: MS-Windows: unnecessary casts and other minor things.
Solution: Clean up the MS-Windows code. (Ken Takata, closes #9583)
Files: src/gui_w32.c
@@ -25571,7 +25699,7 @@ Files: src/testdir/test_lua.vim
Patch 8.2.4244
Problem: MS-Windows: warning from MSVC on debug build.
-Solution: Adjust "/opt"o options. Remove unused variables. Make variables
+Solution: Adjust "/opt" options. Remove unused variables. Make variables
uppercase for consistency. (Ken Takata, closes #9647)
Files: src/Make_mvc.mak
@@ -25894,7 +26022,7 @@ Files: src/gui_w32.c
Patch 8.2.4291
Problem: Error number used twice.
-Solution: Renumber of of the errors.
+Solution: Renumber the errors.
Files: src/errors.h
Patch 8.2.4292 (after 8.2.4291)
@@ -26129,7 +26257,7 @@ Solution: When deleting the current buffer to not pick a quickfix buffer as
Files: src/buffer.c, src/testdir/test_quickfix.vim
Patch 8.2.4328
-Problem: Command line complete matches cleard when typing character.
+Problem: Command line complete matches cleared when typing character.
(Dominique Pellé)
Solution: Only remove a popup menu if there is one.
Files: src/ex_getln.c, src/testdir/test_cmdline.vim,
@@ -26160,7 +26288,7 @@ Files: src/userfunc.c, src/vim9compile.c, src/proto/vim9compile.pro,
Patch 8.2.4333
Problem: cstack not always passed to where it is needed.
-Solution: Pass ctack through functions.
+Solution: Pass cstack through functions.
Files: src/eval.c, src/vim9expr.c, src/vim9script.c,
src/proto/vim9script.pro, src/vim9compile.c,
src/proto/vim9compile.pro
@@ -26746,7 +26874,7 @@ Files: src/Makefile, src/installman.sh
Patch 8.2.4422
Problem: Autochdir test fails on MS-Windows.
-Solution: Expecta nother error on MS-Windows.
+Solution: Expect another error on MS-Windows.
Files: src/testdir/test_autochdir.vim
Patch 8.2.4423
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index e650b13db..54e02aecb 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt* For Vim version 8.2. Last change: 2022 Feb 23
+*vim9.txt* For Vim version 8.2. Last change: 2022 Mar 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1803,6 +1803,17 @@ threaded, connecting asynchronous operations is a natural way of allowing
plugins to do their work without blocking the user. It's a uniform way to
invoke callbacks and handle timeouts and errors.
+Some commands have already been reserved:
+ *:class*
+ *:endclass*
+ *:abstract*
+ *:enum*
+ *:endenum*
+ *:interface*
+ *:endinterface*
+ *:static*
+ *:type*
+
Some examples: >
abstract class Person
diff --git a/runtime/ftplugin/ant.vim b/runtime/ftplugin/ant.vim
index 590585889..aee07ca4b 100644
--- a/runtime/ftplugin/ant.vim
+++ b/runtime/ftplugin/ant.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: ant
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/aspvbs.vim b/runtime/ftplugin/aspvbs.vim
index 660dab468..70a130d28 100644
--- a/runtime/ftplugin/aspvbs.vim
+++ b/runtime/ftplugin/aspvbs.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: aspvbs
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/config.vim b/runtime/ftplugin/config.vim
index 7fde42ebf..73136cbc6 100644
--- a/runtime/ftplugin/config.vim
+++ b/runtime/ftplugin/config.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: config
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/csc.vim b/runtime/ftplugin/csc.vim
index 3a09c3bf8..7b4126a50 100644
--- a/runtime/ftplugin/csc.vim
+++ b/runtime/ftplugin/csc.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: csc
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff --git a/runtime/ftplugin/csh.vim b/runtime/ftplugin/csh.vim
index 929823219..ca5da5a8b 100644
--- a/runtime/ftplugin/csh.vim
+++ b/runtime/ftplugin/csh.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: csh
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Previous Maintainer: Dan Sharp
" Contributor: Johannes Zellner <johannes@zellner.org>
" Last Change: 2021 Oct 15
diff --git a/runtime/ftplugin/dtd.vim b/runtime/ftplugin/dtd.vim
index 6c08f6691..a046118c7 100644
--- a/runtime/ftplugin/dtd.vim
+++ b/runtime/ftplugin/dtd.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: dtd
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff --git a/runtime/ftplugin/html.vim b/runtime/ftplugin/html.vim
index 7579080ea..3179aa2e8 100644
--- a/runtime/ftplugin/html.vim
+++ b/runtime/ftplugin/html.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: html
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff --git a/runtime/ftplugin/java.vim b/runtime/ftplugin/java.vim
index 292cb6b16..74c8e8d1c 100644
--- a/runtime/ftplugin/java.vim
+++ b/runtime/ftplugin/java.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: Java
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Change: 2012 Mar 11
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff --git a/runtime/ftplugin/jsp.vim b/runtime/ftplugin/jsp.vim
index fbba863b3..18136ccc2 100644
--- a/runtime/ftplugin/jsp.vim
+++ b/runtime/ftplugin/jsp.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: jsp
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/pascal.vim b/runtime/ftplugin/pascal.vim
index 2de92563a..aba1e54f2 100644
--- a/runtime/ftplugin/pascal.vim
+++ b/runtime/ftplugin/pascal.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: Pascal
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Previous Maintainer: Dan Sharp
" Last Change: 2021 Apr 23
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/php.vim b/runtime/ftplugin/php.vim
index a2f8b4d8d..3ff0828ff 100644
--- a/runtime/ftplugin/php.vim
+++ b/runtime/ftplugin/php.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: php
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/sgml.vim b/runtime/ftplugin/sgml.vim
index bf63efbf1..ef52125c6 100644
--- a/runtime/ftplugin/sgml.vim
+++ b/runtime/ftplugin/sgml.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: sgml
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/sh.vim b/runtime/ftplugin/sh.vim
index 593fcec92..93a46f63e 100644
--- a/runtime/ftplugin/sh.vim
+++ b/runtime/ftplugin/sh.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: sh
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
diff --git a/runtime/ftplugin/svg.vim b/runtime/ftplugin/svg.vim
index 8fff6ea32..6f16b1a0f 100644
--- a/runtime/ftplugin/svg.vim
+++ b/runtime/ftplugin/svg.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: svg
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/tcsh.vim b/runtime/ftplugin/tcsh.vim
index 33f1aabf6..85d3873b3 100644
--- a/runtime/ftplugin/tcsh.vim
+++ b/runtime/ftplugin/tcsh.vim
@@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: tcsh
" Maintainer: Doug Kearns <dougkearns@gmail.com>
-" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Previous Maintainer: Dan Sharp
" Last Change: 2021 Oct 15
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/xhtml.vim b/runtime/ftplugin/xhtml.vim
index 21ed3e110..d2a1c0b56 100644
--- a/runtime/ftplugin/xhtml.vim
+++ b/runtime/ftplugin/xhtml.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: xhtml
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/xml.vim b/runtime/ftplugin/xml.vim
index 1d4352115..9aa188cec 100644
--- a/runtime/ftplugin/xml.vim
+++ b/runtime/ftplugin/xml.vim
@@ -3,7 +3,7 @@
" Maintainer: Christian Brabandt <cb@256bit.org>
" Last Changed: Dec 07th, 2018
" Repository: https://github.com/chrisbra/vim-xml-ftplugin
-" Previous Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+" Previous Maintainer: Dan Sharp
" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/xsd.vim b/runtime/ftplugin/xsd.vim
index 6a4a19365..7d3efbb39 100644
--- a/runtime/ftplugin/xsd.vim
+++ b/runtime/ftplugin/xsd.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: xsd
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/ftplugin/xslt.vim b/runtime/ftplugin/xslt.vim
index 1a5ee6286..9d2def107 100644
--- a/runtime/ftplugin/xslt.vim
+++ b/runtime/ftplugin/xslt.vim
@@ -1,8 +1,10 @@
" Vim filetype plugin file
" Language: xslt
-" Maintainer: Dan Sharp <dwsharp at users dot sourceforge dot net>
+"
+" This runtime file is looking for a new maintainer.
+"
+" Former maintainer: Dan Sharp
" Last Changed: 20 Jan 2009
-" URL: http://dwsharp.users.sourceforge.net/vim/ftplugin
if exists("b:did_ftplugin") | finish | endif
diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim
index e1b7876ba..8579b3fb9 100644
--- a/runtime/indent/vim.vim
+++ b/runtime/indent/vim.vim
@@ -1,7 +1,7 @@
" Vim indent file
" Language: Vim script
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2022 Feb 23
+" Last Change: 2022 Mar 01
" Only load this indent file when no other was loaded.
if exists("b:did_indent")
@@ -105,7 +105,7 @@ function GetVimIndentIntern()
" terminated dict.
" ":function" starts a block but "function(" doesn't.
if prev_text !~ '^\s*au\%[tocmd]' && prev_text !~ '^\s*{.*}'
- let i = match(prev_text, '\(^\||\)\s*\(export\s\+\)\?\({\|\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\|finall\%[y]\|def\|el\%[seif]\)\>\|fu\%[nction]\s\)')
+ let i = match(prev_text, '\(^\||\)\s*\(export\s\+\)\?\({\|\(if\|wh\%[ile]\|for\|try\|cat\%[ch]\|fina\|finall\%[y]\|def\|el\%[seif]\)\>\|fu\%[nction][! ]\)')
if i >= 0
let ind += shiftwidth()
if strpart(prev_text, i, 1) == '|' && has('syntax_items')
diff --git a/runtime/menu.vim b/runtime/menu.vim
index 602c4d545..9ba2d3b3f 100644
--- a/runtime/menu.vim
+++ b/runtime/menu.vim
@@ -2,7 +2,7 @@
" You can also use this as a start for your own set of menus.
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2022 Feb 23
+" Last Change: 2022 Mar 02
" Note that ":an" (short for ":anoremenu") is often used to make a menu work
" in all modes and avoid side effects from mappings defined by the user.
@@ -583,9 +583,9 @@ def s:XxdConv()
:%!mc vim:xxd
else
s:XxdFind()
- exe '%!' .. g:xxdprogram
+ exe ':%!' .. g:xxdprogram
endif
- if getline(1) =~ "^0000000:" # only if it worked
+ if getline(1) =~ "^00000000:" # only if it worked
set ft=xxd
endif
&mod = mod
@@ -597,7 +597,7 @@ def s:XxdBack()
:%!mc vim:xxd -r
else
s:XxdFind()
- exe '%!' .. g:xxdprogram .. ' -r'
+ exe ':%!' .. g:xxdprogram .. ' -r'
endif
set ft=
doautocmd filetypedetect BufReadPost