Update runtime files
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 4536d5b..5f1231c 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -54,7 +54,7 @@
 :au[tocmd] [group] {event} {pat} [++once] [++nested] {cmd}
 			Add {cmd} to the list of commands that Vim will
 			execute automatically on {event} for a file matching
-			{pat} |autocmd-patterns|. 
+			{pat} |autocmd-patterns|.
 			Here {event} cannot be "*".  *E1155*
 			Note: A quote character is seen as argument to the
 			:autocmd and won't start a comment.
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 6c6a0c9..62a69b7 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.2.  Last change: 2021 Mar 01
+*change.txt*    For Vim version 8.2.  Last change: 2021 Jun 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 97585ad..fdc63ea 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.2.  Last change: 2021 May 07
+*eval.txt*	For Vim version 8.2.  Last change: 2021 Jun 07
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2102,7 +2102,7 @@
 v:numbermax	Maximum value of a number.
 
 					*v:numbermin* *numbermin-variable*
-v:numbermin	Minimum value of a number (negative)
+v:numbermin	Minimum value of a number (negative).
 
 					*v:numbersize* *numbersize-variable*
 v:numbersize	Number of bits in a Number.  This is normally 64, but on some
@@ -2508,7 +2508,7 @@
 charclass({string})		Number	character class of {string}
 charcol({expr})			Number	column number of cursor or mark
 charidx({string}, {idx} [, {countcc}])
-				Number  char index of byte {idx} in {string}
+				Number	char index of byte {idx} in {string}
 chdir({dir})			String	change current working directory
 cindent({lnum})			Number	C indent for line {lnum}
 clearmatches([{win}])		none	clear all matches
@@ -2529,7 +2529,7 @@
 cursor({lnum}, {col} [, {off}])
 				Number	move cursor to {lnum}, {col}, {off}
 cursor({list})			Number	move cursor to position in {list}
-debugbreak({pid})		Number  interrupt process being debugged
+debugbreak({pid})		Number	interrupt process being debugged
 deepcopy({expr} [, {noref}])	any	make a full copy of {expr}
 delete({fname} [, {flags}])	Number	delete the file or directory {fname}
 deletebufline({expr}, {first} [, {last}])
@@ -4951,7 +4951,7 @@
 		Can also be used as a |method|: >
 			GetFuncname()->funcref([arg])
 <
-					*function()* *E700* *E922* *E923*
+				*function()* *partial* *E700* *E922* *E923*
 function({name} [, {arglist}] [, {dict}])
 		Return a |Funcref| variable that refers to function {name}.
 		{name} can be the name of a user defined function or an
@@ -5500,8 +5500,8 @@
 
 		Can also be used as a |method|: >
 			GetWinid()->getcurpos()
-
-<							*getcursorcharpos()*
+<
+							*getcursorcharpos()*
 getcursorcharpos([{winid}])
 		Same as |getcurpos()| but the column number in the returned
 		List is a character index instead of a byte index.
@@ -5510,8 +5510,8 @@
 		With the cursor on '보' in line 3 with text "여보세요": >
 			getcursorcharpos()	returns [0, 3, 2, 0, 3]
 			getcurpos()		returns [0, 3, 4, 0, 3]
-
-<		Can also be used as a |method|: >
+<
+		Can also be used as a |method|: >
 			GetWinid()->getcursorcharpos()
 
 <							*getcwd()*
@@ -5736,11 +5736,11 @@
 		see |bufname()|.
 
 		Each item in the returned List is a |Dict| with the following:
-		    name - name of the mark prefixed by "'"
-		    pos - a |List| with the position of the mark:
+		    mark   name of the mark prefixed by "'"
+		    pos	   a |List| with the position of the mark:
 				[bufnum, lnum, col, off]
-			  Refer to |getpos()| for more information.
-		    file - file name
+			   Refer to |getpos()| for more information.
+		    file   file name
 
 		Refer to |getpos()| for getting information about a specific
 		mark.
@@ -5822,7 +5822,7 @@
 		'> is a large number.
 		The column number in the returned List is the byte position
 		within the line. To get the character position in the line,
-		use |getcharpos()|
+		use |getcharpos()|.
 		The column number can be very large, e.g. 2147483647, in which
 		case it means "after the end of the line".
 		This can be used to save and restore the position of a mark: >
@@ -7637,7 +7637,7 @@
 		Same as |matchfuzzy()|, but returns the list of matched
 		strings, the list of character positions where characters
 		in {str} matches and a list of matching scores.  You can
