Update runtime files.
diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index a8e5857..1f981a6 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 8.1.  Last change: 2019 Jul 21
+*channel.txt*      For Vim version 8.1.  Last change: 2019 Jul 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -18,7 +18,7 @@
 5. Channel commands			|channel-commands|
 6. Using a RAW or NL channel		|channel-raw|
 7. More channel functions		|channel-more|
-8. channel functions details		|channel-functions-details|
+8. Channel functions details		|channel-functions-details|
 9. Starting a job with a channel	|job-start|
 10. Starting a job without a channel	|job-start-nochannel|
 11. Job functions			|job-functions-details|
@@ -462,7 +462,7 @@
 This includes any sequence number.
 
 ==============================================================================
-8. channel functions details			*channel-functions-details*
+8. Channel functions details			*channel-functions-details*
 
 ch_canread({handle})						*ch_canread()*
 		Return non-zero when there is something to read from {handle}.
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 0a4917a..a06aa4d 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 8.1.  Last change: 2019 May 07
+*cmdline.txt*   For Vim version 8.1.  Last change: 2019 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1064,8 +1064,7 @@
 In the command-line window the command line can be edited just like editing
 text in any window.  It is a special kind of window, because you cannot leave
 it in a normal way.
-{not available when compiled without the |+cmdline_hist| or |+vertsplit|
-feature}
+{not available when compiled without the |+cmdline_hist| feature}
 
 
 OPEN						*c_CTRL-F* *q:* *q/* *q?*
@@ -1140,7 +1139,6 @@
 The command-line window cannot be used:
 - when there already is a command-line window (no nesting)
 - for entering an encryption key or when using inputsecret()
-- when Vim was not compiled with the |+vertsplit| feature
 
 Some options are set when the command-line window is opened:
 'filetype'	"vim", when editing an Ex command-line; this starts Vim syntax
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 452d0ac..8c1f03a 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 8.1.  Last change: 2019 Jun 02
+*diff.txt*      For Vim version 8.1.  Last change: 2019 Jul 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -335,7 +335,7 @@
 FINDING THE DIFFERENCES					*diff-diffexpr*
 
 The 'diffexpr' option can be set to use something else than the standard
-"diff" program to compare two files and find the differences.
+"diff" program to compare two files and find the differences. *E959*
 
 When 'diffexpr' is empty, Vim uses this command to find the differences
 between file1 and file2: >
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index bd05691..fdddc22 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.1.  Last change: 2019 Jul 21
+*eval.txt*	For Vim version 8.1.  Last change: 2019 Jul 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1766,7 +1766,7 @@
 	:try
 	:  throw "oops"
 	:catch /.*/
-	:  echo "caught" v:exception
+	:  echo "caught " .. v:exception
 	:endtry
 <		Output: "caught oops".
 
@@ -2956,7 +2956,7 @@
 		The {winid} argument specifies the window ID, see |argc()|.
 
 
-assert_ functions are documented here: |assert-functions|
+assert_ functions are documented here: |assert-functions-details|
 
 
 asin({expr})						*asin()*
@@ -4423,7 +4423,10 @@
 get({dict}, {key} [, {default}])
 		Get item with key {key} from |Dictionary| {dict}.  When this
 		item is not available return {default}.  Return zero when
-		{default} is omitted.
+		{default} is omitted.  Useful example: >
+			let val = get(g:, 'var_name', 'default')
+<		This gets the value of g:var_name if it exists, and uses
+		'default' when it does not exist.
 get({func}, {what})
 		Get an item with from Funcref {func}.  Possible values for
 		{what} are:
@@ -4799,8 +4802,9 @@
 getenv({name})						*getenv()*
 		Return the value of environment variable {name}.
 		When the variable does not exist |v:null| is returned.  That
-		is different from a variable set to an empty string.
-		See also |expr-env|.
+		is different from a variable set to an empty string, although
+		some systems interpret the empty value as the variable being
+		deleted.  See also |expr-env|.
 
 getfontname([{name}])					*getfontname()*
 		Without an argument returns the name of the normal font being
@@ -7162,7 +7166,8 @@
 			:call remove(mylist, 0, 9)
 
 remove({dict}, {key})
