summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2022-11-23 23:46:31 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-23 23:46:31 +0000
commitb59ae59a58706e454ef8c78276f021b1f58466e7 (patch)
tree2bf1712bd7627d2a00ddc1bdf63c5ae8fc68deac
parent43300f6034fbefb54b5d1dc1b4c72d5fe57438c8 (diff)
Update runtime files
-rw-r--r--runtime/doc/autocmd.txt11
-rw-r--r--runtime/doc/builtin.txt47
-rw-r--r--runtime/doc/change.txt2
-rw-r--r--runtime/doc/digraph.txt4
-rw-r--r--runtime/doc/eval.txt6
-rw-r--r--runtime/doc/ft_context.txt2
-rw-r--r--runtime/doc/insert.txt2
-rw-r--r--runtime/doc/intro.txt2
-rw-r--r--runtime/doc/map.txt4
-rw-r--r--runtime/doc/options.txt14
-rw-r--r--runtime/doc/os_haiku.txt6
-rw-r--r--runtime/doc/quickref.txt2
-rw-r--r--runtime/doc/syntax.txt2
-rw-r--r--runtime/doc/tags13
-rw-r--r--runtime/doc/textprop.txt5
-rw-r--r--runtime/doc/tips.txt2
-rw-r--r--runtime/doc/todo.txt37
-rw-r--r--runtime/doc/usr_12.txt2
-rw-r--r--runtime/doc/usr_41.txt6
-rw-r--r--runtime/doc/version9.txt6
-rw-r--r--runtime/doc/vim9.txt4
-rw-r--r--runtime/doc/windows.txt2
-rw-r--r--runtime/filetype.vim2
-rw-r--r--runtime/ftplugin/lua.vim4
-rw-r--r--runtime/ftplugin/mermaid.vim49
-rw-r--r--runtime/ftplugin/obse.vim70
-rw-r--r--runtime/indent/obse.vim55
-rw-r--r--runtime/optwin.vim4
-rw-r--r--runtime/syntax/mermaid.vim155
-rw-r--r--runtime/syntax/obse.vim3360
-rw-r--r--runtime/syntax/swayconfig.vim28
31 files changed, 3818 insertions, 90 deletions
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index fbd0b0df37..5acf7333d3 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 @@ QuickFixCmdPre Before a quickfix command is run (|:make|,
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 @@ VimSuspend When the Vim instance is suspended. Only when
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 04cadadd8f..1d701379ca 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 @@ map({expr1}, {expr2}) *map()*
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 @@ setbufvar({buf}, {varname}, {val}) *setbufvar()*
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]])
-
-< *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.
+ 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],
+ \ ])
+
+< 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 a51dadb7dd..5811b8e593 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 cd4b30eae4..918bdd86b9 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 @@ These are the RFC1345 digraphs for the one-byte characters. See the output of
":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 3515891c6f..c22b3d0328 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 @@ to be doubled. These two commands are equivalent: >
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 @@ text...
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 e608c5b849..9b081976eb 100644
--- a/runtime/doc/ft_context.txt
+++ b/runtime/doc/ft_context.txt
@@ -79,7 +79,7 @@ The last command will create the following syntax files:
- `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 9e87626963..0db0e41761 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -892,7 +892,7 @@ Groß): >
endfor
return res
endfunc
-
+
if exists('+thesaurusfunc')
set thesaurusfunc=Thesaur
endif
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 5cbaf6733f..04d5f5cb8a 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 adccae8ac7..19797b2267 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 @@ When executed as: >
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 d062af4c9b..c730527cf1 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 @@ A jump table for the options with a short description can be found at |Q_op|.
|+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 01c64ecf0d..fdcf7fe783 100644
--- a/runtime/doc/os_haiku.txt
+++ b/runtime/doc/os_haiku.txt
@@ -95,7 +95,7 @@ The default value for $VIM is set at compile time and can be determined with:
: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 @@ Thank you, all!
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 ddabeef66a..ff508b5db0 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 17d4b85df8..483c46e318 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -4901,7 +4901,7 @@ is mostly used, because it looks better.
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 497a929117..617dd56924 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -437,10 +437,12 @@ $quote eval.txt /*$quote*
'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 @@ E1309 map.txt /*E1309*
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 @@ WinClosed autocmd.txt /*WinClosed*
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() builtin.txt /*escape()*
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() builtin.txt /*get()*
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 @@ interfaces-5.2 version5.txt /*interfaces-5.2*
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-plus intro.txt /*keypad-plus*
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 @@ whitespace pattern.txt /*whitespace*
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 2ecf4af2e9..086742a8f8 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 @@ prop_add({lnum}, {col}, {props})
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 5c0d205a21..ea8d538bf9 100644
--- a/runtime/doc/tips.txt
+++ b/runtime/doc/tips.txt
@@ -539,7 +539,7 @@ the current window, try this custom `:HelpCurwin` command:
>
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 8ff194ad15..f08f5721b2 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 @@ browser use: https://github.com/vim/vim/issues/1234
*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 @@ Upcoming larger works:
- 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 @@ Upcoming larger works:
-> 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 @@ Resetting 't_ut' already causes this?
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 @@ Autocommands:
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 68f6cbed61..a5f75ec8c2 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 b6d98b9799..43a13d9861 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 @@ If you don't like the concatenation you can use the $"string" form, which
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 @@ List manipulation: *list-functions*
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 2ea210dd84..ef8f927d70 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 @@ summary.
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 @@ Files: src/change.c, src/drawscreen.c, src/structs.h
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 387f9a1301..d7f78087aa 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1993,10 +1993,10 @@ Some commands have already been reserved:
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 12676ff3aa..b29a9a9ac4 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
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index a990c8d403..d8b0c11bc8 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2022 Nov 17
+" Last Change: 2022 Nov 23
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
diff --git a/runtime/ftplugin/lua.vim b/runtime/ftplugin/lua.vim
index c6ce4a0615..88b1fc9d44 100644
--- a/runtime/ftplugin/lua.vim
+++ b/runtime/ftplugin/lua.vim
@@ -4,7 +4,7 @@
" Previous Maintainer: Max Ischenko <mfi@ukr.net>
" Contributor: Dorai Sitaram <ds26@gte.com>
" C.D. MacEachern <craig.daniel.maceachern@gmail.com>
-" Last Change: 2022 Nov 16
+" Last Change: 2022 Nov 19
if exists("b:did_ftplugin")
finish
@@ -21,7 +21,7 @@ setlocal formatoptions-=t formatoptions+=croql
let &l:define = '\<function\|\<local\%(\s\+function\)\='
" TODO: handle init.lua
-setlocal includeexpr=substitute(v:fname,'\.','/','g')
+setlocal includeexpr=tr(v:fname,'.','/')
setlocal suffixesadd=.lua
let b:undo_ftplugin = "setlocal cms< com< def< fo< inex< sua<"
diff --git a/runtime/ftplugin/mermaid.vim b/runtime/ftplugin/mermaid.vim
new file mode 100644
index 0000000000..fe84ab37cf
--- /dev/null
+++ b/runtime/ftplugin/mermaid.vim
@@ -0,0 +1,49 @@
+" Vim filetype plugin
+" Language: Mermaid
+" Maintainer: Craig MacEachern <https://github.com/craigmac/vim-mermaid>
+" Last Change: 2022 Oct 13
+
+if exists("b:did_ftplugin")
+ finish
+endif
+
+let s:keepcpo= &cpo
+set cpo&vim
+
+" Use mermaid live editor's style
+setlocal expandtab
+setlocal shiftwidth=2
+setlocal softtabstop=-1
+setlocal tabstop=4
+
+" TODO: comments, formatlist stuff, based on what?
+setlocal comments=b:#,fb:-
+setlocal commentstring=#\ %s
+setlocal formatoptions+=tcqln formatoptions-=r formatoptions-=o
+setlocal formatlistpat=^\\s*\\d\\+\\.\\s\\+\\\|^\\s*[-*+]\\s\\+\\\|^\\[^\\ze[^\\]]\\+\\]:\\&^.\\{4\\}
+
+if exists('b:undo_ftplugin')
+ let b:undo_ftplugin .= "|setl cms< com< fo< flp< et< ts< sts< sw<"
+else
+ let b:undo_ftplugin = "setl cms< com< fo< flp< et< ts< sts< sw<"
+endif
+
+if !exists("g:no_plugin_maps") && !exists("g:no_markdown_maps")
+ nnoremap <silent><buffer> [[ :<C-U>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW")<CR>
+ nnoremap <silent><buffer> ]] :<C-U>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW")<CR>
+ xnoremap <silent><buffer> [[ :<C-U>exe "normal! gv"<Bar>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "bsW")<CR>
+ xnoremap <silent><buffer> ]] :<C-U>exe "normal! gv"<Bar>call search('\%(^#\{1,5\}\s\+\S\\|^\S.*\n^[=-]\+$\)', "sW")<CR>
+ let b:undo_ftplugin .= '|sil! nunmap <buffer> [[|sil! nunmap <buffer> ]]|sil! xunmap <buffer> [[|sil! xunmap <buffer> ]]'
+endif
+
+" if has("folding") && get(g:, "markdown_folding", 0)
+" setlocal foldexpr=MarkdownFold()
+" setlocal foldmethod=expr
+" setlocal foldtext=MarkdownFoldText()
+" let b:undo_ftplugin .= "|setl foldexpr< foldmethod< foldtext<"
+" endif
+
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
+" vim:set sw=2:
diff --git a/runtime/ftplugin/obse.vim b/runtime/ftplugin/obse.vim
new file mode 100644
index 0000000000..6d865f05ee
--- /dev/null
+++ b/runtime/ftplugin/obse.vim
@@ -0,0 +1,70 @@
+" Vim filetype plugin file
+" Language: Oblivion Language (obl)
+" Ori