Update runtime files.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 905074c..e243ba3 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -5822,7 +5822,8 @@
 		listing.
 
 		When there is no mapping for {name}, an empty String is
-		returned.
+		returned.  When the mapping for {name} is empty, then "<Nop>"
+		is returned.
 
 		The {name} can have special key names, like in the ":map"
 		command.
@@ -5889,9 +5890,10 @@
 		mapping that matches with {name}, while maparg() only finds a
 		mapping for {name} exactly.
 		When there is no mapping that starts with {name}, an empty
-		String is returned.  If there is one, the rhs of that mapping
+		String is returned.  If there is one, the RHS of that mapping
 		is returned.  If there are several mappings that start with
-		{name}, the rhs of one of them is returned.
+		{name}, the RHS of one of them is returned.  This will be
+		"<Nop>" if the RHS is empty.
 		The mappings local to the current buffer are checked first,
 		then the global mappings.
 		This function can be used to check if a mapping can be added
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index a66d997..c30aa33 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -999,7 +999,7 @@
 				pointer instead of the cursor.
 				In the terminal this is the last known
 				position, which is usually at the last click
-				or release (mouse movement is irrelevalt).
+				or release (mouse movement is irrelevant).
 
 Example: >
 	:popup File
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index ac8bf53..180d932 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -907,6 +907,25 @@
 and 'default:' are indented at the same level than the 'switch()' to avoid
 meaningless indentation. You can use the above option to return to the
 traditional way.
+-------------
+
+							*PHP_noArrowMatching*
+By default the indent script will indent multi-line chained calls by matching
+the position of the '->': >
+
+    $user_name_very_long->name()
+                        ->age()
+                        ->info();
+
+You can revert to the classic way of indenting by setting this option to 1: >
+    :let g:PHP_noArrowMatching = 1
+
+You will obtain the following result: >
+
+    $user_name_very_long->name()
+        ->age()
+        ->info();
+
 
 
 PYTHON							*ft-python-indent*
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 01c2d0e..422f100 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -5187,7 +5187,7 @@
 	more depth, set 'maxfuncdepth' to a bigger number.  But this will use
 	more memory, there is the danger of failing when memory is exhausted.
 	Increasing this limit above 200 also changes the maximum for Ex
-	command resursion, see |E169|.
+	command recursion, see |E169|.
 	See also |:function|.
 
 						*'maxmapdepth'* *'mmd'* *E223*
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 20dd1ef..31fcc43 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -213,7 +213,8 @@
 :tabN[ext] {count}
 {count}<C-PageUp>
 {count}gT	Go {count} tab pages back.  Wraps around from the first one