-		Remove the entry from {dict} with key {key}.  Example: >
+		Remove the entry from {dict} with key {key} and return it.
+		Example: >
 			:echo "removed " . remove(dict, "one")
 <		If there is no {key} in {dict} this is an error.
 
@@ -8829,7 +8834,7 @@
 
 term_ functions are documented here: |terminal-function-details|
 
-test_ functions are documented here: |test-functions|
+test_ functions are documented here: |test-functions-details|
 
 
 							*timer_info()*
diff --git a/runtime/doc/if_lua.txt b/runtime/doc/if_lua.txt
index 24c53fa..f7f954e 100644
--- a/runtime/doc/if_lua.txt
+++ b/runtime/doc/if_lua.txt
@@ -1,4 +1,4 @@
-*if_lua.txt*    For Vim version 8.1.  Last change: 2019 May 05
+*if_lua.txt*    For Vim version 8.1.  Last change: 2019 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Luis Carvalho
@@ -32,7 +32,7 @@
 	:lua local curbuf = vim.buffer() curbuf[7] = "line #7"
 <
 
-:[range]lua << {endmarker}
+:[range]lua << [endmarker]
 {script}
 {endmarker}
 			Execute Lua script {script}.
@@ -40,9 +40,11 @@
 			feature wasn't compiled in.  To avoid errors, see
 			|script-here|.
 
-{endmarker} must NOT be preceded by any white space.  If {endmarker} is
-omitted from after the "<<", a dot '.' must be used after {script}, like
-for the |:append| and |:insert| commands.
+The {endmarker} must NOT be preceded by any white space.
+
+If [endmarker] is omitted from after the "<<", a dot '.' must be used after
+{script}, like for the |:append| and |:insert| commands.
+
 This form of the |:lua| command is mainly useful for including Lua code
 in Vim scripts.
 
diff --git a/runtime/doc/if_mzsch.txt b/runtime/doc/if_mzsch.txt
index 7b7e6b1..c6888a8 100644
--- a/runtime/doc/if_mzsch.txt
+++ b/runtime/doc/if_mzsch.txt
@@ -1,4 +1,4 @@
-*if_mzsch.txt*  For Vim version 8.1.  Last change: 2019 May 05
+*if_mzsch.txt*  For Vim version 8.1.  Last change: 2019 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Sergey Khorev
@@ -39,7 +39,7 @@
 :[range]mz[scheme] {stmt}
 			Execute MzScheme statement {stmt}.
 
-:[range]mz[scheme] << {endmarker}
+:[range]mz[scheme] << [endmarker]
 {script}
 {endmarker}
 			Execute inlined MzScheme script {script}.
@@ -47,6 +47,13 @@
 			feature wasn't compiled in.  To avoid errors, see
 			|script-here|.
 
+			The {endmarker} below the {script} must NOT be
+			preceded by any white space.
+
+			If [endmarker] is omitted from after the "<<", a dot
+			'.' must be used after {script}, like for the
+			|:append| and |:insert| commands.
+
 							*:mzfile* *:mzf*
 :[range]mzf[ile] {file}	Execute the MzScheme script in {file}.
 
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index 7e33af2..bee9b88 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -1,4 +1,4 @@
-*if_perl.txt*   For Vim version 8.1.  Last change: 2019 May 05
+*if_perl.txt*   For Vim version 8.1.  Last change: 2019 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Sven Verdoolaege
@@ -55,15 +55,18 @@
 			working: >
 				:perl VIM::Msg("Hello")
 
-:pe[rl] << {endpattern}
+:pe[rl] << [endpattern]
 {script}
 {endpattern}
 			Execute Perl script {script}.
-			{endpattern} must NOT be preceded by any white space.
-			If {endpattern} is omitted, it defaults to a dot '.'
+			The {endpattern} after {script} must NOT be preceded
+			by any white space.
+
+			If [endpattern] is omitted, it defaults to a dot '.'
 			like for the |:append| and |:insert| commands.  Using
 			'.' helps when inside a function, because "$i;" looks
 			like the start of an |:insert| command to Vim.
