changeset 21499:3a1ed539ae2a

Update runtime files. Commit: https://github.com/vim/vim/commit/2547aa930b59f5e2bcb70e81d5a57ed461e59b4f Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jul 26 17:00:44 2020 +0200 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Sun, 26 Jul 2020 17:15:05 +0200
parents 134699e667ee
children 574517d682cf
files runtime/autoload/decada.vim runtime/doc/arabic.txt runtime/doc/change.txt runtime/doc/cmdline.txt runtime/doc/digraph.txt runtime/doc/eval.txt runtime/doc/ft_sql.txt runtime/doc/map.txt runtime/doc/mbyte.txt runtime/doc/options.txt runtime/doc/os_unix.txt runtime/doc/repeat.txt runtime/doc/rileft.txt runtime/doc/sign.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/testing.txt runtime/doc/todo.txt runtime/doc/usr_27.txt runtime/doc/usr_90.txt runtime/doc/version6.txt runtime/doc/vim-da.1 runtime/doc/vim-da.UTF-8.1 runtime/doc/vim-fr.1 runtime/doc/vim-fr.UTF-8.1 runtime/doc/vim-it.1 runtime/doc/vim-it.UTF-8.1 runtime/doc/vim-pl.1 runtime/doc/vim-pl.UTF-8.1 runtime/doc/vim-tr.1 runtime/doc/vim-tr.UTF-8.1 runtime/doc/vim.1 runtime/doc/vim.man runtime/doc/vim9.txt runtime/ftplugin/cpp.vim runtime/ftplugin/diff.vim runtime/ftplugin/vim.vim runtime/indent/vim.vim runtime/pack/dist/opt/termdebug/plugin/termdebug.vim runtime/syntax/aidl.vim runtime/syntax/tex.vim runtime/syntax/vim.vim runtime/tutor/tutor.eo runtime/tutor/tutor.eo.utf-8 src/po/eo.po
diffstat 45 files changed, 793 insertions(+), 499 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/decada.vim
+++ b/runtime/autoload/decada.vim
@@ -25,7 +25,7 @@ function decada#Unit_Name () dict				   
     "	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
 
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -77,7 +77,7 @@ Arabic requires ISO-8859-6 as well as Pr
 (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 @@ o  Setting the appropriate character Enc
 >
 		: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.
 
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1755,7 +1755,7 @@ Some examples:
 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
--- 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
--- 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 @@ 1. Defining digraphs					*digraphs-defin
 			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.
--- 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:mouse_col	Column number for a mouse cl
 					*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 @@ The argument default expressions are eva
 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.
--- a/runtime/doc/ft_sql.txt
+++ b/runtime/doc/ft_sql.txt
@@ -312,7 +312,7 @@ can create any of the following: >
 	$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 @@ beginning with those characters.  >
  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 platform (often a case on *nix) you
 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
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -843,11 +843,10 @@ When modifyOtherKeys is enabled you can 
 	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.
--- a/runtime/doc/mbyte.txt
+++ b/runtime/doc/mbyte.txt
@@ -128,7 +128,7 @@ There are several ways to enter multi-by
 - 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 @@ in, or just use a certain locale inside 
 
 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 @@ input_server_name	is your |IM-server| na
 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 @@ automatically.
 
 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
--- 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 @@ A jump table for the options with a shor
 					on Amiga: "amiga"
 					on Haiku: "xterm"
 					  on Mac: "mac-ansi"
-					 on MiNT: "vt52"
 					 on Unix: "ansi"
 					  on VMS: "ansi"
 				       on Win 32: "win32")
