diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 1acb267..9e482c8 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 8.2.  Last change: 2019 Sep 28
+*change.txt*    For Vim version 8.2.  Last change: 2020 Feb 09
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -636,6 +636,8 @@
 			|cmdline-ranges|.
 
 			See |:s_flags| for [flags].
+			The delimiter doesn't need to be /, see
+			|pattern-delimiter|.
 
 :[range]s[ubstitute] [flags] [count]
 :[range]&[&][flags] [count]					*:&*
@@ -775,7 +777,7 @@
 For compatibility with Vi these two exceptions are allowed:
 "\/{string}/" and "\?{string}?" do the same as "//{string}/r".
 "\&{string}&" does the same as "//{string}/".
-							*E146*
+						*pattern-delimiter* *E146*
 Instead of the '/' which surrounds the pattern and replacement string, you
 can use any other single-byte character, but not an alphanumeric character,
 '\', '"' or '|'.  This is useful if you want to include a '/' in the search
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 847290e..a48e9ea 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.2.  Last change: 2020 Jan 24
+*options.txt*	For Vim version 8.2.  Last change: 2020 Feb 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1380,6 +1380,7 @@
 
 	This option is used together with 'bufhidden' and 'swapfile' to
 	specify special kinds of buffers.   See |special-buffers|.
+	Also see |win_gettype()|, which returns the type of the window.
 
 	Be careful with changing this option, it can have many side effects!
 
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index 6372e4d..55565bc 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -1,4 +1,4 @@
-*popup.txt*  For Vim version 8.2.  Last change: 2020 Feb 03
+*popup.txt*  For Vim version 8.2.  Last change: 2020 Feb 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -402,6 +402,7 @@
 		hidden.
 		If window {id} does not exist nothing happens.  If window {id}
 		exists but is not a popup window an error is given. *E993*
+		If popup window {id} contains a terminal an error is given.
 
 		Can also be used as a |method|: >
 			GetPopup()->popup_hide()
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index d542787..b9a2370 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.2.  Last change: 2020 Jan 20
+*starting.txt*  For Vim version 8.2.  Last change: 2020 Feb 04
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -58,10 +58,12 @@
 		that is read from stdin.  The commands that would normally be
 		read from stdin will now be read from stderr.  Example: >
 			find . -name "*.c" -print | vim -
-<		The buffer will not be marked as modified, so that it's easy
-		to exit.  Be careful to mark it as modified if you don't want
-		to accidentally lose it.  Example: >
-			ls | view -
+
+<		The buffer will be marked as modified, so that you are
+		reminded to save the text when trying to exit.  If you don't
+		like that, put this these lines in your vimrc: >
+			" Don't set 'modified' when reading from stdin
+			au StdinReadPost * set nomodified
 <
 		Starting in Ex mode: >
 			ex -
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 2f6d8e9..75070b5 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 8.2.  Last change: 2019 May 05
+*tabpage.txt*   For Vim version 8.2.  Last change: 2020 Feb 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -138,7 +138,7 @@
 		    :+tabclose	    " close the next tab page
 		    :1tabclose	    " close the first tab page
 		    :$tabclose	    " close the last tab page
-		    :tabclose -2    " close the two previous tab page
+		    :tabclose -2    " close the 2nd previous tab page 
 		    :tabclose +	    " close the next tab page
 		    :tabclose 3	    " close the third tab page
 		    :tabclose $	    " close the last tab page