-		use |byteidx()|to convert a character position to a byte
+		use |byteidx()| to convert a character position to a byte
 		position.
 
 		If {str} matches multiple times in a string, then only the
@@ -9961,7 +9961,7 @@
 		{only available when compiled with the |+float| feature}
 
 
-slice({expr}, {start} [, {end}])			*slice()* 
+slice({expr}, {start} [, {end}])			*slice()*
 		Similar to using a |slice| "expr[start : end]", but "end" is
 		used exclusive.  And for a string the indexes are used as
 		character indexes instead of byte indexes, like in
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 318507c..8295d67 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -632,7 +632,7 @@
 MARKDOWN                                                *ft-markdown-plugin*
 
 To enable folding use this: >
-        let g:markdown_folding = 1
+	let g:markdown_folding = 1
 <
 
 PDF							*ft-pdf-plugin*
diff --git a/runtime/doc/ft_raku.txt b/runtime/doc/ft_raku.txt
index 26ada8a..8439de5 100644
--- a/runtime/doc/ft_raku.txt
+++ b/runtime/doc/ft_raku.txt
@@ -45,7 +45,7 @@
 	1s ₁    1S ¹  ~
 	2s ₂    9S ⁹  ~
 
-But some don´t come defined by default. Those are digraph definitions you can
+But some don't come defined by default. Those are digraph definitions you can
 add in your ~/.vimrc file. >
 	exec 'digraph \\ '.char2nr('∖')
 	exec 'digraph \< '.char2nr('≼')
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 1b3839e..f5c3e6d 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -132,7 +132,7 @@
 |windows.txt|	commands for using multiple windows and buffers
 |tabpage.txt|	commands for using multiple tab pages
 |spell.txt|	spell checking
-|diff.txt|	working with two to four versions of the same file
+|diff.txt|	working with two to eight versions of the same file
 |autocmd.txt|	automatically executing commands on an event
 |eval.txt|	expression evaluation, conditional commands
 |channel.txt|	Jobs, Channels, inter-process communication
@@ -145,6 +145,7 @@
 |term.txt|	using different terminals and mice
 |terminal.txt|	Terminal window support
 |popup.txt|	popup window support
+|vim9.txt|	using Vim9 script
 
 Programming language support ~
 |indent.txt|	automatic indenting for C and other languages
@@ -153,6 +154,8 @@
 |filetype.txt|	settings done specifically for a type of file
 |quickfix.txt|	commands for a quick edit-compile-fix cycle
 |ft_ada.txt|	Ada (the programming language) support
+|ft_ps1.txt|	Filetype plugin for Windows PowerShell
+|ft_raku.txt|	Filetype plugin for Raku
 |ft_rust.txt|	Filetype plugin for Rust
 |ft_sql.txt|	about the SQL filetype plugin
 
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 4dc0e2e..a8ae19c 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 8.2.  Last change: 2021 Mar 28
+*motion.txt*    For Vim version 8.2.  Last change: 2021 Jun 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -59,9 +59,14 @@
 	|<|	<	shift left
 	|zf|	zf	define a fold
 	|g@|	g@	call function set with the 'operatorfunc' option
-
+						*motion-count-multiplied*
 If the motion includes a count and the operator also had a count before it,
 the two counts are multiplied.  For example: "2d3w" deletes six words.
+						*operator-doubled*
+When doubling the operator it operates on a line.  When using a count, before
+or after the first character, that many lines are operated upon.  Thus `3dd`
+deletes three lines. A count before and after the first character is
+multiplied, thus `2y3y` yanks six lines.
 
 After applying the operator the cursor is mostly left at the start of the text
 that was operated upon.  For example, "yfe" doesn't move the cursor, but "yFe"
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index d3adbd0..e600dd9 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2021 May 16
+*options.txt*	For Vim version 8.2.  Last change: 2021 May 31
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 6eb2993..0ebc774 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -767,12 +767,12 @@
 
 Version 8.2
 - make all changes needed for clean compile build of v8.2 on VMS on all platforms
-- fix the call mkdir bug (vicente_polo@yahoo.es) 
+- fix the call mkdir bug (vicente_polo@yahoo.es)
 - test on VSI OpenVMS Alpha and Itanium platforms
 - added LUA support
 - added XPM support - Motif GUI with toolbar on all platforms
