changeset 24278:4ab4ef0c48b1

Update runtime files. Commit: https://github.com/vim/vim/commit/dad4473f02e1fec86d43a2fc094536a4b27d3b25 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Mar 31 20:07:33 2021 +0200 Update runtime files.
author Bram Moolenaar <Bram@vim.org>
date Wed, 31 Mar 2021 20:15:04 +0200
parents 1ada4a68ac43
children e3dbf2e58c6a
files .github/CODEOWNERS runtime/doc/autocmd.txt runtime/doc/eval.txt runtime/doc/index.txt runtime/doc/map.txt runtime/doc/motion.txt runtime/doc/options.txt runtime/doc/quickref.txt runtime/doc/syntax.txt runtime/doc/tags runtime/doc/textprop.txt runtime/doc/todo.txt runtime/doc/usr_41.txt runtime/doc/various.txt runtime/doc/version7.txt runtime/doc/version8.txt runtime/doc/vim9.txt runtime/doc/windows.txt runtime/filetype.vim runtime/ftplugin/lisp.vim runtime/indent/cdl.vim runtime/syntax/dot.vim runtime/syntax/groff.vim runtime/syntax/javascript.vim runtime/syntax/nroff.vim runtime/syntax/sshconfig.vim runtime/syntax/sshdconfig.vim runtime/syntax/sudoers.vim
diffstat 28 files changed, 270 insertions(+), 234 deletions(-) [+]
line wrap: on
line diff
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -142,6 +142,7 @@ runtime/syntax/csh.vim			@cecamp
 runtime/syntax/cucumber.vim		@tpope
 runtime/syntax/datascript.vim		@dpelle
 runtime/syntax/dcl.vim			@cecamp
+runtime/syntax/desktop.vim		@e-kwsm
 runtime/syntax/doxygen.vim		@frogonwheels
 runtime/syntax/dtd.vim			@chrisbra
 runtime/syntax/elmfilt.vim		@cecamp
@@ -152,6 +153,7 @@ runtime/syntax/gitcommit.vim		@tpope
 runtime/syntax/gitconfig.vim		@tpope
 runtime/syntax/gitrebase.vim		@tpope
 runtime/syntax/gprof.vim		@dpelle
+runtime/syntax/groff.vim		@jmarshall
 runtime/syntax/haml.vim			@tpope
 runtime/syntax/haskell.vim		@coot
 runtime/syntax/hgcommit.vim		@k-takata
@@ -162,10 +164,10 @@ runtime/syntax/lisp.vim			@cecamp
 runtime/syntax/lynx.vim			@dkearns
 runtime/syntax/mailcap.vim		@dkearns
 runtime/syntax/make.vim			@rohieb
-runtime/syntax/make.vim			@rohieb
 runtime/syntax/maple.vim		@cecamp
 runtime/syntax/markdown.vim		@tpope
 runtime/syntax/netrw.vim		@cecamp
+runtime/syntax/nroff.vim		@jmarshall
 runtime/syntax/nsis.vim			@k-takata
 runtime/syntax/pdf.vim			@tpope
 runtime/syntax/php.vim			@TysonAndre
@@ -180,7 +182,9 @@ runtime/syntax/sh.vim			@cecamp
 runtime/syntax/sm.vim			@cecamp
 runtime/syntax/spec.vim			@ignatenkobrain
 runtime/syntax/sqloracle.vim		@chrisbra
+runtime/syntax/sshconfig.vim		@Jakuje
 runtime/syntax/sshdconfig.vim		@Jakuje
+runtime/syntax/sudoers.vim		@e-kwsm
 runtime/syntax/tags.vim			@cecamp
 runtime/syntax/teraterm.vim		@k-takata
 runtime/syntax/tex.vim			@cecamp
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.2.  Last change: 2021 Jan 28
+*autocmd.txt*   For Vim version 8.2.  Last change: 2021 Mar 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1519,9 +1519,11 @@ option will not cause any commands to be
 						*:doautoa* *:doautoall*
 :doautoa[ll] [<nomodeline>] [group] {event} [fname]
 			Like ":doautocmd", but apply the autocommands to each
-			loaded buffer.  Note that [fname] is used to select
-			the autocommands, not the buffers to which they are
-			applied.
+			loaded buffer.  The current buffer is done last.
+
+			Note that [fname] is used to select the autocommands,
+			not the buffers to which they are applied.
+
 			Careful: Don't use this for autocommands that delete a
 			buffer, change to another buffer or change the
 			contents of a buffer; the result is unpredictable.
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2021 Mar 10
+*eval.txt*	For Vim version 8.2.  Last change: 2021 Mar 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5107,6 +5107,13 @@ getbufinfo([{dict}])
 			listed		TRUE if the buffer is listed.
 			lnum		Line number used for the buffer when
 					opened in the current window.
+					Only valid if the buffer has been
+					displayed in the window in the past.
+					If you want the line number of the
+					last known cursor position in a given
+					window, use |line()|: >
+						:echo line('.', {winid})
+<
 			linecount	Number of lines in the buffer (only
 					valid when loaded)
 			loaded		TRUE if the buffer is loaded.
@@ -6095,12 +6102,12 @@ getwininfo([{winid}])					*getwininfo()*
 			width		window width
 			winbar		1 if the window has a toolbar, 0
 					otherwise
-			wincol		leftmost screen column of the window,
-					col from |win_screenpos()|
+			wincol		leftmost screen column of the window;
+					"col" from |win_screenpos()|
 			winid		|window-ID|
 			winnr		window number
-			winrow		topmost screen column of the window,
-					row from |win_screenpos()|
+			winrow		topmost screen line of the window;
+					"row" from |win_screenpos()|
 
 		Can also be used as a |method|: >
 			GetWinnr()->getwininfo()
@@ -12810,8 +12817,8 @@ text...
 			it can no longer be changed (until it is unlocked).
 			A locked variable can be deleted: >
 				:lockvar v
-				:let v = 'asdf'		" fails!
-				:unlet v
+				:let v = 'asdf'	  " fails!
+				:unlet v	  " works
 <							*E741* *E940*
 			If you try to change a locked variable you get an
 			error message: "E741: Value is locked: {name}".
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 8.2.  Last change: 2021 Feb 14
+*index.txt*     For Vim version 8.2.  Last change: 2021 Mar 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1294,6 +1294,7 @@ tag		command		action ~
 |:edit|		:e[dit]		edit a file
 |:earlier|	:ea[rlier]	go to older change, undo
 |:echo|		:ec[ho]		echoes the result of expressions
