Update runtime files.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 1e5b5a0..96feb7d 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 Aug 08
+*eval.txt*	For Vim version 8.1.  Last change: 2019 Aug 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -483,7 +483,7 @@
 entry.  Note that the String '04' and the Number 04 are different, since the
 Number will be converted to the String '4'.  The empty string can also be used
 as a key.
-						*literal-Dict*
+						*literal-Dict* *#{}*
 To avoid having to put quotes around every key the #{} form can be used.  This
 does require the key to consist only of ASCII letters, digits, '-' and '_'.
 Example: >
@@ -1219,7 +1219,7 @@
 
 expr8->name([args])	method call			*method* *->*
 expr8->{lambda}([args])
-
+							*E276*
 For methods that are also available as global functions this is the same as: >
 	name(expr8 [, args])
 There can also be methods specifically for the type of "expr8".
@@ -1230,7 +1230,7 @@
 <
 Example of using a lambda: >
 	GetPercentage->{x -> x * 100}()->printf('%d%%')
-
+<
 							*E274*
 "->name(" must not contain white space.  There can be white space before the
 "->" and after the "(", thus you can split the lines like this: >
@@ -1239,7 +1239,10 @@
 	\ ->map(mapexpr)
 	\ ->sort()
 	\ ->join()
-<
+
+When using the lambda form there must be no white space between the } and the
+(.
+
 
 							*expr9*
 number
@@ -2035,14 +2038,19 @@
 		Read-only.
 
 					*v:progpath* *progpath-variable*
-v:progpath	Contains the command with which Vim was invoked, including the
-		path.  Useful if you want to message a Vim server using a
+v:progpath	Contains the command with which Vim was invoked, in a form
+		that when passed to the shell will run the same Vim executable
+		as the current one (if $PATH remains unchanged).
+		Useful if you want to message a Vim server using a
 		|--remote-expr|.
 		To get the full path use: >
 			echo exepath(v:progpath)
-<		If the path is relative it will be expanded to the full path,
-		so that it still works after `:cd`. Thus starting "./vim"
-		results in "/home/user/path/to/vim/src/vim".
+<		If the command has a relative path it will be expanded to the
+		full path, so that it still works after `:cd`. Thus starting
+		"./vim" results in "/home/user/path/to/vim/src/vim".
+		On Linux and other systems it will always be the full path.
+		On Mac it may just be "vim" and using exepath() as mentioned
+		above should be used to get the full path.
 		On MS-Windows the executable may be called "vim.exe", but the
 		".exe" is not added to v:progpath.
 		Read-only.
@@ -9320,6 +9328,7 @@
 		autocommands and not actually show syntax highlighting.
 							*E994*
 		Not all commands are allowed in popup windows.
+		When window {id} does not exist then no error is given.
 
 win_findbuf({bufnr})					*win_findbuf()*
 		Returns a list with |window-ID|s for windows that contain
@@ -10341,6 +10350,12 @@
 :let ${env-name} = {expr1}			*:let-environment* *:let-$*
 			Set environment variable {env-name} to the result of
 			the expression {expr1}.  The type is always String.
+
+			On some systems making an environment variable empty
+			causes it to be deleted.  Many systems do not make a
+			difference between an environment variable that is not
+			set and an environment variable that is empty.
+
 :let ${env-name} .= {expr1}
 			Append {expr1} to the environment variable {env-name}.
 			If the environment variable didn't exist yet this
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index f20c706..f6cf2b5 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 8.1.  Last change: 2019 Jun 16
+*index.txt*     For Vim version 8.1.  Last change: 2019 Aug 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1592,6 +1592,7 @@
 |:spelldump|	:spelld[ump]	split window and fill with all correct words
 |:spellgood|	:spe[llgood]	add good word for spelling
 |:spellinfo|	:spelli[nfo]	show info about loaded spell files
+|:spellrare|	:spellra[re]	add rare word for spelling
 |:spellrepall|	:spellr[epall]	replace all bad words like last |z=|
 |:spellundo|	:spellu[ndo]	remove good or bad word
 |:spellwrong|	:spellw[rong]	add spelling mistake
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 6d86ba9..2c524bf 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 8.1.  Last change: 2019 Jun 26
+*intro.txt*     For Vim version 8.1.  Last change: 2019 Aug 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -508,6 +508,9 @@
 	   <M-a>		Meta- a  ('a' with bit 8 set)
 	   <M-A>		Meta- A  ('A' with bit 8 set)
 	   <t_kd>		"kd" termcap entry (cursor down key)
+    Although you can specify <M-{char}> with {char} being a multi-byte
+    character, Vim may not be able to know what byte sequence that is and then
+    it won't work.
 
 If you want to use the full <> notation in Vim, you have to make sure the '<'
 flag is excluded from 'cpoptions' (when 'compatible' is not set, it already is
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index 540b836..8269cac 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt*	For Vim version 8.1.  Last change: 2019 May 05
+*spell.txt*	For Vim version 8.1.  Last change: 2019 Aug 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 735a4d2..0d67202 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1,6 +1,7 @@
 !	change.txt	/*!*
 !!	change.txt	/*!!*
 #	pattern.txt	/*#*
+#{}	eval.txt	/*#{}*
 $	motion.txt	/*$*
 $HOME	options.txt	/*$HOME*
 $HOME-use	version5.txt	/*$HOME-use*
@@ -1266,6 +1267,7 @@
 +cindent	various.txt	/*+cindent*
 +clientserver	various.txt	/*+clientserver*
 +clipboard	various.txt	/*+clipboard*
++clipboard_working	various.txt	/*+clipboard_working*
 +cmd	editing.txt	/*+cmd*
 +cmdline_compl	various.txt	/*+cmdline_compl*
 +cmdline_hist	various.txt	/*+cmdline_hist*
@@ -1434,6 +1436,7 @@
 --ttyfail	starting.txt	/*--ttyfail*
 --version	starting.txt	/*--version*
 --windowid	starting.txt	/*--windowid*
+->	eval.txt	/*->*
 -?	starting.txt	/*-?*
 -A	starting.txt	/*-A*
 -C	starting.txt	/*-C*
@@ -3093,6 +3096,8 @@
 :spelli	spell.txt	/*:spelli*
 :spellinfo	spell.txt	/*:spellinfo*
 :spellr	spell.txt	/*:spellr*
+:spellra	spell.txt	/*:spellra*
+:spellrare	spell.txt	/*:spellrare*
 :spellrepall	spell.txt	/*:spellrepall*
 :spellu	spell.txt	/*:spellu*
 :spellundo	spell.txt	/*:spellundo*
@@ -4028,6 +4033,8 @@
 E272	if_ruby.txt	/*E272*
 E273	if_ruby.txt	/*E273*
 E274	eval.txt	/*E274*
+E275	textprop.txt	/*E275*
+E276	eval.txt	/*E276*
 E277	remote.txt	/*E277*
 E28	syntax.txt	/*E28*
 E280	if_tcl.txt	/*E280*
@@ -8350,6 +8357,7 @@
 psql	ft_sql.txt	/*psql*
 ptcap.vim	syntax.txt	/*ptcap.vim*
 pterm-mouse	options.txt	/*pterm-mouse*
+pum_getpos()	eval.txt	/*pum_getpos()*
 pumvisible()	eval.txt	/*pumvisible()*
 put	change.txt	/*put*
 put-Visual-mode	change.txt	/*put-Visual-mode*
diff --git a/runtime/doc/testing.txt b/runtime/doc/testing.txt
index 0dbe014..84aeb57 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 Aug 04
+*testing.txt*	For Vim version 8.1.  Last change: 2019 Aug 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/textprop.txt b/runtime/doc/textprop.txt
index 14ea58f..d3389cb 100644
--- a/runtime/doc/textprop.txt
+++ b/runtime/doc/textprop.txt
@@ -1,4 +1,4 @@
-*textprop.txt*  For Vim version 8.1.  Last change: 2019 Jul 20
+*textprop.txt*  For Vim version 8.1.  Last change: 2019 Aug 13
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 9515f4b..3214db2 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 Aug 08
+*todo.txt*      For Vim version 8.1.  Last change: 2019 Aug 17
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -38,25 +38,9 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-
-Methods:
-- Support lambda?  #4768
-    echo (10.0 / 100.0)->{x -> x * 100}
-- Define a user defined function for a specific type only?
-	func Len(expr) method=list,dict
-	  return a:expr->len()
-	endfunc
-	echo [1, 2, 3]->Len()
-	3
-	call Len([1, 2, 3])
-	error!
-
 Popup windows:
-- :pedit from help doesn't reset help flag, see pedit example
-- check popupmenu using preview window
-- modeless selection fails over ssh and with putty.  Mouse dragging not
-  supported?  Can we force it on?
-- modeless selection extends into the scrollbar. (#4773)
+- check popupmenu using preview window  #4544  overlaps complete menu
+    set completeopt+=preview
 - Implement flip option
 - Have a way to scroll to the bottom, e.g. set 'firstline' to -1? (#4577)
 - Why does 'nrformats' leak from the popup window buffer???
@@ -148,11 +132,13 @@
 - When 'encoding' is not utf-8, or the job is using another encoding, setup
   conversions.
 
-Error numbers available: E274, E275, E276,
+Error numbers available:
 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
 
+undo result wrong: Masato Nishihata, #4798
+
 Sound: support on Mac?  Or does libcanberra work there?
 
 Patch to add win_splitmove() function. (Andy Massimino, #4561)
@@ -173,8 +159,6 @@
 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?
 
@@ -209,6 +193,7 @@
 with packages under "start". (xtal8, #1994)
 
 Modeless selection doesn't work in gvim. (#4783)
+Caused by patch 8.1.1534.
 
 Visual highlight not removed when 'dipslay' is "lastline" and line doesn't
 fit. (Kevin Lawler, #4457)
@@ -220,7 +205,7 @@
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
-Columns and Rows are long, they should be int.
+Check_external_diff() is used too often. (Daniel Hahler, #4800)
 
 Errors found with random data:
     heap-buffer-overflow in alist_add (#2472)
@@ -494,9 +479,6 @@
 Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
 Patch #2405 does something like this, but in the wrong way.
 
-:pedit resets the 'buflisted' option unexpectedly. (Wang Shidong, 2018 Oct 12,
-#3536)
-
 home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
 
 When the status line uses term_gettitle(), it does not get updated when the
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 8c5885a..a1fd19b 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 Aug 01
+*various.txt*   For Vim version 8.1.  Last change: 2019 Aug 12
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -332,7 +332,8 @@
 m  *+channel*		inter process communication |channel|
 N  *+cindent*		|'cindent'|, C indenting
 N  *+clientserver*	Unix and Win32: Remote invocation |clientserver|
-   *+clipboard*		|clipboard| support
+   *+clipboard*		|clipboard| support compiled-in
+   *+clipboard_working*	|clipboard| support compiled-in and working
 N  *+cmdline_compl*	command line completion |cmdline-completion|
 S  *+cmdline_hist*	command line history |cmdline-history|
 N  *+cmdline_info*	|'showcmd'| and |'ruler'|
diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1
index 3c29361..d19317d 100644
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -266,7 +266,7 @@
 aborts.
 .TP
 \-i {viminfo}
-When using the viminfo file is enabled, this option sets the filename to use,
+Specifies the filename to use when reading or writing the viminfo file,
 instead of the default "~/.viminfo".
 This can also be used to skip the use of the .viminfo file, by giving the name
 "NONE".
@@ -289,7 +289,7 @@
 options can be set to enable making modifications.
 .TP
 \-N
-No-compatible mode.  Reset the 'compatible' option.
+No-compatible mode.  Resets the 'compatible' option.
 This will make
 .B Vim
 behave a bit better, but less Vi compatible, even though a .vimrc file does