-		to the last one.
+		to the last one.  Note that the use of {count} is different
+		from |:tabnext|, where it is used as the tab page number.
 
 :tabr[ewind]			*:tabfir* *:tabfirst* *:tabr* *:tabrewind*
 :tabfir[st]	Go to the first tab page.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index ea0b252..9d5af7f 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4749,6 +4749,7 @@
 PHP_BracesAtCodeLevel	indent.txt	/*PHP_BracesAtCodeLevel*
 PHP_autoformatcomment	indent.txt	/*PHP_autoformatcomment*
 PHP_default_indenting	indent.txt	/*PHP_default_indenting*
+PHP_noArrowMatching	indent.txt	/*PHP_noArrowMatching*
 PHP_outdentSLComments	indent.txt	/*PHP_outdentSLComments*
 PHP_outdentphpescape	indent.txt	/*PHP_outdentphpescape*
 PHP_removeCRwhenUnix	indent.txt	/*PHP_removeCRwhenUnix*
@@ -8198,6 +8199,8 @@
 ref	intro.txt	/*ref*
 reference	intro.txt	/*reference*
 reference_toc	help.txt	/*reference_toc*
+reg_executing()	eval.txt	/*reg_executing()*
+reg_recording()	eval.txt	/*reg_recording()*
 regexp	pattern.txt	/*regexp*
 regexp-changes-5.4	version5.txt	/*regexp-changes-5.4*
 register	sponsor.txt	/*register*
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index 8b8b77c..b3fe522 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -204,7 +204,7 @@
 			++rows={height} Use {height} for the terminal window
 					height.  If the terminal uses the full
 					Vim height (no window above or below
-					th terminal window) the command line
+					the terminal window) the command line
 					height will be reduced as needed.
 			++cols={width}  Use {width} for the terminal window
 					width. If the terminal uses the full
@@ -243,7 +243,7 @@
 You can use `CTRL-W :hide` to close the terminal window and make the buffer
 hidden, the job keeps running.  The `:buffer` command can be used to turn the
 current window into a terminal window.  If there are unsaved changes this
-fails, use !  to force, as usual.
+fails, use ! to force, as usual.
 
 To have a background job run without a window, and open the window when it's
 done, use options like this: >
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 13ab355..2029c35 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -39,7 +39,7 @@
 -------------------- Known bugs and current work -----------------------
 
 Terminal emulator window:
-- Win32: Termdebug doesn't work, because gdb does not support mi2.
+- Win32: Termdebug doesn't work, because gdb does not support mi2 on a tty.
   This plugin: https://github.com/cpiger/NeoDebug  runs gdb as a job,
   redirecting input and output.
   Open new console for for program with: "set new-console on"
@@ -61,13 +61,13 @@
   after "run".  Everything else works, including communication channel.  Not
   initializing mzscheme avoid the problem, thus it's not some #ifdef.
 
-Patch to refactor efm_to_regpat(). (Yegappan Lakshmanan, 2018 May 16, #2924)
+Does not build with MinGW out of the box:
+- _stat64 is not defined, need to use "struct stat" in vim.h
+- WINVER conflict, should use 0x0600 by default?
 
 Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
 13, #2910)  Can't reproduce?
 
-Deprecate using  has("patch213")  always include the version number.
-
 On Win32 when not in the console and t_Co >= 256, allow using 'tgc'.
 (Nobuhiro Takasaki, #2833)  Also check t_Co.
 
@@ -123,11 +123,8 @@
 Should add a test for every command line argument.  Check coverage for what is
 missing: --nofork, -A , -b, -h, etc.
 
-Completing a command sometimes results in duplicates, since 7.4.672.
-(Yegappan Lakshmanan, 2018 May 16)
-Duplication of completion suggestions for ":!hom".  Issue #539.
-Patch by Christian, 2016 Jan 29
-Another patch in #2733.
+Patch for variable tabstops.  On github (Christian Brabandt, 2014 May 15)
+Update 2018 March 12, #2711
 
 Improve the installer for MS-Windows.  There are a few alternatives:
 - Add silent install option. (Shane Lee, #751)
@@ -152,6 +149,7 @@
 with packages under "start". (xtal8, #1994)
 
 Patch to support "xxd -ps". (Erik Auerswald, 2018 May 1)
+Lacks a test.
 
 Column number is wrong when using 'linebreak' and 'wrap'. (Keith Smiley, 2018
 Jan 15, #2555)
@@ -160,8 +158,6 @@
 
 Check argument of systemlist(). (Pavlov)
 
-Patch to add reg_executing() and reg_recording(). (Hirohito Higashi, #2745)
-
 No maintainer for Vietnamese translations.
 No maintainer for Simplified Chinese translations.
 
@@ -1184,9 +1180,6 @@
 Patch: On MS-Windows shellescape() may have to triple double quotes.
 (Ingo Karkat, 2015 Jan 16)
 
-Patch for variable tabstops.  On github (Christian Brabandt, 2014 May 15)
-Update 2018 March 12, #2711
-
 Redo only remembers the last change.  Could use "{count}g." to redo an older
 change.  How does the user know which change?  At least have a way to list
 them: ":repeats".
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index c091063..d927c54 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -14549,12 +14549,37 @@
 Internal: A few C99 features are now allowed such as // comments and a
 comma after the last enum entry.  See |style-compiler|.
 
+Since patch 8.0.0029 removed support for older MS-Windows systems, only
+MS-Windows XP and later are supported.
+
 
 Added							*added-8.1*
 -----
 
 Various syntax, indent and other plugins were added.
 
+Quickfix improvements (by Yegappan Lakshmanan):
+	Added support for modifying any quickfix/location list in the quickfix
+	stack.
+	Added a unique identifier for every quickfix/location list.
+	Added support for associating any Vim type as a context information to
+	a quickfix/location list.
+	Enhanced the getqflist(), getloclist(), setqflist() and setloclist()
+	functions to get and set the various quickfix/location list attributes.
+	Added the QuickFixLine highlight group to highlight the current line
+	in the quickfix window.
+	The quickfix buffer b:changedtick variable is incremented for every
+	change to the contained quickfix list.
+	Added a changedtick variable to a quickfix/location list which is
+	incremented when the list is modified.
+	Added support for parsing text using 'errorformat' without creating a
+	new quickfix list.
+	Added support for the "module" item to a quickfix entry which can be
+	used for display purposes instead of a long file name.
+	Added support for freeing all the lists in the quickfix/location stack.
+	When opening a quickfix window using the :copen/:cwindow commands, the
+	supplied split modifiers are used.
+
 Functions:
 	All the term_ functions.
 
@@ -21591,7 +21616,7 @@
 
 Patch 8.0.1158
 Problem:    Still old style tests.
-Solution:   Convert serveral tests to new style. (Yegappan Lakshmanan)
+Solution:   Convert several tests to new style. (Yegappan Lakshmanan)
 Files:      src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
             src/testdir/main.aap, src/testdir/test33.in,
             src/testdir/test33.ok, src/testdir/test41.in,