-- XPM v3.4.11 libraries for IA64, AXP and VAX are added 
-- start integrating the new test scripts 
+- XPM v3.4.11 libraries for IA64, AXP and VAX are added
+- start integrating the new test scripts
 
 Version 8.1
 - make necessary changes to build v8.1 on VMS
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 20fed55..c23fdb4 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1217,7 +1217,7 @@
 
 \%d123	Matches the character specified with a decimal number.  Must be
 	followed by a non-digit.
-\%o40	Matches the character specified with an octal number up to 0377.
+\%o40	Matches the character specified with an octal number up to 0o377.
 	Numbers below 0o40 must be followed by a non-octal digit or a
 	non-digit.
 \%x2a	Matches the character specified with up to two hexadecimal characters.
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index b293d9b..421b12f 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -3809,7 +3809,7 @@
 	  Decho.vim is provided as a "vimball"; see |vimball-intro|.  You
 	  should edit the Decho.vba.gz file and source it in: >
 
-	  	vim Decho.vba.gz
+		vim Decho.vba.gz
 		:so %
 		:q
 <
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index 18149fc..c6b4b9e 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 8.2.  Last change: 2021 May 08
+*repeat.txt*    For Vim version 8.2.  Last change: 2021 Jun 11
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -279,7 +279,9 @@
 			ftdetect scripts are loaded, only the matching
 			directories are added to 'runtimepath'.  This is
 			useful in your .vimrc.  The plugins will then be
-			loaded during initialization, see |load-plugins|.
+			loaded during initialization, see |load-plugins| (note
+			that the loading order will be reversed, because each
+			directory is inserted before others).
 			Note that for ftdetect scripts to be loaded
 			you will need to write `filetype plugin indent on`
 			AFTER all `packadd!` commands.
@@ -372,7 +374,7 @@
 			for some commands.
 			See |:vim9cmd| for executing one command with Vim9
 			syntax and semantics.
-			 
+
 						*:scr* *:scriptnames*
 :scr[iptnames]		List all sourced script names, in the order they were
 			first sourced.  The number is used for the script ID
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index d457067..ab35aca 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -3430,8 +3430,8 @@
  Tex: Match Check Control~
 
 	Sometimes one actually wants mismatched parentheses, square braces,
-	and or curly braces; for example, \text{(1,10] is a range from but
-	not including 1 to and including 10}.  This wish, of course, conflicts
+	and or curly braces; for example, \text{(1,10]} is a range from but
+	not including 1 to and including 10.  This wish, of course, conflicts
 	with the desire to provide delimiter mismatch detection.  To
 	accommodate these conflicting goals, syntax/tex.vim provides >
 		g:tex_matchcheck = '[({[]'
@@ -4084,7 +4084,7 @@
 argument makes the "myVim" match use the same highlighting as "myString".  But
 it does not contain anything.  If the "contains=NONE" argument would be left
 out, then "myVim" would use the contains argument from myString and allow
-"myWord" to be contained, which will be highlighted as a Constant.  This
+"myWord" to be contained, which will be highlighted as a Comment.  This
 happens because a contained match doesn't match inside itself in the same
 position, thus the "myVim" match doesn't overrule the "myWord" match here.
 
@@ -4970,8 +4970,8 @@
 							*tmux*
 	When using tmux you may want to use this in the tmux config: >
 	    # tmux colors