+
 			This form of the |:perl| command is mainly useful for
 			including perl code in vim scripts.
 			Note: This command doesn't work when the Perl feature
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 9e2d301..4f04199 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 8.1.  Last change: 2019 May 04
+*if_pyth.txt*   For Vim version 8.1.  Last change: 2019 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -34,7 +34,7 @@
 			the `:python` command is working: >
 				:python print "Hello"
 
-:[range]py[thon] << {endmarker}
+:[range]py[thon] << [endmarker]
 {script}
 {endmarker}
 			Execute Python script {script}.
@@ -42,9 +42,11 @@
 			feature wasn't compiled in.  To avoid errors, see
 			|script-here|.
 
-{endmarker} must NOT be preceded by any white space.  If {endmarker} is
-omitted from after the "<<", a dot '.' must be used after {script}, like
-for the |:append| and |:insert| commands.
+The {endmarker} below the {script} must NOT be preceded by any white space.
+
+If [endmarker] is omitted from after the "<<", a dot '.' must be used after
+{script}, like for the |:append| and |:insert| commands.
+
 This form of the |:python| command is mainly useful for including python code
 in Vim scripts.
 
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index de36c01..0eca0b6 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 8.1.  Last change: 2019 May 05
+*if_ruby.txt*   For Vim version 8.1.  Last change: 2019 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Shugo Maeda
@@ -28,15 +28,19 @@
 :rub[y] {cmd}		Execute Ruby command {cmd}.  A command to try it out: >
 				:ruby print "Hello"
 
-:rub[y] << {endpattern}
+:rub[y] << [endpattern]
 {script}
 {endpattern}
 			Execute Ruby script {script}.
-			{endpattern} must NOT be preceded by any white space.
-			If {endpattern} is omitted, it defaults to a dot '.'
-			like for the |:append| and |:insert| commands.  This
-			form of the |:ruby| command is mainly useful for
+			The {endpattern} after {script} must NOT be preceded
+			by any white space.
+
+			If [endpattern] is omitted, it defaults to a dot '.'
+			like for the |:append| and |:insert| commands.
+
+			This form of the |:ruby| command is mainly useful for
 			including ruby code in vim scripts.
+
 			Note: This command doesn't work when the Ruby feature
 			wasn't compiled in.  To avoid errors, see
 			|script-here|.
diff --git a/runtime/doc/if_tcl.txt b/runtime/doc/if_tcl.txt
index 4a5379d..e37dce9 100644
--- a/runtime/doc/if_tcl.txt
+++ b/runtime/doc/if_tcl.txt
@@ -1,4 +1,4 @@
-*if_tcl.txt*    For Vim version 8.1.  Last change: 2019 May 05
+*if_tcl.txt*    For Vim version 8.1.  Last change: 2019 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Ingo Wilken
@@ -30,7 +30,7 @@
 			is working: >
 				:tcl puts "Hello"
 
-:[range]tc[l] << {endmarker}
+:[range]tc[l] << [endmarker]
 {script}
 {endmarker}
 			Execute Tcl script {script}.
@@ -38,9 +38,11 @@
 			wasn't compiled in.  To avoid errors, see
 			|script-here|.
 
-{endmarker} must NOT be preceded by any white space.  If {endmarker} is
-omitted from after the "<<", a dot '.' must be used after {script}, like for
-the |:append| and |:insert| commands.
+The {endmarker} after {script} must NOT be preceded by any white space.
+
+If [endmarker] is omitted from after the "<<", a dot '.' must be used after
+{script}, like for the |:append| and |:insert| commands.
+
 This form of the |:tcl| command is mainly useful for including tcl code in Vim
 scripts.
 
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 7643108..6fcf987 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt*    For Vim version 8.1.  Last change: 2019 Feb 21
+*indent.txt*    For Vim version 8.1.  Last change: 2019 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -831,7 +831,7 @@
 global variables:
 
 					*php-comment* *PHP_autoformatcomment*
