Update runtime files
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index fbd0b0d..5acf733 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt* For Vim version 9.0. Last change: 2022 May 24
+*autocmd.txt* For Vim version 9.0. Last change: 2022 Nov 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1058,8 +1058,8 @@
QuickFixCmdPost Like QuickFixCmdPre, but after a quickfix
command is run, before jumping to the first
location. For |:cfile| and |:lfile| commands
- it is run after error file is read and before
- moving to the first error.
+ it is run after the error file is read and
+ before moving to the first error.
See |QuickFixCmdPost-example|.
*QuitPre*
QuitPre When using `:quit`, `:wq` or `:qall`, before
@@ -1342,8 +1342,9 @@
CTRL-Z was typed inside Vim, or when the SIGTSTP
signal was sent to Vim, but not for SIGSTOP.
*WinClosed*
-WinClosed After closing a window. The pattern is
- matched against the |window-ID|. Both
+WinClosed When closing a window, just before it is
+ removed from the window layout. The pattern
+ is matched against the |window-ID|. Both
<amatch> and <afile> are set to the
|window-ID|. Non-recursive (event cannot
trigger itself).
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
index 04cadad..1d70137 100644
--- a/runtime/doc/builtin.txt
+++ b/runtime/doc/builtin.txt
@@ -1,4 +1,4 @@
-*builtin.txt* For Vim version 9.0. Last change: 2022 Nov 14
+*builtin.txt* For Vim version 9.0. Last change: 2022 Nov 21
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -5572,6 +5572,10 @@
If {expr2} is a |Funcref| it is called with two arguments:
1. The key or the index of the current item.
2. the value of the current item.
+ With a legacy script lambda you don't get an error if it only
+ accepts one argument, but with a Vim9 lambda you get "E1106:
+ One argument too many", the number of arguments must match.
+
The function must return the new value of the item. Example
that changes each value by "key-value": >
func KeyValue(key, val)
@@ -7938,29 +7942,38 @@
setcellwidths({list}) *setcellwidths()*
Specify overrides for cell widths of character ranges. This
- tells Vim how wide characters are, counted in screen cells.
- This overrides 'ambiwidth'. Example: >
- setcellwidths([[0xad, 0xad, 1],
- \ [0x2194, 0x2199, 2]])
+ tells Vim how wide characters are when displayed in the
+ terminal, counted in screen cells. The values override
+ 'ambiwidth'. Example: >
+ call setcellwidths([
+ \ [0x111, 0x111, 1],
+ \ [0x2194, 0x2199, 2],
+ \ ])
-< *E1109* *E1110* *E1111* *E1112* *E1113* *E1114*
- The {list} argument is a list of lists with each three
- numbers. These three numbers are [low, high, width]. "low"
- and "high" can be the same, in which case this refers to one
- character. Otherwise it is the range of characters from "low"
- to "high" (inclusive). "width" is either 1 or 2, indicating
- the character width in screen cells.
- An error is given if the argument is invalid, also when a
- range overlaps with another.
+< The {list} argument is a List of Lists with each three
+ numbers: [{low}, {high}, {width}]. *E1109* *E1110*
+ {low} and {high} can be the same, in which case this refers to
+ one character. Otherwise it is the range of characters from
+ {low} to {high} (inclusive). *E1111* *E1114*
Only characters with value 0x100 and higher can be used.
+ {width} must be either 1 or 2, indicating the character width
+ in screen cells. *E1112*
+ An error is given if the argument is invalid, also when a
+ range overlaps with another. *E1113*
+
If the new value causes 'fillchars' or 'listchars' to become
invalid it is rejected and an error is given.
- To clear the overrides pass an empty list: >
+ To clear the overrides pass an empty {list}: >
setcellwidths([]);
+
< You can use the script $VIMRUNTIME/tools/emoji_list.vim to see
- the effect for known emoji characters.
+ the effect for known emoji characters. Move the cursor
+ through the text to check if the cell widths of your terminal
+ match with what Vim knows about each emoji. If it doesn't
+ look right you need to adjust the {list} argument.
+
setcharpos({expr}, {list}) *setcharpos()*
Same as |setpos()| but uses the specified column number as the
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index a51dadb..5811b8e 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt* For Vim version 9.0. Last change: 2022 Sep 13
+*change.txt* For Vim version 9.0. Last change: 2022 Nov 20
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt
index cd4b30e..918bdd8 100644
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt* For Vim version 9.0. Last change: 2021 Jul 19
+*digraph.txt* For Vim version 9.0. Last change: 2022 Nov 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -162,7 +162,7 @@
":digraphs" for the others.
EURO
-
+ *euro* *euro-digraph*
Exception: RFC1345 doesn't specify the euro sign. In Vim the digraph =e was
added for this. Note the difference between latin1, where the digraph Cu is
used for the currency sign, and latin9 (iso-8859-15), where the digraph =e is
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 3515891..c22b3d0 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 9.0. Last change: 2022 Nov 13
+*eval.txt* For Vim version 9.0. Last change: 2022 Nov 22
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1548,7 +1548,7 @@
if a =~ '\s*'
-interpolated-string *$quote* *interp-string*
+interpolated-string *$quote* *interpolated-string*
--------------------
$"string" interpolated string constant *expr-$quote*
$'string' interpolated literal string constant *expr-$'*
@@ -2859,7 +2859,7 @@
does not need to be doubled.
If "eval" is specified, then any Vim expression in the
form {expr} is evaluated and the result replaces the
- expression, like with |interp-string|.
+ expression, like with |interpolated-string|.
Example where $HOME is expanded: >
let lines =<< trim eval END
some text
diff --git a/runtime/doc/ft_context.txt b/runtime/doc/ft_context.txt
index e608c5b..9b08197 100644
--- a/runtime/doc/ft_context.txt
+++ b/runtime/doc/ft_context.txt
@@ -79,7 +79,7 @@
- `context-data-context.vim`;
- `context-data-interfaces.vim`;
- `context-data-metafun.vim`;
-- `context-data-tex.vim`.
+- `context-data-tex.vim`.
The same command can be used to update those syntax files.
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 9e87626..0db0e41 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -892,7 +892,7 @@
endfor
return res
endfunc
-
+
if exists('+thesaurusfunc')
set thesaurusfunc=Thesaur
endif
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 5cbaf67..04d5f5c 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt* For Vim version 9.0. Last change: 2022 Oct 12
+*intro.txt* For Vim version 9.0. Last change: 2022 Nov 20
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index adccae8..19797b2 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt* For Vim version 9.0. Last change: 2022 Nov 14
+*map.txt* For Vim version 9.0. Last change: 2022 Nov 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1853,7 +1853,7 @@
This will invoke: >
:call Myfunc("arg1","arg2")
-< *q-args-example*
+< *q-args-example*
A more substantial example: >
:function Allargs(command)
: let i = 0
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index d062af4..c730527 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt* For Vim version 9.0. Last change: 2022 Nov 12
+*options.txt* For Vim version 9.0. Last change: 2022 Nov 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4548,17 +4548,21 @@
|+find_in_path| or |+eval| features}
Expression to be used to transform the string found with the 'include'
option to a file name. Mostly useful to change "." to "/" for Java: >
- :set includeexpr=substitute(v:fname,'\\.','/','g')
+ :setlocal includeexpr=substitute(v:fname,'\\.','/','g')
< The "v:fname" variable will be set to the file name that was detected.
-
+ Note the double backslash: the `:set` command first halves them, then
+ one remains it the value, where "\." matches a dot literally. For
+ simple character replacements `tr()` avoids the need for escaping: >
+ :setlocal includeexpr=tr(v:fname,'.','/')
+<
Also used for the |gf| command if an unmodified file name can't be
found. Allows doing "gf" on the name after an 'include' statement.
Also used for |<cfile>|.
If the expression starts with s: or |<SID>|, then it is replaced with
the script ID (|local-function|). Example: >
- set includeexpr=s:MyIncludeExpr()
- set includeexpr=<SID>SomeIncludeExpr()
+ setlocal includeexpr=s:MyIncludeExpr()
+ setlocal includeexpr=<SID>SomeIncludeExpr()
< Otherwise, the expression is evaluated in the context of the script
where the option was set, thus script-local items are available.
diff --git a/runtime/doc/os_haiku.txt b/runtime/doc/os_haiku.txt
index 01c64ec..fdcf7fe 100644
--- a/runtime/doc/os_haiku.txt
+++ b/runtime/doc/os_haiku.txt
@@ -95,7 +95,7 @@
:version
-The normal value is /boot/system/data/vim for Haikuports version,
+The normal value is /boot/system/data/vim for Haikuports version,
/boot/system/non-packaged/data/vim for manual builds. If you don't like it
you can set the VIM environment variable to override this, or set 'helpfile'
in your .vimrc: >
@@ -223,11 +223,11 @@
14. Bugs & to-do *haiku-bugs*
-
+
The port is under development now and far away from the perfect state. For bug
reports, patches and wishes, please use the Vim mailing list or Vim Github
repository.
-
+
Mailing list: https://www.vim.org/maillist.php
Vim Github repository: https://github.com/vim/vim
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index ddabeef..ff508b5 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt* For Vim version 9.0. Last change: 2022 Oct 28
+*quickref.txt* For Vim version 9.0. Last change: 2022 Nov 23
VIM REFERENCE MANUAL by Bram Moolenaar
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 17d4b85..483c46e 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -4901,7 +4901,7 @@
In the next section you can find information about indivisual highlight groups
and how to specify colors for them. Most likely you want to just select a set
of colors by using the `:colorscheme` command, for example: >
-
+
colorscheme pablo
<
*:colo* *:colorscheme* *E185*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 497a929..617dd56 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -437,10 +437,12 @@
'key' options.txt /*'key'*
'keymap' options.txt /*'keymap'*
'keymodel' options.txt /*'keymodel'*
+'keyprotocol' options.txt /*'keyprotocol'*
'keywordprg' options.txt /*'keywordprg'*
'km' options.txt /*'km'*
'kmp' options.txt /*'kmp'*
'kp' options.txt /*'kp'*
+'kpc' options.txt /*'kpc'*
'langmap' options.txt /*'langmap'*
'langmenu' options.txt /*'langmenu'*
'langnoremap' options.txt /*'langnoremap'*
@@ -4362,6 +4364,7 @@
E131 userfunc.txt /*E131*
E1310 gui.txt /*E1310*
E1311 map.txt /*E1311*
+E1312 windows.txt /*E1312*
E132 userfunc.txt /*E132*
E133 userfunc.txt /*E133*
E134 change.txt /*E134*
@@ -5614,7 +5617,10 @@
WinEnter autocmd.txt /*WinEnter*
WinLeave autocmd.txt /*WinLeave*
WinNew autocmd.txt /*WinNew*
+WinResized autocmd.txt /*WinResized*
+WinResized-event windows.txt /*WinResized-event*
WinScrolled autocmd.txt /*WinScrolled*
+WinScrolled-event windows.txt /*WinScrolled-event*
X change.txt /*X*
X11 options.txt /*X11*
X11-icon gui_x11.txt /*X11-icon*
@@ -6692,6 +6698,8 @@
escape-bar version4.txt /*escape-bar*
euphoria3.vim syntax.txt /*euphoria3.vim*
euphoria4.vim syntax.txt /*euphoria4.vim*
+euro digraph.txt /*euro*
+euro-digraph digraph.txt /*euro-digraph*
eval eval.txt /*eval*
eval() builtin.txt /*eval()*
eval-examples eval.txt /*eval-examples*
@@ -7487,6 +7495,7 @@
get-ms-debuggers debug.txt /*get-ms-debuggers*
getbufinfo() builtin.txt /*getbufinfo()*
getbufline() builtin.txt /*getbufline()*
+getbufoneline() builtin.txt /*getbufoneline()*
getbufvar() builtin.txt /*getbufvar()*
getchangelist() builtin.txt /*getchangelist()*
getchar() builtin.txt /*getchar()*
@@ -8066,7 +8075,7 @@
internal-variables eval.txt /*internal-variables*
internal-wordlist spell.txt /*internal-wordlist*
internet intro.txt /*internet*
-interp-string eval.txt /*interp-string*
+interpolated-string eval.txt /*interpolated-string*
interrupt() builtin.txt /*interrupt()*
intro intro.txt /*intro*
intro.txt intro.txt /*intro.txt*
@@ -8158,6 +8167,7 @@
keypad-point intro.txt /*keypad-point*
keys() builtin.txt /*keys()*
keytrans() builtin.txt /*keytrans()*
+kitty-keyboard-protocol map.txt /*kitty-keyboard-protocol*
known-bugs todo.txt /*known-bugs*
l motion.txt /*l*
l: eval.txt /*l:*
@@ -10860,6 +10870,7 @@
wildcard editing.txt /*wildcard*
wildcards editing.txt /*wildcards*
wildmenumode() builtin.txt /*wildmenumode()*
+win-scrolled-resized windows.txt /*win-scrolled-resized*
win16 os_win32.txt /*win16*
win32 os_win32.txt /*win32*
win32-!start gui_w32.txt /*win32-!start*
diff --git a/runtime/doc/textprop.txt b/runtime/doc/textprop.txt
index 2ecf4af..086742a 100644
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -1,4 +1,4 @@
-*textprop.txt* For Vim version 9.0. Last change: 2022 Oct 13
+*textprop.txt* For Vim version 9.0. Last change: 2022 Nov 18
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -147,7 +147,8 @@
above/below the line if {col} is zero; prepend
and/or append spaces for padding with
highlighting; cannot be used with "length",
- "end_lnum" and "end_col" |virtual-text|
+ "end_lnum" and "end_col"
+ See |virtual-text| for more information.
*E1294*
text_align when "text" is present and {col} is zero;
specifies where to display the text:
diff --git a/runtime/doc/tips.txt b/runtime/doc/tips.txt
index 5c0d205..ea8d538 100644
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -539,7 +539,7 @@
>
command -bar -nargs=? -complete=help HelpCurwin execute s:HelpCurwin(<q-args>)
let s:did_open_help = v:false
-
+
function s:HelpCurwin(subject) abort
let mods = 'silent noautocmd keepalt'
if !s:did_open_help
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 8ff194a..f08f572 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 9.0. Last change: 2022 Nov 18
+*todo.txt* For Vim version 9.0. Last change: 2022 Nov 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -38,24 +38,25 @@
*known-bugs*
-------------------- Known bugs and current work -----------------------
+Keyboard protocol (also see below):
+- Use the kitty_protocol_state value, similar to seenModifyOtherKeys
+- When kitty_protocol_state is set then reset seenModifyOtherKeys.
+ Do not set seenModifyOtherKeys for kitty-protocol sequences in
+ handle_key_with_modifier().
+
virtual text issues:
-- #11463 `after` is sometimes wrapped with `list`, `nowrap` and
- `listchars+=extends:>`, cursor position is also wrong
- #11520 `below` cannot be placed below empty lines
James Alvarado looks into it
+- virtual text `below` highlighted incorrectly when `cursorline` enabled
+ (Issue #11588)
'smoothscroll':
-- PR #11502 - cursor position wrong
-- PR #11514 - mouse click is off
- CTRL-E and gj in long line with 'scrolloff' 5 not working well yet.
- computing 'scrolloff' position row use w_skipcol
- Check this list: https://github.com/vim/vim/pulls?q=is%3Apr+is%3Aopen+smoothscroll+author%3Aychin
- Long line spanning multiple pages: After a few CTRL-E then gj causes a
scroll. (Ernie Rael, 18 Nov) Also pressing space or "l"
-Switching to window for a buffer in set_buffer_lines() doesn't work if there
-is no window. Use aucmd_prepbuf() instead. #11558
-
Upcoming larger works:
- Make spell checking work with recent .dic/.aff files, e.g. French. #4916
@@ -70,12 +71,6 @@
- example plugin: https://github.com/uga-rosa/dps-vsctm.vim
- Better support for detecting terminal emulator behavior (esp. special key
handling) and taking away the need for users to tweak their config.
- > In the libvterm fork properly implement:
- - modifyOtherKeys 2 - follow xterm implementation as close as possible
- - Kitty key protocol - just like the latest Kitty
- So that in TermDebug the key handling can be stepped through (instead of
- having to log messages all over the place to see what happens). Ask
- Leonerd about location of code, he might want to take over some of it.
> In the table of names pointing to the list of entries, with an additional
one. So that "xterm-kitty" can first load "xterm" and then add "kitty"
entries.
@@ -88,11 +83,6 @@
-> May also send t_RV and delay starting a shell command until the
response has been seen, to make sure the other responses don't get read
by a shell command.
- > Add an option with a list of names that, when matching $TERM, indicate the
- kitty keyboard protocol should be used? Allows adding "foot" and others
- later, without modifying Vim. Perhaps a pattern-value pair:
- set keyprotocol=kitty:kitty,foot:kitty,xterm:mok2,doggy:mok2
- Here "mok2" means modifyOtherKeys level 2.
> Can we use the req_more_codes_from_term() mechanism with more terminals?
Should we repeat it after executing a shell command?
Can also add this to the 'keyprotocol' option: "mok2+tcap"
@@ -294,7 +284,7 @@
When scheme can't be found by configure there is no clear "not found" message:
configure:5769: checking MzScheme install prefix
- configure:5781: result:
+ configure:5781: result:
Can "CSI nr X" be used instead of outputting spaces? Is it faster? #8002
@@ -4568,8 +4558,11 @@
BufChangePre, BufChangePost and RevertBuf. (Shah)
ViewChanged - triggered when the text scrolls and when the window size
changes.
- WinResized - After a window has been resized
- WinClose - Just before closing a window
+ QuickfixList - when any entry in the current list changes or another
+ list is selected
+ QuickfixPosition - when selecting another entry in the current quickfix
+ list
+
- Write the file now and then ('autosave'):
*'autosave'* *'as'* *'noautosave'* *'noas'*
'autosave' 'as' number (default 0)
diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt
index 68f6cbe..a5f75ec 100644
--- a/runtime/doc/usr_12.txt
+++ b/runtime/doc/usr_12.txt
@@ -1,4 +1,4 @@
-*usr_12.txt* For Vim version 9.0. Last change: 2021 Apr 19
+*usr_12.txt* For Vim version 9.0. Last change: 2022 Nov 19
VIM USER MANUAL - by Bram Moolenaar
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index b6d98b9..43a13d9 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt* For Vim version 9.0. Last change: 2022 Nov 14
+*usr_41.txt* For Vim version 9.0. Last change: 2022 Nov 22
VIM USER MANUAL - by Bram Moolenaar
@@ -442,7 +442,7 @@
accepts an expression in curly braces: >
echo $"Name: {name}"
-See |interp-string| for more information.
+See |interpolated-string| for more information.
Borrowed from the C language is the conditional expression: >
@@ -803,7 +803,7 @@
call() call a function with List as arguments
index() index of a value in a List or Blob
indexof() index in a List or Blob where an expression
- evaluates to true
+ evaluates to true
max() maximum value in a List
min() minimum value in a List
count() count number of times a value appears in a List
diff --git a/runtime/doc/version9.txt b/runtime/doc/version9.txt
index 2ea210d..ef8f927 100644
--- a/runtime/doc/version9.txt
+++ b/runtime/doc/version9.txt
@@ -1,4 +1,4 @@
-*version9.txt* For Vim version 9.0. Last change: 2022 Jun 28
+*version9.txt* For Vim version 9.0. Last change: 2022 Nov 23
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -254,7 +254,7 @@
Many memory leaks, invalid memory accesses and crashes have been fixed.
See the list of patches below: |bug-fixes-9|.
-Support for Vim expression evaluation in a string. |interp-string|
+Support for Vim expression evaluation in a string. |interpolated-string|
Support for evaluating Vim expressions in a heredoc. |:let-heredoc|
Support for fuzzy matching:
@@ -28478,7 +28478,7 @@
Patch 8.2.4645
Problem: 'shortmess' changed when session does not store options.
-Solution: Save and restore 'shortmess' if needed. (James Charti,
+Solution: Save and restore 'shortmess' if needed. (James Cherti,
closes #10037)
Files: src/session.c, src/testdir/test_mksession.vim
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 387f9a1..d7f7808 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1993,10 +1993,10 @@
Some examples: >
- abstract class Person
+ abstract class Person
static const prefix = 'xxx'
var name: string
-
+
def constructor(name: string)
this.name = name
enddef
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 12676ff..b29a9a9 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt* For Vim version 9.0. Last change: 2022 May 11
+*windows.txt* For Vim version 9.0. Last change: 2022 Nov 22
VIM REFERENCE MANUAL by Bram Moolenaar