-	    set -g default-terminal "xterm-256color"
-	    set -ag terminal-overrides ",xterm-256color:Tc"
+	    set -s default-terminal "tmux-256color"
+	    set -as terminal-overrides ",*-256color:Tc"
 <	More info at:
 	https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-a-256-colour-terminal
 	https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-rgb-colour
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 18f71f1..5b1457c 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -7000,6 +7000,7 @@
 getcharmod()	eval.txt	/*getcharmod()*
 getcharpos()	eval.txt	/*getcharpos()*
 getcharsearch()	eval.txt	/*getcharsearch()*
+getcharstr()	eval.txt	/*getcharstr()*
 getcmdline()	eval.txt	/*getcmdline()*
 getcmdpos()	eval.txt	/*getcmdpos()*
 getcmdtype()	eval.txt	/*getcmdtype()*
@@ -7901,6 +7902,7 @@
 more-compatible	version5.txt	/*more-compatible*
 more-prompt	message.txt	/*more-prompt*
 more-variables	eval.txt	/*more-variables*
+motion-count-multiplied	motion.txt	/*motion-count-multiplied*
 motion.txt	motion.txt	/*motion.txt*
 mouse-mode-table	term.txt	/*mouse-mode-table*
 mouse-overview	term.txt	/*mouse-overview*
@@ -8348,6 +8350,7 @@
 online-help	helphelp.txt	/*online-help*
 opening-window	windows.txt	/*opening-window*
 operator	motion.txt	/*operator*
+operator-doubled	motion.txt	/*operator-doubled*
 operator-pending-index	index.txt	/*operator-pending-index*
 operator-variable	eval.txt	/*operator-variable*
 option-backslash	options.txt	/*option-backslash*
@@ -8401,6 +8404,7 @@
 pager	message.txt	/*pager*
 papp.vim	syntax.txt	/*papp.vim*
 paragraph	motion.txt	/*paragraph*
+partial	eval.txt	/*partial*
 pascal.vim	syntax.txt	/*pascal.vim*
 patches-8	version8.txt	/*patches-8*
 patches-8.1	version8.txt	/*patches-8.1*
@@ -10066,6 +10070,7 @@
 v_v	visual.txt	/*v_v*
 v_x	change.txt	/*v_x*
 v_y	change.txt	/*v_y*
+v_zy	change.txt	/*v_zy*
 v_~	change.txt	/*v_~*
 vab	motion.txt	/*vab*
 val-variable	eval.txt	/*val-variable*
@@ -10435,6 +10440,7 @@
 zOS-has-ebcdic	os_390.txt	/*zOS-has-ebcdic*
 zOS-limitations	os_390.txt	/*zOS-limitations*
 zOS-open-source	os_390.txt	/*zOS-open-source*
+zP	change.txt	/*zP*
 zR	fold.txt	/*zR*
 zW	spell.txt	/*zW*
 zX	fold.txt	/*zX*
@@ -10462,6 +10468,7 @@
 zm	fold.txt	/*zm*
 zn	fold.txt	/*zn*
 zo	fold.txt	/*zo*
+zp	change.txt	/*zp*
 zr	fold.txt	/*zr*
 zs	scroll.txt	/*zs*
 zsh.vim	syntax.txt	/*zsh.vim*
@@ -10473,6 +10480,7 @@
 zv	fold.txt	/*zv*
 zw	spell.txt	/*zw*
 zx	fold.txt	/*zx*
+zy	change.txt	/*zy*
 zz	scroll.txt	/*zz*
 {	motion.txt	/*{*
 {Visual}	intro.txt	/*{Visual}*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 8eea4a5..811d507 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -373,10 +373,10 @@
 	t_Ri	restore icon text from stack			*t_Ri* *'t_Ri'*
 	t_TE	end of "raw" mode				*t_TE* *'t_TE'*
 	t_TI	put terminal into "raw" mode 			*t_TI* *'t_TI'*
-	t_fd	disable focus-event tracking 			*t_fd* *'t_fd'*
-		|xterm-focus-event|
 	t_fe	enable focus-event tracking 			*t_fe* *'t_fe'*
 		|xterm-focus-event|
+	t_fd	disable focus-event tracking 			*t_fd* *'t_fd'*
+		|xterm-focus-event|
 
 Some codes have a start, middle and end part.  The start and end are defined
 by the termcap option, the middle part is text.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index b46c440..2c20cea 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2021 May 28
+*todo.txt*      For Vim version 8.2.  Last change: 2021 Jun 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,57 +38,30 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Geen memory leak?
-
-Crash using outer var from nested lambda:
-	vim9script
-	def F(text: string): func(string): func(string): string
-	  return (arg: string): func(string): string => ((sep: string): string => {
-	      return text .. ' ' .. arg
-	    })
-	enddef
-
-	echo F('hello')(' ')('there')
-
-
-
 Vim9 - Make everything work:
-- function returning nothing should return void instead of zero
-- compile "expr" and "call" expression of a channel in channel_exe_cmd()?
-- Need some solution for dict function.  Can we implement part of classes?
-- A lambda without {} does not require a return type, using { return x } does.
-  That's unexpected, since the arguments are not required to have a type.
-  alt 1: not require a return type, figure it out from the common type of all
-	  the return statements found
-  alt 2: also require argument types
-- Using "windo echo expr" does not accept a line break inside "expr" (in a
-  :def function and at script level in a not executed block). #7681
-- use CheckLegacyAndVim9Success(lines) in many more places
+- Make debugging work - at least per function.  
+  - How to evaluate the stack and variables on the stack?
+  - FIXME in test_debugger.vim
 - For builtin functions using tv_get_string*() use check_for_string() to be
   more strict about the argument type (not a bool).
     done: balloon_()
 - Check many more builtin function arguments at compile time.
     map() could check that the return type of the function argument matches
     the type of the list or dict member. (#8092)
-- Allow for using an autoload function name without quotes.  It is then loaded
-  (and compiled) right away.  #8124
-- Test more expressions in legacy and Vim9 script, using
-  CheckLegacyAndVim9Success()
+    Same for other functions, such as searchpair().
+- use CheckLegacyAndVim9Success(lines) in many more places
 - Test try/catch and throw better, also nested.
   Test that return inside try/finally jumps to finally and then returns.
 - 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.
-- Make debugging work - at least per function.  Need to recompile a function
-  to step through it line-by-line?  Evaluate the stack and variables on the
-  stack?
-- Reserve command for future use: :type, :class, :enum
+- compile get_lambda_tv() in popup_add_timeout()
 
 Once Vim9 is stable:
+- Add the "vim9script" feature, can use has('vim9script')
 - Change the help to prefer Vim9 syntax where appropriate
 - Add all the error numbers in a good place in documentation.
 - In the generic eval docs, point out the Vim9 syntax where it differs.
-- Add the "vim9script" feature, can use has('vim9script')
 - Use Vim9 for runtime files.
     PR #7497 for autoload/ccomplete.vim
 
@@ -100,13 +73,12 @@
   Give an error if compilation fails. (#7625)
   Use the location where the option was set for deciding whether it's to be
   evaluated in Vim9 script context.
-- implement :type, import type declaration.
-- implement enum,  import enum.
-- Future work: See |vim9-classes|
+- implement :type, "import type"
+- implement enum,  "import enum".
+- implement class and interface: See |vim9-classes|
 - For range: make table of first ASCII character with flag to quickly check if
   it can be a Vim9 command. E.g. "+" can, but "." can't.
-- compile get_lambda_tv() in popup_add_timeout()
-- inline call to map() and filter()
+- Inline call to map() and filter(), better type checking.
 - Make accessing varargs faster: arg[expr]
 	EVAL expr
 	LOADVARARG (varargs idx)
@@ -300,6 +272,9 @@
 Making breakat support multibyte characters (Yasuhiro Matsumoto, #6598)
 Scroll doesn't work correctly, why?
 
+glob() and globfile() do not always honor 'wildignorecase'. #8350
+globpath() does not use 'wildignorecase' at all?
+
 Add 'termguiattr' option, use "gui=" attributes in the terminal?  Would work
 with 'termguicolors'. #1740
 
@@ -344,6 +319,9 @@
     :echo matchstr('aaa bbb', '.\{-1,}\>\|.*')
     aaa bbb  (should be aaa)
 
+Should add a match/str/list/pos method that also returns the test and position
+of submatches.  #8355
+
 Check out PR #543 (Roland Puntaier).
 Patch for multibyte characters in langmap and applying a mapping on them.
 (Christian Brabandt, 2015 Jun 12, update July 25)
@@ -380,6 +358,10 @@
 Using "au!" after "filetype on" is a bit slow.  Can the matching of
 autocommands be made faster?  (#7056)
 
+Append in Visual block mode inserts the wrong character.
+Test_visual_block_mode() already has the proper check, which is commented out.
+(#8288)
+
 Add the <=> (spaceship) operator and "cond ?< expr ?= expr ?> expr"
     replace this:
 	let left = GetLeftFunc()
@@ -2263,9 +2245,6 @@
 
 Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15)
 
-Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010
-Sep 1)
-
 Win32: Patch for using .png files for icons. (Charles Peacech, 2012 Feb 5)
 
 Putting a Visual block while 'visualedit' is "all" does not leave the cursor
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 0d66d2b..09d5a39 100644
--- 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 Apr 19
+*usr_41.txt*	For Vim version 8.2.  Last change: 2021 Jun 07
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 76a8f5d..eb45922 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -724,7 +724,7 @@
 			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
diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1
index 5bf0d05..d55c8b3 100644
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -186,7 +186,7 @@
 .TP
 \-d
 Start in diff mode.
-There should be two, three or four file name arguments.
+There should between two to eight file name arguments.
 .B Vim
 will open all the files and show differences between them.
 Works like vimdiff(1).
diff --git a/runtime/doc/vim.man b/runtime/doc/vim.man
index 91f29e1..dbfba53 100644
--- a/runtime/doc/vim.man
+++ b/runtime/doc/vim.man
@@ -135,9 +135,9 @@
                    Vim behave mostly like Vi, even though a  .vimrc  file  ex‐
                    ists.
 
-       -d          Start  in  diff  mode.   There should be two, three or four
-                   file name arguments.  Vim will open all the files and  show
-                   differences between them.  Works like vimdiff(1).
+       -d          Start in diff mode.  There should between two to eight file
+                   name arguments.  Vim will open all the files and show  dif‐
+                   ferences between them.  Works like vimdiff(1).
 
        -d {device} Open  {device}  for  use as a terminal.  Only on the Amiga.
                    Example: "-d con:20/30/600/150".
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 406aedc..6ca1d74 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -457,7 +457,8 @@
 	var Lambda = (arg) => expression
 
 No line break is allowed in the arguments of a lambda up to and including the
-"=>".  This is OK: >
+"=>" (so that Vim can tell the difference between an expression in parenthesis
+and lambda arguments).  This is OK: >
 	filter(list, (k, v) =>
 			v > 0)
 This does not work: >
@@ -998,9 +999,14 @@
 			Note that for command line completion of {func} you
 			can prepend "s:" to find script-local functions.
 
-:disa[ssemble]! {func}	Like `:disassemble` but with the instructions used for
+:disa[ssemble] profile {func}
+			Like `:disassemble` but with the instructions used for
 			profiling.
 
+:disa[ssemble] debug {func}
+			Like `:disassemble` but with the instructions used for
+			debugging.
+
 Limitations ~
 
 Local variables will not be visible to string evaluation.  For example: >
diff --git a/runtime/doc/vimdiff.1 b/runtime/doc/vimdiff.1
index bed2b32..ddcb30f 100644
--- a/runtime/doc/vimdiff.1
+++ b/runtime/doc/vimdiff.1
@@ -1,17 +1,17 @@
 .TH VIMDIFF 1 "2001 March 30"
 .SH NAME
-vimdiff \- edit two, three or four versions of a file with Vim and show differences
+vimdiff \- edit between two and eight versions of a file with Vim and show differences
 .SH SYNOPSIS
 .br
 .B vimdiff
-[options] file1 file2 [file3 [file4]]
+[options] file1 file2 [file3 [file4 [file5 [file6 [file7 [file8]]]]]]
 .PP
 .B gvimdiff
 .SH DESCRIPTION
 .B Vimdiff
 starts
 .B Vim
-on two (or three or four) files.
+on two up to eight files.
 Each file gets its own window.
 The differences between the files are highlighted.
 This is a nice way to inspect changes and to move changes from one version
diff --git a/runtime/doc/vimdiff.man b/runtime/doc/vimdiff.man
index 913ac13..a053e6a 100644
--- a/runtime/doc/vimdiff.man
+++ b/runtime/doc/vimdiff.man
@@ -1,27 +1,28 @@
-VIMDIFF(1)                                                          VIMDIFF(1)
+VIMDIFF(1)                  General Commands Manual                 VIMDIFF(1)
 
 
 
 NAME
-       vimdiff  - edit two, three or four versions of a file with Vim and show
-       differences
+       vimdiff  -  edit  between two and eight versions of a file with Vim and
+       show differences
 
 SYNOPSIS
-       vimdiff [options] file1 file2 [file3 [file4]]
+       vimdiff [options]  file1  file2  [file3  [file4  [file5  [file6  [file7
+       [file8]]]]]]
 
        gvimdiff
 
 DESCRIPTION
-       Vimdiff starts Vim on two (or three or four) files.  Each file gets its
-       own  window.   The differences between the files are highlighted.  This
-       is a nice way to inspect changes and to move changes from  one  version
-       to another version of the same file.
+       Vimdiff  starts  Vim  on two up to eight files.  Each file gets its own
+       window.  The differences between the files are highlighted.  This is  a
+       nice way to inspect changes and to move changes from one version to an‐
+       other version of the same file.
 
        See vim(1) for details about Vim itself.
 
        When started as gvimdiff the GUI will be started, if available.
 
-       In  each window the 'diff' option will be set, which causes the differ-
+       In each window the 'diff' option will be set, which causes the  differ‐
        ences to be highlighted.
        The 'wrap' and 'scrollbind' options are set to make the text look good.
        The  'foldmethod'  option  is set to "diff", which puts ranges of lines