+|:echoconsole|	:echoc[onsole]	like :echomsg but write to stdout
 |:echoerr|	:echoe[rr]	like :echo, show like an error and use history
 |:echohl|	:echoh[l]	set highlighting for echo commands
 |:echomsg|	:echom[sg]	same as :echo, put message in history
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 8.2.  Last change: 2020 Dec 10
+*map.txt*       For Vim version 8.2.  Last change: 2021 Mar 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -271,8 +271,8 @@ typeahead, before the previous command h
 	endfunc
 	nnoremap <expr> x StoreColumn()
 	nmap ! f!x
-You will notice that g:column has the value from before executing "fx",
-because "z" is evaluated before "fx" is executed.
+You will notice that g:column has the value from before executing "f!",
+because "x" is evaluated before "f!" is executed.
 This can be solved by inserting <Ignore> before the character that is
 expression-mapped: >
 	nmap ! f!<Ignore>x
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 8.2.  Last change: 2020 Oct 18
+*motion.txt*    For Vim version 8.2.  Last change: 2021 Mar 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -942,8 +942,7 @@ These commands are not marks themselves,
 			line.
 
 							*]`*
-]`			[count] times to lowercase mark after the cursor. {not
-			in Vi}
+]`			[count] times to lowercase mark after the cursor.
 
 							*['*
 ['			[count] times to previous line with a lowercase mark
@@ -1037,6 +1036,12 @@ CTRL-I			Go to [count] newer cursor posi
 			(not a motion command).
 			{not available without the |+jumplist| feature}
 
+			NOTE: In the GUI and in a terminal supporting
+			|modifyOtherKeys|, CTRL-I can be mapped separately
+			from <Tab>, on the condition that CTRL-I is
+			mapped before <Tab>, otherwise the mapping applies to
+			both.
+
 							*:ju* *:jumps*
 :ju[mps]		Print the jump list (not a motion command).
 			{not available without the |+jumplist| feature}
@@ -1054,11 +1059,11 @@ The maximum number of entries is fixed a
 
 For example, after three jump commands you have this jump list:
 
-  jump line  col file/text ~
-    3	  1    0 some text ~
-    2	 70    0 another line ~
-    1  1154   23 end. ~
- > ~
+    jump line  col file/text ~
+      3	  1    0 some text ~
+      2	 70    0 another line ~
+      1  1154   23 end. ~
+   > ~
 
 The "file/text" column shows the file name, or the text at the jump if it is
 in the current file (an indent is removed and a long line is truncated to fit
@@ -1067,11 +1072,11 @@ in the window).
 You are currently in line 1167.  If you then use the CTRL-O command, the
 cursor is put in line 1154.  This results in:
 
-  jump line  col file/text ~
-    2	  1    0 some text ~
-    1	 70    0 another line ~
- >  0  1154   23 end. ~
-    1  1167    0 foo bar ~
+    jump line  col file/text ~
+      2	  1    0 some text ~
+      1	 70    0 another line ~
+   >  0  1154   23 end. ~
+      1  1167    0 foo bar ~
 
 The pointer will be set at the last used jump position.  The next CTRL-O
 command will use the entry above it, the next CTRL-I command will use the
@@ -1098,12 +1103,12 @@ that calling setpos() does not do this.
 After the CTRL-O command that got you into line 1154 you could give another
 jump command (e.g., "G").  The jump list would then become:
 
-  jump line  col file/text ~
-    4	  1    0 some text ~
-    3	 70    0 another line ~
-    2  1167    0 foo bar ~
-    1  1154   23 end. ~
- > ~
+    jump line  col file/text ~
+      4	  1    0 some text ~
+      3	 70    0 another line ~
+      2  1167    0 foo bar ~
+      1  1154   23 end. ~
+   > ~
 
 The line numbers will be adjusted for deleted and inserted lines.  This fails
 if you stop editing a file without writing, like with ":n!".
@@ -1152,7 +1157,7 @@ Note that when text has been inserted or
 a bit different from the position of the change.  Especially when lines have
 been deleted.
 
-When the |:keepjumps| command modifier is used the position of a change is not
+When the `:keepjumps` command modifier is used the position of a change is not
 remembered.
 
 							*:changes*
@@ -1193,7 +1198,7 @@ 9. Various motions				*various-motions*
 			#if, #ifdef, #else, #elif, #endif
 					C preprocessor conditionals (when the
 					cursor is on the # or no ([{
-					following)
+					is following)
 			For other items the matchit plugin can be used, see
 			|matchit-install|.  This plugin also helps to skip
 			matches in comments.
@@ -1222,19 +1227,16 @@ 9. Various motions				*various-motions*
 			#if/#else/#endif makes the movement linewise.
 
 						*[(*
-[(			go to [count] previous unmatched '('.
+[(			Go to [count] previous unmatched '('.
 			|exclusive| motion.
-
 						*[{*
-[{			go to [count] previous unmatched '{'.
+[{			Go to [count] previous unmatched '{'.
 			|exclusive| motion.
-
 						*])*
-])			go to [count] next unmatched ')'.
+])			Go to [count] next unmatched ')'.
 			|exclusive| motion.
-
 						*]}*
-]}			go to [count] next unmatched '}'.
+]}			Go to [count] next unmatched '}'.
 			|exclusive| motion.
 
 The above four commands can be used to go to the start or end of the current
@@ -1268,7 +1270,7 @@ bring you back to the switch statement.
 			class.  When no '}' is found before the cursor this is
 			an error. |exclusive| motion.
 
-The above two commands assume that the file contains a class with methods.
+The above four commands assume that the file contains a class with methods.
 The class definition is surrounded in '{' and '}'.  Each method in the class
 is also surrounded with '{' and '}'.  This applies to the Java language.  The
 file looks like this: >
@@ -1282,17 +1284,21 @@ file looks like this: >
 			body_two();
 		}
 	}
+
+[To try this out copy the text and put it in a new buffer, the help text above
+confuses the jump commands]
+
 Starting with the cursor on "body_two()", using "[m" will jump to the '{' at
 the start of "method_two()" (obviously this is much more useful when the
 method is long!).  Using "2[m" will jump to the start of "method_one()".
 Using "3[m" will jump to the start of the class.
 
 						*[#*
-[#			go to [count] previous unmatched "#if" or "#else".
+[#			Go to [count] previous unmatched "#if" or "#else".
 			|exclusive| motion.
 
 						*]#*
-]#			go to [count] next unmatched "#else" or "#endif".
+]#			Go to [count] next unmatched "#else" or "#endif".
 			|exclusive| motion.
 
 These two commands work in C programs that contain #if/#else/#endif
@@ -1300,11 +1306,11 @@ constructs.  It brings you to the start 
 the current line is included.  You can then use "%" to go to the matching line.
 
 						*[star* *[/*
-[*  or  [/		go to [count] previous start of a C comment "/*".
+[*  or  [/		Go to [count] previous start of a C comment "/*".
 			|exclusive| motion.
 
 						*]star* *]/*
-]*  or  ]/		go to [count] next end of a C comment "*/".
+]*  or  ]/		Go to [count] next end of a C comment "*/".
 			|exclusive| motion.
 
 
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2021 Feb 13
+*options.txt*	For Vim version 8.2.  Last change: 2021 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3865,7 +3865,7 @@ A jump table for the options with a shor
 								*'go-v'*
 	  'v'	Use a vertical button layout for dialogs.  When not included,
 		a horizontal layout is preferred, but when it doesn't fit a
-		vertical layout is used anyway.
+		vertical layout is used anyway.  Not supported in GTK 3.
 								*'go-p'*
 	  'p'	Use Pointer callbacks for X11 GUI.  This is required for some
 		window managers.  If the cursor is not blinking or hollow at
@@ -8865,15 +8865,15 @@ A jump table for the options with a shor
 						*'window'* *'wi'*
 'window' 'wi'		number  (default screen height - 1)
 			global
-	Window height.  Do not confuse this with the height of the Vim window,
-	use 'lines' for that.
-	Used for |CTRL-F| and |CTRL-B| when there is only one window and the
-	value is smaller than 'lines' minus one.  The screen will scroll
-	'window' minus two lines, with a minimum of one.
+	Window height used for |CTRL-F| and |CTRL-B| when there is only one
+	window and the value is smaller than 'lines' minus one.  The screen
+	will scroll 'window' minus two lines, with a minimum of one.
 	When 'window' is equal to 'lines' minus one CTRL-F and CTRL-B scroll
 	in a much smarter way, taking care of wrapping lines.
 	When resizing the Vim window, the value is smaller than 1 or more than
 	or equal to 'lines' it will be set to 'lines' minus 1.
+	Note: Do not confuse this with the height of the Vim window, use
+	'lines' for that.
 
 						*'winheight'* *'wh'* *E591*
 'winheight' 'wh'	number	(default 1)
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 8.2.  Last change: 2020 Aug 15
+*quickref.txt*  For Vim version 8.2.  Last change: 2021 Mar 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -2236,9 +2236,10 @@ can use them.
 
 For example, Linux and BSD distributions use groff as their default text
 processing package.  In order to activate the extra syntax highlighting
-features for groff, add the following option to your start-up files: >
-
-  :let b:nroff_is_groff = 1
+features for groff, arrange for files to be recognized as groff (see
+|ft-groff-syntax|) or add the following option to your start-up files: >
+
+  :let nroff_is_groff = 1
 
 Groff is different from the old AT&T n/troff that you may still find in
 Solaris.  Groff macro and request names can be longer than 2 characters and
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -57,11 +57,13 @@
 'ari'	options.txt	/*'ari'*
 'arshape'	options.txt	/*'arshape'*
 'as'	todo.txt	/*'as'*
+'asd'	options.txt	/*'asd'*
 'autochdir'	options.txt	/*'autochdir'*
 'autoindent'	options.txt	/*'autoindent'*
 'autoprint'	vi_diff.txt	/*'autoprint'*
 'autoread'	options.txt	/*'autoread'*
 'autosave'	todo.txt	/*'autosave'*
+'autoshelldir'	options.txt	/*'autoshelldir'*
 'autowrite'	options.txt	/*'autowrite'*
 'autowriteall'	options.txt	/*'autowriteall'*
 'aw'	options.txt	/*'aw'*
@@ -508,10 +510,12 @@
 'noari'	options.txt	/*'noari'*
 'noarshape'	options.txt	/*'noarshape'*
 'noas'	todo.txt	/*'noas'*
+'noasd'	options.txt	/*'noasd'*
 'noautochdir'	options.txt	/*'noautochdir'*
 'noautoindent'	options.txt	/*'noautoindent'*
 'noautoread'	options.txt	/*'noautoread'*
 'noautosave'	todo.txt	/*'noautosave'*
+'noautoshelldir'	options.txt	/*'noautoshelldir'*
 'noautowrite'	options.txt	/*'noautowrite'*
 'noautowriteall'	options.txt	/*'noautowriteall'*
 'noaw'	options.txt	/*'noaw'*
@@ -2397,6 +2401,8 @@ 90.5	usr_90.txt	/*90.5*
 :ec	eval.txt	/*:ec*
 :echo	eval.txt	/*:echo*
 :echo-redraw	eval.txt	/*:echo-redraw*
+:echoc	eval.txt	/*:echoc*
+:echoconsole	eval.txt	/*:echoconsole*
 :echoe	eval.txt	/*:echoe*
 :echoerr	eval.txt	/*:echoerr*
 :echoh	eval.txt	/*:echoh*
@@ -9164,6 +9170,7 @@ str2float()	eval.txt	/*str2float()*
 str2list()	eval.txt	/*str2list()*
 str2nr()	eval.txt	/*str2nr()*
 strcasestr()	eval.txt	/*strcasestr()*
+strcharlen()	eval.txt	/*strcharlen()*
 strcharpart()	eval.txt	/*strcharpart()*
 strchars()	eval.txt	/*strchars()*
 strchr()	eval.txt	/*strchr()*
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -1,4 +1,4 @@
-*textprop.txt*  For Vim version 8.2.  Last change: 2020 Oct 14
+*textprop.txt*  For Vim version 8.2.  Last change: 2021 Mar 22
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -260,8 +260,8 @@ prop_type_add({name}, {props})		*prop_ty
 				properties the one with the highest priority
 				will be used; negative values can be used, the
 				default priority is zero
-		   combine	when TRUE combine the highlight with any
-				syntax highlight; when omitted or FALSE syntax
+		   combine	when omitted or TRUE combine the highlight
+				with any syntax highlight; when FALSE syntax
 				highlight will not be used
 		   start_incl	when TRUE inserts at the start position will
 				be included in the text property
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2021 Mar 11
+*todo.txt*      For Vim version 8.2.  Last change: 2021 Mar 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -39,48 +39,9 @@ browser use: https://github.com/vim/vim/
 -------------------- Known bugs and current work -----------------------
 
 Vim9 - Make everything work:
-- Does this work now: Implement using imported items at script level from
-  "import * as X" in
-- import of item that isn't exported: error should mention missing "export"?
-- no error for using :import in legacy script?
-- Disallow :open ?
-- Check: what if 'cpo' is intentionally changed in Vim9 script, does it get
-  restored at the end?
-- ISN_CHECKTYPE could use check_argtype()
-- Using a script variable inside a :def function doesn't work if the variable
-  is inside a block, see Test_nested_function().  Should it work?
-- give error for variable name:
-      var p = function('NoSuchFunc')
-- When indexing a string, should we include composing characters?  #6563
-	string[0] - first character including its composing characters.
-	string[0 : 0] - same
-    If you don't want that use strcharpart().
-    Also, add optional arg to strcharpart() to include composing chars, to
-    make it consistent with strchars().
-    Add strcharlen(), like strchars() but like skipcc is always set
-- Make closures work better:
-  - Create closure in a loop.  Need to make a list of them.
-- If a :def function is called with a function reference, compile it to get
-  the function type.
-	def Filter(x: string, Cond: func(string): bool)
-	Filter(x, (v) => v =~ '^b')
-- Make inline function work, to be used as a funcref:
-       var Ref = (arg: type): type => {
-	    statement
-	    return expr
-	}
-       var Ref = (arg: type) => {
-	    statement
-	    statement
-	}
 - For builtin functions using tv_get_string*() use check_for_string() to be
-  more strict about the argument type.
-- Implement :lockvar and :unlockvar.  How about local variables?  Perhaps only
-  allow this for global variables.  Use :final or :const otherwise.
-- Allow function names that will be script-local to start with lower case
-  letter?  Or also require names with s: prefix to use upper case?
-  Also apply this function references "var ref = SomeFunc"
-- Support passing v:none to use the default argument value. (#6504)
+  more strict about the argument type (not a bool).
+    done: balloon_()
 - Run the same tests in :def and Vim9 script, like in Test_expr7_not()
 - Check many more builtin function arguments at compile time.
 - make 0 == 'string' fail on the script level, like inside :def.
@@ -280,6 +241,23 @@ Terminal emulator window:
 Include patch #6290: recognize shell directory change.
 
 Valgrind reports memory leaks in test_options.
+Valgrind reports overlapping memcpy in
+    test_conceal.3
+    test_edit.1
+    test_functions.4
+    test_ins_complete.3
+    test_method
+    test_normal
+    test_popupwin.35 et al.
+    test_search_stat
+Using uninitialized value in test_crypt (can't explain why).
+Memory leak in test_debugger
+Memory leak in test_paste, using XtOpenDisplay several times
+OLD:
+TODO: be able to run all parts of test_alot with valgrind separately
+Memory leak in test_alot with pyeval() (allocating partial)
+Memory leak in test_alot with expand()
+Memory leaks in test_channel? (or is it because of fork())
 
 test_arglist func Test_all_not_allowed_from_cmdwin() hangs on MS-Windows.
 
@@ -298,6 +276,11 @@ interrupt does not work. Where to add ui
 
 Remove SPACE_IN_FILENAME ? It is only used for completion.
 
+Add optional argument to virtcol() that specifies "start", "cursor" or "end"
+to tell which value from getvvcol() should be used. (#7964)
+Value returned by virtcol() changes depending on how lines wrap.  This is
+inconsistent with the documentation.
+
 Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598)
 Scroll doesn't work correctly, why?
 
@@ -592,7 +575,7 @@ The quoting of the [command] argument of
 Give a few examples. (#4288)
 
 Opening a file with --remote-tab-silent that matches 'wildignore' does not
-work, results in (E479: No match". (#4610)
+work, results in "E479: No match". (#4610)
 
 7   Add an option to add one pixel column to the character width?  Lucida
     Console italic is wider than the normal font ("d" overlaps with next char).
@@ -781,14 +764,6 @@ Make ":interactive !cmd" stop termcap mo
 
 Add buffer argument to undotree(). (#4001)
 
-Memory leak in test_debugger
-Using uninitialized value in test_crypt (can't explain why).
-Memory leak in test_terminal_fail
-TODO: be able to run all parts of test_alot with valgrind separately
-Memory leak in test_alot with pyeval() (allocating partial)
-Memory leak in test_alot with expand()
-Memory leaks in test_channel? (or is it because of fork())
-
 matchaddpos() gets slow with many matches.  Proposal by Rick Howe, 2018 Jul
 19.
 
@@ -1509,9 +1484,6 @@ specifically?  First try with the parens
 Patch to add :mapgroup, put mappings in a group like augroup.
 (Yasuhiro Matsumoto, 2016 Feb 19)
 
-Value returned by virtcol() changes depending on how lines wrap.  This is
-inconsistent with the documentation.
-
 Can we cache the syntax attributes, so that updates for 'relativenumber' and
 'cursorline'/'cursorcolumn' are a lot faster?  Thus store the attributes
 before combining them.
@@ -2466,9 +2438,6 @@ backslash? (Robert Vibrant, 2008 Jun 5)
 When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
 line.  It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
 
-Using an insert mode expression mapping, cursor is not in the expected
-position. (ZyX, 2010 Aug 29)
-
 After using <Tab> for command line completion after ":ta blah" and getting E33
 (no tags file), further editing the command to e.g., ":echo 'blah'", the
 command is not executed.  Fix by Ian Kelling?
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 8.2.  Last change: 2021 Feb 01
+*usr_41.txt*	For Vim version 8.2.  Last change: 2021 Mar 14
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 8.2.  Last change: 2021 Mar 02
+*various.txt*   For Vim version 8.2.  Last change: 2021 Mar 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -724,7 +724,7 @@ K			Run a program to lookup the keyword 
 			feature}
 
 							*:sl!* *:sleep!*
-:[N]sl[eep]! [N] [m]	Same as above, but hide the cursor
+:[N]sl[eep]! [N] [m]	Same as above, but hide the cursor.
 
 							*:xrestore* *:xr*
 :xr[estore] [display]	Reinitializes the connection to the X11 server. Useful
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -2300,7 +2300,7 @@ value didn't fill the whole screen. (Sun
 Win32 installer: The generated _vimrc contained an absolute path to diff.exe.
 After upgrading it becomes invalid.  Now use $VIMRUNTIME instead.
 
-The command line was cleared to often when 'showmode' was set and ":silent
+The command line was cleared too often when 'showmode' was set and ":silent
 normal vy" was used.  Don't clear the command line unless the mode was
 actually displayed.  Added the "mode_displayed" variable.
 
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1776,7 +1776,7 @@ Files:	    runtime/doc/change.txt, runti
 
 Patch 7.4.219
 Problem:    When 'relativenumber' or 'cursorline' are set the window is
-	    redrawn much to often. (Patrick Hemmer, Dominique Pelle)
+	    redrawn much too often. (Patrick Hemmer, Dominique Pelle)
 Solution:   Check the VALID_CROW flag instead of VALID_WROW.
 Files:	    src/move.c
 
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2021 Mar 03
+*vim9.txt*	For Vim version 8.2.  Last change: 2021 Mar 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -204,7 +204,7 @@ However, it is recommended to always use
 for clarity.
 
 Since a script-local function reference can be used without "s:" the name must
-start with an upper case letter even when using the ":s" prefix.  In legacy
+start with an upper case letter even when using the "s:" prefix.  In legacy
 script "s:funcref" could be used, because it could not be referred to with
 "funcref".  In Vim9 script it can, therefore "s:Funcref" must be used to avoid
 that the name interferes with builtin functions.
@@ -926,6 +926,27 @@ For these the backtick expansion can be 
 	  g/pattern/s/^/`=newText`/
 	enddef
 
+Closures defined in a loop will share the same context.  For example: >
+	var flist: list<func>
+	for i in range(10)
+	  var inloop = i
+	  flist[i] = () => inloop
+	endfor
+
+The "inloop" variable will exist only once, all closures put in the list refer
+to the same instance, which in the end will have the value 9.  This is
+efficient.  If you do want a separate context for each closure call a function
+to define it: >
+	def GetFunc(i: number): func
+	  var inloop = i
+	  return () => inloop
+	enddef
+
+	var flist: list<func>
+	for i in range(10)
+	  flist[i] = GetFunc(i)
+	endfor
+
 ==============================================================================
 
 4. Types					*vim9-types*
@@ -1006,8 +1027,6 @@ And classes and interfaces can be used a
 	:var mine: MyInterface<string>
 {not implemented yet}
 
-You may also find this wiki useful.  It was written by an early adoptor of
-Vim9 script: https://github.com/lacygoill/wiki/blob/master/vim/vim9.md
 
 Variable types and type casting	~
 							*variable-types*
@@ -1080,27 +1099,6 @@ to a list of numbers.
 Same for |extend()|, use |extendnew()| instead, and for |flatten()|, use
 |flattennew()| instead.
 
-Closures defined in a loop will share the same context.  For example: >
-	var flist: list<func>
-	for i in range(10)
-	  var inloop = i
-	  flist[i] = () => inloop
-	endfor
-
-The "inloop" variable will exist only once, all closures put in the list refer
-to the same instance, which in the end will have the value 9.  This is
-efficient.  If you do want a separate context for each closure call a function
-to define it: >
-	def GetFunc(i: number): func
-	  var inloop = i
-	  return () => inloop
-	enddef
-
-	var flist: list<func>
-	for i in range(10)
-	  flist[i] = GetFunc(i)
-	endfor
-
 ==============================================================================
 
 5. Namespace, Import and Export
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.2.  Last change: 2021 Feb 06
+*windows.txt*   For Vim version 8.2.  Last change: 2021 Mar 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -790,7 +790,7 @@ 8. Do a command in all buffers or window
 
 Examples: >
 
-	:windo set nolist nofoldcolumn | normal zn
+	:windo set nolist foldcolumn=0 | normal! zn
 
 This resets the 'list' option and disables folding in all windows. >
 
@@ -798,7 +798,7 @@ This resets the 'list' option and disabl
 
 This resets the 'fileencoding' in each buffer and writes it if this changed
 the buffer.  The result is that all buffers will use the 'encoding' encoding
-(if conversion works properly).
+(if conversion succeeds).
 
 ==============================================================================
 9. Tag or file name under the cursor			*window-tag*
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2021 Mar 12
+" Last Change:	2021 Mar 19
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
--- a/runtime/ftplugin/lisp.vim
+++ b/runtime/ftplugin/lisp.vim
@@ -4,7 +4,7 @@
 " URL:		 http://sites.google.com/site/khorser/opensource/vim
 " Original author:    Dorai Sitaram <ds26@gte.com>
 " Original URL:		 http://www.ccs.neu.edu/~dorai/vimplugins/vimplugins.html
-" Last Change:   Oct 23, 2013
+" Last Change:   Mar 10, 2021
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
--- a/runtime/indent/cdl.vim
+++ b/runtime/indent/cdl.vim
@@ -62,10 +62,14 @@ fun! CdlGetIndent(lnum)
   " PREVIOUS LINE
   let ind = indent(lnum)
   let line = getline(lnum)
-  let f = -1 " wether a '=' is a conditional or a asignment, -1 means we don't know yet
-  " one 'closing' element at the beginning of the line has already reduced the
-  "   indent, but 'else', 'elseif' & 'then' increment it for the next line
-  " '=' at the beginning has already de right indent (increased for asignments)
+
+  " Whether a '=' is a conditional or an assignment. -1 means we don't know
+  " yet.
+  " One 'closing' element at the beginning of the line has already reduced the
+  " indent, but 'else', 'elseif' & 'then' increment it for the next line.
+  " '=' at the beginning already has the right indent (increased for
+  " asignments).
+  let f = -1
   let inicio = matchend(line, '^\c\s*\(else\a*\|then\|endif\|/[*/]\|[);={]\)')
   if inicio > 0
     let c = line[inicio-1]
--- a/runtime/syntax/dot.vim
+++ b/runtime/syntax/dot.vim
@@ -1,16 +1,22 @@
-" Vim syntax file
 " Language:     Dot
 " Filenames:    *.dot
 " Maintainer:   Markus Mottl  <markus.mottl@gmail.com>
 " URL:          http://www.ocaml.info/vim/syntax/dot.vim
-" Last Change:  2011 May 17 - improved identifier matching + two new keywords
+" Last Change:  2021 Mar 24 - better attr + escape string matching, new keywords (Farbod Salamat-Zadeh)
+"               2011 May 17 - improved identifier matching + two new keywords
 "               2001 May 04 - initial version
 
-" quit when a syntax file was already loaded
-if exists("b:current_syntax")
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
   finish
 endif
 
+let s:keepcpo = &cpo
+set cpo&vim
+
 " Errors
 syn match    dotParErr     ")"
 syn match    dotBrackErr   "]"
@@ -29,39 +35,43 @@ syn keyword  dotTodo contained TODO FIXM
 " Strings
 syn region   dotString    start=+"+ skip=+\\\\\|\\"+ end=+"+
 
-" General keywords
-syn keyword  dotKeyword  digraph node edge subgraph
+" Escape strings
+syn match    dotEscString /\v\\(N|G|E|T|H|L)/ containedin=dotString
+syn match    dotEscString /\v\\(n|l|r)/       containedin=dotString
 
-" Graph attributes
-syn keyword  dotType center layers margin mclimit name nodesep nslimit
-syn keyword  dotType ordering page pagedir rank rankdir ranksep ratio
-syn keyword  dotType rotate size
-
-" Node attributes
-syn keyword  dotType distortion fillcolor fontcolor fontname fontsize
-syn keyword  dotType height layer orientation peripheries regular
-syn keyword  dotType shape shapefile sides skew width
+" General keywords
+syn keyword  dotKeyword graph digraph subgraph node edge strict
 
-" Edge attributes
-syn keyword  dotType arrowhead arrowsize arrowtail constraint decorateP
-syn keyword  dotType dir headclip headlabel headport labelangle labeldistance
-syn keyword  dotType labelfontcolor labelfontname labelfontsize
-syn keyword  dotType minlen port_label_distance samehead sametail
-syn keyword  dotType tailclip taillabel tailport weight
-
-" Shared attributes (graphs, nodes, edges)
-syn keyword  dotType color
-
-" Shared attributes (graphs and edges)
-syn keyword  dotType bgcolor label URL
-
-" Shared attributes (nodes and edges)
-syn keyword  dotType fontcolor fontname fontsize layer style
+" Node, edge and graph attributes
+syn keyword  dotType _background area arrowhead arrowsize arrowtail bb bgcolor
+      \ center charset class clusterrank color colorscheme comment compound
+      \ concentrate constraint Damping decorate defaultdist dim dimen dir
+      \ diredgeconstraints distortion dpi edgehref edgetarget edgetooltip
+      \ edgeURL epsilon esep fillcolor fixedsize fontcolor fontname fontnames
+      \ fontpath fontsize forcelabels gradientangle group head_lp headclip
+      \ headhref headlabel headport headtarget headtooltip headURL height href
+      \ id image imagepath imagepos imagescale inputscale K label label_scheme
+      \ labelangle labeldistance labelfloat labelfontcolor labelfontname
+      \ labelfontsize labelhref labeljust labelloc labeltarget labeltooltip
+      \ labelURL landscape layer layerlistsep layers layerselect layersep 
+      \ layout len levels levelsgap lhead lheight lp ltail lwidth margin
+      \ maxiter mclimit mindist minlen mode model mosek newrank nodesep 
+      \ nojustify normalize notranslate nslimit nslimit1 ordering orientation
+      \ outputorder overlap overlap_scaling overlap_shrink pack packmode pad
+      \ page pagedir pencolor penwidth peripheries pin pos quadtree quantum
+      \ rank rankdir ranksep ratio rects regular remincross repulsiveforce
+      \ resolution root rotate rotation samehead sametail samplepoints scale
+      \ searchsize sep shape shapefile showboxes sides size skew smoothing
+      \ sortv splines start style stylesheet tail_lp tailclip tailhref 
+      \ taillabel tailport tailtarget tailtooltip tailURL target tooltip
+      \ truecolor URL vertices viewport voro_margin weight width xdotversion 
+      \ xlabel xlp z
 
 " Special chars
 syn match    dotKeyChar  "="
 syn match    dotKeyChar  ";"
 syn match    dotKeyChar  "->"
+syn match    dotKeyChar  "--"
 
 " Identifier
 syn match    dotIdentifier /\<\w\+\(:\w\+\)\?\>/
@@ -71,27 +81,41 @@ syn sync minlines=50
 syn sync maxlines=500
 
 " Define the default highlighting.
-" Only when an item doesn't have highlighting yet
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_dot_syntax_inits")
+  if version < 508
+    let did_dot_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
 
-hi def link dotParErr	 Error
-hi def link dotBraceErr	 Error
-hi def link dotBrackErr	 Error
-
-hi def link dotComment	 Comment
-hi def link dotTodo	 Todo
+  HiLink dotParErr	 Error
+  HiLink dotBraceErr	 Error
+  HiLink dotBrackErr	 Error
 
-hi def link dotParEncl	 Keyword
-hi def link dotBrackEncl	 Keyword
-hi def link dotBraceEncl	 Keyword
+  HiLink dotComment	 Comment
+  HiLink dotTodo	 Todo
+
+  HiLink dotParEncl	 Keyword
+  HiLink dotBrackEncl	 Keyword
+  HiLink dotBraceEncl	 Keyword
 
-hi def link dotKeyword	 Keyword
-hi def link dotType	 Type
-hi def link dotKeyChar	 Keyword
+  HiLink dotKeyword	 Keyword
+  HiLink dotType	 Type
+  HiLink dotKeyChar	 Keyword
 
-hi def link dotString	 String
-hi def link dotIdentifier	 Identifier
+  HiLink dotString	 String
+  HiLink dotEscString	 Keyword
+  HiLink dotIdentifier	 Identifier
 
+  delcommand HiLink
+endif
 
 let b:current_syntax = "dot"
 
+let &cpo = s:keepcpo
+unlet s:keepcpo
+
 " vim: ts=8
--- a/runtime/syntax/groff.vim
+++ b/runtime/syntax/groff.vim
@@ -1,7 +1,7 @@
 " VIM syntax file
 " Language:	groff
-" Maintainer:	Alejandro López-Valencia <dradul@yahoo.com>
-" URL:		http://dradul.tripod.com/vim
+" Maintainer:	John Marshall <jmarshall@hey.com>
+" Previous Maintainer:	Pedro Alejandro López-Valencia <palopezv@gmail.com>
 " Last Change:	2003-05-08-12:41:13 GMT-5.
 
 " This uses the nroff.vim syntax file.
--- a/runtime/syntax/javascript.vim
+++ b/runtime/syntax/javascript.vim
@@ -7,7 +7,7 @@
 "		(ss) repaired several quoting and grouping glitches
 "		(ss) fixed regex parsing issue with multiple qualifiers [gi]
 "		(ss) additional factoring of keywords, globals, and members
-" Last Change:	2020 May 14
+" Last Change:	2021 Mar 30
 " 		2013 Jun 12: adjusted javaScriptRegexpString (Kevin Locke)
 " 		2018 Apr 14: adjusted javaScriptRegexpString (LongJohnCoder)
 
@@ -41,6 +41,7 @@ syn region  javaScriptEmbed	       start
 
 syn match   javaScriptSpecialCharacter "'\\.'"
 syn match   javaScriptNumber	       "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
+syn match   javaScriptNumber	       "-\=\<\d\+\%(_\d\+\)*\>"
 syn region  javaScriptRegexpString     start=+[,(=+]\s*/[^/*]+ms=e-1,me=e-1 skip=+\\\\\|\\/+ end=+/[gimuys]\{0,2\}\s*$+ end=+/[gimuys]\{0,2\}\s*[+;.,)\]}]+me=e-1 end=+/[gimuys]\{0,2\}\s\+\/+me=e-1 contains=@htmlPreproc,javaScriptComment oneline
 
 syn keyword javaScriptConditional	if else switch
--- a/runtime/syntax/nroff.vim
+++ b/runtime/syntax/nroff.vim
@@ -1,16 +1,9 @@
 " VIM syntax file
 " Language:	nroff/groff
-" Maintainer:	Pedro Alejandro López-Valencia <palopezv@gmail.com>
-" URL:		http://vorbote.wordpress.com/
-" Last Change:	2012 Feb 2
-"
-" {{{1 Acknowledgements
-"
-" ACKNOWLEDGEMENTS:
-"
-" My thanks to Jérôme Plût <Jerome.Plut@ens.fr>, who was the
-" creator and maintainer of this syntax file for several years.
-" May I be as good at it as he has been.
+" Maintainer:	John Marshall <jmarshall@hey.com>
+" Previous Maintainer:	Pedro Alejandro López-Valencia <palopezv@gmail.com>
+" Previous Maintainer:	Jérôme Plût <Jerome.Plut@ens.fr>
+" Last Change:	2021 Mar 28
 "
 " {{{1 Todo
 "
@@ -31,6 +24,13 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
+if exists("nroff_is_groff")
+	let b:nroff_is_groff = 1
+endif
+
+syn spell toplevel
+syn case match
+
 "
 " {{{1 plugin settings...
 "
@@ -48,7 +48,7 @@ endif
 "
 setlocal paragraphs+=XP
 "
-" {{{2 Activate navigation to preporcessor sections.
+" {{{2 Activate navigation to preprocessor sections.
 "
 if exists("b:preprocs_as_sections")
 	setlocal sections=EQTSPS[\ G1GS
@@ -169,9 +169,9 @@ endif
 " <jp />
 
 syn region nroffEquation start=/^\.\s*EQ\>/ end=/^\.\s*EN\>/
-syn region nroffTable start=/^\.\s*TS\>/ end=/^\.\s*TE\>/
+syn region nroffTable start=/^\.\s*TS\>/ end=/^\.\s*TE\>/ contains=@Spell
 syn region nroffPicture start=/^\.\s*PS\>/ end=/^\.\s*PE\>/
-syn region nroffRefer start=/^\.\s*\[\>/ end=/^\.\s*\]\>/
+syn region nroffRefer start=/^\.\s*\[\>/ end=/^\.\s*\]\>/ contains=@Spell
 syn region nroffGrap start=/^\.\s*G1\>/ end=/^\.\s*G2\>/
 syn region nroffGremlin start=/^\.\s*GS\>/ end=/^\.\s*GE|GF\>/
 
@@ -179,11 +179,11 @@ syn region nroffGremlin start=/^\.\s*GS\
 " ------------------------------------------------------------
 
 syn region nroffIgnore start=/^[.']\s*ig/ end=/^['.]\s*\./
-syn match nroffComment /\(^[.']\s*\)\=\\".*/ contains=nroffTodo
-syn match nroffComment /^'''.*/  contains=nroffTodo
+syn match nroffComment /\(^[.']\s*\)\=\\".*/ contains=nroffTodo,@Spell
+syn match nroffComment /^'''.*/  contains=nroffTodo,@Spell
 
 if exists("b:nroff_is_groff")
-	syn match nroffComment "\\#.*$" contains=nroffTodo
+	syn match nroffComment "\\#.*$" contains=nroffTodo,@Spell
 endif
 
 syn keyword nroffTodo TODO XXX FIXME contained
@@ -198,7 +198,7 @@ syn keyword nroffTodo TODO XXX FIXME con
 "
 
 hi def link nroffEscChar nroffSpecialChar
-hi def link nroffEscCharAr nroffSpecialChar
+hi def link nroffEscCharArg nroffSpecialChar
 hi def link nroffSpecialChar SpecialChar
 hi def link nroffSpace Delimiter
 
@@ -211,7 +211,7 @@ hi def link nroffEscPar nroffEscape
 hi def link nroffEscRegPar nroffEscape
 hi def link nroffEscArg nroffEscape
 hi def link nroffSize nroffEscape
-hi def link nroffEscape Preproc
+hi def link nroffEscape PreProc
 
 hi def link nroffIgnore Comment
 hi def link nroffComment Comment
--- a/runtime/syntax/sshconfig.vim
+++ b/runtime/syntax/sshconfig.vim
@@ -1,14 +1,15 @@
 " Vim syntax file
 " Language:	OpenSSH client configuration file (ssh_config)
 " Author:	David Necas (Yeti)
-" Maintainer:	Dominik Fischer <d dot f dot fischer at web dot de>
+" Maintainer:	Jakub Jelen <jakuje at gmail dot com>
+" Previous Maintainer:	Dominik Fischer <d dot f dot fischer at web dot de>
 " Contributor:  Leonard Ehrenfried <leonard.ehrenfried@web.de>
 " Contributor:  Karsten Hopp <karsten@redhat.com>
 " Contributor:  Dean, Adam Kenneth <adam.ken.dean@hpe.com>
-" Last Change:	2020 Feb 12
+" Last Change:	2021 Mar 29
 "		Added RemoteCommand from pull request #4809
 "		Included additional keywords from Martin.
-" SSH Version:	7.4p1
+" SSH Version:	8.5p1
 "
 
 " Setup
@@ -174,6 +175,7 @@ syn keyword sshconfigKeyword HostKeyAlgo
 syn keyword sshconfigKeyword HostKeyAlias
 syn keyword sshconfigKeyword HostName
 syn keyword sshconfigKeyword HostbasedAuthentication
+syn keyword sshconfigKeyword HostbasedAcceptedAlgorithms
 syn keyword sshconfigKeyword HostbasedKeyTypes
 syn keyword sshconfigKeyword IPQoS
 syn keyword sshconfigKeyword IdentitiesOnly
@@ -185,9 +187,11 @@ syn keyword sshconfigKeyword IPQoS
 syn keyword sshconfigKeyword KbdInteractiveAuthentication
 syn keyword sshconfigKeyword KbdInteractiveDevices
 syn keyword sshconfigKeyword KexAlgorithms
+syn keyword sshconfigKeyword KnownHostsCommand
 syn keyword sshconfigKeyword LocalCommand
 syn keyword sshconfigKeyword LocalForward
 syn keyword sshconfigKeyword LogLevel
+syn keyword sshconfigKeyword LogVerbose
 syn keyword sshconfigKeyword MACs
 syn keyword sshconfigKeyword Match
 syn keyword sshconfigKeyword NoHostAuthenticationForLocalhost
@@ -195,11 +199,13 @@ syn keyword sshconfigKeyword NumberOfPas
 syn keyword sshconfigKeyword PKCS11Provider
 syn keyword sshconfigKeyword PasswordAuthentication
 syn keyword sshconfigKeyword PermitLocalCommand
+syn keyword sshconfigKeyword PermitRemoteOpen
 syn keyword sshconfigKeyword Port
 syn keyword sshconfigKeyword PreferredAuthentications
 syn keyword sshconfigKeyword ProxyCommand
 syn keyword sshconfigKeyword ProxyJump
 syn keyword sshconfigKeyword ProxyUseFDPass
+syn keyword sshconfigKeyword PubkeyAcceptedAlgorithms
 syn keyword sshconfigKeyword PubkeyAcceptedKeyTypes
 syn keyword sshconfigKeyword PubkeyAuthentication
 syn keyword sshconfigKeyword RekeyLimit
--- a/runtime/syntax/sshdconfig.vim
+++ b/runtime/syntax/sshdconfig.vim
@@ -7,8 +7,8 @@
 " Contributor:  Leonard Ehrenfried <leonard.ehrenfried@web.de>	
 " Contributor:  Karsten Hopp <karsten@redhat.com>
 " Originally:	2009-07-09
-" Last Change:	2020-10-20
-" SSH Version:	8.4p1
+" Last Change:	2021-03-29
+" SSH Version:	8.5p1
 "
 
 " Setup
@@ -195,6 +195,7 @@ syn keyword sshdconfigKeyword HostCertif
 syn keyword sshdconfigKeyword HostKey
 syn keyword sshdconfigKeyword HostKeyAgent
 syn keyword sshdconfigKeyword HostKeyAlgorithms
+syn keyword sshdconfigKeyword HostbasedAcceptedAlgorithms
 syn keyword sshdconfigKeyword HostbasedAcceptedKeyTypes
 syn keyword sshdconfigKeyword HostbasedAuthentication
 syn keyword sshdconfigKeyword HostbasedUsesNameFromPacketOnly
@@ -213,6 +214,7 @@ syn keyword sshdconfigKeyword KexAlgorit
 syn keyword sshdconfigKeyword KeyRegenerationInterval
 syn keyword sshdconfigKeyword ListenAddress
 syn keyword sshdconfigKeyword LogLevel
+syn keyword sshdconfigKeyword LogVerbose
 syn keyword sshdconfigKeyword LoginGraceTime
 syn keyword sshdconfigKeyword MACs
 syn keyword sshdconfigKeyword Match
@@ -220,6 +222,8 @@ syn keyword sshdconfigKeyword MaxAuthTri
 syn keyword sshdconfigKeyword MaxSessions
 syn keyword sshdconfigKeyword MaxStartups
 syn keyword sshdconfigKeyword PasswordAuthentication
+syn keyword sshdconfigKeyword PerSourceMaxStartups
+syn keyword sshdconfigKeyword PerSourceNetBlockSize
 syn keyword sshdconfigKeyword PermitBlacklistedKeys
 syn keyword sshdconfigKeyword PermitEmptyPasswords
 syn keyword sshdconfigKeyword PermitListen
@@ -234,6 +238,7 @@ syn keyword sshdconfigKeyword Port
 syn keyword sshdconfigKeyword PrintLastLog
 syn keyword sshdconfigKeyword PrintMotd
 syn keyword sshdconfigKeyword Protocol
+syn keyword sshdconfigKeyword PubkeyAcceptedAlgorithms
 syn keyword sshdconfigKeyword PubkeyAcceptedKeyTypes
 syn keyword sshdconfigKeyword PubkeyAuthentication
 syn keyword sshdconfigKeyword PubkeyAuthOptions
--- a/runtime/syntax/sudoers.vim
+++ b/runtime/syntax/sudoers.vim
@@ -1,7 +1,8 @@
 " Vim syntax file
 " Language:             sudoers(5) configuration files
+" Maintainer:           Eisuke Kawashima ( e.kawaschima+vim AT gmail.com )
 " Previous Maintainer:  Nikolai Weibull <now@bitwi.se>
-" Latest Revision:      2018-08-18
+" Latest Revision:      2021 Mar 15
 " Recent Changes:	Support for #include and #includedir.
 " 			Added many new options (Samuel D. Leslie)
 
@@ -26,7 +27,7 @@ syn cluster sudoersCmndSpecList       co
 syn keyword sudoersTodo               contained TODO FIXME XXX NOTE
 
 syn region  sudoersComment            display oneline start='#' end='$' contains=sudoersTodo
-syn region  sudoersInclude            display oneline start='#\(include\|includedir\)' end='$'
+syn region  sudoersInclude            display oneline start='[#@]\%(include\|includedir\)\>' end='$'
 
 syn keyword sudoersAlias              User_Alias Runas_Alias nextgroup=sudoersUserAlias skipwhite skipnl
 syn keyword sudoersAlias              Host_Alias nextgroup=sudoersHostAlias skipwhite skipnl
@@ -201,7 +202,7 @@ syn keyword sudoersBooleanParameter cont
                                   \ shell_noargs
                                   \ stay_setuid
                                   \ sudoedit_checkdir
-                                  \ sudoedit_fellow
+                                  \ sudoedit_follow
                                   \ syslog_pid
                                   \ targetpw
                                   \ tty_tickets