--- a/runtime/doc/os_unix.txt
+++ b/runtime/doc/os_unix.txt
@@ -30,8 +30,8 @@ can be changed at compile time.
 
 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
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -642,7 +642,7 @@ 6. Creating Vim packages				*package-cre
 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`.
 
--- a/runtime/doc/rileft.txt
+++ b/runtime/doc/rileft.txt
@@ -69,7 +69,7 @@ o  Invocations
    + '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.
 
--- a/runtime/doc/sign.txt
+++ b/runtime/doc/sign.txt
@@ -78,7 +78,7 @@ used by popup windows where 'cursorline'
 							*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
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1937,7 +1937,7 @@ new highlightings for the following grou
     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
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1979,6 +1979,7 @@ 90.5	usr_90.txt	/*90.5*
 :<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 @@ 90.5	usr_90.txt	/*90.5*
 <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 @@ E1050	vim9.txt	/*E1050*
 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 @@ no_plugin_maps	filetype.txt	/*no_plugin_
 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*
--- 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
--- 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 @@ browser use: https://github.com/vim/vim/
 -------------------- 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 @@ Making everything work:
 - 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 @@ Making everything work:
 - 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 @@ Further improvements:
 
 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 debugger:
 
 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 @@ Terminal emulator window:
   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 @@ autocommands for the buffer lifecycle:
     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 @@ Add the <=> (spaceship) operator and "co
 	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 @@ Test loose_clipboard() by selecting text
 
 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 @@ behavior of i_CTRl-R_CTRL-R differs from
 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 @@ Szamotulski, 2012 Nov 8)
 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
--- a/runtime/doc/usr_27.txt
+++ b/runtime/doc/usr_27.txt
@@ -434,7 +434,7 @@ redefined without changing the search pa
 
 	/\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
--- a/runtime/doc/usr_90.txt
+++ b/runtime/doc/usr_90.txt
@@ -226,7 +226,7 @@ We will use "82" here, which is version 
 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.
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -7882,7 +7882,7 @@ Files:	    src/buffer.c, src/ex_cmds.c, 
 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.
--- a/runtime/doc/vim-da.1
+++ b/runtime/doc/vim-da.1
@@ -147,7 +147,7 @@ Se ":help search\-pattern" for tilgngelige sgemnstre.
 {kommando} fortolkes som en Ex-kommando.
 Hvis {kommando} indeholder mellemrum, s skal den omsluttes af
 dobbelte citationstegn (det afhnger af den skal der bruges).
-Eksempel: Vim "+set si" main.c
+Eksempel: vim "+set si" main.c
 .br
 Bemrk: Du kan bruge op til 10 "+"- eller "\-c"-kommandoer.
 .TP
--- a/runtime/doc/vim-da.UTF-8.1
+++ b/runtime/doc/vim-da.UTF-8.1
@@ -147,7 +147,7 @@ Se ":help search\-pattern" for tilgængelige søgemønstre.
 {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
--- a/runtime/doc/vim-fr.1
+++ b/runtime/doc/vim-fr.1
@@ -156,7 +156,7 @@ Excute {commande} aprs la lecture du premier fichier.
 {commande} est interprte comme une commande Ex.
 Si la {commande} contient des espaces, elle doit tre entoure
 de doubles-apostrophes (cela dpend 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
--- a/runtime/doc/vim-fr.UTF-8.1
+++ b/runtime/doc/vim-fr.UTF-8.1
@@ -156,7 +156,7 @@ Exécute {commande} après la lecture du premier fichier.
 {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
--- a/runtime/doc/vim-it.1
+++ b/runtime/doc/vim-it.1
@@ -150,7 +150,7 @@ primo file  stato letto.
 {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
--- a/runtime/doc/vim-it.UTF-8.1
+++ b/runtime/doc/vim-it.UTF-8.1
@@ -150,7 +150,7 @@ primo file è stato letto.
 {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
--- a/runtime/doc/vim-pl.1
+++ b/runtime/doc/vim-pl.1
@@ -150,7 +150,7 @@ wzorce wyszukiwania.
 {polecenie} jest interpretowane jako polecenie Ex.
 Jeli {poleceni} zawiera biae znaki musi by umieszczone w podwjnych
 cudzysowach (zaley to od uywanej powoki).
-Przykad: Vim "+set si" main.c
+Przykad: vim "+set si" main.c
 .br
 Uwaga: Mona uy do 10 polece "+" lub "\-c".
 .TP
--- a/runtime/doc/vim-pl.UTF-8.1
+++ b/runtime/doc/vim-pl.UTF-8.1
@@ -150,7 +150,7 @@ wzorce wyszukiwania.
 {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
--- a/runtime/doc/vim-tr.1
+++ b/runtime/doc/vim-tr.1
@@ -145,7 +145,7 @@ Kullanlabilir arama dizgileri iin ":help search\-pattern" yazn.
 {komut} bir Ex komutu olarak iletilir.
 Eer {komut} boluk ieriyorsa ift trnak ierisine alnmaldr (bu
 kullanlan kabua baldr).
-rnek: Vim "+set si" main.c
+rnek: vim "+set si" main.c
 .br
 Not: 10 taneye kadar "+" veya "\-c" komutu kullanabilirsiniz.
 .TP
--- a/runtime/doc/vim-tr.UTF-8.1
+++ b/runtime/doc/vim-tr.UTF-8.1
@@ -145,7 +145,7 @@ Kullanılabilir arama dizgileri için ":help search\-pattern" yazın.
 {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
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -146,7 +146,7 @@ See ":help search\-pattern" for the avai
 {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
--- a/runtime/doc/vim.man
+++ b/runtime/doc/vim.man
@@ -110,7 +110,7 @@ OPTIONS
                    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.
--- 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 @@ To intentionally avoid a variable being 
 	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 @@ Global variables and user defined functi
 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 @@ Using `:call` is still possible, but thi
 
 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 @@ possible just before or after the operat
 			? 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 @@ THIS IS STILL UNDER DEVELOPMENT - ANYTHI
 			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 @@ Not supported yet:
 	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 @@ The original value of 'cpoptions' is res
 
 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.
 
--- 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<'
--- 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 @@ let b:undo_ftplugin = "setl modeline<"
 
 " 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"
--- 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 @@ endif
 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]\>,' .
 	\ '{:},' .
--- 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 @@ let b:did_indent = 1
 
 setlocal indentexpr=GetVimIndent()
 setlocal indentkeys+==end,=},=else,=cat,=fina,=END,0\\,0=\"\\\ 
+setlocal indentkeys-=0#
 
 let b:undo_indent = "setl indentkeys< indentexpr<"
 
--- 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
new file mode 100644
--- /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"
--- 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 @@ if exists("g:tex_nospell") && g:tex_nosp
 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 @@ if !exists("g:tex_no_math")
  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 @@ if has("conceal") && &enc == 'utf-8'
     \ ['ldots'		, '…'],
     \ ['le'		, '≤'],
     \ ['left|'		, '|'],
-    \ ['left\|'		, '‖'],
+    \ ['left\\|'	, '‖'],
     \ ['left('		, '('],
     \ ['left\['		, '['],
     \ ['left\\{'	, '{'],
--- 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 match   vimCommand contained	"\<z[-+
 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 @@ syn keyword vimErrSetting contained	bios
 
 " 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 match vimHLGroup contained	"Conceal"
 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	+\<endif\s\+".*$+lc
 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 case match
 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	vimHiGuiFontname	contained	"'[
 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	vimHiTerm	contained	"\cterm="h
 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 @@ syn match	vimCtrlChar	"[--]"
 " 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 @@ if !exists("skip_vim_syntax_inits")
  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
--- a/runtime/tutor/tutor.eo
+++ b/runtime/tutor/tutor.eo
@@ -7,7 +7,7 @@
    fasonita por priskribi sufiajn komandojn, por ke vi kapablu uzi Vim
    kun sufia 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 @@ RIMARKO: Trairante la instruilon, ne pro
   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 @@ Nun darigu al la leciono 2.
 
   1. Premu  <ESK>  por certigi, ke vi estas en normala reimo.
 
-  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 forviendas.
 
@@ -225,7 +225,7 @@ Nun darigu al la leciono 2.
 
   1. Premu  <ESK>  por certigi, ke vi estas en normala reimo.
 
-  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 @@ RIMARKO: Premo de nur la movo en Normala reimo sen operatoro movos
 
   1. Movu la kursoron e la unua MAJUSKLA vorto en la linio markita per --->.
 
-  2. Tajpu  d2w  por forvii la du MAJUSKLAJN vortojn
+  2. Tajpu  d2w  por forvii la du MAJUSKLAJN vortojn.
 
   3. Ripetu paojn 1 is 2 per malsama nombro por forvii 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 @@ RIMARKO: Premo de nur la movo en Normala reimo sen operatoro movos
 
     ** Tajpu  p  por meti tekston forviitan antae 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 forvii la linion kaj konservi in ene de reistro de Vim.
 
@@ -652,7 +652,7 @@ RIMARKO: Se vi volus eliri el Vim kaj restartigi in denove per  vim TESTO,
          la dosiero estus precize same kiel kopio de la instruilo kiam vi
          konservis in.
 
-  5. Nun forviu la dosieron tajpante (WINDOWS):    :!del TESTO
+  5. Nun forviu la dosieron tajpante (VINDOZO):    :!del TESTO
                                    a (UNIKSO):     :!rm TESTO
 
 
@@ -713,7 +713,7 @@ RIMARKO: Vi nun povas legi la eliron de 
   1.  :!komando  plenumas eksteran komandon.
 
       Iuj utilaj ekzemploj estas:
-        (WINDOWS)          (UNIKSO)
+        (VINDOZO)          (UNIKSO)
          :!dir              :!ls            - listigas dosierujon
          :!del DOSIERNOMO   :!rm DOSIERNOMO - forvias la dosieron DOSIERNOMO
 
@@ -808,7 +808,7 @@ RIMARKO: Anstataiga reimo estas same kiel Enmeta reimo, sed iu signo
      ** 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 reimon per  v  kaj movu la kursoron tuj anta "unua".
 
@@ -914,7 +914,7 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu sera komando, uzu  \c
 
   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 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu sera komando, uzu  \c
 
   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 @@ RIMARKO: Kompletigo funkcias por multaj 
 
   Esperantigita fare de Dominique Pell, 2008-04-01
   Retpoto: dominique.pelle@gmail.com
-  Lasta ano: 2018-12-02
+  Lasta ano: 2020-07-19
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- 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 @@ RIMARKO: Trairante la instruilon, ne pro
   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 @@ Nun daŭrigu al la leciono 2.
 
   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 @@ Nun daŭrigu al la leciono 2.
 
   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 @@ RIMARKO: Premo de nur la movo en Normala reĝimo sen operatoro movos
 
   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 @@ RIMARKO: Premo de nur la movo en Normala reĝimo sen operatoro movos
 
     ** 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 @@ RIMARKO: Se vi volus eliri el Vim kaj restartigi ĝin denove per  vim TESTO,
          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 @@ RIMARKO: Vi nun povas legi la eliron de 
   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 @@ RIMARKO: Anstataŭiga reĝimo estas same kiel Enmeta reĝimo, sed ĉiu signo
      ** 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 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu  \c
 
   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 @@ RIMARKO: Se vi deziras ignori usklecon por nur unu serĉa komando, uzu  \c
 
   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 @@ RIMARKO: Kompletigo funkcias por multaj 
 
   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
 
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
--- a/src/po/eo.po
+++ b/src/po/eo.po
@@ -17,8 +17,8 @@ msgid ""
 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 @@ msgstr "[Modifita]"
 msgid "[Not edited]"
 msgstr "[Ne redaktita]"
 
-msgid "[New file]"
-msgstr "[Nova dosiero]"
-
 msgid "[Read errors]"
 msgstr "[Eraroj de legado]"
 
@@ -287,6 +284,12 @@ msgstr "AVERTO: La dosiero estas ŝanĝita de post kiam ĝi estis legita!!!"
 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 @@ msgstr "[konvertita]"
 msgid "[Device]"
 msgstr "[Aparatdosiero]"
 
-msgid "[New]"
-msgstr "[Nova]"
-
-msgid "[New File]"
-msgstr "[Nova dosiero]"
-
 msgid " [a]"
 msgstr " [a]"
 
@@ -421,12 +418,16 @@ msgstr "W10: Averto: Ŝanĝo de nurlegebla dosiero"
 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 @@ msgstr "E918: bufro devas esti ŝargita: %s"
 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 @@ msgstr "E791: Malplena rikordo en klavma
 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 @@ msgstr "E695: Ne eblas indeksi Funcref"
 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 @@ msgstr ""
 "\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 @@ msgstr "E726: Paŝo estas nul"
 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 @@ msgstr "E687: Malpli da celoj ol Listero
 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 @@ msgstr "E996: Ne eblas ŝlosi reĝistron"
 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 @@ msgstr "E601: \":try\" ingita tro profun
 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[0] "%ld linio, "
 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 @@ msgstr "<malplena>"
 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 @@ msgstr "Dialogujo de dosiera malfermo"
 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 @@ msgstr "E231: 'guifontwide' nevalida"
 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 @@ msgstr "Larĝo de font0: %d"
 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 @@ msgstr "E419: Nekonata malfona koloro"
 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 @@ msgstr "W18: Nevalida signo en nomo de g
 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 @@ msgid "match %d"
 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 @@ msgstr "E938: Ripetita ŝlosilo en JSON: \"%s\""
 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 @@ msgstr "-P <gepatra titolo>\tMalfermi Vim en gepatra aplikaĵo"
 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 @@ msgstr "Neniu mapo trovita"
 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 @@ msgstr ""
 "\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 @@ msgstr "E807: Atendis Glitpunktnombron k
 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): "
-msgstr ""
-"Tajpu nombron kaj <Enenklavon> aŭ alklaku per la muso (malpleno rezignas): "
-
-msgid "Type number and <Enter> (empty cancels): "
-msgstr "Tajpu nombron kaj <Enenklavon> (malpleno rezignas): "
+msgid "Type number and <Enter> or click with the mouse (q or empty cancels): "
+msgstr ""
+"Tajpu nombron kaj <Enenklavon> aŭ alklaku per la muso (q aŭ 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[0] "%ld linio ŝanĝita"
 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 @@ msgstr "Averto de Vim"
 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 @@ msgstr "E683: Dosiernomo mankas aŭ nevalida ŝablono"
 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 @@ msgid "E956: Cannot use pattern recursiv
 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 @@ msgstr "E866: (NFA-regulesprimo) Mispozi
 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 @@ msgstr "  (NETROVITA)"
 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 @@ msgid "Reading word file %s..."
 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"
-
-#, c-format
-msgid "/encoding= line after word ignored in %s line %d: %s"
-msgstr "Linio /encoding= post vorto ignorita en %s linio %d: %s"
-
-#, c-format
-msgid "Duplicate /regions= line ignored in %s line %d: %s"
-msgstr "Ripetita linio /regions= ignorita en %s linio %d: %s"
-
-#, c-format
-msgid "Too many regions in %s line %d: %s"
-msgstr "Tro da regionoj en %s linio %d: %s"
-
-#, c-format
-msgid "/ line ignored in %s line %d: %s"
-msgstr "Linio / ignorita en %s linio %d: %s"
-
-#, c-format
-msgid "Invalid region nr in %s line %d: %s"
-msgstr "Nevalida regiono nr en %s linio %d: %s"
-
-#, c-format
-msgid "Unrecognized flags in %s line %d: %s"
-msgstr "Nekonata flago 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 "Duplicate /encoding= line ignored in %s line %ld: %s"
+msgstr "Ripetita linio /encoding= ignorita en %s linio %ld: %s"
+
+#, c-format
+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 "Duplicate /regions= line ignored in %s line %ld: %s"
+msgstr "Ripetita linio /regions= ignorita en %s linio %ld: %s"
+
+#, c-format
+msgid "Too many regions in %s line %ld: %s"
+msgstr "Tro da regionoj en %s linio %ld: %s"
+
+#, c-format
+msgid "/ line ignored in %s line %ld: %s"
+msgstr "Linio / ignorita en %s linio %ld: %s"
+
+#, c-format
+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 @@ msgid "E845: Insufficient memory, word l
 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 @@ msgstr "Anstataŭigi \"%.*s\" per:"
 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 @@ msgstr "sintakso de conceal ŝaltata"
 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 @@ msgstr ""
 "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 @@ msgstr "E955: Ne estas bufro de terminal
 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 @@ msgstr "E967: difekta informo de eco de 
 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 @@ msgid_plural "%ld seconds ago"
 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 @@ msgstr "E125: Nevalida argumento: %s"
 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 @@ msgid "E989: Non-default argument follow
 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 @@ msgstr "E128: Nomo de funkcio devas eki per majusklo aŭ per \"s:\": %s"
 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 @@ msgstr "E746: Nomo de funkcio ne kongrua
 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 @@ msgstr "kun grafika interfaco X11-neXtaw
 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 @@ msgstr "E1001: variablo ne trovita: %s"
 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 @@ msgid "E1037: Cannot use \"%s\" with %s"
 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"
-
-#, 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 "E1072: Cannot compare %s with %s"
+msgstr "E1072: Ne eblas kompari %s kun %s"
+
+#, c-format
+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 @@ msgstr "E1008: Mankas <type>"
 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 @@ msgid "E1011: name too long: %s"
 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 @@ msgid "E1054: Variable already declared 
 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 "E1021: const requires a value"
-msgstr "E1021: konstanto bezonas valoron"
-
-msgid "E1022: type or initialization required"
-msgstr "E1022: tipo aŭ pravalorizo bezonata"
+msgid "E1087: cannot use an index when declaring a variable"
+msgstr "E1087: Ne eblas uzi indekson en deklaro de variablo"
+
+#, c-format
+msgid "E1088: cannot use an index on %s"
+msgstr "E1088: Ne eblas uzi indekson en %s"
+
+#, 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 @@ msgstr "E1067: Nekongrua disigilo: %s"
 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"
-
-#, c-format
-msgid "E1060: Invalid environment variable name: %s"
-msgstr "E1060: Nevalida nomo de medivariablo: %s"
-
-msgid "E1051: Expected string or number"
-msgstr "E1051: Atendis ĉenon aŭ nombron"
+msgid "E1028: compile_def_function failed"
+msgstr "E1028: compile_def_function malsukcesis"
+
+#, c-format
+msgid "E1091: Function is not compiled: %s"
+msgstr "E1091: Netradukita funkcio: %s"
+
+#, 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 @@ msgstr "E1044: eksporto kun nevalida arg
 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 @@ msgstr "E1049: Ero ne estas eksportita e
 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 @@ msgid "# Value of 'encoding' when this f
 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 @@ msgstr "E443: Ne eblas rotacii kiam alia
 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 @@ msgstr "E476: Nevalida komando"
 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 @@ msgstr "E716: Ŝlosilo malekzistas en Vortaro: %s"
 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 @@ msgstr "E113: Nekonata opcio: %s"
 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 @@ msgstr "E48: Nepermesebla en sabloludejo
 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 @@ msgstr "E764: La opcio '%s' ne estas ŝaltita"
 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 @@ msgstr "E919: Dosierujo ne trovita en '%
 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 @@ msgstr "E587: \":break\" sen \":while\" aŭ \":for\""
 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"