diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 5cb878a..80bb235 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 Apr 07
+*options.txt*	For Vim version 8.2.  Last change: 2021 Apr 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/tags b/runtime/doc/tags
index b28f644..ddc4ce0 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3936,6 +3936,7 @@
 E107	eval.txt	/*E107*
 E108	eval.txt	/*E108*
 E109	eval.txt	/*E109*
+E1091	vim9.txt	/*E1091*
 E1092	vim9.txt	/*E1092*
 E1094	vim9.txt	/*E1094*
 E11	cmdline.txt	/*E11*
@@ -10144,8 +10145,10 @@
 vim9-export	vim9.txt	/*vim9-export*
 vim9-final	vim9.txt	/*vim9-final*
 vim9-gotchas	vim9.txt	/*vim9-gotchas*
+vim9-ignored-argument	vim9.txt	/*vim9-ignored-argument*
 vim9-import	vim9.txt	/*vim9-import*
 vim9-lambda	vim9.txt	/*vim9-lambda*
+vim9-lambda-arguments	vim9.txt	/*vim9-lambda-arguments*
 vim9-mix	vim9.txt	/*vim9-mix*
 vim9-namespace	vim9.txt	/*vim9-namespace*
 vim9-rationale	vim9.txt	/*vim9-rationale*
@@ -10153,7 +10156,9 @@
 vim9-scopes	vim9.txt	/*vim9-scopes*
 vim9-script-intro	usr_46.txt	/*vim9-script-intro*
 vim9-types	vim9.txt	/*vim9-types*
+vim9-unpack-ignore	vim9.txt	/*vim9-unpack-ignore*
 vim9-user-command	vim9.txt	/*vim9-user-command*
+vim9-variable-arguments	vim9.txt	/*vim9-variable-arguments*
 vim9.txt	vim9.txt	/*vim9.txt*
 vim9script	vim9.txt	/*vim9script*
 vim:	options.txt	/*vim:*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 1a3f4cc..0a00f0f 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 Apr 05
+*todo.txt*      For Vim version 8.2.  Last change: 2021 Apr 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,16 +38,19 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+make "skiprtp" also omit 'packpath'?
+
+- Implement blob index and slice assignment?
+  Make all of test_blob run in three ways
+
 Vim9 - Make everything work:
+- use CheckLegacyAndVim9Success(lines) in many more places
 - 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.
-- Using ".." at script level doesn't convert arguments to a string.
-- This fails in a :def function but not at the script level:
-	  var s = 'asdf'->((a) => a)('x')
-  Disallow passing more arguments to lambda than expected?
-- Implement blob index and slice, also with assignment?
+    map() could check that the return type of the function argument matches
+    the type of the list or dict member. (#8092)
 - Compile replacement of :s command: s/pat/\=expr/
 - Compile redir to local variable: var_redir_start().
 - Implement type cast at the script level.
@@ -61,6 +64,7 @@
 - expandcmd() with `=expr` in filename uses legacy expression.
 - eval_expr() in ex_cexpr()
 - eval_expr() call in dbg_parsearg() and debuggy_find()
+- compile_member() guesses the type, should figure out at runtime.
 - compile "skip" argument of searchpair()
 - compile "expr" and "call" expression of a channel in channel_exe_cmd()?
 - give an error for "echo Func()" if Func() does not return anything.
@@ -126,6 +130,8 @@
 - 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.?
+- Make it possible to scroll horizontally when 'wrap' is off.  Does this
+  require an ascii scrollbar, like with the vertical one?
 - 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)
@@ -495,6 +501,9 @@
 
 Result of synID() sometimes wrong in help files. (#5252)
 
+When a help file is opened that doesn't have "ft=help" in the modeline then
+the FileType is first set to "text" before it is set to "help". (#8099)
+
 Problem showing a line if the number column width changes when using "o".
 (Mateusz Morusiewicz, #4245)
 
@@ -1013,8 +1022,7 @@
 Would be nice for Insert mode completion to highlight the text that was added
 (and may change when picking another completion).
 
-Test runtime files.
-Start with filetype detection: testdir/test_filetype.vim
+Test more runtime files.
 
 Window not closed when deleting buffer. (Harm te Hennepe, 2017 Aug 27, #2029)
 
@@ -1987,6 +1995,10 @@
 
 Problem with "syn sync grouphere". (Gustavo Niemeyer, 2011 Jan 27)
 
+Using "syn sync breaklines=2" works for when text is changed, but not when
+scrolling or redrawing.  Should start search for syntax patterns above the
+first drawn line. (#8103)
+
 Loading autoload script even when usage is inside "if 0". (Christian Brabandt,
 2010 Dec 18)
 
diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1
index f32c067..5bf0d05 100644
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -416,6 +416,10 @@
 Arguments after this will be handled as a file name.
 This can be used to edit a filename that starts with a '\-'.
 .TP
+\-\-clean
+Do not use any personal configuration (vimrc, plugins, etc.).  Useful to see if
+a problem reproduces with a clean Vim setup.
+.TP
 \-\-echo\-wid
 GTK GUI only: Echo the Window ID on stdout.
 .TP
diff --git a/runtime/doc/vim.man b/runtime/doc/vim.man
index 6ab20e9..91f29e1 100644
--- a/runtime/doc/vim.man
+++ b/runtime/doc/vim.man
@@ -300,6 +300,10 @@
                    be handled as a file name.  This can  be  used  to  edit  a
                    filename that starts with a '-'.
 
+       --clean     Do  not  use  any  personal  configuration (vimrc, plugins,
+                   etc.).  Useful to see if a problem reproduces with a  clean
+                   Vim setup.
+
        --echo-wid  GTK GUI only: Echo the Window ID on stdout.
 
        --help      Give a help message and exit, just like "-h".
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index 6b676df..0fc7bf5 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2021 Apr 06
+*vim9.txt*	For Vim version 8.2.  Last change: 2021 Apr 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -334,10 +334,11 @@
 
 Since `&opt = value` is now assigning a value to option "opt", ":&" cannot be
 used to repeat a `:substitute` command.
-
+							*vim9-unpack-ignore*
 For an unpack assignment the underscore can be used to ignore a list item,
 similar to how a function argument can be ignored: >
 	[a, _, c] = theList
+To ignore any remaining items: >
 	[a, b; _] = longList
 
 <							*E1092*
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index b3905be..d0d67f8 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.2.  Last change: 2021 Mar 21
+*windows.txt*   For Vim version 8.2.  Last change: 2021 Apr 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -521,14 +521,14 @@
 CTRL-W H	Move the current window to be at the far left, using the
 		full height of the screen.  This works like closing the
 		current window and then creating another one with
-		":vert topleft split", except that the current window contents
+		`:vert topleft split`, except that the current window contents
 		is used for the new window.
 
 						*CTRL-W_L*
 CTRL-W L	Move the current window to be at the far right, using the full
 		height of the screen.  This works like closing the
 		current window and then creating another one with
-		":vert botright split", except that the current window
+		`:vert botright split`, except that the current window
 		contents is used for the new window.
 
 						*CTRL-W_T*
@@ -571,7 +571,7 @@
 						*CTRL-W_>*
 CTRL-W >	Increase current window width by N (default 1).
 
-:vertical res[ize] [N]			*:vertical-resize* *CTRL-W_bar*
+:vert[ical] res[ize] [N]			*:vertical-resize* *CTRL-W_bar*
 CTRL-W |	Set current window width to N (default: widest possible).
 
 You can also resize a window by dragging a status line up or down with the