-To not enable auto-formatting of comments by default (if you want to use your
+To not enable auto-formating of comments by default (if you want to use your
 own 'formatoptions'): >
     :let g:PHP_autoformatcomment = 0
 
@@ -901,7 +901,7 @@
 	optimizations won't be available.
 -------------
 
-							*PHP_vintage_case_default_indent*
+					*PHP_vintage_case_default_indent*
 To indent 'case:' and 'default:' statements in switch() blocks: >
     :let g:PHP_vintage_case_default_indent = 1
 
@@ -928,6 +928,41 @@
         ->age()
         ->info();
 
+-------------
+
+					*PHP_IndentFunctionCallParameters*
+Extra indentation levels to add to parameters in multi-line function calls. >
+    let g:PHP_IndentFunctionCallParameters = 1
+
+Function call arguments will indent 1 extra level. For two-space indentation: >
+
+    function call_the_thing(
+      $with_this,
+      $and_that
+    ) {
+      $this->do_the_thing(
+          $with_this,
+          $and_that
+      );
+    }
+
+-------------
+
+				*PHP_IndentFunctionDeclarationParameters*
+Extra indentation levels to add to arguments in multi-line function definitions. >
+    let g:PHP_IndentFunctionDeclarationParameters = 1
+
+Function arguments in declarations will indent 1 extra level. For two-space indentation: >
+
+    function call_the_thing(
+        $with_this,
+        $and_that
+    ) {
+      $this->do_the_thing(
+        $with_this,
+        $and_that
+      );
+    }
 
 
 PYTHON							*ft-python-indent*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 0d55863..5557f63 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.1.  Last change: 2019 Jul 18
+*options.txt*	For Vim version 8.1.  Last change: 2019 Jul 31
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1131,6 +1131,10 @@
 	v:beval_col	column number (byte index)
 	v:beval_text	word under or after the mouse pointer
 
+	Instead of showing a balloon, which is limited to plain text, consider
+	using a popup window, see |popup_beval_example|.  A popup window can
+	use highlighting and show a border.
+
 	The evaluation of the expression must not have side effects!
 	Example: >
     function MyBalloonExpr()
@@ -1436,8 +1440,6 @@
 						*'cedit'*
 'cedit'			string	(Vi default: "", Vim default: CTRL-F)
 			global
-			{not available when compiled without the |+vertsplit|
-			feature}
 	The key used in Command-line Mode to open the command-line window.
 	The default is CTRL-F when 'compatible' is off.
 	Only non-printable keys are allowed.
@@ -1640,8 +1642,6 @@
 						*'cmdwinheight'* *'cwh'*
 'cmdwinheight' 'cwh'	number	(default 7)
 			global
-			{not available when compiled without the |+vertsplit|
-			feature}
 	Number of screen lines to use for the command-line window. |cmdwin|
 
 						*'colorcolumn'* *'cc'*
@@ -2720,8 +2720,6 @@
 						*'eadirection'* *'ead'*
 'eadirection' 'ead'	string	(default "both")
 			global
-			{not available when compiled without the |+vertsplit|
-			feature}
 	Tells when the 'equalalways' option applies:
 		ver	vertically, width of windows is not affected
 		hor	horizontally, height of windows is not affected
@@ -7082,8 +7080,6 @@
 			*'splitright'* *'spr'* *'nosplitright'* *'nospr'*
 'splitright' 'spr'	boolean	(default off)
 			global
-			{not available when compiled without the |+vertsplit|
-			feature}
 	When on, splitting a window will put the new window right of the
 	current one. |:vsplit|
 
@@ -8792,8 +8788,6 @@
 						*'winminwidth'* *'wmw'*
 'winminwidth' 'wmw'	number	(default 1)
 			global
-			{not available when compiled without the |+vertsplit|
-			feature}
 	The minimal width of a window, when it's not the current window.
 	This is a hard minimum, windows will never become smaller.
 	When set to zero, windows may be "squashed" to zero columns (i.e. just
@@ -8821,8 +8815,6 @@
 						*'winwidth'* *'wiw'* *E592*
 'winwidth' 'wiw'	number	(default 20)
 			global
-			{not available when compiled without the |+vertsplit|
-			feature}
 	Minimal number of columns for the current window.  This is not a hard
 	minimum, Vim will use fewer columns if there is not enough room.  If
 	the current window is smaller, its size is increased, at the cost of
diff --git a/runtime/doc/popup.txt b/runtime/doc/popup.txt
index d696e28..0552951 100644
--- a/runtime/doc/popup.txt
+++ b/runtime/doc/popup.txt
@@ -515,10 +515,10 @@
 			padding.
 	minheight	Minimum height of the contents, excluding border and
 			padding.
-	maxwidth	Maximum width of the contents, excluding border and
-			padding.
-	minwidth	Minimum width of the contents, excluding border and
-			padding.
+	maxwidth	Maximum width of the contents, excluding border,
+			padding and scrollbar.
+	minwidth	Minimum width of the contents, excluding border,
+			padding and scrollbar.
 	firstline	First buffer line to display.  When larger than one it
 			looks like the text scrolled up.  When out of range
 			the last buffer line will at the top of the window.
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 413aff5..7597662 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.1.  Last change: 2019 Jun 02
+*starting.txt*  For Vim version 8.1.  Last change: 2019 Jul 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1189,6 +1189,8 @@
 
 	VIMRUNTIME=`vim -e -T dumb --cmd 'exe "set t_cm=\<C-M>"|echo $VIMRUNTIME|quit' | tr -d '\015' `
 
+Don't set $VIMRUNTIME to an empty value, some things may stop working.
+
 ==============================================================================
 6. Suspending						*suspend*
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 75071e6..01948f6 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -149,6 +149,7 @@
 'complete'	options.txt	/*'complete'*
 'completefunc'	options.txt	/*'completefunc'*
 'completeopt'	options.txt	/*'completeopt'*
+'completeslash'	options.txt	/*'completeslash'*
 'concealcursor'	options.txt	/*'concealcursor'*
 'conceallevel'	options.txt	/*'conceallevel'*
 'confirm'	options.txt	/*'confirm'*
@@ -169,6 +170,7 @@
 'cscopetag'	options.txt	/*'cscopetag'*
 'cscopetagorder'	options.txt	/*'cscopetagorder'*
 'cscopeverbose'	options.txt	/*'cscopeverbose'*
+'csl'	options.txt	/*'csl'*
 'cspc'	options.txt	/*'cspc'*
 'csprg'	options.txt	/*'csprg'*
 'csqf'	options.txt	/*'csqf'*
@@ -3991,12 +3993,14 @@
 E24	message.txt	/*E24*
 E240	remote.txt	/*E240*
 E241	eval.txt	/*E241*
+E242	windows.txt	/*E242*
 E243	if_ole.txt	/*E243*
 E244	gui.txt	/*E244*
 E245	gui.txt	/*E245*
 E246	autocmd.txt	/*E246*
 E247	remote.txt	/*E247*
 E248	remote.txt	/*E248*
+E249	windows.txt	/*E249*
 E25	message.txt	/*E25*
 E250	options.txt	/*E250*
 E251	remote.txt	/*E251*
@@ -4736,6 +4740,7 @@
 E956	pattern.txt	/*E956*
 E957	eval.txt	/*E957*
 E958	terminal.txt	/*E958*
+E959	diff.txt	/*E959*
 E96	diff.txt	/*E96*
 E960	options.txt	/*E960*
 E961	cmdline.txt	/*E961*
@@ -4910,6 +4915,8 @@
 PATHEXT	eval.txt	/*PATHEXT*
 PEP8	filetype.txt	/*PEP8*
 PHP_BracesAtCodeLevel	indent.txt	/*PHP_BracesAtCodeLevel*
+PHP_IndentFunctionCallParameters	indent.txt	/*PHP_IndentFunctionCallParameters*
+PHP_IndentFunctionDeclarationParameters	indent.txt	/*PHP_IndentFunctionDeclarationParameters*
 PHP_autoformatcomment	indent.txt	/*PHP_autoformatcomment*
 PHP_default_indenting	indent.txt	/*PHP_default_indenting*
 PHP_noArrowMatching	indent.txt	/*PHP_noArrowMatching*
@@ -5293,7 +5300,7 @@
 asm.vim	syntax.txt	/*asm.vim*
 asm68k	syntax.txt	/*asm68k*
 asmh8300.vim	syntax.txt	/*asmh8300.vim*
-assert-functions	testing.txt	/*assert-functions*
+assert-functions-details	testing.txt	/*assert-functions-details*
 assert-return	eval.txt	/*assert-return*
 assert_beeps()	testing.txt	/*assert_beeps()*
 assert_equal()	testing.txt	/*assert_equal()*
@@ -8262,6 +8269,7 @@
 popup_filter_yesno()	popup.txt	/*popup_filter_yesno()*
 popup_getoptions()	popup.txt	/*popup_getoptions()*
 popup_getpos()	popup.txt	/*popup_getpos()*
+popup_getpreview()	popup.txt	/*popup_getpreview()*
 popup_hide()	popup.txt	/*popup_hide()*
 popup_locate()	popup.txt	/*popup_locate()*
 popup_menu()	popup.txt	/*popup_menu()*
@@ -9363,8 +9371,8 @@
 terminal.txt	terminal.txt	/*terminal.txt*
 terminfo	term.txt	/*terminfo*
 termresponse-variable	eval.txt	/*termresponse-variable*
-test-functions	testing.txt	/*test-functions*
 test-functions	usr_41.txt	/*test-functions*
+test-functions-details	testing.txt	/*test-functions-details*
 test_alloc_fail()	testing.txt	/*test_alloc_fail()*
 test_autochdir()	testing.txt	/*test_autochdir()*
 test_feedinput()	testing.txt	/*test_feedinput()*
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 7692d80..6fe6b8e 100644
--- a/runtime/doc/testing.txt
+++ b/runtime/doc/testing.txt
@@ -1,4 +1,4 @@
-*testing.txt*	For Vim version 8.1.  Last change: 2019 Jul 21
+*testing.txt*	For Vim version 8.1.  Last change: 2019 Jul 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -11,8 +11,8 @@
 and for testing plugins.
 
 1. Testing Vim				|testing|
-2. Test functions			|test-functions|
-3. Assert funtions			|assert-functions|
+2. Test functions			|test-functions-details|
+3. Assert functions			|assert-functions-details|
 
 ==============================================================================
 1. Testing Vim						*testing*
@@ -36,7 +36,7 @@
 Find more information in the file src/testdir/README.txt.
 
 ==============================================================================
-2. Test functions				*test-functions*
+2. Test functions				*test-functions-details*
 
 test_alloc_fail({id}, {countdown}, {repeat})		*test_alloc_fail()*
 		This is for testing: If the memory allocation with {id} is
@@ -198,7 +198,7 @@
 		normal behavior is restored.
 
 ==============================================================================
-3. Assert functions				*assert-functions*
+3. Assert functions				*assert-functions-details*
 
 
 assert_beeps({cmd})					*assert_beeps()*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 4d937e7..3c3bd02 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.1.  Last change: 2019 Jul 19
+*todo.txt*      For Vim version 8.1.  Last change: 2019 Jul 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,24 +38,11 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
-20)
-Also put :argadd commands at the start for all buffers, so that their order
-remains equal?  Then %argdel to clean it up.  Do try this with 'hidden' set.
-
-Refactor: Move common things out of evalfunc.c, it's too big.
-Move function specs out of eval.txt, it's too big.
-
-Convert comments in option.h
-
-Patch to convert encoding of strftime(). (Ken Takata, #4685, fixes #4681)
-
-Patch to Move viminfo related functions to a separate file: #4686
-
 Popup windows:
-- avoid preview popup going outside of the screen
-- add popup_getpreview() - get ID of preview window
+- Always show the right border, not only when there is a close button?
 - bug: double click in scrollbar starts selection
+- modeless selection fails over ssh and with putty.  Mouse dragging not
+  supported?  Can we force it on?
 - Allow resizing from the bottom-right corner
 - Implement flip option
 - Have a way to scroll to the bottom, e.g. set 'firstline' to -1? (#4577)
@@ -148,22 +135,29 @@
 - When 'encoding' is not utf-8, or the job is using another encoding, setup
   conversions.
 
-Error numbers available: E172, E221, E242, E249, E260, E274, E275, E276,
-E278, E279, E281, E290, E291, E292, E361, E362, E366, E396, E450, E451, E452,
-E453, E454, E460, E489, E491, E56, E57, E565, E569, E578, E610, E611, E653,
-E654, E693, E706, E856, E857, E860, E861, E863, E889, E900, E959
+Error numbers available: E260, E274, E275, E276,
+E278, E279, E290, E292, E362, E366, E450, E451, E452,
+E453, E454, E460, E489, E491, E565, E578, E610, E611, E653,
+E654, E856, E857, E860, E861, E863, E889, E900
 
-Problem with German spell file.  Hint for solution by Klaus-Peter Schreiner in
-#4314, solves the Rasenmäher problem.
+Patch on issue #4661 to fix resolve(). (Ken Takata)
+https://gist.github.com/k-takata/52d0a677ca9a27bdbaed21d77533244e
+
+Patch to split of map.c from getchar.c (Yegappan, #4740)
 
 Sound: support on Mac?  Or does libcanberra work there?
 
-Patch to use forward slash for completion even when 'shellslash' is set.
-Adds 'completepathslash'.  (Yasuhiro Matsumoto, 2018 Nov 15, #3612)
-
 Patch to add win_splitmove() function. (Andy Massimino, #4561)
 
-Resolve() works incorrectly under windows. (#4661)
+Patch for #4733: #4734.  Test needs improvements.
+
+Patch to fix session file when using multiple tabs. (Jason Franklin, 2019 May
+20)
+Also put :argadd commands at the start for all buffers, so that their order
+remains equal?  Then %argdel to clean it up.  Do try this with 'hidden' set.
+
+Make heredoc-let a bit more restrictive:
+https://github.com/vim/vim/issues/4705
 
 Completion mixes results from the current buffer with tags and other files.
 Happens when typing CTRL-N while still search for results.  E.g., type "b_" in
@@ -171,6 +165,8 @@
 Should do current file first and not split it up when more results are found.
 (Also #1890)
 
+Patch to add :spellrare. (#4291)
+
 Patch to use timers in matchparen. (Daniel Hahler, #1338)
 Ready to include now?
 
@@ -180,12 +176,18 @@
 Patch to support 'cursorlineopt' - only highlight the line number of the
 cursor line: #4693
 
+Let plugins know how much space is available in the last line before
+triggering the hit-enter prompt.  Internally called "sc_col".
+(Daniel Hahler, #4732)
+
 Patch for Template string: #4491  Not ready yet.  New pull: #4634
 
 ":bnext" in a help buffer is supposed to go to the next help buffer, but it
 goes to any buffer, and then :bnext skips help buffers, since they are
 unlisted. (#4478)
 
+Make 'showbreak' global-local.
+
 Problem showing a line if the number column width changes when using "o".
 (Mateusz Morusiewicz, #4245)
 
@@ -222,6 +224,9 @@
 Internal diff doesn't handle binary file like external diff does. (Mike
 Williams, 2018 Oct 30)
 
+"exepath('bin/cmd')" does not work while ":!bin/cmd" does work.
+(Daniel Hahler, #4710)  and executable('bin/cmd') returns 1
+
 Problem with :tlmenu: Detach item added with all modes?  Issue #3563.
 
 The quoting of the [command] argument of :terminal is not clearly documented.
@@ -308,6 +313,24 @@
 Add test for urxvt mouse codes.  Also test that mouse coordinates can be
 negative. (see #4326)
 
+All functions are global, which makes functions like get() and len() awkward.
+For the future use the ~get() and ~len() syntax.  It also allows for
+chaining: >
+    mylist~get(idx)
+    mylist~uniq()~len()
+    mydict~get(idx)
+    mystring~len()
+Or use -> (like C pointer dereference) >
+    mylist->get(idx)
+    mylist->uniq()->len()
+    mydict->get(idx)
+    mystring->len()
+Alternatives for ~:
+    ^  list^get()    could also be used
+    .  list.get()    already means "member" in Dict
+    $  list$get()    harder to read
+    @  list@get()    harder to read
+
 'cmdheight' has a tab-local value, but it cannot be obtained with
 `:echo gettabwinvar(2, 1, '&cmdheight')` returns the value for the _current_
 tab page. (Ingo Karkat, #4324)
@@ -522,6 +545,8 @@
 Win32 key codes are messy.  Mike Williams tried to fix that, but now old
 mappings no longer work.  Create a new terminal for the better solution?
 
+Patch to "fix" 'visualbell'. Add option to set delay?  (#1789)
+
 Script generated by :mksession does not work well if there are windows with
 modified buffers
   change "silent only" into "silent only!"
@@ -802,18 +827,6 @@
 
 'tagrelative' is broken in specific situation. (xaizek, 2017 Oct 19, #2221)
 
-All functions are global, which makes functions like get() and len() awkward.
-For the future use the ~get() and ~len() syntax, e.g.:
-    mylist~get(idx)
-    mydict~get(idx)
-    mystring~len()
-Alternatives for ~:
-    ^  list^get()    could also be used
-    .  list.get()    already means concatenate
-    $  list$get()    harder to read
-    @  list@get()    harder to read
-    ->  list->get()  two characters, used for lambda
-
 The ++ options for the :edit command are also useful on the Vim command line.
 
 When recovering a file, put the swap file name in b:recovered_swapfile.  Then
@@ -4379,8 +4392,6 @@
     to avoid a performance penalty (esp. for string options)?
 8   Add referring to key options with "&t_xx".  Both for "echo &t_xx" and
     ":let &t_xx =".  Useful for making portable mappings.
--   Add ":let var ?= value", conditional assignment.  Patch by Dave Eggum,
-    2006 Dec 11.
 -   range for ":exec", pass it on to the executed command.  (Webb)
 8   ":{range}source": source the lines from the current file.
 	You can already yank lines and use :@" to execute them.
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 5f987dc..6a67867 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 8.1.  Last change: 2019 Jun 10
+*various.txt*   For Vim version 8.1.  Last change: 2019 Jul 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -457,7 +457,6 @@
 N  *+viminfo*		|'viminfo'|
    *+vertsplit*		Vertically split windows |:vsplit|; Always enabled
 			since 8.0.1118.
-			in sync with the |+windows| feature
 N  *+virtualedit*	|'virtualedit'|
 T  *+visual*		Visual mode |Visual-mode| Always enabled since 7.4.200.
 T  *+visualextra*	extra Visual mode commands |blockwise-operators|
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 81b99a0..87a5d6f 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.1.  Last change: 2019 Jul 18
+*windows.txt*   For Vim version 8.1.  Last change: 2019 Jul 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -28,8 +28,6 @@
 
 {not able to use multiple windows when the |+windows| feature was disabled at
 compile time}
-{not able to use vertically split windows when the |+vertsplit| feature was
-disabled at compile time}
 
 ==============================================================================
 1. Introduction					*windows-intro* *window*
@@ -162,6 +160,10 @@
 		Note: CTRL-S does not work on all terminals and might block
 		further input, use CTRL-Q to get going again.
 		Also see |++opt| and |+cmd|.
+							*E242*
+		Be careful when splitting a window in an autocommand, it may
+		mess up the window layout if this happens while making other
+		window layout changes.
 
 CTRL-W CTRL-V						*CTRL-W_CTRL-V*
 CTRL-W v						*CTRL-W_v*
@@ -507,7 +509,6 @@
 		current window and then creating another one with
 		":vert topleft split", except that the current window contents
 		is used for the new window.
-		{not available when compiled without the |+vertsplit| feature}
 
 						*CTRL-W_L*
 CTRL-W L	Move the current window to be at the far right, using the full
@@ -515,7 +516,6 @@
 		current window and then creating another one with
 		":vert botright split", except that the current window
 		contents is used for the new window.
-		{not available when compiled without the |+vertsplit| feature}
 
 						*CTRL-W_T*
 CTRL-W T	Move the current window to a new tab page.  This fails if
@@ -667,6 +667,8 @@
 		|:vertical| was prepended).
 		Buf/Win Enter/Leave autocommands are not executed for the new
 		windows here, that's only done when they are really entered.
+		If autocommands change the window layout while this command is
+		busy an error will be given. *E249*
 
 :[N]sa[rgument][!] [++opt] [+cmd] [N]			*:sa* *:sargument*
 		Short for ":split | argument [N]": split window and go to Nth