Update runtime files.
diff --git a/runtime/autoload/decada.vim b/runtime/autoload/decada.vim
index 7741ff0..5124429 100644
--- a/runtime/autoload/decada.vim
+++ b/runtime/autoload/decada.vim
@@ -25,7 +25,7 @@
     "	Convert filename into acs unit:
     "	    1:  remove the file extenstion.
     "	    2:  replace all double '_' or '-' with an dot (which denotes a separate)
-    "	    3:  remove a trailing '_' (wich denotes a specification)
+    "	    3:  remove a trailing '_' (which denotes a specification)
     return substitute (substitute (expand ("%:t:r"), '__\|-', ".", "g"), '_$', "", '')
 endfunction decada#Unit_Name					     " }}}1
 
diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt
index 97733b5..d1a92df 100644
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -77,7 +77,7 @@
 (without Form-B, Arabic will _NOT_ be usable).	It is highly
 recommended that users search for so-called 'ISO-10646-1' fonts.
 Do an Internet search or check www.arabeyes.org for further
-info on where to attain the necessary Arabic fonts.
+info on where to obtain the necessary Arabic fonts.
 
 
 Font Installation
@@ -123,7 +123,7 @@
 >
 		:set encoding=utf-8
 <
-   to your .vimrc file (entering the command manually into you Vim
+   to your .vimrc file (entering the command manually into your Vim
    window is highly discouraged).  In short, include ':set
    encoding=utf-8' to your .vimrc file.
 
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 96177f3..36f7244 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1755,7 +1755,7 @@
 Automatic formatting				*auto-format* *autoformat*
 
 When the 'a' flag is present in 'formatoptions' text is formatted
-automatically when inserting text or deleting text.  This works nice for
+automatically when inserting text or deleting text.  This works nicely for
 editing text paragraphs.  A few hints on how to use this:
 
 - You need to properly define paragraphs.  The simplest is paragraphs that are
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 8e4e2a0..d2b3f6b 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 8.2.  Last change: 2020 Apr 23
+*cmdline.txt*   For Vim version 8.2.  Last change: 2020 Jul 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/digraph.txt b/runtime/doc/digraph.txt
index 191dc7b..e24f7e9 100644
--- a/runtime/doc/digraph.txt
+++ b/runtime/doc/digraph.txt
@@ -1,4 +1,4 @@
-*digraph.txt*   For Vim version 8.2.  Last change: 2019 May 05
+*digraph.txt*   For Vim version 8.2.  Last change: 2020 Jul 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -33,6 +33,8 @@
 			it is the Unicode character, see |digraph-encoding|.
 			Example: >
 	:digr e: 235 a: 228
+<			You can use `:exe` to enter a hex number: >
+	:exe 'digr += ' .. 0x2A72
 <			Avoid defining a digraph with '_' (underscore) as the
 			first character, it has a special meaning in the
 			future.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index ed4f8aa..d8994ef 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2020 Jul 19
+*eval.txt*	For Vim version 8.2.  Last change: 2020 Jul 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1994,6 +1994,8 @@
 					*v:none* *none-variable* *None*
 v:none		An empty String. Used to put an empty item in JSON.  See
 		|json_encode()|.
+		This can also be used as a function argument to use the
+		default value, see |none-function_argument|.
 		When used as a number this evaluates to zero.
 		When used as a string this evaluates to "v:none". >
 			echo v:none
@@ -11710,7 +11712,7 @@
 call, not definition.  Thus it is possible to use an expression which is
 invalid the moment the function is defined.  The expressions are also only
 evaluated when arguments are not specified during a call.
-
+						*none-function_argument*
 You can pass |v:none| to use the default expression.  Note that this means you
 cannot pass v:none as an ordinary value when an argument has a default
 expression.
diff --git a/runtime/doc/ft_sql.txt b/runtime/doc/ft_sql.txt
index dbafa28..e8490d5 100644
--- a/runtime/doc/ft_sql.txt
+++ b/runtime/doc/ft_sql.txt
@@ -312,7 +312,7 @@
 	$VIM/vimfiles/indent/sqlite.vim
 
 No changes are necessary to the SQLSetType function.  It will automatically
-pickup the new SQL files and load them when you issue the SQLSetType command.
+pick up the new SQL files and load them when you issue the SQLSetType command.
 
 
 ==============================================================================
@@ -519,7 +519,7 @@
  4.3.2 Column Completion:			*sql-completion-columns*
 
 The SQL completion plugin can also display a list of columns for particular
-tables.  The column completion is trigger via <C-C>c.
+tables.  The column completion is triggered via <C-C>c.
 
 NOTE: The following example uses <Right> to trigger a column list while
       the popup window is active.
@@ -727,7 +727,7 @@
 your |vimrc|: >
     let g:omni_sql_no_default_maps = 1
 
-Do no edit ftplugin/sql.vim directly!  If you change this file your changes
+Do not edit ftplugin/sql.vim directly!  If you change this file your changes
 will be over written on future updates.  Vim has a special directory structure
 which allows you to make customizations without changing the files that are
 included with the Vim distribution.  If you wish to customize the maps
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index c142f23..0ad43d4 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -843,11 +843,10 @@
 	imap <C-S-{> {{{
 Without modifyOtherKeys <C-[> and <C-S-{> are indistinguishable from Esc.
 
-A known side effect effect is that in Insert mode the raw escape sequence is
-inserted after the CTRL-V key.  This can be used to check whether
-modifyOtherKeys is enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you
-get one byte then modifyOtherKeys is off, if you get <1b>27;5;118~ then it is
-on.
+A known side effect is that in Insert mode the raw escape sequence is inserted
+after the CTRL-V key.  This can be used to check whether modifyOtherKeys is
+enabled: In Insert mode type CTRL-SHIFT-V CTRL-V, if you get one byte then
+modifyOtherKeys is off, if you get <1b>27;5;118~ then it is on.
 
 When the 'esckeys' option is off, then modifyOtherKeys will be disabled in
 Insert mode to avoid every key with a modifier causing Insert mode to end.
diff --git a/runtime/doc/mbyte.txt b/runtime/doc/mbyte.txt
index 6a973fd..bbfd5d3 100644
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -128,7 +128,7 @@
 - For MS-Windows IME can be used.  See |IME|.
 - For all systems keymaps can be used.  See |mbyte-keymap|.
 
-The options 'iminsert', 'imsearch' and 'imcmdline' can be used to chose
+The options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose
 the different input methods or disable them temporarily.
 
 ==============================================================================
@@ -141,8 +141,8 @@
 
 WHAT IS A LOCALE?					*locale*
 
-There are many of languages in the world.  And there are different cultures
-and environments at least as much as the number of languages.	A linguistic
+There are many languages in the world.  And there are different cultures and
+environments at least as many as the number of languages.  A linguistic
 environment corresponding to an area is called "locale".  This includes
 information about the used language, the charset, collating order for sorting,
 date format, currency format and so on.  For Vim only the language and charset
@@ -889,7 +889,7 @@
 your_input_style	is one of |OverTheSpot|, |OffTheSpot|, |Root|.  See
 			also |xim-input-style|.
 
-*international may not necessary if you use X11R6.
+*international may not be necessary if you use X11R6.
 *.inputMethod and *.preeditType are optional if you use X11R6.
 
 For example, when you are using kinput2 as |IM-server|, >
@@ -952,7 +952,7 @@
 
 This works on not only insert-normal mode, but also search-command input and
 replace mode.
-The options 'iminsert', 'imsearch' and 'imcmdline' can be used to chose
+The options 'iminsert', 'imsearch' and 'imcmdline' can be used to choose
 the different input methods or disable them temporarily.
 
 WHAT IS IME
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 6a9e2ed..d98307e 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2020 Jul 05
+*options.txt*	For Vim version 8.2.  Last change: 2020 Jul 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -7711,7 +7711,6 @@
 					on Amiga: "amiga"
 					on Haiku: "xterm"
 					  on Mac: "mac-ansi"
-					 on MiNT: "vt52"
 					 on Unix: "ansi"
 					  on VMS: "ansi"
 				       on Win 32: "win32")
diff --git a/runtime/doc/os_unix.txt b/runtime/doc/os_unix.txt
index 6878842..fa49db8 100644
--- a/runtime/doc/os_unix.txt
+++ b/runtime/doc/os_unix.txt
@@ -30,8 +30,8 @@
 
 Because terminal updating under Unix is often slow (e.g. serial line
 terminal, shell window in suntools), the 'showcmd' and 'ruler' options
-are default off.  If you have a fast terminal, try setting them on.  You might
-also want to set 'ttyfast'.
+are off by default.  If you have a fast terminal, try setting them on.  You
+might also want to set 'ttyfast'.
 
 When using Vim in an xterm the mouse clicks can be used by Vim by setting
 'mouse' to "a".  If there is access to an X-server gui style copy/paste will
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 7b0efdd..d14e7d9 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -642,7 +642,7 @@
 This assumes you write one or more plugins that you distribute as a package.
 
 If you have two unrelated plugins you would use two packages, so that Vim
-users can chose what they include or not.  Or you can decide to use one
+users can choose what they include or not.  Or you can decide to use one
 package with optional plugins, and tell the user to add the ones he wants with
 `:packadd`.
 
diff --git a/runtime/doc/rileft.txt b/runtime/doc/rileft.txt
index 7a6c8c8..81ced87 100644
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -69,7 +69,7 @@
    + 'rightleft' ('rl') sets window orientation to right-to-left.
    + 'delcombine' ('deco'), boolean, if editing UTF-8 encoded languages,
      allows one to remove a composing character which gets superimposed
-     on those that proceeded them (some languages require this).
+     on those that preceded them (some languages require this).
    + 'rightleftcmd' ('rlc') sets the command-line within certain modes
      (such as search) to be utilized in right-to-left orientation as well.
 
diff --git a/runtime/doc/sign.txt b/runtime/doc/sign.txt
index a8ce685..1e88a62 100644
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -78,7 +78,7 @@
 							*sign-priority*
 Each placed sign is assigned a priority value. When multiple signs are placed
 on the same line, the attributes of the sign with the highest priority is used
-independent of the sign group. The default priority for a sign is 10. The
+independently of the sign group. The default priority for a sign is 10. The
 priority is assigned at the time of placing a sign.
 
 When the line on which the sign is placed is deleted, the sign is moved to the
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 2096a34..8effaf5 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1937,7 +1937,7 @@
     Debug, DebugSpecial, DebugString, DebugBoolean, DebugType
 which are used for the statement itself, special characters used in debug
 strings, strings, boolean constants and types (this, super) respectively.  I
-have opted to chose another background for those statements.
+have opted to choose another background for those statements.
 
 Javadoc is a program that takes special comments out of Java program files and
 creates HTML pages.  The standard configuration will highlight this HTML code
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 96022b7..243b25a 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1979,6 +1979,7 @@
 :<sfile>	cmdline.txt	/*:<sfile>*
 :<sflnum>	cmdline.txt	/*:<sflnum>*
 :<slnum>	cmdline.txt	/*:<slnum>*
+:<stack>	cmdline.txt	/*:<stack>*
 :=	various.txt	/*:=*
 :>	change.txt	/*:>*
 :?	cmdline.txt	/*:?*
@@ -3647,6 +3648,7 @@
 <sfile>	cmdline.txt	/*<sfile>*
 <sflnum>	cmdline.txt	/*<sflnum>*
 <slnum>	cmdline.txt	/*<slnum>*
+<stack>	cmdline.txt	/*<stack>*
 <xCSI>	intro.txt	/*<xCSI>*
 <xDown>	term.txt	/*<xDown>*
 <xEnd>	term.txt	/*<xEnd>*
@@ -3898,6 +3900,7 @@
 E107	eval.txt	/*E107*
 E108	eval.txt	/*E108*
 E109	eval.txt	/*E109*
+E1092	vim9.txt	/*E1092*
 E1094	vim9.txt	/*E1094*
 E11	cmdline.txt	/*E11*
 E110	eval.txt	/*E110*
@@ -8198,6 +8201,7 @@
 nocombine	syntax.txt	/*nocombine*
 non-greedy	pattern.txt	/*non-greedy*
 non-zero-arg	eval.txt	/*non-zero-arg*
+none-function_argument	eval.txt	/*none-function_argument*
 none-variable	eval.txt	/*none-variable*
 normal-index	index.txt	/*normal-index*
 not-compatible	usr_01.txt	/*not-compatible*
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 53ed081..f1173a1 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt*	For Vim version 8.2.  Last change: 2020 Jul 09
+*testing.txt*	For Vim version 8.2.  Last change: 2020 Jul 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index a04a511..f9ebf2d 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Jul 10
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Jul 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -39,25 +39,36 @@
 -------------------- Known bugs and current work -----------------------
 
 Making everything work:
-- in Vim9 script expressions are evaluated differently, not using a type.
-  e.g. "'' == 0" does not give an error and evaluates to true.
-- cannot put # comment  after assert() in :def function
-- more return types depending on the first argument, like sort().
+- more items in https://github.com/vim/vim/issues/6507
+- More "goto failed" with check for trylevel.
+- memory leak in test_vim9_script
 - Check that when sourcing a Vim9 script, only the global items can be used.
 - :put with a "=" register argument doesn't work, need to find the expression
   and compile it. (#6397)
-- should  "'text'->method()"  work?  't is a range, but 'text isn't.
+- At the script level, keep script variables local to the block they are
+  declared in?  Need to remember what variables were declared and delete them
+  when leaving the block.
+- Implement { } block at the script level.
+- need to check type when a declaration specifies a type: #6507
+	let nr: number = 'asdf'
+- Make map() give an error if the resulting type is wrong.
+  Add mapnew() to create a new List/Dict for the result, which can have a
+  different value type.
+- Implement "export {one, two three}".
+- ISN_CHECKTYPE could use check_argtype()
 - Slice of list: [1, 2, 3][1:2].
+- give error for variable name:
+      let p = function('NoSuchFunc')
 - Give runtime error if function argument is wrong.
 	def Increment(nr: number)
 	range(3)->Increment()
 - Expand `=expr` in :next, :argedit, :argadd, :argdelete, :drop
 - Expand `=expr` in :vimgrep, :vimgrepadd, :lvimgrep, :lvimgrepadd
 - Expand `=expr` in :mkspell
-- Make "true" and "false" work in vim9script
 - Test that a function defined inside a :def function is local to that
   function, g: functions can be defined and script-local functions cannot be
   defined.
+- Support passing v:none to use the default argument value. (#6504)
 - make 0 == 'string' fail on the script level, like inside :def.
 - Check that when using a user function name without prefix, it does not find
   a global function.  Prefixing g: is required.
@@ -77,10 +88,6 @@
 - memory leaks in test_vim9_cmd
 - When evaluating constants for script variables, some functions could work:
     has('asdf'), len('string')
-- Support type for ":let"/":const" at script level for Vim9 script.
-    (Ben Jackson, #5671)
-    Can we share the code from ex_let_const() between direct execution and
-    compiling?
 - Implement "as Name" in "import Item as Name from ..."
 - Disallow unlet for local/script/imported vars
 - Make "++nr" work.
@@ -91,6 +98,7 @@
 - eval_expr() call in dbg_parsearg() and debuggy_find()
 - has() is compiled as a constant, but some checks are dynamic.
   Check for dynamic values, such as "gui_running".
+- Implement command modifiers, such as "silent". (#6530)
 New syntax and functionality:
 Improve error checking:
 - "echo Func()" is an error if Func() does not return anything.
@@ -139,11 +147,15 @@
 
 Popup windows:
 - Cursor not updated before a redraw, making it jump. (#5943)
+- Add a termcap entry for changing the cursor when it goes under the popup and
+  back.  like t_SI and t_EI  (t_SU and t_EU, where "U" means under?)
 - With terminal in popup, allow for popup_hide() to temporarily hide it.?
 - Fire some autocommand event after a new popup window was created and
   positioned?  PopupNew?  Could be used to set some options or move it out of
   the way. (#5737)
   However, it may also cause trouble, changing the popup of another plugin.
+- Add a way to use popup_menu() synchronously: instead of invoking the
+  callback, return the choice. (Ben Jackson, #6534)
 - Use popup (or popup menu) for command line completion
 - When using a popup for the info of a completion menu, and there is not
   enough space, let the popup overlap with the menu. (#4544)
@@ -199,6 +211,9 @@
 
 Terminal emulator window:
 - No support for underline color, t_8u.
+- When in terminal-Normal mode when the job finishes, the cursor jumps to the
+  end but the window is not updated.  This only happens when typing "a".
+      :term bash -c "for V in {0..5}; do echo $V; sleep 1; done"
 - When started with ":terminal ++close" and the shell exits but there is a
   background process, the window remains open, because the channel still
   exists (and output still shows).  Perhaps close the window when an explicit
@@ -238,7 +253,7 @@
   conversions.
 
 Error numbers available:
-E489, E610, E611, E653, E856
+E610, E611, E653
 
 Remove SPACE_IN_FILENAME ? It is only used for completion.
 
@@ -269,8 +284,15 @@
     BufIsRenamed  (after buffer ID gets another name)
 The buffer list and windows are locked, no changes possible
 
-How about removing Atari MiNT support?
-    src/Make_mint.mak, src/os_mint.h, matches with __MINT__
+Make it possible to map (console and GUI):  #6457
+    <C-[>   0x27   or is this <Esc> ?
+    <C-\>   0x28
+    <C-]>   0x29
+    <C-^>   0x30
+    <C-_>   0x31
+
+Patch for Template string: #4634
+Have another look at the implementation.
 
 Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
     replace this:
@@ -281,6 +303,13 @@
 	let res = GetLeftFunc() <=> GetRightFunc() ?< lower ?= equal ?> upper
 Patch to make :q work with local arglist. (Christian Brabandt, #6286)
 
+Lua: updating wrong buffer when using newly created, unloaded buffer.
+(#6539)
+
+When "+ register is set then "" points to it.  If another Vim grabs the "+
+register, then "" doesn't contain anything.  Make it still follow "+.
+(#6435)
+
 Patch to fix drawing error with DirectX. (James Grant, #5688)
 Causes flicker on resizing. Workaround from Ken Takata.
 How about only setting the attribute when part of the Vim window is offscreen?
@@ -347,6 +376,10 @@
 
 Undo puts cursor in wrong line after "cG<Esc>" undo.
 
+Implement completion for "breakadd".  Should expand the second argument, e.g.
+"func", and then function names after ":breakadd func".  Including
+script-local functions.
+
 :unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
 Dec 19)
 
@@ -386,10 +419,6 @@
 goes to any buffer, and then :bnext skips help buffers, since they are
 unlisted. (#4478)
 
-Patch for Template string: #4634
-Copies the text twice, not very efficient.  Requires a separate implementation
-for Vim9 script, compiling the string parts and expressions.
-
 Statusline highlighting error, off by one. (#5599)
 
 ":find" with 'path' set to "data*" does not find files, while completion does
@@ -1928,13 +1957,6 @@
 Session file creation: 'autochdir' causes trouble.  Keep it off until after
 loading all files.
 
-MS-Windows resizing problems:
-- Windows window on screen positioning: Patch by Yukihiro Nakadaira, 2012 Jun
-  20.  Uses getWindowRect() instead of GetWindowPlacement()
-- Win32: When the taskbar is at the top of the screen creating the tabbar
-  causes the window to move unnecessarily. (William E. Skeith III, 2012 Jan
-  12) Patch: 2012 Jan 13  Needs more work (2012 Feb 2)
-
 'iminsert' global value set when using ":setlocal iminsert"? (Wu, 2012 Jun 23)
 
 Patch to append regexp to tag commands to make it possible to select one out
diff --git a/runtime/doc/usr_27.txt b/runtime/doc/usr_27.txt
index 4736844..fa8fdb6 100644
--- a/runtime/doc/usr_27.txt
+++ b/runtime/doc/usr_27.txt
@@ -434,7 +434,7 @@
 
 	/\f\+
 
-The "\f" items stands for file name characters.  Thus this matches a sequence
+The "\f" item stands for file name characters.  Thus this matches a sequence
 of characters that can be a file name.
    Which characters can be part of a file name depends on the system you are
 using.  On MS-Windows, the backslash is included, on Unix it is not.  This is
diff --git a/runtime/doc/usr_90.txt b/runtime/doc/usr_90.txt
index d5381a7..c1f3641 100644
--- a/runtime/doc/usr_90.txt
+++ b/runtime/doc/usr_90.txt
@@ -226,7 +226,7 @@
 This is all you need for the second method.  Just launch the executable, and
 follow the prompts.
 
-For the first method you must chose one of the binary archives.  These are
+For the first method you must choose one of the binary archives.  These are
 available:
 
 	gvim82.zip		The normal MS-Windows GUI version.
diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt
index 355cc79..3cd105b 100644
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -7882,7 +7882,7 @@
 Patch 6.1.221
 Problem:    Changing case may not work properly, depending on the current
 	    locale.
-Solution:   Add the 'casemap' option to let the user chose how changing case
+Solution:   Add the 'casemap' option to let the user choose how changing case
 	    is to be done.
 	    Also fix lowering case when an UTF-8 character doesn't keep the
 	    same byte length.
diff --git a/runtime/doc/vim-da.1 b/runtime/doc/vim-da.1
index 3437bbc..6699741 100644
--- a/runtime/doc/vim-da.1
+++ b/runtime/doc/vim-da.1
@@ -147,7 +147,7 @@
 {kommando} fortolkes som en Ex-kommando.
 Hvis {kommando} indeholder mellemrum, så skal den omsluttes af
 dobbelte citationstegn (det afhænger af den skal der bruges).
-Eksempel: Vim "+set si" main.c
+Eksempel: vim "+set si" main.c
 .br
 Bemærk: Du kan bruge op til 10 "+"- eller "\-c"-kommandoer.
 .TP
diff --git a/runtime/doc/vim-da.UTF-8.1 b/runtime/doc/vim-da.UTF-8.1
index f619e4a..97e06a0 100644
--- a/runtime/doc/vim-da.UTF-8.1
+++ b/runtime/doc/vim-da.UTF-8.1
@@ -147,7 +147,7 @@
 {kommando} fortolkes som en Ex-kommando.
 Hvis {kommando} indeholder mellemrum, så skal den omsluttes af
 dobbelte citationstegn (det afhænger af den skal der bruges).
-Eksempel: Vim "+set si" main.c
+Eksempel: vim "+set si" main.c
 .br
 Bemærk: Du kan bruge op til 10 "+"- eller "\-c"-kommandoer.
 .TP
diff --git a/runtime/doc/vim-fr.1 b/runtime/doc/vim-fr.1
index 209ab91..ede25ff 100644
--- a/runtime/doc/vim-fr.1
+++ b/runtime/doc/vim-fr.1
@@ -156,7 +156,7 @@
 {commande} est interprétée comme une commande Ex.
 Si la {commande} contient des espaces, elle doit être entourée
 de doubles-apostrophes (cela dépend du shell utilisé).
-Exemple : Vim "+set si" main.c
+Exemple : vim "+set si" main.c
 .br
 Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c".
 .TP
diff --git a/runtime/doc/vim-fr.UTF-8.1 b/runtime/doc/vim-fr.UTF-8.1
index 67be106..4537722 100644
--- a/runtime/doc/vim-fr.UTF-8.1
+++ b/runtime/doc/vim-fr.UTF-8.1
@@ -156,7 +156,7 @@
 {commande} est interprétée comme une commande Ex.
 Si la {commande} contient des espaces, elle doit être entourée
 de doubles-apostrophes (cela dépend du shell utilisé).
-Exemple : Vim "+set si" main.c
+Exemple : vim "+set si" main.c
 .br
 Note : vous pouvez utiliser jusqu'à 10 commandes "+" ou "\-c".
 .TP
diff --git a/runtime/doc/vim-it.1 b/runtime/doc/vim-it.1
index 0ab3eff..75d0ea9 100644
--- a/runtime/doc/vim-it.1
+++ b/runtime/doc/vim-it.1
@@ -150,7 +150,7 @@
 {comando} è interpretato come un comando Ex.
 Se il {comando} contiene spazi deve essere incluso fra doppi apici
 (o altro delimitatore, a seconda della shell che si sta usando).
-Esempio: Vim "+set si" main.c
+Esempio: vim "+set si" main.c
 .br
 Note: Si possono avere fino a 10 comandi "+" o "\-c".
 .TP
diff --git a/runtime/doc/vim-it.UTF-8.1 b/runtime/doc/vim-it.UTF-8.1
index 51e7e04..80c1826 100644
--- a/runtime/doc/vim-it.UTF-8.1
+++ b/runtime/doc/vim-it.UTF-8.1
@@ -150,7 +150,7 @@
 {comando} è interpretato come un comando Ex.
 Se il {comando} contiene spazi deve essere incluso fra doppi apici
 (o altro delimitatore, a seconda della shell che si sta usando).
-Esempio: Vim "+set si" main.c
+Esempio: vim "+set si" main.c
 .br
 Note: Si possono avere fino a 10 comandi "+" o "\-c".
 .TP
diff --git a/runtime/doc/vim-pl.1 b/runtime/doc/vim-pl.1
index d506b33..c1ec05f 100644
--- a/runtime/doc/vim-pl.1
+++ b/runtime/doc/vim-pl.1
@@ -150,7 +150,7 @@
 {polecenie} jest interpretowane jako polecenie Ex.
 Je¶li {poleceni} zawiera bia³e znaki musi byæ umieszczone w podwójnych
 cudzys³owach (zale¿y to od u¿ywanej pow³oki).
-Przyk³ad: Vim "+set si" main.c
+Przyk³ad: vim "+set si" main.c
 .br
 Uwaga: Mo¿na u¿yæ do 10 poleceñ "+" lub "\-c".
 .TP
diff --git a/runtime/doc/vim-pl.UTF-8.1 b/runtime/doc/vim-pl.UTF-8.1
index f3551d2..26c1b11 100644
--- a/runtime/doc/vim-pl.UTF-8.1
+++ b/runtime/doc/vim-pl.UTF-8.1
@@ -150,7 +150,7 @@
 {polecenie} jest interpretowane jako polecenie Ex.
 Jeśli {poleceni} zawiera białe znaki musi być umieszczone w podwójnych
 cudzysłowach (zależy to od używanej powłoki).
-Przykład: Vim "+set si" main.c
+Przykład: vim "+set si" main.c
 .br
 Uwaga: Można użyć do 10 poleceń "+" lub "\-c".
 .TP
diff --git a/runtime/doc/vim-tr.1 b/runtime/doc/vim-tr.1
index c1f5a35..8e7bb4f 100644
--- a/runtime/doc/vim-tr.1
+++ b/runtime/doc/vim-tr.1
@@ -145,7 +145,7 @@
 {komut} bir Ex komutu olarak iþletilir.
 Eðer {komut} boþluk içeriyorsa çift týrnak içerisine alýnmalýdýr (bu
 kullanýlan kabuða baðlýdýr).
-Örnek: Vim "+set si" main.c
+Örnek: vim "+set si" main.c
 .br
 Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
 .TP
diff --git a/runtime/doc/vim-tr.UTF-8.1 b/runtime/doc/vim-tr.UTF-8.1
index 0e25734..c419805 100644
--- a/runtime/doc/vim-tr.UTF-8.1
+++ b/runtime/doc/vim-tr.UTF-8.1
@@ -145,7 +145,7 @@
 {komut} bir Ex komutu olarak işletilir.
 Eğer {komut} boşluk içeriyorsa çift tırnak içerisine alınmalıdır (bu
 kullanılan kabuğa bağlıdır).
-Örnek: Vim "+set si" main.c
+Örnek: vim "+set si" main.c
 .br
 Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
 .TP
diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1
index d19317d..a2ca0e2 100644
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -146,7 +146,7 @@
 {command} is interpreted as an Ex command.
 If the {command} contains spaces it must be enclosed in double quotes (this
 depends on the shell that is used).
-Example: Vim "+set si" main.c
+Example: vim "+set si" main.c
 .br
 Note: You can use up to 10 "+" or "\-c" commands.
 .TP
diff --git a/runtime/doc/vim.man b/runtime/doc/vim.man
index c905475..e905a82 100644
--- a/runtime/doc/vim.man
+++ b/runtime/doc/vim.man
@@ -110,7 +110,7 @@
                    read.   {command}  is interpreted as an Ex command.  If the
                    {command} contains spaces it must  be  enclosed  in  double
                    quotes  (this depends on the shell that is used).  Example:
-                   Vim "+set si" main.c
+                   vim "+set si" main.c
                    Note: You can use up to 10 "+" or "-c" commands.
 
        -S {file}   {file} will be sourced after the first file has been  read.
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 748dd7c..2ba2275 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2020 Jul 17
+*vim9.txt*	For Vim version 8.2.  Last change: 2020 Jul 25
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -184,8 +184,9 @@
 	echo temp  " Error!
 
 An existing variable cannot be assigned to with `:let`, since that implies a
-declaration.  An exception is global variables: these can be both used with
-and without `:let`, because there is no rule about where they are declared.
+declaration.  Global, window, tab, buffer and Vim variables can only be used
+without `:let`, because they are are not really declared, they can also be
+deleted with `:unlet`.
 
 Variables cannot shadow previously defined variables.
 Variables may shadow Ex commands, rename the variable if needed.
@@ -194,12 +195,19 @@
 at the script level. >
 	vim9script
 	let script_local = 'text'
-	let g:global = 'value'
+	g:global = 'value'
 	let Funcref = g:ThatFunction
 
 Since "&opt = value" is now assigning a value to option "opt", ":&" cannot be
 used to repeat a `:substitute` command.
 
+							*E1092*
+Declaring more than one variable at a time, using the unpack notation, is
+currently not supported: >
+	let [v1, v2] = GetValues()  # Error!
+That is because the type needs to be inferred from the list item type, which
+isn't that easy.
+
 
 Omitting :call and :eval ~
 
@@ -209,15 +217,15 @@
 
 A method call without `eval` is possible, so long as the start is an
 identifier or can't be an Ex command.  It does NOT work for string constants: >
-	myList->add(123)		" works
-	g:myList->add(123)		" works
-	[1, 2, 3]->Process()		" works
-	#{a: 1, b: 2}->Process()	" works
-	{'a': 1, 'b': 2}->Process()	" works
-	"foobar"->Process()		" does NOT work
-	("foobar")->Process()		" works
-	'foobar'->Process()		" does NOT work
-	('foobar')->Process()		" works
+	myList->add(123)		# works
+	g:myList->add(123)		# works
+	[1, 2, 3]->Process()		# works
+	#{a: 1, b: 2}->Process()	# works
+	{'a': 1, 'b': 2}->Process()	# works
+	"foobar"->Process()		# does NOT work
+	("foobar")->Process()		# works
+	'foobar'->Process()		# does NOT work
+	('foobar')->Process()		# works
 
 In case there is ambiguity between a function name and an Ex command, use ":"
 to make clear you want to use the Ex command.  For example, there is both the
@@ -277,10 +285,14 @@
 			? PosFunc(arg)
 			: NegFunc(arg)
 
+For a method call using "->" and a member using a dot, a line break is allowed
+before it: >
 	let result = GetBuilder()
 			->BuilderSetWidth(333)
 			->BuilderSetHeight(777)
 			->BuilderBuild()
+	let result = MyDict
+			.member
 
 <							*E1050*
 To make it possible for the operator at the start of the line to be
@@ -486,19 +498,20 @@
 			When the caller omits an argument the {value} is used.
 
 			The function will be compiled into instructions when
-			called, or when `:defcompile` is used.  Syntax and
-			type errors will be produced at that time.
+			called, or when `:disassemble` or `:defcompile` is
+			used.  Syntax and type errors will be produced at that
+			time.
 
-			NOTE: It is possible to nest `:def` inside another
-			`:def`, but it is not possible to nest `:def` inside
-			`:function`, for backwards compatibility.
+			It is possible to nest `:def` inside another `:def` or
+			`:function` up to about 50 levels deep.
 
 			[!] is used as with `:function`.  Note that in Vim9
 			script script-local functions cannot be deleted or
 			redefined later in the same script.
 
 							*:enddef*
-:enddef			End of a function defined with `:def`.
+:enddef			End of a function defined with `:def`. It should be on
+			a line by its own.
 
 
 If the script the function is defined in is Vim9 script, then script-local
@@ -559,7 +572,7 @@
 	tuple<a: {type}, b: {type}, ...>
 
 These types can be used in declarations, but no value will have this type:
-	{type}|{type}
+	{type}|{type}  {not implemented yet}
 	void
 	any
 
@@ -661,19 +674,15 @@
 
 Export ~
 							*:export* *:exp*
-Exporting one item can be written as: >
+Exporting an item can be written as: >
 	export const EXPORTED_CONST = 1234
 	export let someValue = ...
 	export def MyFunc() ...
 	export class MyClass ...
 
 As this suggests, only constants, variables, `:def` functions and classes can
-be exported.
+be exported. {classes are not implemented yet}
 
-Alternatively, an export statement can be used to export several already
-defined (otherwise script-local) items: >
-	export {EXPORTED_CONST, someValue, MyFunc, MyClass}
-<
 							*E1042*
 `:export` can only be used in Vim9 script, at the script level.
 
diff --git a/runtime/ftplugin/cpp.vim b/runtime/ftplugin/cpp.vim
index 8c3f211..f9d31cb 100644
--- a/runtime/ftplugin/cpp.vim
+++ b/runtime/ftplugin/cpp.vim
@@ -1,12 +1,17 @@
 " Vim filetype plugin file
 " Language:	C++
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2001 Jan 15
+" Last Change:	2020 Jul 26
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
   finish
 endif
 
-" Behaves just like C
+" Behaves mostly just like C
 runtime! ftplugin/c.vim ftplugin/c_*.vim ftplugin/c/*.vim
+
+" C++ uses templates with <things>
+" Disabled, because it gives an error for typing an unmatched ">".
+" set matchpairs+=<:>
+" let b:undo_ftplugin ..= ' | setl matchpairs<'
diff --git a/runtime/ftplugin/diff.vim b/runtime/ftplugin/diff.vim
index 3fe1b84..0464290 100644
--- a/runtime/ftplugin/diff.vim
+++ b/runtime/ftplugin/diff.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	Diff
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2005 Jul 27
+" Last Change:	2020 Jul 18
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -13,3 +13,6 @@
 
 " Don't use modelines in a diff, they apply to the diffed file
 setlocal nomodeline
+
+" If there are comments they start with #
+let &commentstring = "# %s"
diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim
index b2db4ab..b2d5710 100644
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin
 " Language:	Vim
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2020 Jul 06
+" Last Change:	2020 Jul 26
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -83,7 +83,7 @@
 if exists("loaded_matchit")
   let b:match_ignorecase = 0
   let b:match_words =
-	\ '\<\%(fu\%[nction]\|def\)\>:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
+	\ '\<\%(fu\%[nction]\|def\)\>[^(]:\<retu\%[rn]\>:\<\%(endf\%[unction]\|enddef\)\>,' .
  	\ '\<\(wh\%[ile]\|for\)\>:\<brea\%[k]\>:\<con\%[tinue]\>:\<end\(w\%[hile]\|fo\%[r]\)\>,' .
 	\ '\<if\>:\<el\%[seif]\>:\<en\%[dif]\>,' .
 	\ '{:},' .
diff --git a/runtime/indent/vim.vim b/runtime/indent/vim.vim
index b0c0a39..3809943 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:	2019 Oct 31
+" Last Change:	2020 Jul 19
 
 " Only load this indent file when no other was loaded.
 if exists("b:did_indent")
@@ -11,6 +11,7 @@
 
 setlocal indentexpr=GetVimIndent()
 setlocal indentkeys+==end,=},=else,=cat,=fina,=END,0\\,0=\"\\\ 
+setlocal indentkeys-=0#
 
 let b:undo_indent = "setl indentkeys< indentexpr<"
 
diff --git a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
index ace0122..6680b48 100644
--- a/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
+++ b/runtime/pack/dist/opt/termdebug/plugin/termdebug.vim
@@ -2,7 +2,7 @@
 "
 " Author: Bram Moolenaar
 " Copyright: Vim license applies, see ":help license"
-" Last Change: 2020 Jun 12
+" Last Change: 2020 Jul 12
 "
 " WORK IN PROGRESS - Only the basics work
 " Note: On MS-Windows you need a recent version of gdb.  The one included with
diff --git a/runtime/syntax/aidl.vim b/runtime/syntax/aidl.vim
new file mode 100644
index 0000000..1947ab9
--- /dev/null
+++ b/runtime/syntax/aidl.vim
@@ -0,0 +1,23 @@
+" Vim syntax file
+" Language:	aidl (Android Interface Definition Language)
+"		https://developer.android.com/guide/components/aidl
+" Maintainer:	Dominique Pelle <dominique.pelle@tomtom.com>
+" LastChange:	2020/07/25
+
+" Quit when a syntax file was already loaded.
+if exists("b:current_syntax")
+   finish
+endif
+
+source <sfile>:p:h/java.vim
+
+syn keyword aidlParamDir in out inout
+syn keyword aidlKeyword oneway parcelable
+
+" Needed for the 'in', 'out', 'inout' keywords to be highlighted.
+syn cluster javaTop add=aidlParamDir
+
+hi def link aidlParamDir StorageClass
+hi def link aidlKeyword Keyword
+
+let b:current_syntax = "aidl"
diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim
index b3a8f96..ec0f7b9 100644
--- a/runtime/syntax/tex.vim
+++ b/runtime/syntax/tex.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	TeX
 " Maintainer:	Charles E. Campbell <NcampObell@SdrPchip.AorgM-NOSPAM>
-" Last Change:	Jun 07, 2020
-" Version:	118
+" Last Change:	Jun 29, 2020
+" Version:	119
 " URL:		http://www.drchip.org/astronaut/vim/index.html#SYNTAX_TEX
 "
 " Notes: {{{1
@@ -147,6 +147,11 @@
 else
  let s:tex_nospell = 0
 endif
+if exists("g:tex_matchcheck")
+ let s:tex_matchcheck= g:tex_matchcheck
+else
+ let s:tex_matchcheck= '[({[]'
+endif
 if exists("g:tex_excludematcher")
  let s:tex_excludematcher= g:tex_excludematcher
 else
@@ -205,27 +210,41 @@
  endif
 endif
 
-" Try to flag {} and () mismatches: {{{1
+" Try to flag {}, [], and () mismatches: {{{1
 if s:tex_fast =~# 'm'
   if !s:tex_no_error
-   syn region texMatcher	matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchGroup,texError
-   syn region texMatcher	matchgroup=Delimiter start="\["				end="]"			transparent contains=@texMatchGroup,texError,@NoSpell
-   syn region texMatcherNM	matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchNMGroup,texError
-   syn region texMatcherNM	matchgroup=Delimiter start="\["				end="]"			transparent contains=@texMatchNMGroup,texError,@NoSpell
+   if s:tex_matchcheck =~ '{'
+    syn region texMatcher	matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchGroup,texError
+    syn region texMatcherNM	matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchNMGroup,texError
+   endif
+   if s:tex_matchcheck =~ '\['
+    syn region texMatcher	matchgroup=Delimiter start="\["				end="]"			transparent contains=@texMatchGroup,texError,@NoSpell
+    syn region texMatcherNM	matchgroup=Delimiter start="\["				end="]"			transparent contains=@texMatchNMGroup,texError,@NoSpell
+   endif
   else
-   syn region texMatcher	matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchGroup
-   syn region texMatcher	matchgroup=Delimiter start="\["				end="]"			transparent contains=@texMatchGroup
-   syn region texMatcherNM	matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchNMGroup
-   syn region texMatcherNM	matchgroup=Delimiter start="\["				end="]"			transparent contains=@texMatchNMGroup
+   if s:tex_matchcheck =~ '{'
+    syn region texMatcher	matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchGroup
+    syn region texMatcherNM	matchgroup=Delimiter start="{" skip="\\\\\|\\[{}]"	end="}"			transparent contains=@texMatchNMGroup
+   endif
+   if s:tex_matchcheck =~ '\['
+    syn region texMatcher	matchgroup=Delimiter start="\["				end="]"			transparent contains=@texMatchGroup
+    syn region texMatcherNM	matchgroup=Delimiter start="\["				end="]"			transparent contains=@texMatchNMGroup
+   endif
   endif
-  if !s:tex_nospell
-   syn region texParen		start="("	end=")"								transparent contains=@texMatchGroup,@Spell
-  else
-   syn region texParen		start="("	end=")"								transparent contains=@texMatchGroup
+  if s:tex_matchcheck =~ '('
+   if !s:tex_nospell
+    syn region texParen		start="("	end=")"								transparent contains=@texMatchGroup,@Spell
+   else
+    syn region texParen		start="("	end=")"								transparent contains=@texMatchGroup
+   endif
   endif
 endif
 if !s:tex_no_error
- syn match  texError		"[}\])]"
+ if s:tex_matchcheck =~ '('
+  syn match  texError		"[}\]]"
+ else
+  syn match  texError		"[}\])]"
+ endif
 endif
 if s:tex_fast =~# 'M'
   if !exists("g:tex_no_math")
@@ -756,7 +775,7 @@
     \ ['ldots'		, '…'],
     \ ['le'		, '≤'],
     \ ['left|'		, '|'],
-    \ ['left\|'		, '‖'],
+    \ ['left\\|'	, '‖'],
     \ ['left('		, '('],
     \ ['left\['		, '['],
     \ ['left\\{'	, '{'],
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index d01cc40..9b20392 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 8.0 script
 " Maintainer:	Charles E. Campbell <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	Jun 01, 20200
-" Version:	8.0-37
+" Last Change:	July 15, 2020
+" Version:	8.0-41
 " URL:	http://www.drchip.org/astronaut/vim/index.html#SYNTAX_VIM
 " Automatically generated keyword lists: {{{1
 
@@ -29,14 +29,14 @@
 syn keyword vimStdPlugin contained	Arguments Break Cfilter Clear Continue DiffOrig Evaluate Finish Gdb Lfilter Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns
 
 " vimOptions are caught only when contained in a vimSet {{{2
-syn keyword vimOption contained	acd ambw arshape background ballooneval bex bl brk buftype cf cinkeys cmdwinheight com completeslash cpoptions cscoperelative csre cursorcolumn delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lrm magic maxfuncdepth menuitems mm modifiable mousemodel mzq numberwidth opfunc patchexpr pfn pp printfont pumwidth pythonthreehome re restorescreen ro rulerformat scl scs sft shellredir shiftwidth showmatch signcolumn smarttab sp spf srr startofline suffixes switchbuf ta tagfunc tbi term termwintype tgc titlelen toolbariconsize ttimeout ttymouse twt undofile varsofttabstop verbosefile viminfofile wak weirdinvert wig wildoptions winheight wm wrapscan
-syn keyword vimOption contained	ai anti autochdir backspace balloonevalterm bexpr bo browsedir casemap cfu cino cmp comments concealcursor cpp cscopetag cst cursorline dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list ls makeef maxmapdepth mfd mmd modified mouses mzquantum nuw osfiletype patchmode ph preserveindent printheader pvh pyx readonly revins rop runtimepath scr sect sh shellslash shm showmode siso smc spc spl ss statusline suffixesadd sws tabline taglength tbidi termbidi terse tgst titleold top ttimeoutlen ttyscroll tx undolevels vartabstop vfile virtualedit warn wfh wildchar wim winminheight wmh write
-syn keyword vimOption contained	akm antialias autoindent backup balloonexpr bg bomb bs cb ch cinoptions cms commentstring conceallevel cpt cscopetagorder csto cursorlineopt dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imc imsf inde is isprint kmp lbr listchars lsp makeencoding maxmem mh mmp more mouseshape mzschemedll odev pa path pheader previewheight printmbcharset pvp pyxversion redrawtime ri rs sb scroll sections shcf shelltemp shortmess showtabline sj smd spell splitbelow ssl stl sw sxe tabpagemax tagrelative tbis termencoding textauto thesaurus titlestring tpm ttm ttytype uc undoreload vb vi visualbell wb wfw wildcharm winaltkeys winminwidth wmnu writeany
-syn keyword vimOption contained	al ar autoread backupcopy bdir bh breakat bsdir cc charconvert cinw co compatible confirm crb cscopeverbose csverb cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm luadll makeprg maxmempattern mis mmt mouse mouset mzschemegcdll oft packpath pdev pi previewpopup printmbfont pvw qe regexpengine rightleft rtp sbo scrollbind secure shell shelltype shortname shq slm sn spellcapcheck splitright ssop stmp swapfile sxq tabstop tags tbs termguicolors textmode tildeop tl tr tty tw udf updatecount vbs viewdir vop wc wh wildignore wincolor winptydll wmw writebackup
-syn keyword vimOption contained	aleph arab autowrite backupdir bdlay bin breakindent bsk ccv ci cinwords cocu complete copyindent cryptmethod csl cuc debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap lw mat maxmemtot mkspellmem mod mousef mousetime nf ofu para penc pm previewwindow printoptions pw qftf relativenumber rightleftcmd ru sbr scrollfocus sel shellcmdflag shellxescape showbreak si sm so spellfile spr st sts swapsync syn tag tagstack tc termwinkey textwidth timeout tm ts ttybuiltin twk udir updatetime vdir viewoptions vsts wcm whichwrap wildignorecase window winwidth wop writedelay
-syn keyword vimOption contained	allowrevins arabic autowriteall backupext belloff binary breakindentopt bt cd cin clipboard cole completefunc cot cscopepathcomp cspc cul deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imdisable imstyle indk isi key langmenu lines lnr lz matchpairs mco ml modeline mousefocus mp nrformats omnifunc paragraphs perldll pmbcs printdevice prompt pythondll quickfixtextfunc remap rl rubydll sc scrolljump selection shellpipe shellxquote showcmd sidescroll smartcase softtabstop spelllang sps sta su swb synmaxcol tagbsearch tal tcldll termwinscroll tf timeoutlen to tsl ttyfast tws ul ur ve vif vts wcr wi wildmenu winfixheight wiv wrap ws
-syn keyword vimOption contained	altkeymap arabicshape aw backupskip beval bk bri bufhidden cdpath cindent cm colorcolumn completeopt cp cscopeprg csprg culopt def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace loadplugins ma matchtime mef mle modelineexpr mousehide mps nu opendevice paste pex pmbfn printencoding pt pythonhome quoteescape renderoptions rlc ruf scb scrolloff selectmode shellquote shiftround showfulltag sidescrolloff smartindent sol spellsuggest sr stal sua swf syntax tagcase tb tenc termwinsize tfu title toolbar tsr ttym twsl undodir ut verbose viminfo wa wd wic wildmode winfixwidth wiw wrapmargin ww
-syn keyword vimOption contained	ambiwidth ari awa balloondelay bevalterm bkc briopt buflisted cedit cink cmdheight columns completepopup cpo cscopequickfix csqf cursorbind define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp lpl macatsui maxcombine menc mls modelines mousem msm number operatorfunc pastetoggle pexpr popt printexpr pumheight pythonthreedll rdt report rnu ruler scf scrollopt sessionoptions
+syn keyword vimOption contained	acd ambw arshape background ballooneval bex bl brk buftype cf cinkeys cmdwinheight com completeslash cpoptions cscoperelative csre cursorcolumn delcombine digraph eadirection emo equalprg expandtab fdls fex fileignorecase fml foldlevel formatexpr gcr go guifontset helpheight history hlsearch imaf ims includeexpr infercase iskeyword keywordprg laststatus lispwords lrm magic maxfuncdepth menuitems mm modifiable mousemodel mzq numberwidth opfunc patchexpr pfn pp printfont pumwidth pythonthreehome re restorescreen ro rulerformat scl scs sft shellslash shortmess showtabline sj smd spell spl srr startofline suffixes switchbuf ta tagfunc tbi term termwintype tgc titlelen toolbariconsize ttimeout ttymouse twt undofile varsofttabstop verbosefile viminfofile wak weirdinvert wig wildoptions winheight wm wrapscan
+syn keyword vimOption contained	ai anti autochdir backspace balloonevalterm bexpr bo browsedir casemap cfu cino cmp comments concealcursor cpp cscopetag cst cursorline dex dip eb emoji errorbells exrc fdm ff filetype fmr foldlevelstart formatlistpat gd gp guifontwide helplang hk ic imak imsearch incsearch insertmode isp km lazyredraw list ls makeef maxmapdepth mfd mmd modified mouses mzquantum nuw osfiletype patchmode ph preserveindent printheader pvh pyx readonly revins rop runtimepath scr sect sh shelltemp shortname shq slm sn spellcapcheck splitbelow ss statusline suffixesadd sws tabline taglength tbidi termbidi terse tgst titleold top ttimeoutlen ttyscroll tx undolevels vartabstop vfile virtualedit warn wfh wildchar wim winminheight wmh write
+syn keyword vimOption contained	akm antialias autoindent backup balloonexpr bg bomb bs cb ch cinoptions cms commentstring conceallevel cpt cscopetagorder csto cursorlineopt dg dir ed enc errorfile fcl fdn ffs fillchars fo foldmarker formatoptions gdefault grepformat guiheadroom hf hkmap icon imc imsf inde is isprint kmp lbr listchars lsp makeencoding maxmem mh mmp more mouseshape mzschemedll odev pa path pheader previewheight printmbcharset pvp pyxversion redrawtime ri rs sb scroll sections shcf shelltype showbreak si sm so spellfile splitright ssl stl sw sxe tabpagemax tagrelative tbis termencoding textauto thesaurus titlestring tpm ttm ttytype uc undoreload vb vi visualbell wb wfw wildcharm winaltkeys winminwidth wmnu writeany
+syn keyword vimOption contained	al ar autoread backupcopy bdir bh breakat bsdir cc charconvert cinw co compatible confirm crb cscopeverbose csverb cwh dict directory edcompatible encoding errorformat fcs fdo fic fixendofline foldclose foldmethod formatprg gfm grepprg guioptions hh hkmapp iconstring imcmdline imst indentexpr isf joinspaces kp lcs lm luadll makeprg maxmempattern mis mmt mouse mouset mzschemegcdll oft packpath pdev pi previewpopup printmbfont pvw qe regexpengine rightleft rtp sbo scrollbind secure shell shellxescape showcmd sidescroll smartcase softtabstop spelllang spo ssop stmp swapfile sxq tabstop tags tbs termguicolors textmode tildeop tl tr tty tw udf updatecount vbs viewdir vop wc wh wildignore wincolor winptydll wmw writebackup
+syn keyword vimOption contained	aleph arab autowrite backupdir bdlay bin breakindent bsk ccv ci cinwords cocu complete copyindent cryptmethod csl cuc debug dictionary display ef endofline esckeys fdc fdt fileencoding fixeol foldcolumn foldminlines fp gfn gtl guipty hi hkp ignorecase imd imstatusfunc indentkeys isfname js langmap linebreak lmap lw mat maxmemtot mkspellmem mod mousef mousetime nf ofu para penc pm previewwindow printoptions pw qftf relativenumber rightleftcmd ru sbr scrollfocus sel shellcmdflag shellxquote showfulltag sidescrolloff smartindent sol spelloptions spr st sts swapsync syn tag tagstack tc termwinkey textwidth timeout tm ts ttybuiltin twk udir updatetime vdir viewoptions vsts wcm whichwrap wildignorecase window winwidth wop writedelay
+syn keyword vimOption contained	allowrevins arabic autowriteall backupext belloff binary breakindentopt bt cd cin clipboard cole completefunc cot cscopepathcomp cspc cul deco diff dy efm eol et fde fen fileencodings fk foldenable foldnestmax fs gfs gtt guitablabel hid hl im imdisable imstyle indk isi key langmenu lines lnr lz matchpairs mco ml modeline mousefocus mp nrformats omnifunc paragraphs perldll pmbcs printdevice prompt pythondll quickfixtextfunc remap rl rubydll sc scrolljump selection shellpipe shiftround showmatch signcolumn smarttab sp spellsuggest sps sta su swb synmaxcol tagbsearch tal tcldll termwinscroll tf timeoutlen to tsl ttyfast tws ul ur ve vif vts wcr wi wildmenu winfixheight wiv wrap ws
+syn keyword vimOption contained	altkeymap arabicshape aw backupskip beval bk bri bufhidden cdpath cindent cm colorcolumn completeopt cp cscopeprg csprg culopt def diffexpr ea ei ep eventignore fdi fenc fileformat fkmap foldexpr foldopen fsync gfw guicursor guitabtooltip hidden hlg imactivatefunc imi inc inex isident keymap langnoremap linespace loadplugins ma matchtime mef mle modelineexpr mousehide mps nu opendevice paste pex pmbfn printencoding pt pythonhome quoteescape renderoptions rlc ruf scb scrolloff selectmode shellquote shiftwidth showmode siso smc spc spf sr stal sua swf syntax tagcase tb tenc termwinsize tfu title toolbar tsr ttym twsl undodir ut verbose viminfo wa wd wic wildmode winfixwidth wiw wrapmargin ww
+syn keyword vimOption contained	ambiwidth ari awa balloondelay bevalterm bkc briopt buflisted cedit cink cmdheight columns completepopup cpo cscopequickfix csqf cursorbind define diffopt ead ek equalalways ex fdl fencs fileformats flp foldignore foldtext ft ghr guifont helpfile highlight hls imactivatekey iminsert include inf isk keymodel langremap lisp lpl macatsui maxcombine menc mls modelines mousem msm number operatorfunc pastetoggle pexpr popt printexpr pumheight pythonthreedll rdt report rnu ruler scf scrollopt sessionoptions shellredir shm
 
 " vimOptions: These are the turn-off setting variants {{{2
 syn keyword vimOption contained	noacd noallowrevins noantialias noarabic noarshape noautoread noaw noballooneval nobevalterm nobk nobreakindent nocf nocindent nocopyindent nocscoperelative nocsre nocuc nocursorcolumn nodelcombine nodigraph noed noemo noeol noesckeys noexpandtab nofic nofixeol nofoldenable nogd nohid nohkmap nohls noicon noimc noimdisable noinfercase nojoinspaces nolangremap nolinebreak nolnr nolrm nomacatsui noml nomod nomodelineexpr nomodified nomousef nomousehide nonumber noopendevice nopi nopreviewwindow nopvw norelativenumber norestorescreen nori norl noro noru nosb noscb noscrollbind noscs nosft noshelltemp noshortname noshowfulltag noshowmode nosm nosmartindent nosmd nosol nosplitbelow nospr nossl nostartofline noswapfile nota notagrelative notbi notbs noterse notextmode notgst notimeout noto notr nottybuiltin notx noundofile novisualbell nowarn noweirdinvert nowfw nowildignorecase nowinfixheight nowiv nowrap nowrite nowritebackup
@@ -66,8 +66,8 @@
 
 " AutoCmd Events {{{2
 syn case ignore
-syn keyword vimAutoEvent contained	BufAdd BufDelete BufFilePost BufHidden BufNew BufRead BufReadPost BufUnload BufWinEnter BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineChanged CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme ColorSchemePre CompleteChanged CompleteDone CompleteDonePre CursorHold CursorHoldI CursorMoved CursorMovedI DiffUpdated DirChanged EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SafeState SafeStateAgain SessionLoadPost ShellCmdPost ShellFilterPost SourceCmd SourcePost SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabEnter TabLeave TabNew TermChanged TerminalOpen TerminalWinOpen TermResponse TextChanged TextChangedI TextChangedP TextYankPost User VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave WinNew
-syn keyword vimAutoEvent contained	BufCreate BufEnter BufFilePre BufLeave BufNewFile BufReadCmd BufReadPre
+syn keyword vimAutoEvent contained	BufAdd BufDelete BufFilePost BufHidden BufNew BufRead BufReadPost BufUnload BufWinLeave BufWipeout BufWrite BufWriteCmd BufWritePost BufWritePre CmdlineChanged CmdlineEnter CmdlineLeave CmdUndefined CmdwinEnter CmdwinLeave ColorScheme ColorSchemePre CompleteChanged CompleteDone CompleteDonePre CursorHold CursorHoldI CursorMoved CursorMovedI DiffUpdated DirChanged EncodingChanged ExitPre FileAppendCmd FileAppendPost FileAppendPre FileChangedRO FileChangedShell FileChangedShellPost FileEncoding FileReadCmd FileReadPost FileReadPre FileType FileWriteCmd FileWritePost FileWritePre FilterReadPost FilterReadPre FilterWritePost FilterWritePre FocusGained FocusLost FuncUndefined GUIEnter GUIFailed InsertChange InsertCharPre InsertEnter InsertLeave MenuPopup OptionSet QuickFixCmdPost QuickFixCmdPre QuitPre RemoteReply SafeState SafeStateAgain SessionLoadPost ShellCmdPost ShellFilterPost SigUSR1 SourceCmd SourcePost SourcePre SpellFileMissing StdinReadPost StdinReadPre SwapExists Syntax TabClosed TabEnter TabLeave TabNew TermChanged TerminalOpen TerminalWinOpen TermResponse TextChanged TextChangedI TextChangedP TextYankPost User VimEnter VimLeave VimLeavePre VimResized WinEnter WinLeave WinNew
+syn keyword vimAutoEvent contained	BufCreate BufEnter BufFilePre BufLeave BufNewFile BufReadCmd BufReadPre BufWinEnter
 
 " Highlight commonly used Groupnames {{{2
 syn keyword vimGroup contained	Comment Constant String Character Number Boolean Float Identifier Function Statement Conditional Repeat Label Operator Keyword Exception PreProc Include Define Macro PreCondit Type StorageClass Structure Typedef Special SpecialChar Tag Delimiter SpecialComment Debug Underlined Ignore Error Todo
@@ -78,11 +78,11 @@
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	abs appendbufline asin assert_fails assert_notmatch balloon_gettext bufadd bufname byteidx char2nr ch_evalexpr ch_log ch_readraw cindent complete_check cosh deepcopy diff_hlID eval exists feedkeys findfile fnamemodify foldtextresult get getchar getcmdtype getenv getftype getmarklist getqflist gettabwinvar getwinposy has histdel hostname inputdialog insert islocked job_setoptions js_decode len lispindent localtime maparg matchaddpos matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prop_add prop_type_add pum_getpos rand reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setline setreg sha256 sign_getplaced sign_unplace sort sound_stop srand strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setapi term_wait test_garbagecollect_soon test_null_dict test_null_string test_setmouse timer_info tolower trunc uniq wildmenumode win_execute win_gotoid winlayout winrestview winwidth
-syn keyword vimFuncName contained	acos argc assert_beeps assert_false assert_report balloon_show bufexists bufnr byteidxcomp ch_canread ch_evalraw ch_logfile ch_sendexpr clearmatches complete_info count delete echoraw eventhandler exp filereadable float2nr foldclosed foreground getbufinfo getcharmod getcmdwintype getfontname getimstatus getmatches getreg gettagstack getwinvar has_key histget iconv inputlist interrupt isnan job_start js_encode libcall list2str log mapcheck matcharg matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_clear prop_type_change pumvisible range reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcharsearch setloclist settabvar shellescape sign_jump sign_unplacelist sound_clear spellbadword state strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled term_list term_setkill test_alloc_fail test_getvalue test_null_function test_option_not_set test_settime timer_pause toupper type values winbufnr win_findbuf winheight winline winsaveview wordcount
-syn keyword vimFuncName contained	add argidx assert_equal assert_inrange assert_true balloon_split buflisted bufwinid call ch_close ch_getbufnr ch_open ch_sendraw col confirm cscope_connection deletebufline empty executable expand filewritable floor foldclosedend funcref getbufline getcharsearch getcompletion getfperm getjumplist getmousepos getregtype getwininfo glob haslocaldir histnr indent inputrestore invert items job_status json_decode libcallnr listener_add log10 mapset matchdelete max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_setcallback prop_find prop_type_delete py3eval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcmdpos setmatches settabwinvar shiftwidth sign_place simplify soundfold spellsuggest str2float strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_scrape term_setrestore test_autochdir test_ignore_error test_null_job test_override test_srand_seed timer_start tr undofile virtcol wincol win_getid win_id2tabwin winnr win_screenpos writefile
-syn keyword vimFuncName contained	and arglistid assert_equalfile assert_match atan browse bufload bufwinnr ceil ch_close_in ch_getjob ch_read ch_setoptions complete copy cursor did_filetype environ execute expandcmd filter fmod foldlevel function getbufvar getcmdline getcurpos getfsize getline getpid gettabinfo getwinpos glob2regpat hasmapto hlexists index inputsave isdirectory job_getchannel job_stop json_encode line listener_flush luaeval match matchend menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setinterrupt prop_list prop_type_get pyeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setenv setpos settagstack sign_define sign_placelist sin sound_playevent split str2list strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_sendkeys term_setsize test_feedinput test_null_blob test_null_list test_refcount test_unknown timer_stop trim undotree visualmode windowsversion win_gettype win_id2win winrestcmd win_splitmove xor
-syn keyword vimFuncName contained	append argv assert_exception assert_notequal atan2 browsedir bufloaded byte2line changenr chdir ch_info ch_readblob ch_status complete_add cos debugbreak diff_filler escape exepath extend finddir fnameescape foldtext garbagecollect getchangelist getcmdpos getcwd getftime getloclist getpos gettabvar getwinposx globpath histadd hlID input inputsecret isinf job_info join keys line2byte listener_remove map matchadd matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setprompt prop_remove prop_type_list pyxeval readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playfile sqrt str2nr strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_setansicolors term_start test_garbagecollect_now test_null_channel test_null_partial test_scrollbar test_void timer_stopall
+syn keyword vimFuncName contained	abs appendbufline asin assert_fails assert_notmatch balloon_gettext bufadd bufname byteidx char2nr ch_evalexpr ch_log ch_readraw cindent complete_check cosh deepcopy diff_hlID eval exists feedkeys findfile fnameescape foldtext garbagecollect getchangelist getcmdpos getcwd getftime getloclist getpos gettabinfo getwinpos glob2regpat hasmapto hlexists index inputsave isdirectory job_getchannel job_stop json_encode line listener_flush luaeval match matchend menu_info nextnonblank popup_atcursor popup_dialog popup_getoptions popup_menu popup_show prompt_setinterrupt prop_list prop_type_get pyeval readdirex reltime remote_peek rename rubyeval screenpos searchdecl serverlist setenv setpos settagstack sign_define sign_placelist sin sound_playevent split str2list strftime strpart submatch synID systemlist taglist term_dumpload term_getcursor term_getstatus term_scrape term_setrestore test_autochdir test_ignore_error test_null_job test_override test_srand_seed timer_start tr undotree wildmenumode win_execute win_gotoid winlayout winrestview winwidth
+syn keyword vimFuncName contained	acos argc assert_beeps assert_false assert_report balloon_show bufexists bufnr byteidxcomp ch_canread ch_evalraw ch_logfile ch_sendexpr clearmatches complete_info count delete echoraw eventhandler exp filereadable flatten fnamemodify foldtextresult get getchar getcmdtype getenv getftype getmarklist getqflist gettabvar getwinposx globpath histadd hlID input inputsecret isinf job_info join keys line2byte listener_remove map matchadd matchlist min nr2char popup_beval popup_filter_menu popup_getpos popup_move pow prompt_setprompt prop_remove prop_type_list pyxeval readfile reltimefloat remote_read repeat screenattr screenrow searchpair setbufline setfperm setqflist setwinvar sign_getdefined sign_undefine sinh sound_playfile sqrt str2nr strgetchar strptime substitute synIDattr tabpagebuflist tan term_dumpwrite term_getjob term_gettitle term_sendkeys term_setsize test_feedinput test_null_blob test_null_list test_refcount test_unknown timer_stop trim uniq winbufnr win_findbuf winheight winline winsaveview wordcount
+syn keyword vimFuncName contained	add argidx assert_equal assert_inrange assert_true balloon_split buflisted bufwinid call ch_close ch_getbufnr ch_open ch_sendraw col confirm cscope_connection deletebufline empty executable expand filewritable float2nr foldclosed foreground getbufinfo getcharmod getcmdwintype getfontname getimstatus getmatches getreg gettabwinvar getwinposy has histdel hostname inputdialog insert islocked job_setoptions js_decode len lispindent localtime maparg matchaddpos matchstr mkdir or popup_clear popup_filter_yesno popup_hide popup_notification prevnonblank prop_add prop_type_add pum_getpos rand reduce reltimestr remote_send resolve screenchar screenstring searchpairpos setbufvar setline setreg sha256 sign_getplaced sign_unplace sort sound_stop srand strcharpart stridx strridx swapinfo synIDtrans tabpagenr tanh term_getaltscreen term_getline term_gettty term_setansicolors term_start test_garbagecollect_now test_null_channel test_null_partial test_scrollbar test_void timer_stopall trunc values wincol win_getid win_id2tabwin winnr win_screenpos writefile
+syn keyword vimFuncName contained	and arglistid assert_equalfile assert_match atan browse bufload bufwinnr ceil ch_close_in ch_getjob ch_read ch_setoptions complete copy cursor did_filetype environ execute expandcmd filter floor foldclosedend funcref getbufline getcharsearch getcompletion getfperm getjumplist getmousepos getreginfo gettagstack getwinvar has_key histget iconv inputlist interrupt isnan job_start js_encode libcall list2str log mapcheck matcharg matchstrpos mode pathshorten popup_close popup_findinfo popup_list popup_setoptions printf prop_clear prop_type_change pumvisible range reg_executing remote_expr remote_startserver reverse screenchars search searchpos setcharsearch setloclist settabvar shellescape sign_jump sign_unplacelist sound_clear spellbadword state strchars string strtrans swapname synstack tabpagewinnr tempname term_getansicolors term_getscrolled terminalprops term_setapi term_wait test_garbagecollect_soon test_null_dict test_null_string test_setmouse timer_info tolower type virtcol windowsversion win_gettype win_id2win winrestcmd win_splitmove xor
+syn keyword vimFuncName contained	append argv assert_exception assert_notequal atan2 browsedir bufloaded byte2line changenr chdir ch_info ch_readblob ch_status complete_add cos debugbreak diff_filler escape exepath extend finddir fmod foldlevel function getbufvar getcmdline getcurpos getfsize getline getpid getregtype getwininfo glob haslocaldir histnr indent inputrestore invert items job_status json_decode libcallnr listener_add log10 mapset matchdelete max mzeval perleval popup_create popup_findpreview popup_locate popup_settext prompt_setcallback prop_find prop_type_delete py3eval readdir reg_recording remote_foreground remove round screencol searchcount server2client setcmdpos setmatches settabwinvar shiftwidth sign_place simplify soundfold spellsuggest str2float strdisplaywidth strlen strwidth synconcealed system tagfiles term_dumpdiff term_getattr term_getsize term_list term_setkill test_alloc_fail test_getvalue test_null_function test_option_not_set test_settime timer_pause toupper undofile visualmode
 
 "--- syntax here and above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1
@@ -295,6 +295,7 @@
 syn match	vimComment	+\<else\s\+".*$+lc=4	contains=@vimCommentGroup,vimCommentString
 syn region	vimCommentString	contained oneline start='\S\s\+"'ms=e	end='"'
 " Vim9 comments - TODO: might be highlighted while they don't work
+syn match	vim9Comment	excludenl +^#[^{].*$+	contains=@vimCommentGroup,vimCommentString
 syn match	vim9Comment	excludenl +\s#[^{].*$+lc=1	contains=@vimCommentGroup,vimCommentString
 syn match	vim9Comment	+\<endif\s\+#[^{].*$+lc=5	contains=@vimCommentGroup,vimCommentString
 syn match	vim9Comment	+\<else\s\+#[^{].*$+lc=4	contains=@vimCommentGroup,vimCommentString
@@ -453,6 +454,9 @@
 syn match vimFunc		"\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\ze\s*("		contains=vimFuncName,vimUserFunc,vimExecute
 syn match vimUserFunc contained	"\%(\%([sSgGbBwWtTlL]:\|<[sS][iI][dD]>\)\=\%(\w\+\.\)*\I[a-zA-Z0-9_.]*\)\|\<\u[a-zA-Z0-9.]*\>\|\<if\>"	contains=vimNotation
 
+" User Command Highlighting: {{{2
+syn match vimUsrCmd	'^\s*\zs\u\w*.*$'
+
 " Errors And Warnings: {{{2
 " ====================
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_novimfunctionerror")
@@ -598,7 +602,7 @@
 syn match	vimHiGuiRgb	contained	"#\x\{6}"
 
 " Highlighting: hi group key=arg ... {{{2
-syn cluster	vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
+syn cluster	vimHiCluster contains=vimGroup,vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiCtermul,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
 syn region	vimHiKeyList	contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||"	contains=@vimHiCluster
 if !exists("g:vimsyn_noerror") && !exists("g:vimsyn_vimhikeyerror")
  syn match	vimHiKeyError	contained	"\i\+="he=e-1
@@ -607,6 +611,7 @@
 syn match	vimHiStartStop	contained	"\c\(start\|stop\)="he=e-1	nextgroup=vimHiTermcap,vimOption
 syn match	vimHiCTerm	contained	"\ccterm="he=e-1		nextgroup=vimHiAttribList
 syn match	vimHiCtermFgBg	contained	"\ccterm[fb]g="he=e-1	nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
+syn match	vimHiCtermul	contained	"\cctermul="he=e-1	nextgroup=vimHiNmbr,vimHiCtermColor,vimFgBgAttrib,vimHiCtermError
 syn match	vimHiGui	contained	"\cgui="he=e-1		nextgroup=vimHiAttribList
 syn match	vimHiGuiFont	contained	"\cfont="he=e-1		nextgroup=vimHiFontname
 syn match	vimHiGuiFgBg	contained	"\cgui\%([fb]g\|sp\)="he=e-1	nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
@@ -629,7 +634,7 @@
 " Beginners - Patterns that involve ^ {{{2
 " =========
 syn match	vimLineComment	+^[ \t:]*".*$+	contains=@vimCommentGroup,vimCommentString,vimCommentTitle
-syn match	vim9LineComment	+^[ \t:]\+#.*$+	contains=@vimCommentGroup,vimCommentString,vimCommentTitle
+syn match	vim9LineComment	+^[ \t:]*#.*$+	contains=@vimCommentGroup,vimCommentString,vimCommentTitle
 syn match	vimCommentTitle	'"\s*\%([sS]:\|\h\w*#\)\=\u\w*\(\s\+\u\w*\)*:'hs=s+1	contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
 syn match	vimContinue	"^\s*\\"
 syn region	vimString	start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
@@ -877,6 +882,7 @@
  hi def link vimError	Error
  hi def link vimFBVar	vimVar
  hi def link vimFgBgAttrib	vimHiAttrib
+ hi def link vimHiCtermul	vimHiTerm
  hi def link vimFold	Folded
  hi def link vimFTCmd	vimCommand
  hi def link vimFTOption	vimSynType
diff --git a/runtime/tutor/tutor.eo b/runtime/tutor/tutor.eo
index 11a0b9d..b11d145 100644
--- a/runtime/tutor/tutor.eo
+++ b/runtime/tutor/tutor.eo
@@ -7,7 +7,7 @@
    fasonita por priskribi sufiæajn komandojn, por ke vi kapablu uzi Vim
    kun sufiæa facileco.
 
-   La tempo bezonata por plenumi la kurson estas 25-30 minutoj, kaj dependas
+   La tempo bezonata por plenumi la kurson estas 30 minutoj, kaj dependas
    de kiom da tempo estas uzata por eksperimenti.
 
    ATENTU:
@@ -100,7 +100,7 @@
   1. Movu la kursoron al la unua suba linio markita per --->.
 
   2. Por igi la unuan linion sama kiel la dua, movu la kursoron sur la unuan
-     signon post kie la teksto estas enmetenda.
+     signon antaý kie la teksto estas enmetenda.
 
   3. Premu  i  kaj tajpu la bezonatajn aldonojn.
 
@@ -200,7 +200,7 @@
 
   1. Premu  <ESK>  por certigi, ke vi estas en normala reøimo.
 
-  2. Movu la kursoron al la linio markita per --->.
+  2. Movu la kursoron al la suba linio markita per --->.
 
   3. Movu la kursoron al la komenco de vorto, kiu forviþendas.
 
@@ -225,7 +225,7 @@
 
   1. Premu  <ESK>  por certigi, ke vi estas en normala reøimo.
 
-  2. Movu la kursoron sur la suban linion markita per --->.
+  2. Movu la kursoron al la suba linio markita per --->.
 
   3. Movu la kursoron æe la fino de la øusta linio (POST la unua . ).
 
@@ -296,10 +296,10 @@
 
   1. Movu la kursoron æe la unua MAJUSKLA vorto en la linio markita per --->.
 
-  2. Tajpu  d2w  por forviþi la du MAJUSKLAJN vortojn
+  2. Tajpu  d2w  por forviþi la du MAJUSKLAJN vortojn.
 
   3. Ripetu paþojn 1 øis 2 per malsama nombro por forviþi la sinsekvajn
-     MAJUSKLAJN vortojn per unu komando
+     MAJUSKLAJN vortojn per unu komando.
 
 ---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita.
 
@@ -379,7 +379,7 @@
 
     ** Tajpu  p  por meti tekston forviþitan antaýe post la kursoro. **
 
-  1. Movu la kursoron æe la unua ---> suba linio.
+  1. Movu la kursoron æe la unua suba linio markita per --->.
 
   2. Tajpu  dd  por forviþi la linion kaj konservi øin ene de reøistro de Vim.
 
@@ -652,7 +652,7 @@
          la dosiero estus precize same kiel kopio de la instruilo kiam vi
          konservis øin.
 
-  5. Nun forviþu la dosieron tajpante (WINDOWS):    :!del TESTO
+  5. Nun forviþu la dosieron tajpante (VINDOZO):    :!del TESTO
                                    aý (UNIKSO):     :!rm TESTO
 
 
@@ -713,7 +713,7 @@
   1.  :!komando  plenumas eksteran komandon.
 
       Iuj utilaj ekzemploj estas:
-        (WINDOWS)          (UNIKSO)
+        (VINDOZO)          (UNIKSO)
          :!dir              :!ls            - listigas dosierujon
          :!del DOSIERNOMO   :!rm DOSIERNOMO - forviþas la dosieron DOSIERNOMO
 
@@ -808,7 +808,7 @@
      ** Uzu la  y  operatoron por kopii tekston, kaj  p  por alglui øin **
 
 
-  1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)".
+  1. Iru al la suba linio markita per ---> kaj poziciu la kursoron post "a)".
 
   2. Komencu la Viduman reøimon per  v  kaj movu la kursoron tuj antaý "unua".
 
@@ -914,7 +914,7 @@
 
   1. Ekredaktu la dosieron "vimrc".  Tio dependas de via sistemo:
       :e ~/.vimrc          por Unikso
-      :e $VIM/_vimrc       por Windows
+      :e $VIM/_vimrc       por Vindozo
 
   2. Nun legu la enhavon de la ekzempla "vimrc"
       :r $VIMRUNTIME/vimrc_example.vim
@@ -945,7 +945,7 @@
 
   6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo:  :edit DOSI
 
-  7. Premu <TAB>.  Vim kompletigos la nomon (se øi estas unika)
+  7. Premu d<TAB>.  Vim kompletigos la nomon (se øi estas unika)
 
 RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
          <TAB>.  Estas aparte utila por  :help .
@@ -986,6 +986,6 @@
 
   Esperantigita fare de Dominique Pellé, 2008-04-01
   Retpoþto: dominique.pelle@gmail.com
-  Lasta þanøo: 2018-12-02
+  Lasta þanøo: 2020-07-19
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/runtime/tutor/tutor.eo.utf-8 b/runtime/tutor/tutor.eo.utf-8
index 1b3873c..a11c555 100644
--- a/runtime/tutor/tutor.eo.utf-8
+++ b/runtime/tutor/tutor.eo.utf-8
@@ -7,7 +7,7 @@
    fasonita por priskribi sufiĉajn komandojn, por ke vi kapablu uzi Vim
    kun sufiĉa facileco.
 
-   La tempo bezonata por plenumi la kurson estas 25-30 minutoj, kaj dependas
+   La tempo bezonata por plenumi la kurson estas 30 minutoj, kaj dependas
    de kiom da tempo estas uzata por eksperimenti.
 
    ATENTU:
@@ -100,7 +100,7 @@
   1. Movu la kursoron al la unua suba linio markita per --->.
 
   2. Por igi la unuan linion sama kiel la dua, movu la kursoron sur la unuan
-     signon post kie la teksto estas enmetenda.
+     signon antaŭ kie la teksto estas enmetenda.
 
   3. Premu  i  kaj tajpu la bezonatajn aldonojn.
 
@@ -200,7 +200,7 @@
 
   1. Premu  <ESK>  por certigi, ke vi estas en normala reĝimo.
 
-  2. Movu la kursoron al la linio markita per --->.
+  2. Movu la kursoron al la suba linio markita per --->.
 
   3. Movu la kursoron al la komenco de vorto, kiu forviŝendas.
 
@@ -225,7 +225,7 @@
 
   1. Premu  <ESK>  por certigi, ke vi estas en normala reĝimo.
 
-  2. Movu la kursoron sur la suban linion markita per --->.
+  2. Movu la kursoron al la suba linio markita per --->.
 
   3. Movu la kursoron ĉe la fino de la ĝusta linio (POST la unua . ).
 
@@ -296,10 +296,10 @@
 
   1. Movu la kursoron ĉe la unua MAJUSKLA vorto en la linio markita per --->.
 
-  2. Tajpu  d2w  por forviŝi la du MAJUSKLAJN vortojn
+  2. Tajpu  d2w  por forviŝi la du MAJUSKLAJN vortojn.
 
   3. Ripetu paŝojn 1 ĝis 2 per malsama nombro por forviŝi la sinsekvajn
-     MAJUSKLAJN vortojn per unu komando
+     MAJUSKLAJN vortojn per unu komando.
 
 ---> Tiu AB CDE linio FGHI JK LMN OP de vortoj estas Q RS TUV purigita.
 
@@ -379,7 +379,7 @@
 
     ** Tajpu  p  por meti tekston forviŝitan antaŭe post la kursoro. **
 
-  1. Movu la kursoron ĉe la unua ---> suba linio.
+  1. Movu la kursoron ĉe la unua suba linio markita per --->.
 
   2. Tajpu  dd  por forviŝi la linion kaj konservi ĝin ene de reĝistro de Vim.
 
@@ -652,7 +652,7 @@
          la dosiero estus precize same kiel kopio de la instruilo kiam vi
          konservis ĝin.
 
-  5. Nun forviŝu la dosieron tajpante (WINDOWS):    :!del TESTO
+  5. Nun forviŝu la dosieron tajpante (VINDOZO):    :!del TESTO
                                    aŭ (UNIKSO):     :!rm TESTO
 
 
@@ -713,7 +713,7 @@
   1.  :!komando  plenumas eksteran komandon.
 
       Iuj utilaj ekzemploj estas:
-        (WINDOWS)          (UNIKSO)
+        (VINDOZO)          (UNIKSO)
          :!dir              :!ls            - listigas dosierujon
          :!del DOSIERNOMO   :!rm DOSIERNOMO - forviŝas la dosieron DOSIERNOMO
 
@@ -808,7 +808,7 @@
      ** Uzu la  y  operatoron por kopii tekston, kaj  p  por alglui ĝin **
 
 
-  1. Iru al la linio markita per ---> sube kaj poziciu la kursoron post "a)".
+  1. Iru al la suba linio markita per ---> kaj poziciu la kursoron post "a)".
 
   2. Komencu la Viduman reĝimon per  v  kaj movu la kursoron tuj antaŭ "unua".
 
@@ -914,7 +914,7 @@
 
   1. Ekredaktu la dosieron "vimrc".  Tio dependas de via sistemo:
       :e ~/.vimrc          por Unikso
-      :e $VIM/_vimrc       por Windows
+      :e $VIM/_vimrc       por Vindozo
 
   2. Nun legu la enhavon de la ekzempla "vimrc"
       :r $VIMRUNTIME/vimrc_example.vim
@@ -945,7 +945,7 @@
 
   6. Nun aldonu spaceton kaj la komencon de ekzistanta nomo:  :edit DOSI
 
-  7. Premu <TAB>.  Vim kompletigos la nomon (se ĝi estas unika)
+  7. Premu d<TAB>.  Vim kompletigos la nomon (se ĝi estas unika)
 
 RIMARKO: Kompletigo funkcias por multaj komandoj. Nur provu premi CTRL-D kaj
          <TAB>.  Estas aparte utila por  :help .
@@ -986,6 +986,6 @@
 
   Esperantigita fare de Dominique Pellé, 2008-04-01
   Retpoŝto: dominique.pelle@gmail.com
-  Lasta ŝanĝo: 2018-12-02
+  Lasta ŝanĝo: 2020-07-19
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/src/po/eo.po b/src/po/eo.po
index 521522b..5f0da20 100644
--- a/src/po/eo.po
+++ b/src/po/eo.po
@@ -17,8 +17,8 @@
 msgstr ""
 "Project-Id-Version: Vim 8.1\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2020-02-15 21:05+0100\n"
-"PO-Revision-Date: 2020-02-15 23:59+0100\n"
+"POT-Creation-Date: 2020-07-19 07:51+0200\n"
+"PO-Revision-Date: 2020-07-19 09:39+0200\n"
 "Last-Translator: Dominique PELLÉ <dominique.pelle@gmail.com>\n"
 "Language-Team: Esperanto\n"
 "Language: eo\n"
@@ -226,9 +226,6 @@
 msgid "[Not edited]"
 msgstr "[Ne redaktita]"
 
-msgid "[New file]"
-msgstr "[Nova dosiero]"
-
 msgid "[Read errors]"
 msgstr "[Eraroj de legado]"
 
@@ -287,6 +284,12 @@
 msgid "Do you really want to write to it"
 msgstr "Ĉu vi vere volas skribi al ĝi"
 
+msgid "[New]"
+msgstr "[Nova]"
+
+msgid "[New File]"
+msgstr "[Nova dosiero]"
+
 msgid "E676: No matching autocommands for acwrite buffer"
 msgstr "E676: Neniu kongrua aŭtokomando por la bufro acwrite"
 
@@ -378,12 +381,6 @@
 msgid "[Device]"
 msgstr "[Aparatdosiero]"
 
-msgid "[New]"
-msgstr "[Nova]"
-
-msgid "[New File]"
-msgstr "[Nova dosiero]"
-
 msgid " [a]"
 msgstr " [a]"
 
@@ -421,12 +418,16 @@
 msgid "E902: Cannot connect to port"
 msgstr "E902: Ne eblas konekti al pordo"
 
+msgid "E898: socket() in channel_connect()"
+msgstr "E898: socket() en channel_connect()"
+
+#, c-format
+msgid "E901: getaddrinfo() in channel_open(): %s"
+msgstr "E901: getaddrinfo() en channel_open(): %s"
+
 msgid "E901: gethostbyname() in channel_open()"
 msgstr "E901: gethostbyname() en channel_open()"
 
-msgid "E898: socket() in channel_open()"
-msgstr "E898: gethostbyname() en channel_open()"
-
 msgid "E903: received command with non-string argument"
 msgstr "E903: ricevis komandon kun argumento, kiu ne estas ĉeno"
 
@@ -471,6 +472,47 @@
 msgid "E916: not a valid job"
 msgstr "E916: nevalida tasko"
 
+msgid "No display"
+msgstr "Neniu ekrano"
+
+msgid ": Send failed.\n"
+msgstr ": Sendo malsukcesis.\n"
+
+msgid ": Send failed. Trying to execute locally\n"
+msgstr ": Sendo malsukcesis. Provo de loka plenumo\n"
+
+#, c-format
+msgid "%d of %d edited"
+msgstr "%d de %d redaktita(j)"
+
+msgid "No display: Send expression failed.\n"
+msgstr "Neniu ekrano: Sendado de esprimo malsukcesis.\n"
+
+msgid ": Send expression failed.\n"
+msgstr ": Sendado de esprimo malsukcesis.\n"
+
+msgid "E240: No connection to the X server"
+msgstr "E240: Neniu konekto al X-servilo"
+
+#, c-format
+msgid "E241: Unable to send to %s"
+msgstr "E241: Ne eblas sendi al %s"
+
+msgid "E277: Unable to read a server reply"
+msgstr "E277: Ne eblas legi respondon de servilo"
+
+msgid "E941: already started a server"
+msgstr "E941: servilo jam lanĉita"
+
+msgid "E942: +clientserver feature not available"
+msgstr "E942: la eblo +clientserver ne disponeblas"
+
+msgid "E258: Unable to send to client"
+msgstr "E258: Ne eblas sendi al kliento"
+
+msgid "Used CUT_BUFFER0 instead of empty selection"
+msgstr "Uzis CUT_BUFFER0 anstataŭ malplenan apartigon"
+
 msgid "tagname"
 msgstr "nomo de etikedo"
 
@@ -692,9 +734,6 @@
 msgid "E719: Cannot use [:] with a Dictionary"
 msgstr "E719: Uzo de [:] ne eblas kun Vortaro"
 
-msgid "E806: using Float as a String"
-msgstr "E806: uzo de Glitpunktnombro kiel Ĉeno"
-
 msgid "E689: Can only index a List, Dictionary or Blob"
 msgstr "E689: Nur eblas indeksi Liston, Vortaron aŭ BLOB-on"
 
@@ -728,87 +767,12 @@
 msgid "E909: Cannot index a special variable"
 msgstr "E909: Ne eblas indeksi specialan variablon"
 
-#, c-format
-msgid "E112: Option name missing: %s"
-msgstr "E112: Mankas nomo de opcio: %s"
-
-msgid "E973: Blob literal should have an even number of hex characters"
-msgstr "E973: BLOB-a literalo devus havi paran nombron de deksesumaj signoj"
-
-#, c-format
-msgid "E114: Missing quote: %s"
-msgstr "E114: Mankas citilo: %s"
-
-#, c-format
-msgid "E115: Missing quote: %s"
-msgstr "E115: Mankas citilo: %s"
-
 msgid "Not enough memory to set references, garbage collection aborted!"
 msgstr "Ne sufiĉa memoro por valorigi referencojn, senrubigado ĉesigita!"
 
 msgid "E724: variable nested too deep for displaying"
 msgstr "E724: variablo ingita tro profunde por vidigi"
 
-msgid "E805: Using a Float as a Number"
-msgstr "E805: Uzo de Glitpunktnombro kiel Nombro"
-
-msgid "E703: Using a Funcref as a Number"
-msgstr "E703: Uzo de Funcref kiel Nombro"
-
-msgid "E745: Using a List as a Number"
-msgstr "E745: Uzo de Listo kiel Nombro"
-
-msgid "E728: Using a Dictionary as a Number"
-msgstr "E728: Uzo de Vortaro kiel Nombro"
-
-msgid "E910: Using a Job as a Number"
-msgstr "E910: Uzo de Tasko kiel Nombro"
-
-msgid "E913: Using a Channel as a Number"
-msgstr "E913: Uzo de Kanalo kiel Nombro"
-
-msgid "E974: Using a Blob as a Number"
-msgstr "E974: Uzo de BLOB-o kiel Nombro"
-
-msgid "E891: Using a Funcref as a Float"
-msgstr "E891: Uzo de Funcref kiel Glitpunktnombro"
-
-msgid "E892: Using a String as a Float"
-msgstr "E892: Uzo de Ĉeno kiel Glitpunktnombro"
-
-msgid "E893: Using a List as a Float"
-msgstr "E893: Uzo de Listo kiel Glitpunktnombro"
-
-msgid "E894: Using a Dictionary as a Float"
-msgstr "E894: Uzo de Vortaro kiel Glitpunktnombro"
-
-msgid "E362: Using a boolean value as a Float"
-msgstr "E362: Uzo de bulea valoro kiel Glitpunktnombro"
-
-msgid "E907: Using a special value as a Float"
-msgstr "E907: Uzo de speciala valoro kiel Glitpunktnombro"
-
-msgid "E911: Using a Job as a Float"
-msgstr "E911: Uzo de Tasko kiel Glitpunktnombro"
-
-msgid "E914: Using a Channel as a Float"
-msgstr "E914: Uzo de Kanalo kiel Glitpunktnombro"
-
-msgid "E975: Using a Blob as a Float"
-msgstr "E975: Uzo de BLOB-o kiel Glitpunktnombro"
-
-msgid "E729: using Funcref as a String"
-msgstr "E729: uzo de Funcref kiel Ĉeno"
-
-msgid "E730: using List as a String"
-msgstr "E730: uzo de Listo kiel Ĉeno"
-
-msgid "E731: using Dictionary as a String"
-msgstr "E731: uzo de Vortaro kiel Ĉeno"
-
-msgid "E976: using Blob as a String"
-msgstr "E976: uzo de BLOB-o kiel Ĉeno"
-
 msgid "E698: variable nested too deep for making a copy"
 msgstr "E698: variablo ingita tro profunde por fari kopion"
 
@@ -819,24 +783,6 @@
 "\n"
 "\tLaste ŝaltita de "
 
-msgid "E977: Can only compare Blob with Blob"
-msgstr "E977: Eblas nur kompari BLOB-on kun BLOB-o"
-
-msgid "E691: Can only compare List with List"
-msgstr "E691: Eblas nur kompari Liston kun Listo"
-
-msgid "E692: Invalid operation for List"
-msgstr "E692: Nevalida operacio de Listoj"
-
-msgid "E735: Can only compare Dictionary with Dictionary"
-msgstr "E735: Eblas nur kompari Vortaron kun Vortaro"
-
-msgid "E736: Invalid operation for Dictionary"
-msgstr "E736: Nevalida operacio de Vortaro"
-
-msgid "E694: Invalid operation for Funcrefs"
-msgstr "E694: Nevalida operacio de Funcref-oj"
-
 msgid "E808: Number or Float required"
 msgstr "E808: Nombro aŭ Glitpunktnombro bezonata"
 
@@ -882,25 +828,6 @@
 msgid "E727: Start past end"
 msgstr "E727: Komenco preter fino"
 
-msgid "E240: No connection to the X server"
-msgstr "E240: Neniu konekto al X-servilo"
-
-#, c-format
-msgid "E241: Unable to send to %s"
-msgstr "E241: Ne eblas sendi al %s"
-
-msgid "E277: Unable to read a server reply"
-msgstr "E277: Ne eblas legi respondon de servilo"
-
-msgid "E941: already started a server"
-msgstr "E941: servilo jam lanĉita"
-
-msgid "E942: +clientserver feature not available"
-msgstr "E942: la eblo +clientserver ne disponeblas"
-
-msgid "E258: Unable to send to client"
-msgstr "E258: Ne eblas sendi al kliento"
-
 #, c-format
 msgid "E962: Invalid action: '%s'"
 msgstr "E962: Nevalida ago: '%s'"
@@ -931,8 +858,8 @@
 msgid "E688: More targets than List items"
 msgstr "E688: Pli da celoj ol Listeroj"
 
-msgid "Double ; in list of variables"
-msgstr "Duobla ; en listo de variabloj"
+msgid "E452: Double ; in list of variables"
+msgstr "E452: Du ; en listo de variabloj"
 
 #, c-format
 msgid "E738: Can't list variables for %s"
@@ -948,10 +875,6 @@
 msgid "E108: No such variable: \"%s\""
 msgstr "E108: Ne estas tia variablo: \"%s\""
 
-#, c-format
-msgid "E940: Cannot lock or unlock variable %s"
-msgstr "E940: Ne eblas ŝlosi aŭ malŝlosi variablon %s"
-
 msgid "E743: variable nested too deep for (un)lock"
 msgstr "E743: variablo ingita tro profunde por (mal)ŝlosi"
 
@@ -1483,6 +1406,9 @@
 msgid "E604: :catch after :finally"
 msgstr "E604: \":catch\" post \":finally\""
 
+msgid "E193: :enddef not inside a function"
+msgstr "E193: \":enddef\" ekster funkcio"
+
 msgid "E193: :endfunction not inside a function"
 msgstr "E193: \":endfunction\" ekster funkcio"
 
@@ -1591,10 +1517,10 @@
 msgstr[1] "%ld linioj, "
 
 #, c-format
-msgid "%lld character"
-msgid_plural "%lld characters"
-msgstr[0] "%lld signo"
-msgstr[1] "%lld signoj"
+msgid "%lld byte"
+msgid_plural "%lld bytes"
+msgstr[0] "%lld bajto"
+msgstr[1] "%lld bajtoj"
 
 msgid "[noeol]"
 msgstr "[sen EOL]"
@@ -1679,6 +1605,9 @@
 msgid "E655: Too many symbolic links (cycle?)"
 msgstr "E655: Tro da simbolaj ligiloj (ĉu estas ciklo?)"
 
+msgid "writefile() first argument must be a List or a Blob"
+msgstr "unua argumento de writefile() devas esti Listo aŭ BLOB-o"
+
 msgid "Select Directory dialog"
 msgstr "Dialogujo de dosiera elekto"
 
@@ -1691,6 +1620,9 @@
 msgid "E338: Sorry, no file browser in console mode"
 msgstr "E338: Bedaŭrinde ne estas dosierfoliumilo en konzola reĝimo"
 
+msgid "no matches"
+msgstr "neniuj kongruoj"
+
 msgid "E854: path too long for completion"
 msgstr "E854: tro longa vojo por kompletigo"
 
@@ -1775,10 +1707,6 @@
 msgid "E599: Value of 'imactivatekey' is invalid"
 msgstr "E599: Valoro de 'imactivatekey' estas nevalida"
 
-#, c-format
-msgid "E254: Cannot allocate color %s"
-msgstr "E254: Ne eblas disponigi koloron %s"
-
 msgid "No match at cursor, finding next"
 msgstr "Neniu kongruo ĉe kursorpozicio, trovas sekvan"
 
@@ -2005,6 +1933,25 @@
 msgid "Font%d width: %d"
 msgstr "Larĝo de font%d: %d"
 
+msgid "E284: Cannot set IC values"
+msgstr "E284: Ne eblas agordi valorojn de IC"
+
+msgid "E285: Failed to create input context"
+msgstr "E285: Kreado de eniga kunteksto malsukcesis"
+
+msgid "E286: Failed to open input method"
+msgstr "E286: Malfermo de eniga metodo malsukcesis"
+
+msgid "E287: Warning: Could not set destroy callback to IM"
+msgstr "E287: Averto: Ne eblis agordi detruan reagfunkcion al IM"
+
+msgid "E288: input method doesn't support any style"
+msgstr "E288: eniga metodo subtenas neniun stilon"
+
+# DP: mi ne scias, kio estas "preedit"
+msgid "E289: input method doesn't support my preedit type"
+msgstr "E289: eniga metodo ne subtenas mian antaŭredaktan tipon"
+
 msgid "Invalid font specification"
 msgstr "Nevalida tiparo specifita"
 
@@ -2169,6 +2116,9 @@
 msgid "E420: BG color unknown"
 msgstr "E420: Nekonata fona koloro"
 
+msgid "E453: UL color unknown"
+msgstr "E453: Nekonata koloro de UL"
+
 #, c-format
 msgid "E421: Color name or number not recognized: %s"
 msgstr "E421: Kolora nomo aŭ nombro nerekonita: %s"
@@ -2193,29 +2143,6 @@
 msgid "E849: Too many highlight and syntax groups"
 msgstr "E849: Tro da emfazaj kaj sintaksaj grupoj"
 
-#, c-format
-msgid "E799: Invalid ID: %d (must be greater than or equal to 1)"
-msgstr "E799: Nevalida ID: %d (devas esti egala aŭ pli granda ol 1)"
-
-#, c-format
-msgid "E801: ID already taken: %d"
-msgstr "E801: ID jam uzata: %d"
-
-msgid "E290: List or number required"
-msgstr "E290: Listo aŭ nombro bezonata"
-
-#, c-format
-msgid "E802: Invalid ID: %d (must be greater than or equal to 1)"
-msgstr "E802: Nevalida ID: %d (devas esti egala aŭ pli granda ol 1)"
-
-#, c-format
-msgid "E803: ID not found: %d"
-msgstr "E803: ID netrovita: %d"
-
-#, c-format
-msgid "E798: ID is reserved for \":match\": %d"
-msgstr "E798: ID estas rezervita por \":match\": %d"
-
 msgid "Add a new database"
 msgstr "Aldoni novan datumbazon"
 
@@ -2701,6 +2628,10 @@
 msgstr "kongruo %d"
 
 #, c-format
+msgid "E491: json decode error at '%s'"
+msgstr "E491: eraro dum json-malkodado: '%s'"
+
+#, c-format
 msgid "E938: Duplicate key in JSON: \"%s\""
 msgstr "E938: Ripetita ŝlosilo en JSON: \"%s\""
 
@@ -2708,14 +2639,16 @@
 msgid "E899: Argument of %s must be a List or Blob"
 msgstr "E899: Argumento de %s devas esti Listo aŭ BLOB-o"
 
+msgid "E900: maxdepth must be non-negative number"
+msgstr "E900: maxdepth ne povas esti negativa nombro"
+
+msgid "flatten() argument"
+msgstr "argumento de flatten()"
+
 #, c-format
 msgid "E696: Missing comma in List: %s"
 msgstr "E696: Mankas komo en Listo: %s"
 
-#, c-format
-msgid "E697: Missing end of List ']': %s"
-msgstr "E697: Mankas fino de Listo ']': %s"
-
 msgid "sort() argument"
 msgstr "argumento de sort()"
 
@@ -3160,25 +3093,6 @@
 msgid "--windowid <HWND>\tOpen Vim inside another win32 widget"
 msgstr "--windowid <HWND>\tMalfermi Vim en alia win32 fenestraĵo"
 
-msgid "No display"
-msgstr "Neniu ekrano"
-
-msgid ": Send failed.\n"
-msgstr ": Sendo malsukcesis.\n"
-
-msgid ": Send failed. Trying to execute locally\n"
-msgstr ": Sendo malsukcesis. Provo de loka plenumo\n"
-
-#, c-format
-msgid "%d of %d edited"
-msgstr "%d de %d redaktita(j)"
-
-msgid "No display: Send expression failed.\n"
-msgstr "Neniu ekrano: Sendado de esprimo malsukcesis.\n"
-
-msgid ": Send expression failed.\n"
-msgstr ": Sendado de esprimo malsukcesis.\n"
-
 #, c-format
 msgid "E224: global abbreviation already exists for %s"
 msgstr "E224: malloka mallongigo jam ekzistas por %s"
@@ -3204,6 +3118,9 @@
 msgid "E228: makemap: Illegal mode"
 msgstr "E228: makemap: Nevalida reĝimo"
 
+msgid "E460: entries missing in mapset() dict argument"
+msgstr "E460: mankas eroj en vortara argumento de mapset()"
+
 #, c-format
 msgid "E357: 'langmap': Matching character missing for %s"
 msgstr "E357: 'langmap': Kongrua signo mankas por %s"
@@ -3240,28 +3157,32 @@
 "\n"
 "ŝanĝo  linio kol teksto"
 
+#, c-format
+msgid "E799: Invalid ID: %d (must be greater than or equal to 1)"
+msgstr "E799: Nevalida ID: %d (devas esti egala aŭ pli granda ol 1)"
+
+#, c-format
+msgid "E801: ID already taken: %d"
+msgstr "E801: ID jam uzata: %d"
+
+msgid "E290: List or number required"
+msgstr "E290: Listo aŭ nombro bezonata"
+
+#, c-format
+msgid "E802: Invalid ID: %d (must be greater than or equal to 1)"
+msgstr "E802: Nevalida ID: %d (devas esti egala aŭ pli granda ol 1)"
+
+#, c-format
+msgid "E803: ID not found: %d"
+msgstr "E803: ID netrovita: %d"
+
+#, c-format
+msgid "E798: ID is reserved for \":match\": %d"
+msgstr "E798: ID estas rezervita por \":match\": %d"
+
 msgid "E543: Not a valid codepage"
 msgstr "E543: Nevalida kodpaĝo"
 
-msgid "E284: Cannot set IC values"
-msgstr "E284: Ne eblas agordi valorojn de IC"
-
-msgid "E285: Failed to create input context"
-msgstr "E285: Kreado de eniga kunteksto malsukcesis"
-
-msgid "E286: Failed to open input method"
-msgstr "E286: Malfermo de eniga metodo malsukcesis"
-
-msgid "E287: Warning: Could not set destroy callback to IM"
-msgstr "E287: Averto: Ne eblis agordi detruan reagfunkcion al IM"
-
-msgid "E288: input method doesn't support any style"
-msgstr "E288: eniga metodo subtenas neniun stilon"
-
-# DP: mi ne scias, kio estas "preedit"
-msgid "E289: input method doesn't support my preedit type"
-msgstr "E289: eniga metodo ne subtenas mian antaŭredaktan tipon"
-
 msgid "E293: block was not locked"
 msgstr "E293: bloko ne estis ŝlosita"
 
@@ -3840,12 +3761,12 @@
 msgid "E767: Too many arguments to printf()"
 msgstr "E767: Tro da argumentoj al printf()"
 
-msgid "Type number and <Enter> or click with mouse (empty cancels): "
+msgid "Type number and <Enter> or click with the mouse (q or empty cancels): "
 msgstr ""
-"Tajpu nombron kaj <Enenklavon> aŭ alklaku per la muso (malpleno rezignas): "
+"Tajpu nombron kaj <Enenklavon> aŭ alklaku per la muso (q aŭ malpleno rezignas): "
 
-msgid "Type number and <Enter> (empty cancels): "
-msgstr "Tajpu nombron kaj <Enenklavon> (malpleno rezignas): "
+msgid "Type number and <Enter> (q or empty cancels): "
+msgstr "Tajpu nombron kaj <Enenklavon> (q aŭ malpleno rezignas): "
 
 #, c-format
 msgid "%ld more line"
@@ -3984,6 +3905,12 @@
 msgstr[1] "%ld linioj ŝanĝitaj"
 
 #, c-format
+msgid "%d line changed"
+msgid_plural "%d lines changed"
+msgstr[0] "%d linio ŝanĝita"
+msgstr[1] "%d linioj ŝanĝitaj"
+
+#, c-format
 msgid "%ld Cols; "
 msgstr "%ld Kolumnoj; "
 
@@ -4416,6 +4343,9 @@
 msgid "shell returned %d"
 msgstr "la ŝelo liveris %d"
 
+msgid "E861: Cannot open a second popup with a terminal"
+msgstr "E861: Ne eblas malfermi duan ŝprucfenestron kun terminalo"
+
 msgid "E450: buffer number, text or a list required"
 msgstr "E450: numero de bufro, teksto aŭ listo bezonata"
 
@@ -4507,6 +4437,9 @@
 msgid "Cannot open file \"%s\""
 msgstr "Ne eblas malfermi dosieron \"%s\""
 
+msgid "cannot have both a list and a \"what\" argument"
+msgstr "ne eblas havi ambaŭ Liston kaj argumenton \"what\""
+
 msgid "E681: Buffer is not loaded"
 msgstr "E681: Bufro ne estas ŝargita"
 
@@ -4562,6 +4495,10 @@
 msgstr "E956: Ne eblas uzi ŝablonon rekursie"
 
 #, c-format
+msgid "E654: missing delimiter after search pattern: %s"
+msgstr "E654: mankas disigilo post ŝablono de serĉo: %s"
+
+#, c-format
 msgid "E554: Syntax error in %s{...}"
 msgstr "E554: Sintaksa eraro en %s{...}"
 
@@ -4643,13 +4580,13 @@
 msgid "E877: (NFA regexp) Invalid character class: %d"
 msgstr "E877: (NFA-regulesprimo) Nevalida klaso de signoj: %d"
 
+msgid "E951: \\% value too large"
+msgstr "E951: tro larĝa valoro de \\%"
+
 #, c-format
 msgid "E867: (NFA) Unknown operator '\\z%c'"
 msgstr "E867: (NFA) Nekonata operatoro '\\z%c'"
 
-msgid "E951: \\% value too large"
-msgstr "E951: tro larĝa valoro de \\%"
-
 #, c-format
 msgid "E867: (NFA) Unknown operator '\\%%%c'"
 msgstr "E867: (NFA) Nekonata operatoro '\\%%%c'"
@@ -4994,9 +4931,6 @@
 msgid " (not supported)"
 msgstr " (nesubtenata)"
 
-msgid "E756: Spell checking is not enabled"
-msgstr "E756: Literumilo ne estas ŝaltita"
-
 #, c-format
 msgid "Warning: Cannot find word list \"%s_%s.spl\" or \"%s_ascii.spl\""
 msgstr "Averto: Ne eblas trovi vortliston \"%s_%s.spl\" aŭ \"%s_ascii.spl\""
@@ -5240,32 +5174,36 @@
 msgstr "Legado de dosiero de vortoj %s..."
 
 #, c-format
-msgid "Duplicate /encoding= line ignored in %s line %d: %s"
-msgstr "Ripetita linio /encoding= ignorita en %s linio %d: %s"
+msgid "Conversion failure for word in %s line %ld: %s"
+msgstr "Malsukceso dum konverto de vorto en %s linio %ld: %s"
 
 #, c-format
-msgid "/encoding= line after word ignored in %s line %d: %s"
-msgstr "Linio /encoding= post vorto ignorita en %s linio %d: %s"
+msgid "Duplicate /encoding= line ignored in %s line %ld: %s"
+msgstr "Ripetita linio /encoding= ignorita en %s linio %ld: %s"
 
 #, c-format
-msgid "Duplicate /regions= line ignored in %s line %d: %s"
-msgstr "Ripetita linio /regions= ignorita en %s linio %d: %s"
+msgid "/encoding= line after word ignored in %s line %ld: %s"
+msgstr "Linio /encoding= post vorto ignorita en %s linio %ld: %s"
 
 #, c-format
-msgid "Too many regions in %s line %d: %s"
-msgstr "Tro da regionoj en %s linio %d: %s"
+msgid "Duplicate /regions= line ignored in %s line %ld: %s"
+msgstr "Ripetita linio /regions= ignorita en %s linio %ld: %s"
 
 #, c-format
-msgid "/ line ignored in %s line %d: %s"
-msgstr "Linio / ignorita en %s linio %d: %s"
+msgid "Too many regions in %s line %ld: %s"
+msgstr "Tro da regionoj en %s linio %ld: %s"
 
 #, c-format
-msgid "Invalid region nr in %s line %d: %s"
-msgstr "Nevalida regiono nr en %s linio %d: %s"
+msgid "/ line ignored in %s line %ld: %s"
+msgstr "Linio / ignorita en %s linio %ld: %s"
 
 #, c-format
-msgid "Unrecognized flags in %s line %d: %s"
-msgstr "Nekonata flago en %s linio %d: %s"
+msgid "Invalid region nr in %s line %ld: %s"
+msgstr "Nevalida regiono nr en %s linio %ld: %s"
+
+#, c-format
+msgid "Unrecognized flags in %s line %ld: %s"
+msgstr "Nekonata flago en %s linio %ld: %s"
 
 #, c-format
 msgid "Ignored %d words with non-ASCII characters"
@@ -5275,8 +5213,8 @@
 msgstr "E845: Ne sufiĉe da memoro, vortlisto estos nekompleta."
 
 #, c-format
-msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
-msgstr "Densigis %d de %d nodoj; %d (%d%%) restantaj"
+msgid "Compressed %s: %ld of %ld nodes; %ld (%ld%%) remaining"
+msgstr "Densigis %s: %ld de %ld nodoj; %ld (%ld%%) restantaj"
 
 msgid "Reading back spell file..."
 msgstr "Relegas la dosieron de literumo..."
@@ -5354,6 +5292,10 @@
 msgid " < \"%.*s\""
 msgstr " < \"%.*s\""
 
+#, c-format
+msgid "E390: Illegal argument: %s"
+msgstr "E390: Nevalida argumento: %s"
+
 msgid "No Syntax items defined for this buffer"
 msgstr "Neniu sintaksa elemento difinita por tiu bufro"
 
@@ -5366,16 +5308,18 @@
 msgid "syntax conceal off"
 msgstr "sintakso de conceal malŝaltita"
 
-#, c-format
-msgid "E390: Illegal argument: %s"
-msgstr "E390: Nevalida argumento: %s"
-
 msgid "syntax case ignore"
 msgstr "sintakso ignoras usklecon"
 
 msgid "syntax case match"
 msgstr "sintakso konsideras usklecon"
 
+msgid "syntax foldlevel start"
+msgstr "agordo de faldo: «syntax foldlevel start»"
+
+msgid "syntax foldlevel minimum"
+msgstr "agordo de faldo: «syntax foldlevel minimum»"
+
 msgid "syntax spell toplevel"
 msgstr "literumado en teksto sen sintaksa grupo"
 
@@ -5387,10 +5331,10 @@
 "literumado en teksto sen sintaksa grupo, nur se ne estas @Spell aŭ @NoSpell"
 
 msgid "syntax iskeyword "
-msgstr "sintakso iskeyword "
+msgstr "emfaza agordo «syntax iskeyword» ŝaltita"
 
 msgid "syntax iskeyword not set"
-msgstr "sintakso iskeyword ne ŝaltita"
+msgstr "emfaza agordo «syntax iskeyword» neŝaltita"
 
 #, c-format
 msgid "E391: No such syntax cluster: %s"
@@ -5694,6 +5638,12 @@
 msgid "E982: ConPTY is not available"
 msgstr "E982: ConPTY ne disponeblas"
 
+msgid ""
+"E856: assert_fails() second argument must be a string or a list with one or "
+"two strings"
+msgstr "E856: dua argumento de assert_fails() devas esti ĉeno aŭ listo kun "
+"unu aŭ du ĉenoj"
+
 #, c-format
 msgid "E971: Property type %s does not exist"
 msgstr "E971: Tipo de eco %s ne ekzistas"
@@ -5718,6 +5668,9 @@
 msgid "E968: Need at least one of 'id' or 'type'"
 msgstr "E968: Bezonas almenaŭ 'id' aŭ 'type'"
 
+msgid "E860: Need 'id' and 'type' with 'both'"
+msgstr "E860: 'id' kaj 'type' kun 'both' bezonata"
+
 #, c-format
 msgid "E969: Property type %s already defined"
 msgstr "E969: tipo de eco %s jam difinita"
@@ -5738,15 +5691,105 @@
 msgstr[0] "antaŭ %ld sekundo"
 msgstr[1] "antaŭ %ld sekundoj"
 
+msgid "E805: Using a Float as a Number"
+msgstr "E805: Uzo de Glitpunktnombro kiel Nombro"
+
+msgid "E703: Using a Funcref as a Number"
+msgstr "E703: Uzo de Funcref kiel Nombro"
+
+msgid "E745: Using a List as a Number"
+msgstr "E745: Uzo de Listo kiel Nombro"
+
+msgid "E728: Using a Dictionary as a Number"
+msgstr "E728: Uzo de Vortaro kiel Nombro"
+
+msgid "E910: Using a Job as a Number"
+msgstr "E910: Uzo de Tasko kiel Nombro"
+
+msgid "E913: Using a Channel as a Number"
+msgstr "E913: Uzo de Kanalo kiel Nombro"
+
+msgid "E974: Using a Blob as a Number"
+msgstr "E974: Uzo de BLOB-o kiel Nombro"
+
+msgid "E891: Using a Funcref as a Float"
+msgstr "E891: Uzo de Funcref kiel Glitpunktnombro"
+
+msgid "E892: Using a String as a Float"
+msgstr "E892: Uzo de Ĉeno kiel Glitpunktnombro"
+
+msgid "E893: Using a List as a Float"
+msgstr "E893: Uzo de Listo kiel Glitpunktnombro"
+
+msgid "E894: Using a Dictionary as a Float"
+msgstr "E894: Uzo de Vortaro kiel Glitpunktnombro"
+
+msgid "E362: Using a boolean value as a Float"
+msgstr "E362: Uzo de bulea valoro kiel Glitpunktnombro"
+
+msgid "E907: Using a special value as a Float"
+msgstr "E907: Uzo de speciala valoro kiel Glitpunktnombro"
+
+msgid "E911: Using a Job as a Float"
+msgstr "E911: Uzo de Tasko kiel Glitpunktnombro"
+
+msgid "E914: Using a Channel as a Float"
+msgstr "E914: Uzo de Kanalo kiel Glitpunktnombro"
+
+msgid "E975: Using a Blob as a Float"
+msgstr "E975: Uzo de BLOB-o kiel Glitpunktnombro"
+
+msgid "E729: using Funcref as a String"
+msgstr "E729: uzo de Funcref kiel Ĉeno"
+
+msgid "E730: using List as a String"
+msgstr "E730: uzo de Listo kiel Ĉeno"
+
+msgid "E731: using Dictionary as a String"
+msgstr "E731: uzo de Vortaro kiel Ĉeno"
+
+msgid "E976: using Blob as a String"
+msgstr "E976: uzo de BLOB-o kiel Ĉeno"
+
+msgid "E977: Can only compare Blob with Blob"
+msgstr "E977: Eblas nur kompari BLOB-on kun BLOB-o"
+
+msgid "E691: Can only compare List with List"
+msgstr "E691: Eblas nur kompari Liston kun Listo"
+
+msgid "E692: Invalid operation for List"
+msgstr "E692: Nevalida operacio de Listoj"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Eblas nur kompari Vortaron kun Vortaro"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Nevalida operacio de Vortaro"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Nevalida operacio de Funcref-oj"
+
+#, c-format
+msgid "E112: Option name missing: %s"
+msgstr "E112: Mankas nomo de opcio: %s"
+
+msgid "E973: Blob literal should have an even number of hex characters"
+msgstr "E973: BLOB-a literalo devus havi paran nombron de deksesumaj signoj"
+
+#, c-format
+msgid "E114: Missing quote: %s"
+msgstr "E114: Mankas citilo: %s"
+
+#, c-format
+msgid "E115: Missing quote: %s"
+msgstr "E115: Mankas citilo: %s"
+
 msgid "new shell started\n"
 msgstr "nova ŝelo lanĉita\n"
 
 msgid "Vim: Error reading input, exiting...\n"
 msgstr "Vim: Eraro dum legado de eniro, elironta...\n"
 
-msgid "Used CUT_BUFFER0 instead of empty selection"
-msgstr "Uzis CUT_BUFFER0 anstataŭ malplenan apartigon"
-
 msgid "E881: Line count changed unexpectedly"
 msgstr "E881: Nombro de linioj ŝanĝiĝis neatendite"
 
@@ -5961,8 +6004,13 @@
 msgid "E853: Duplicate argument name: %s"
 msgstr "E853: Ripetita nomo de argumento: %s"
 
-msgid "E1059: No white space allowed before :"
-msgstr "E1059: Neniu spaceto permesebla antaŭ :"
+#, c-format
+msgid "E1059: No white space allowed before colon: %s"
+msgstr "E1059: Neniu spaceto permesebla antaŭ dupunkto: %s:"
+
+#, c-format
+msgid "E1077: Missing argument type for %s"
+msgstr "E1077: Mankas tipo de argumento por %s"
 
 msgid "E1055: Missing name after ..."
 msgstr "E1055: Mankas nomo post ..."
@@ -5971,6 +6019,10 @@
 msgstr "E989: Ne defaŭlta argumento post defaŭlta argumento"
 
 #, c-format
+msgid "E451: Expected }: %s"
+msgstr "E451: Atendis }: %s"
+
+#, c-format
 msgid "E740: Too many arguments for function %s"
 msgstr "E740: Tro da argumentoj por funkcio: %s"
 
@@ -6023,6 +6075,9 @@
 msgid "E884: Function name cannot contain a colon: %s"
 msgstr "E884: Nomo de funkcio ne povas enhavi dupunkton: %s"
 
+msgid "E454: function list was modified"
+msgstr "E454: listo de funkcioj ŝanĝiĝis"
+
 #, c-format
 msgid "E123: Undefined function: %s"
 msgstr "E123: Nedifinita funkcio: %s"
@@ -6075,6 +6130,10 @@
 msgid "E131: Cannot delete function %s: It is in use"
 msgstr "E131: Ne eblas forviŝi funkcion %s: Estas nuntempe uzata"
 
+#, c-format
+msgid "E1084: Cannot delete Vim9 script function %s"
+msgstr "E1084: Ne eblas forviŝi funkcion de Vim9-skripto: %s"
+
 msgid "E133: :return not inside a function"
 msgstr "E133: \":return\" ekster funkcio"
 
@@ -6231,6 +6290,9 @@
 msgid "with X11-Athena GUI."
 msgstr "kun grafika interfaco X11-Athena."
 
+msgid "with Haiku GUI."
+msgstr "kun grafika interfaco Haiku."
+
 msgid "with Photon GUI."
 msgstr "kun grafika interfaco Photon."
 
@@ -6393,8 +6455,23 @@
 msgid "E1002: Syntax error at %s"
 msgstr "E1002: Sintaksa eraro en %s"
 
-msgid "E1035: wrong argument type for +"
-msgstr "E1035: nevalida tipo de argumento por +"
+#, c-format
+msgid "E1006: %s is used as an argument"
+msgstr "E1006: %s estas uzata kiel argumento"
+
+msgid "E1031: Cannot use void value"
+msgstr "E1031: Ne eblas uzi vakan valoron"
+
+#, c-format
+msgid "E1013: type mismatch, expected %s but got %s"
+msgstr "E1013: miskongruo de tipo, atendis %s sed ricevis %s"
+
+#, c-format
+msgid "E1013: argument %d: type mismatch, expected %s but got %s"
+msgstr "E1013: miskongruo de tipo en argumento %d: atendis %s sed ricevis %s"
+
+msgid "E1051: wrong argument type for +"
+msgstr "E1051: nevalida tipo de argumento por +"
 
 #, c-format
 msgid "E1036: %c requires number or float arguments"
@@ -6408,19 +6485,12 @@
 msgstr "E1037: Ne eblas uzi \"%s\" kun %s"
 
 #, c-format
-msgid "E1037: Cannot compare %s with %s"
-msgstr "E1037: Ne eblas kompari %s kun %s"
+msgid "E1072: Cannot compare %s with %s"
+msgstr "E1072: Ne eblas kompari %s kun %s"
 
 #, c-format
-msgid "E1004: white space required before and after '%s'"
-msgstr "E1004: spacetoj bezonataj ĉirkaŭ '%s'"
-
-#, c-format
-msgid "E1006: %s is used as an argument"
-msgstr "E1006: %s estas uzata kiel argumento"
-
-msgid "E1007: No white space allowed before <"
-msgstr "E1007: Neniu spaceto permesebla antaŭ ol <"
+msgid "E1085: Not a callable type: %s"
+msgstr "E1085: Ne estas alvokebla tipo: %s"
 
 msgid "E1008: Missing <type>"
 msgstr "E1008: Mankas <type>"
@@ -6428,13 +6498,29 @@
 msgid "E1009: Missing > after type"
 msgstr "E1009: Mankas > post tipo"
 
-msgid "E1055: This Vim is not compiled with float support"
-msgstr "E1055: Tiu Vim ne estis kompilita kun glitpunktnombra eblo."
+msgid "E1076: This Vim is not compiled with float support"
+msgstr "E1076: Tiu Vim ne estis kompilita kun glitpunktnombra eblo"
+
+msgid "E1007: mandatory argument after optional argument"
+msgstr "E1007: deviga argumento post nedeviga argumento"
+
+msgid "E740: Too many argument types"
+msgstr "E740: Tro da tipoj de argumento"
 
 #, c-format
 msgid "E1010: Type not recognized: %s"
 msgstr "E1010: Tipo nerekonita: %s"
 
+msgid "E1097: line incomplete"
+msgstr "E1097: nekompleta linio"
+
+#, c-format
+msgid "E1060: expected dot after name: %s"
+msgstr "E1060: atendis punkton post nomo: %s"
+
+msgid "E1074: no white space allowed after dot"
+msgstr "E1074: Neniu spaceto permesebla post punkto"
+
 #, c-format
 msgid "E1050: Item not found: %s"
 msgstr "E1050: Ero netrovita: %s"
@@ -6444,41 +6530,46 @@
 msgstr "E1011: nomo tro longa: %s"
 
 #, c-format
-msgid "E1013: type mismatch, expected %s but got %s"
-msgstr "E1013: miskongruo de tipo, atendis %s sed ricevis %s"
-
-#, c-format
 msgid "E1014: Invalid key: %s"
 msgstr "E1014: Nevalida ŝlosilo: %s"
 
+msgid "[end of lines]"
+msgstr "[fino de linioj]"
+
 #, c-format
 msgid "E1015: Name expected: %s"
 msgstr "E1015: Nomo atendita: %s"
 
+msgid "E1096: Returning a value in a function without a return type"
+msgstr "E1096: liveraĵo en funkcio sen tipo de liveraĵo"
+
 msgid "E1003: Missing return value"
 msgstr "E1003: Mankas liveraĵo"
 
+msgid "global"
+msgstr "malloka variablo"
+
+msgid "buffer"
+msgstr "bufro"
+
+msgid "window"
+msgstr "fenestro"
+
+msgid "tab"
+msgstr "langeto"
+
+msgid "E1092: Cannot use a list for a declaration"
+msgstr "E1092: Ne eblas uzi liston por deklaro"
+
 #, c-format
 msgid "E1052: Cannot declare an option: %s"
 msgstr "E1052: Ne eblas deklari opcion: %s"
 
 #, c-format
-msgid "E1065: Cannot declare an environment variable: %s"
-msgstr "E1065: Ne eblas deklari medivariablon: %s"
-
-#, c-format
 msgid "E1066: Cannot declare a register: %s"
 msgstr "E1066: Ne eblas deklari reĝistron: %s"
 
 #, c-format
-msgid "E1016: Cannot declare a global variable: %s"
-msgstr "E1016: Ne eblas deklari mallokan variablon %s"
-
-#, c-format
-msgid "E1064: Cannot declare a v: variable: %s"
-msgstr "E1064: Ne eblas deklari v:-variablon %s"
-
-#, c-format
 msgid "E1034: Cannot use reserved name %s"
 msgstr "E1034: Ne eblas uzi rezervitan nomon %s"
 
@@ -6495,25 +6586,39 @@
 msgstr "E1054: Variablo jam deklarita en la skripto: %s"
 
 #, c-format
+msgid "E1082: Cannot use a namespaced variable: %s"
+msgstr "E1082: ne eblas uzi variablon en nomspaco: %s"
+
+#, c-format
+msgid "E1089: unknown variable: %s"
+msgstr "E1089: Nekonata variablo: %s"
+
+msgid "E1019: Can only concatenate to string"
+msgstr "E1019: Nur eblas kunmeti al ĉeno"
+
+#, c-format
 msgid "E1020: cannot use an operator on a new variable: %s"
 msgstr "E1020: ne eblas uzi operatoron kun nova variablo: %s"
 
-msgid "E1031: Cannot use void value"
-msgstr "E1031: Ne eblas uzi vakan valoron"
+msgid "E1087: cannot use an index when declaring a variable"
+msgstr "E1087: Ne eblas uzi indekson en deklaro de variablo"
 
-msgid "E1021: const requires a value"
-msgstr "E1021: konstanto bezonas valoron"
+#, c-format
+msgid "E1088: cannot use an index on %s"
+msgstr "E1088: Ne eblas uzi indekson en %s"
 
-msgid "E1022: type or initialization required"
-msgstr "E1022: tipo aŭ pravalorizo bezonata"
+#, c-format
+msgid "E1090: Cannot assign to argument %s"
+msgstr "E1090: Ne eblas valorizi argumenton %s"
+
+#, c-format
+msgid "E1081: Cannot unlet %s"
+msgstr "E1081: Ne eblas uzi \"unlet %s\""
 
 #, c-format
 msgid "E1023: variable already defined: %s"
 msgstr "E1023: variablo jam difinita: %s"
 
-msgid "E1024: need a List to iterate over"
-msgstr "E1024: Listo bezonata por iteracii"
-
 msgid "E1033: catch unreachable after catch-all"
 msgstr "E1033: kaptokodobloko neatingebla post kapto de ĉiuj esceptoj"
 
@@ -6524,36 +6629,64 @@
 msgid "E1032: missing :catch or :finally"
 msgstr "E1032: mankas :catch aŭ :finally"
 
+msgid "E1083: missing backtick"
+msgstr "E1083: Mankas malapostrofo"
+
 #, c-format
 msgid "E488: Trailing characters: %s"
 msgstr "E488: Vostaj signoj: %s"
 
+msgid "E1025: using } outside of a block scope"
+msgstr "E1025: uzo de } ekster amplekso de kodbloko"
+
+msgid "E1095: Unreachable code after :return"
+msgstr "E1095: Neatingebla fontkodo post :return"
+
+msgid "E1086: Cannot use :function inside :def"
+msgstr "E1086: Ne eblas uzi \":function\" en \":def\""
+
+#, c-format
+msgid "E476: Invalid command: %s"
+msgstr "E476: Nevalida komando: %s"
+
 msgid "E1026: Missing }"
 msgstr "E1026: Mankas }"
 
 msgid "E1027: Missing return statement"
 msgstr "E1027: Mankas revenordono"
 
-#, c-format
-msgid "E121: Undefined variable: g:%s"
-msgstr "E121: Nedifinita variablo: g:%s"
+msgid "E1028: compile_def_function failed"
+msgstr "E1028: compile_def_function malsukcesis"
 
 #, c-format
-msgid "E1060: Invalid environment variable name: %s"
-msgstr "E1060: Nevalida nomo de medivariablo: %s"
+msgid "E1091: Function is not compiled: %s"
+msgstr "E1091: Netradukita funkcio: %s"
 
-msgid "E1051: Expected string or number"
-msgstr "E1051: Atendis ĉenon aŭ nombron"
+#, c-format
+msgid "E121: Undefined variable: %c:%s"
+msgstr "E121: Nedifinita variablo: %c:%s"
 
 #, c-format
 msgid "E1029: Expected %s but got %s"
 msgstr "E1029: Atendis %s sed ricevis %s"
 
+#, c-format
+msgid "E1093: Expected %d items but got %d"
+msgstr "E1093: Atendis %d eroj sed ricevis %d"
+
+#, c-format
+msgid "E1061: Cannot find function %s"
+msgstr "E1061: Ne eblas trovi funkcion: %s"
+
+#, c-format
+msgid "E1062: Function %s is not compiled"
+msgstr "E1062: Funkcio %s ne estas tradukita"
+
 msgid "E1030: Using a String as a Number"
 msgstr "E1030: Uzo de Ĉeno kiel Nombro"
 
-msgid "E1042: import/export can only be used in vim9script"
-msgstr "E1042: importo/eksporto nur uzeblas en vim9script"
+msgid "E1042: export can only be used in vim9script"
+msgstr "E1042: eksporto nur uzeblas en vim9script"
 
 msgid "E1038: vim9script can only be used in a script"
 msgstr "E1038: :vim9script nur uzeblas en skripto"
@@ -6567,18 +6700,8 @@
 msgid "E1043: Invalid command after :export"
 msgstr "E1043: Nevalida komando post :export"
 
-msgid "E1045: Missing \"as\" after *"
-msgstr "E1045: Mankas \"as\" post *"
-
-msgid "E1045: Missing \"from\""
-msgstr "E1045: Mankas \"from\""
-
-msgid "E1045: Invalid string after \"from\""
-msgstr "E1045: Nevalida ĉeno post \"from\""
-
-#, c-format
-msgid "E1053: Could not import \"%s\""
-msgstr "E1053: Ne eblis importi \"%s\""
+msgid "E1094: import can only be used in a script"
+msgstr "E1094: importo nur uzeblas en skripto"
 
 #, c-format
 msgid "E1049: Item not exported in script: %s"
@@ -6588,11 +6711,24 @@
 msgid "E1048: Item not found in script: %s"
 msgstr "E1048: Ero ne trovita en skripto: %s"
 
+msgid "E1047: syntax error in import"
+msgstr "E1047: Sintaksa eraro en importo"
+
 msgid "E1046: Missing comma in import"
 msgstr "E1046: Mankas komo en importo"
 
-msgid "E1047: syntax error in import"
-msgstr "E1047: Sintaksa eraro en importo"
+msgid "E1045: Missing \"as\" after *"
+msgstr "E1045: Mankas \"as\" post *"
+
+msgid "E1070: Missing \"from\""
+msgstr "E1070: Mankas \"from\""
+
+msgid "E1071: Invalid string after \"from\""
+msgstr "E1071: Nevalida ĉeno post \"from\""
+
+#, c-format
+msgid "E1053: Could not import \"%s\""
+msgstr "E1053: Ne eblis importi \"%s\""
 
 msgid ""
 "\n"
@@ -6723,8 +6859,8 @@
 msgstr "# Valoro de 'encoding' kiam tiu dosiero estis kreita\n"
 
 #, c-format
-msgid "Reading viminfo file \"%s\"%s%s%s"
-msgstr "Legado de dosiero viminfo \"%s\"%s%s%s"
+msgid "Reading viminfo file \"%s\"%s%s%s%s"
+msgstr "Legado de dosiero viminfo \"%s\"%s%s%s%s"
 
 msgid " info"
 msgstr " informo"
@@ -6783,9 +6919,6 @@
 msgid "E444: Cannot close last window"
 msgstr "E444: Ne eblas fermi la lastan fenestron"
 
-msgid "E813: Cannot close autocmd or popup window"
-msgstr "E813: Ne eblas fermi la ŝprucfenestron aŭ fenestron de aŭtokomandoj"
-
 msgid "E814: Cannot close window, only autocmd window would remain"
 msgstr "E814: Ne eblas fermi fenestron, nur la fenestro de aŭtokomandoj restus"
 
@@ -6948,6 +7081,9 @@
 msgid "E17: \"%s\" is a directory"
 msgstr "E17: \"%s\" estas dosierujo"
 
+msgid "E756: Spell checking is not possible"
+msgstr "E756: malpermesata literumilo"
+
 #, c-format
 msgid "E364: Library call failed for \"%s()\""
 msgstr "E364: Alvoko al biblioteko malsukcesis por \"%s()\""
@@ -7156,10 +7292,17 @@
 msgid "E714: List required"
 msgstr "E714: Listo bezonata"
 
+msgid "E1090: List, Dict or Blob required"
+msgstr "E1090: Listo, Vortaro aŭ BLOB-o bezonata"
+
 msgid "E897: List or Blob required"
 msgstr "E897: Listo aŭ BLOB-o bezonata"
 
 #, c-format
+msgid "E697: Missing end of List ']': %s"
+msgstr "E697: Mankas fino de Listo ']': %s"
+
+#, c-format
 msgid "E712: Argument of %s must be a List or Dictionary"
 msgstr "E712: Argumento de %s devas esti Listo aŭ Vortaro"
 
@@ -7183,6 +7326,14 @@
 msgid "E18: Unexpected characters in :let"
 msgstr "E18: Neatenditaj signoj en \":let\""
 
+#, c-format
+msgid "E998: Reduce of an empty %s with no initial value"
+msgstr "E998: Redukto de malplena %s sen komenca valoro"
+
+#, c-format
+msgid "E857: Dictionary key \"%s\" required"
+msgstr "E857: Ŝlosilo \"%s\" de vortaro bezonata"
+
 msgid "E47: Error while reading errorfile"
 msgstr "E47: Eraro dum legado de erardosiero"
 
@@ -7192,6 +7343,12 @@
 msgid "E523: Not allowed here"
 msgstr "E523: Nepermesebla tie"
 
+msgid "E578: Not allowed to change text here"
+msgstr "E578: ŝanĝo de teksto nepermesebla tie"
+
+msgid "E565: Not allowed to change text or change window"
+msgstr "E565: Ne eblas ŝanĝi tekston aŭ fenestron"
+
 msgid "E359: Screen mode setting not supported"
 msgstr "E359: Reĝimo de ekrano ne subtenata"
 
@@ -7301,6 +7458,9 @@
 msgid "E850: Invalid register name"
 msgstr "E850: Nevalida nomo de reĝistro"
 
+msgid "E806: using Float as a String"
+msgstr "E806: uzo de Glitpunktnombro kiel Ĉeno"
+
 #, c-format
 msgid "E919: Directory not found in '%s': \"%s\""
 msgstr "E919: Dosierujo ne trovita en '%s': \"%s\""
@@ -7308,6 +7468,9 @@
 msgid "E952: Autocommand caused recursive behavior"
 msgstr "E952: Aŭtokomandoj kaŭzis rekursian konduton"
 
+msgid "E813: Cannot close autocmd or popup window"
+msgstr "E813: Ne eblas fermi la ŝprucfenestron aŭ fenestron de aŭtokomandoj"
+
 msgid "E328: Menu only exists in another mode"
 msgstr "E328: Menuo nur ekzistas en alia reĝimo"
 
@@ -7349,6 +7512,43 @@
 msgid "E274: No white space allowed before parenthesis"
 msgstr "E274: Neniu spaceto permesebla antaŭ ol komenca krampo"
 
+#, c-format
+msgid "E1004: white space required before and after '%s'"
+msgstr "E1004: spacetoj bezonataj ĉirkaŭ '%s'"
+
+#, c-format
+msgid "E1069: white space required after '%s'"
+msgstr "E1069: spaceto bezonata post '%s'"
+
+#, c-format
+msgid "E1068: No white space allowed before '%s'"
+msgstr "E1068: Neniu spaceto permesebla antaŭ '%s'"
+
+#, c-format
+msgid "E940: Cannot lock or unlock variable %s"
+msgstr "E940: Ne eblas ŝlosi aŭ malŝlosi variablon %s"
+
+msgid "E1021: const requires a value"
+msgstr "E1021: konstanto bezonas valoron"
+
+msgid "E1022: type or initialization required"
+msgstr "E1022: tipo aŭ pravalorizo bezonata"
+
+#, c-format
+msgid "E1016: Cannot declare a %s variable: %s"
+msgstr "E1016: Ne eblas deklari %s-variablon: %s"
+
+#, c-format
+msgid "E1016: Cannot declare an environment variable: %s"
+msgstr "E1016: Ne eblas deklari medivariablon: %s"
+
+msgid "E1050: Colon required before a range"
+msgstr "E1050: Dupunkto bezonata antaŭ amplekso"
+
+#, c-format
+msgid "E254: Cannot allocate color %s"
+msgstr "E254: Ne eblas disponigi koloron %s"
+
 msgid "search hit TOP, continuing at BOTTOM"
 msgstr "serĉo atingis SUPRON, daŭrigonte al SUBO"