diff --git a/runtime/doc/tags b/runtime/doc/tags
index ed6dbef..ac4ff94 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2341,6 +2341,8 @@
 :diffupdate	diff.txt	/*:diffupdate*
 :dig	digraph.txt	/*:dig*
 :digraphs	digraph.txt	/*:digraphs*
+:disa	vim9.txt	/*:disa*
+:disassemble	vim9.txt	/*:disassemble*
 :display	change.txt	/*:display*
 :dj	tagsrch.txt	/*:dj*
 :djump	tagsrch.txt	/*:djump*
@@ -6108,6 +6110,7 @@
 dying-variable	eval.txt	/*dying-variable*
 e	motion.txt	/*e*
 easy	starting.txt	/*easy*
+echoraw()	eval.txt	/*echoraw()*
 echospace-variable	eval.txt	/*echospace-variable*
 edit-a-file	editing.txt	/*edit-a-file*
 edit-binary	editing.txt	/*edit-binary*
@@ -8244,6 +8247,7 @@
 pathshorten()	eval.txt	/*pathshorten()*
 pattern	pattern.txt	/*pattern*
 pattern-atoms	pattern.txt	/*pattern-atoms*
+pattern-delimiter	change.txt	/*pattern-delimiter*
 pattern-multi-byte	pattern.txt	/*pattern-multi-byte*
 pattern-multi-items	pattern.txt	/*pattern-multi-items*
 pattern-overview	pattern.txt	/*pattern-overview*
@@ -9485,6 +9489,7 @@
 test_scrollbar()	testing.txt	/*test_scrollbar()*
 test_setmouse()	testing.txt	/*test_setmouse()*
 test_settime()	testing.txt	/*test_settime()*
+test_srand_seed()	testing.txt	/*test_srand_seed()*
 testing	testing.txt	/*testing*
 testing-support	testing.txt	/*testing-support*
 testing-variable	eval.txt	/*testing-variable*
@@ -10050,6 +10055,7 @@
 win_execute()	eval.txt	/*win_execute()*
 win_findbuf()	eval.txt	/*win_findbuf()*
 win_getid()	eval.txt	/*win_getid()*
+win_gettype()	eval.txt	/*win_gettype()*
 win_gotoid()	eval.txt	/*win_gotoid()*
 win_id2tabwin()	eval.txt	/*win_id2tabwin()*
 win_id2win()	eval.txt	/*win_id2win()*
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index f343e86..f48984c 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt*	For Vim version 8.2.  Last change: 2019 Sep 08
+*testing.txt*	For Vim version 8.2.  Last change: 2020 Feb 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index ad3ac42..e371e4c 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.2.  Last change: 2020 Feb 04
+*todo.txt*      For Vim version 8.2.  Last change: 2020 Feb 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -40,15 +40,15 @@
 
 Include ipv6 syntax changes?  (DJ Lucas, #5360)
 
-Add win_type(), which "popup" and "cmdline" as values?
+Avoid modifyOtherKeys temporarily:
+	call modify_other_keys(v:false)  " disable modifyOtherKeys
+Should fix #5617.
 
 Vim9 script:
-- test s:var += 'some'
-  test exported += 'some'
-- implement default values for optional arguments
-  Generate instructions at start of function, skip over if argument provided?
+- "echo Func()" is an error if Func() does not return anything.
 - Disallow unlet for local/script/imported vars
 - :func inside vim9script must still use a:arg
+- Make "++nr" work.
 - Check that import in legacy script works and puts item in s:
 - Error in any command in "vim9script" aborts sourcing.
 - Find a way to test expressions in legacy and Vim9 script without duplication
@@ -58,6 +58,7 @@
   Test return inside try/finally jumps to finally and then returns.
 - call autoload function.
 - Type checking arguments when calling :def function
+- Implement more expressions, e.g. [a:b]
 - can use func as reference:
 	def SomeFunc() ...
 	map(list, SomeFunc)
@@ -164,6 +165,10 @@
 
 Patch to use more FOR_ALL_ macros and use them. (Yegappan Lakshmanan, #5339)
 
+Patch to explain use of "%" in :!.  (#5591)
+
+Patch to add "-d" to xxd. (#5616)
+
 Running test_gui and test_gui_init with Motif sometimes kills the window
 manager.  Problem with Motif? Now test_gui crashes in submenu_change().
 Athena is OK.
@@ -175,6 +180,8 @@
 Patch to add 'vtp' option. (#5344)
 Needs better docs.  Is there a better name?
 
+Patch for Haiku support. (Emir Sarı, #5605)
+
 undo result wrong: Masato Nishihata, #4798
 
 When 'lazyredraw' is set sometimes the title is not updated.
@@ -186,11 +193,21 @@
 Patch for Template string: #4491.  New pull: #4634
 Implementation is too inefficient, avoid using lambda.
 
+Patch to add readdirex() (Ken Takata, #5619)
+
+Request to support <Cmd> in mappings, similar to how Neovim does this.
+(Daniel Hahler, #4784)
+
 Undo puts cursor in wrong line after "cG<Esc>" undo.
 
 :unmap <c-n> gives error but does remove the mapping. (Antony Scriven, 2019
 Dec 19)
 
+Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
+makes his own wrapper).  Add a magic string with the version number to the
+.bat file and check for it in the uninstaller.  E.g.
+          # uninstall key: vim8.1*
+
 Patch to fix session file when using multiple tab pages. (Jason Franklin, 2019
 May 20)
 Also put :argadd commands at the start for all buffers, so that their order
@@ -216,6 +233,11 @@
 Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
 (#4087)
 
+FR: add search_status(), the current values displayed for search (current
+match, total matches). (#5631)
+Patch to provide search stats in a variable, so that it can be used in the
+statusline. (Fujiwara Takuya, #4446)
+
 ":helptags ALL" should skip directories where "tags" cannot be written.
 (Matěj Cepl, #5026)
 
@@ -225,8 +247,7 @@
 
 Patch to include reduce() function. (#5481)
 
-Patch to provide search stats in a variable, so that it can be used in the
-statusline. (Fujiwara Takuya, #4446)
+Statusline highlighting error, off by one. (#5599)
 
 Enable 'termbidi' if $VTE_VERSION >= 5703 ?
 
@@ -1109,11 +1130,9 @@
 Screen updated delayed when using CTRL-O u in Insert mode.
 (Barlik, #1191)  Perhaps because status message?
 
-Implement optional arguments for functions.
+Implement named arguments for functions:
     func Foo(start, count = 1 all = 1)
-    call Foo(12)
     call Foo(12, all = 0)
-    call Foo(12, 15, 0)
 
 Add a command to take a range of lines, filter them and put the output
 somewhere else.  :{range}copy {dest} !cmd
@@ -2758,11 +2777,6 @@
 Windows installer: licence text should not use indent, causes bad word wrap.
 (Benjamin Fritz, 2010 Aug 16)
 
-Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
-makes his own wrapper).  Add a magic string with the version number to the
-.bat file and check for it in the uninstaller.  E.g.
-          # uninstall key: vim8.1*
-
 Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
 2007 Feb 8)
 
@@ -4491,8 +4505,6 @@
 8   Pass the command line arguments to Vim scripts in some way.  As v:args
     List?  Or extra parameter to argv()?
 8   Add command arguments with three dashes, passed on to Vim scripts.
-9   Add optional arguments to user functions:
-	:func myFunc(arg1, arg2, arg3 = "blah", arg4 = 17)
 6   User functions: Functions local to buffer "b:func()"?
 8   For Strings add ":let var[{expr}] = {expr}".  When past the end of "var"
     just ignore.
diff --git a/runtime/doc/vim9.txt b/runtime/doc/vim9.txt
index dd2b1b2..da4f163 100644
--- a/runtime/doc/vim9.txt
+++ b/runtime/doc/vim9.txt
@@ -1,4 +1,4 @@
-*vim9.txt*	For Vim version 8.2.  Last change: 2020 Jan 30
+*vim9.txt*	For Vim version 8.2.  Last change: 2020 Feb 13
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -231,11 +231,8 @@
 			the function follows in the next lines, until the
 			matching `:enddef`.
 
-			When {return-type} is omitted the return type will be
-			decided upon by the first encountered `return`
-			statement in the function.  E.g., for: >
-				return 'message'
-<			The return type will be "string".
+			When {return-type} is omitted the function is not
+			expected to return anything.
 			
 			{arguments} is a sequence of zero or more argument
 			declarations.  There are three forms:
@@ -257,6 +254,10 @@
 :enddef			End of a function defined with `:def`.
 
 
+						*:disa* *:disassemble*
+:disa[ssemble] {func}	Show the instructions generated for {func}.
+			This is for debugging and testing.
+
 ==============================================================================
 
 4. Types					*vim9-types*
