diff --git a/runtime/doc/arabic.txt b/runtime/doc/arabic.txt
index 42fd878..5d0e9f3 100644
--- a/runtime/doc/arabic.txt
+++ b/runtime/doc/arabic.txt
@@ -10,11 +10,11 @@
 
 								*E800*
 In order to use right-to-left and Arabic mapping support, it is
-necessary to compile VIM with the |+arabic| feature.
+necessary to compile Vim with the |+arabic| feature.
 
 These functions have been created by Nadim Shaikli <nadim-at-arabeyes.org>
 
-It is best to view this file with these settings within VIM's GUI: >
+It is best to view this file with these settings within Vim's GUI: >
 
 	:set encoding=utf-8
 	:set arabicshape
@@ -42,7 +42,7 @@
 
 Highlights
 ----------
-o  Editing left-to-right files as in the original VIM hasn't changed.
+o  Editing left-to-right files as in the original Vim hasn't changed.
 
 o  Viewing and editing files in right-to-left windows.	 File
    orientation is per window, so it is possible to view the same
@@ -52,7 +52,7 @@
    The right-to-left changes are completely hardware independent.
    Only Arabic fonts are necessary.
 
-o  Compatible with the original VIM.   Almost all features work in
+o  Compatible with the original Vim.   Almost all features work in
    right-to-left mode (there are liable to be bugs).
 
 o  Changing keyboard mapping and reverse insert modes using a single
@@ -66,14 +66,14 @@
 
 o  Arabic keymapping on the command line in reverse insert mode.
 
-o  Proper Bidirectional functionality is possible given VIM is
+o  Proper Bidirectional functionality is possible given Vim is
    started within a Bidi capable terminal emulator.
 
 
 Arabic Fonts						*arabicfonts*
 ------------
 
-VIM requires monospaced fonts of which there are many out there.
+Vim requires monospaced fonts of which there are many out there.
 Arabic requires ISO-8859-6 as well as Presentation Form-B fonts
 (without Form-B, Arabic will _NOT_ be usable).	It is highly
 recommended that users search for so-called 'ISO-10646-1' fonts.
@@ -96,13 +96,13 @@
 
 Usage
 -----
-Prior to the actual usage of Arabic within VIM, a number of settings
+Prior to the actual usage of Arabic within Vim, a number of settings
 need to be accounted for and invoked.
 
 o  Setting the Arabic fonts
 
-   +  For VIM GUI set the 'guifont' to your_ARABIC_FONT.  This is done
-      by entering the following command in the VIM window.
+   +  For Vim GUI set the 'guifont' to your_ARABIC_FONT.  This is done
+      by entering the following command in the Vim window.
 >
 		:set guifont=your_ARABIC_FONT
 <
@@ -115,7 +115,7 @@
       you can include ':set guifont=your_ARABIC_FONT' to your .vimrc
       file.
 
-   +  Under the X Window environment, you can also start VIM with
+   +  Under the X Window environment, you can also start Vim with
       '-fn your_ARABIC_FONT' option.
 
 o  Setting the appropriate character Encoding
@@ -124,7 +124,7 @@
 >
 		:set encoding=utf-8
 <
-   to your .vimrc file (entering the command manually into you VIM
+   to your .vimrc file (entering the command manually into you Vim
    window is highly discouraged).  In short, include ':set
    encoding=utf-8' to your .vimrc file.
 
@@ -137,11 +137,11 @@
 o  Enable Arabic settings [short-cut]
 
    In order to simplify and streamline things, you can either invoke
-   VIM with the command-line option,
+   Vim with the command-line option,
 
      % vim -A my_utf8_arabic_file ...
 
-   or enable 'arabic' via the following command within VIM
+   or enable 'arabic' via the following command within Vim
 >
 		:set arabic
 <
@@ -189,7 +189,7 @@
 >
 		:set keymap=arabic
 <
-      in your VIM window.  You can also append the 'keymap' set command to
+      in your Vim window.  You can also append the 'keymap' set command to
       your .vimrc file.  In other words, you can include ':set keymap=arabic'
       to your .vimrc file.
 
@@ -202,7 +202,7 @@
 
    +  Arabic deletion of a combined pair character
 
-      By default VIM has the 'delcombine' option disabled.  This option
+      By default Vim has the 'delcombine' option disabled.  This option
       allows the deletion of ALEF in a LAM_ALEF (LAA) combined character
       and still retain the LAM (i.e. it reverts to treating the combined
       character as its natural two characters form -- this also pertains
@@ -211,13 +211,13 @@
 >
 		:set delcombine
 <
-      in our VIM window.  You can also append the 'delcombine' set command
+      in our Vim window.  You can also append the 'delcombine' set command
       to your .vimrc file.  In other words, you can include ':set delcombine'
       to your .vimrc file.
 
    +  Arabic right-to-left Mode
 
-      By default VIM starts in Left-to-right mode.  'rightleft' is the
+      By default Vim starts in Left-to-right mode.  'rightleft' is the
       command that allows one to alter a window's orientation - that can
       be accomplished via,
 
@@ -253,7 +253,7 @@
 >
 		:set arabicshape
 <
-      in our VIM window.  You can also append the 'arabicshape' set
+      in our Vim window.  You can also append the 'arabicshape' set
       command to your .vimrc file.  In other words, you can include
       ':set arabicshape' to your .vimrc file.
 
@@ -261,7 +261,7 @@
 Keymap/Keyboard						*arabickeymap*
 ---------------
 
-The character/letter encoding used in VIM is the standard UTF-8.
+The character/letter encoding used in Vim is the standard UTF-8.
 It is widely discouraged that any other encoding be used or even
 attempted.
 
@@ -294,7 +294,7 @@
 Restrictions
 ------------
 
-o  VIM in its GUI form does not currently support Bi-directionality
+o  Vim in its GUI form does not currently support Bi-directionality
    (i.e. the ability to see both Arabic and Latin intermixed within
    the same line).
 
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 575e852..b2d1c24 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -610,7 +610,7 @@
 				|timestamp|
 				Mostly triggered after executing a shell
 				command, but also with a |:checktime| command
-				or when Gvim regains input focus.
+				or when gvim regains input focus.
 				This autocommand is triggered for each changed
 				file.  It is not used when 'autoread' is set
 				and the buffer was not changed.  If a
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 6a0013a..0f3d27a 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 8.0.  Last change: 2017 May 02
+*eval.txt*	For Vim version 8.0.  Last change: 2017 Jun 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3373,6 +3373,7 @@
 		FileType event has been triggered at least once.  Can be used
 		to avoid triggering the FileType event again in the scripts
 		that detect the file type. |FileType|
+		Returns |FALSE| when `:setf FALLBACK` was used.
 		When editing another file, the counter is reset, thus this
 		really checks if the FileType event has been triggered for the
 		current buffer.  This allows an autocommand that starts
diff --git a/runtime/doc/ft_ada.txt b/runtime/doc/ft_ada.txt
index 81d7cea..5f1b78e 100644
--- a/runtime/doc/ft_ada.txt
+++ b/runtime/doc/ft_ada.txt
@@ -116,7 +116,7 @@
     then "gnat xref -v *.ad?"
 4)  Project manager support is completely broken - don't even try "gnat xref
     -Padacl.gpr".
-5)  VIM is faster when the tags file is sorted - use "sort --unique
+5)  Vim is faster when the tags file is sorted - use "sort --unique
     --ignore-case --output=tags tags" .
 6)  Remember to insert "!_TAG_FILE_SORTED 2 %sort ui" as first line to mark
     the file assorted.
diff --git a/runtime/doc/hangulin.txt b/runtime/doc/hangulin.txt
index 0092501..08fb612 100644
--- a/runtime/doc/hangulin.txt
+++ b/runtime/doc/hangulin.txt
@@ -6,7 +6,7 @@
 
 Introduction					*hangul*
 ------------
-It is to input hangul, the Korean language, with VIM GUI version.
+It is to input hangul, the Korean language, with Vim GUI version.
 If you have a XIM program, you can use another |+xim| feature.
 Basically, it is for anybody who has no XIM program.
 
@@ -31,7 +31,7 @@
 or ko_KR.UTF-8.
 If you set LC_ALL variable, it should be set to Korean locale also.
 
-VIM resource
+Vim resource
 ------------
 You may want to set 'encoding' and 'fileencodings'.
 Next are examples: >
@@ -53,12 +53,12 @@
 
 Hangul Fonts
 ------------
-If you use GTK version of GVIM, you should set 'guifont' and 'guifontwide'.
+If you use GTK version of gvim, you should set 'guifont' and 'guifontwide'.
 For example: >
     set guifont=Courier\ 12
     set guifontwide=NanumGothicCoding\ 12
 
-If you use Motif or Athena version of GVIM, you should set 'guifontset' in
+If you use Motif or Athena version of gvim, you should set 'guifontset' in
 your vimrc.  You can set fontset in the .Xdefaults file.
 
 $HOME/.gvimrc: >
@@ -77,11 +77,11 @@
 
 attention! the , (comma) or ; (semicolon)
 
-And there should be no ':set guifont'.  If it exists, then Gvim ignores
-':set guifontset'.  It means VIM runs without fontset supporting.
+And there should be no ':set guifont'.  If it exists, then gvim ignores
+':set guifontset'.  It means Vim runs without fontset supporting.
 So, you can see only English.  Hangul does not be correctly displayed.
 
-After "fontset" feature is enabled, VIM does not allow using english
+After "fontset" feature is enabled, Vim does not allow using english
 font only in "font" setting for syntax.
 For example, if you use >
    :set guifontset=eng_font,your_font
@@ -99,7 +99,7 @@
 We don't support Hanja input.
 And We don't have any plan to support them.
 
-If you really need such features, you can use console version of VIM with a
+If you really need such features, you can use console version of Vim with a
 capable terminal emulator.
 
 Bug or Comment
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 58049f6..2be3ced 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -31,7 +31,7 @@
 		    help entries for "word".
 		    Or use ":helpgrep word". |:helpgrep|
 
-VIM stands for Vi IMproved.  Most of VIM was made by Bram Moolenaar, but only
+Vim stands for Vi IMproved.  Most of Vim was made by Bram Moolenaar, but only
 through the help of many others.  See |credits|.
 ------------------------------------------------------------------------------
 						*doc-file-list* *Q_ct*
diff --git a/runtime/doc/if_ole.txt b/runtime/doc/if_ole.txt
index 6a30a58..be84f43 100644
--- a/runtime/doc/if_ole.txt
+++ b/runtime/doc/if_ole.txt
@@ -41,9 +41,9 @@
 	$vim = new Win32::OLE 'Vim.Application';
 
 [C#] >
-        // Add a reference to VIM in your project. 
+        // Add a reference to Vim in your project. 
         // Choose the COM tab.
-        // Select "VIM Ole Interface 1.1 Type Library"
+        // Select "Vim Ole Interface 1.1 Type Library"
 	Vim.Vim vimobj = new Vim.Vim();
 
 Vim does not support acting as a "hidden" OLE server, like some other OLE
diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt
index 84bfc78..d69c22f 100644
--- a/runtime/doc/if_perl.txt
+++ b/runtime/doc/if_perl.txt
@@ -7,7 +7,7 @@
 Perl and Vim				*perl* *Perl*
 
 1. Editing Perl files			|perl-editing|
-2. Compiling VIM with Perl interface	|perl-compiling|
+2. Compiling Vim with Perl interface	|perl-compiling|
 3. Using the Perl interface		|perl-using|
 4. Dynamic loading			|perl-dynamic|
 
@@ -33,7 +33,7 @@
 features than Exuberant ctags' Perl support.
 
 ==============================================================================
-2. Compiling VIM with Perl interface			*perl-compiling*
+2. Compiling Vim with Perl interface			*perl-compiling*
 
 To compile Vim with Perl interface, you need Perl 5.004 (or later).  Perl must
 be installed before you compile Vim.  Vim's Perl interface does NOT work with
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 2c6900e..2c4e2d0 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 8.0.  Last change: 2017 Apr 07
+*insert.txt*    For Vim version 8.0.  Last change: 2017 May 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -634,13 +634,13 @@
 10. User defined completion				|i_CTRL-X_CTRL-U|
 11. omni completion					|i_CTRL-X_CTRL-O|
 12. Spelling suggestions				|i_CTRL-X_s|
-13. keywords in 'complete'				|i_CTRL-N|
+13. keywords in 'complete'				|i_CTRL-N| |i_CTRL-P|
 
-All these (except 2) are done in CTRL-X mode.  This is a sub-mode of Insert
-and Replace modes.  You enter CTRL-X mode by typing CTRL-X and one of the
-CTRL-X commands.  You exit CTRL-X mode by typing a key that is not a valid
-CTRL-X mode command.  Valid keys are the CTRL-X command itself, CTRL-N (next),
-and CTRL-P (previous).
+All these, except CTRL-N and CTRL-P, are done in CTRL-X mode.  This is a
+sub-mode of Insert and Replace modes.  You enter CTRL-X mode by typing CTRL-X
+and one of the CTRL-X commands.  You exit CTRL-X mode by typing a key that is
+not a valid CTRL-X mode command.  Valid keys are the CTRL-X command itself,
+CTRL-N (next), and CTRL-P (previous).
 
 Also see the 'infercase' option if you want to adjust the case of the match.
 
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index d6664ff..3dfea22 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -84,8 +84,8 @@
 contain links to the most recent version of Vim.  The FAQ is a list of
 Frequently Asked Questions.  Read this if you have problems.
 
-	VIM home page:	  http://www.vim.org/
-	VIM FAQ:	  http://vimdoc.sf.net/
+	Vim home page:	  http://www.vim.org/
+	Vim FAQ:	  http://vimdoc.sf.net/
 	Downloading:	  ftp://ftp.vim.org/pub/vim/MIRRORS
 
 
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 7d723ce..239c791 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 8.0.  Last change: 2017 Mar 10
+*map.txt*       For Vim version 8.0.  Last change: 2017 May 30
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -185,7 +185,7 @@
 whether to use the "," mapping or the longer one.  To avoid this add the
 <nowait> argument.  Then the mapping will be used when it matches, Vim does
 not wait for more characters to be typed.  However, if the characters were
-already type they are used.
+already typed they are used.
 
 						*:map-<silent>* *:map-silent*
 To define a mapping which will not be echoed on the command line, add
@@ -798,7 +798,7 @@
 UTF-8 locales.  On terminals like xterm, the "metaSendsEscape" resource can be
 toggled on the fly through the "Main Options" menu, by pressing Ctrl-LeftClick
 on the terminal; that's a good last resource in case you want to send ESC when
-using other applications but not when inside VIM.
+using other applications but not when inside Vim.
 
 
 1.11 MAPPING AN OPERATOR				*:map-operator*
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
index fb54b80..722cec6 100644
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -120,7 +120,7 @@
 uncommenting a line with "--disable-netbeans" in the Makefile.
 
 Currently the NetBeans interface is supported by Vim running in a terminal and
-by GVim when it is run with one of the following GUIs: GTK, GNOME, Windows,
+by gvim when it is run with one of the following GUIs: GTK, GNOME, Windows,
 Athena and Motif.
 
 If Motif support is required the user must supply XPM libraries.  See
@@ -996,7 +996,7 @@
 You should be careful if you change the "Vim Command".  There are command
 line options there which must be there for the connection to be properly
 set up.  You can change the command name but that's about it.  If your gvim
-can be found by your $PATH then the VIM Command can start with "gvim".  If
+can be found by your $PATH then the Vim Command can start with "gvim".  If
 you don't want gvim searched from your $PATH then hard code in the full
 Unix path name.  At this point you should get a gvim for any source file
 you open in NetBeans.
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c6fc424..25b3f18 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 8.0.  Last change: 2017 May 08
+*options.txt*	For Vim version 8.0.  Last change: 2017 Jun 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -370,7 +370,7 @@
 
 Setting the filetype
 
-:setf[iletype] {filetype}			*:setf* *:setfiletype*
+:setf[iletype] [FALLBACK] {filetype}			*:setf* *:setfiletype*
 			Set the 'filetype' option to {filetype}, but only if
 			not done yet in a sequence of (nested) autocommands.
 			This is short for: >
@@ -380,6 +380,13 @@
 <			This command is used in a filetype.vim file to avoid
 			setting the 'filetype' option twice, causing different
 			settings and syntax files to be loaded.
+
+			When the optional FALLBACK argument is present, a
+			later :setfiletype command will override the
+			'filetype'.  This is to used for filetype detections
+			that are just a guess.  |did_filetype()| will return
+			false after this command.
+
 			{not in Vi}
 
 				*option-window* *optwin*
@@ -7735,6 +7742,7 @@
 	compatible terminal.
 	If setting this option does not work (produces a colorless UI)
 	reading |xterm-true-color| might help.
+	Note that the "cterm" attributes are still used, not the "gui" ones.
 	NOTE: This option is reset when 'compatible' is set.
 
 						*'terse'* *'noterse'*
diff --git a/runtime/doc/os_beos.txt b/runtime/doc/os_beos.txt
index f63eeaa..06749be 100644
--- a/runtime/doc/os_beos.txt
+++ b/runtime/doc/os_beos.txt
@@ -144,7 +144,7 @@
   :version
 
 The normal value is /boot/home/config/share/vim.  If you don't like it you can
-set the VIM environment variable to override this, or set 'helpfile' in your
+set the Vim environment variable to override this, or set 'helpfile' in your
 .vimrc: >
 
   :if version >= 500
diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt
index 53f6fe5..5cf2378 100644
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -539,7 +539,7 @@
 
 8.10 Setting up the symbols
 
-When I use GVIM this way and press CTRL-Y in the parent terminal, gvim exits.
+When I use gvim this way and press CTRL-Y in the parent terminal, gvim exits.
 I now use a different symbol that seems to work OK and fixes the problem.
 I suggest this instead: >
 
@@ -547,7 +547,7 @@
 
 The /INPUT=NLA0: separates the standard input of the gvim process from the
 parent terminal, to block signals from the parent window.
-Without the -GEOMETRY, the GVIM window size will be minimal and the menu
+Without the -GEOMETRY, the gvim window size will be minimal and the menu
 will be confused after a window-resize.
 
 (Carlo Mekenkamp, Coen Engelbarts, Vim 6.0ac)
@@ -764,14 +764,14 @@
 
 9. VMS related changes					*vms-changes*
 
-Version 7.4 
-- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name" 
+Version 7.4
+- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
   add _un_ at the beginning to keep the extension
 - correct swap file name wildcard handling
 - handle iconv usage correctly
 - do not optimize on vax - otherwise it hangs compiling crypto files
 - fileio.c fix the comment
-- correct RealWaitForChar 
+- correct RealWaitForChar
 - after 7.4-119 use different functions lib$cvtf_to_internal_time because Alpha and VAX have
   G_FLOAT but IA64 uses IEEE float otherwise Vim crashes
 - guard against crashes that are caused by mixed filenames
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 98b37d0..9112dac 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -135,7 +135,7 @@
 6. Running under Windows 3.1				*win32-win3.1*
 
 					*win32s* *windows-3.1* *gui-w32s*
-There was a special version of Gvim that runs under Windows 3.1 and 3.11.
+There was a special version of gvim that runs under Windows 3.1 and 3.11.
 Support was removed in patch 7.4.1363.
 
 ==============================================================================
diff --git a/runtime/doc/pi_getscript.txt b/runtime/doc/pi_getscript.txt
index 628d9b7..66d11ab 100644
--- a/runtime/doc/pi_getscript.txt
+++ b/runtime/doc/pi_getscript.txt
@@ -9,7 +9,7 @@
 	The VIM LICENSE (see |copyright|) applies to the files in this
 	package, including getscriptPlugin.vim, getscript.vim,
 	GetLatestVimScripts.dist, and pi_getscript.txt, except use "getscript"
-	instead of "VIM".  Like anything else that's free, getscript and its
+	instead of "Vim".  Like anything else that's free, getscript and its
 	associated files are provided *as is* and comes with no warranty of
 	any kind, either expressed or implied.  No guarantees of
 	merchantability.  No guarantees of suitability for any purpose.  By
@@ -68,7 +68,7 @@
 		mv GetLatestVimScripts.dist GetLatestVimScripts.dat
 		(edit GetLatestVimScripts.dat to install your own personal
 		list of desired plugins -- see |GetLatestVimScripts_dat|)
-	
+
 	3. Windows:
 		vim getscript.vba
 		:so %
diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt
index daa0354..62c37cf 100644
--- a/runtime/doc/print.txt
+++ b/runtime/doc/print.txt
@@ -99,25 +99,25 @@
 					HPUX: hp-roman8,
 					EBCDIC: ebcdic-uk)
 			global
-Sets the character encoding used when printing.  This option tells VIM which
+Sets the character encoding used when printing.  This option tells Vim which
 print character encoding file from the "print" directory in 'runtimepath' to
 use.
 
 This option will accept any value from |encoding-names|.  Any recognized names
-are converted to VIM standard names - see 'encoding' for more details.  Names
-not recognized by VIM will just be converted to lower case and underscores
+are converted to Vim standard names - see 'encoding' for more details.  Names
+not recognized by Vim will just be converted to lower case and underscores
 replaced with '-' signs.
 
-If 'printencoding' is empty or VIM cannot find the file then it will use
-'encoding' (if VIM is compiled with |+multi_byte| and it is set an 8-bit
-encoding) to find the print character encoding file.  If VIM is unable to find
+If 'printencoding' is empty or Vim cannot find the file then it will use
+'encoding' (if Vim is compiled with |+multi_byte| and it is set an 8-bit
+encoding) to find the print character encoding file.  If Vim is unable to find
 a character encoding file then it will use the "latin1" print character
 encoding file.
 
-When 'encoding' is set to a multi-byte encoding, VIM will try to convert
+When 'encoding' is set to a multi-byte encoding, Vim will try to convert
 characters to the printing encoding for printing (if 'printencoding' is empty
 then the conversion will be to latin1).  Conversion to a printing encoding
-other than latin1 will require VIM to be compiled with the |+iconv| feature.
+other than latin1 will require Vim to be compiled with the |+iconv| feature.
 If no conversion is possible then printing will fail.  Any characters that
 cannot be converted will be replaced with upside down question marks.
 
@@ -203,7 +203,7 @@
 'printmbcharset' 'pmbcs'  string (default "")
 			  global
 Sets the CJK character set to be used when generating CJK output from
-|:hardcopy|.  The following predefined values are currently recognised by VIM:
+|:hardcopy|.  The following predefined values are currently recognised by Vim:
 
 		Value		Description ~
   Chinese	GB_2312-80
@@ -270,7 +270,7 @@
 
 If 'printmbcharset' is not one of the above values then it is assumed to
 specify a custom multi-byte character set and no check will be made that it is
-compatible with the value for 'printencoding'.  VIM will look for a file
+compatible with the value for 'printencoding'.  Vim will look for a file
 defining the character set in the "print" directory in 'runtimepath'.
 
 							*pmbfn-option*
@@ -420,10 +420,10 @@
   possible to get all the characters in an encoding to print by installing a
   new version of the Courier font family.
 
-- Multi-byte support - Currently VIM will try to convert multi-byte characters
+- Multi-byte support - Currently Vim will try to convert multi-byte characters
   to the 8-bit encoding specified by 'printencoding' (or latin1 if it is
   empty).  Any characters that are not successfully converted are shown as
-  unknown characters.  Printing will fail if VIM cannot convert the multi-byte
+  unknown characters.  Printing will fail if Vim cannot convert the multi-byte
   to the 8-bit encoding.
 
 ==============================================================================
@@ -434,11 +434,11 @@
 to define a font encoding vector is beyond the scope of this help file, but
 you can find details in the PostScript Language Reference Manual, 3rd Edition,
 published by Addison-Wesley and available in PDF form at
-http://www.adobe.com/.  The following describes what you need to do for VIM to
+http://www.adobe.com/.  The following describes what you need to do for Vim to
 locate and use your print character encoding.
 
 i.   Decide on a unique name for your encoding vector, one that does not clash
-     with any of the recognized or standard encoding names that VIM uses (see
+     with any of the recognized or standard encoding names that Vim uses (see
      |encoding-names| for a list), and that no one else is likely to use.
 ii.  Copy $VIMRUNTIME/print/latin1.ps to the print subdirectory in your
      'runtimepath' and rename it with your unique name.
@@ -446,23 +446,23 @@
      with your unique name (don't forget the line starting %%Title:), and
      modify the array of glyph names to define your new encoding vector.  The
      array must have exactly 256 entries or you will not be able to print!
-iv.  Within VIM, set 'printencoding' to your unique encoding name and then
-     print your file.  VIM will now use your custom print character encoding.
+iv.  Within Vim, set 'printencoding' to your unique encoding name and then
+     print your file.  Vim will now use your custom print character encoding.
 
-VIM will report an error with the resource file if you change the order or
+Vim will report an error with the resource file if you change the order or
 content of the first 3 lines, other than the name of the encoding on the line
 starting %%Title: or the version number on the line starting %%Version:.
 
-[Technical explanation for those that know PostScript - VIM looks for a file
+[Technical explanation for those that know PostScript - Vim looks for a file
 with the same name as the encoding it will use when printing.  The file
 defines a new PostScript Encoding resource called /VIM-name, where name is the
-print character encoding VIM will use.]
+print character encoding Vim will use.]
 
 ==============================================================================
 5. PostScript CJK Printing			*postscript-cjk-printing*
 							*E673* *E674* *E675*
 
-VIM supports printing of Chinese, Japanese, and Korean files.  Setting up VIM
+Vim supports printing of Chinese, Japanese, and Korean files.  Setting up Vim
 to correctly print CJK files requires setting up a few more options.
 
 Each of these countries has many standard character sets and encodings which
@@ -483,7 +483,7 @@
 which are syntax highlighted with the font styles normal, italic, bold and
 bold-italic.
 
-No CJK fonts are supplied with VIM.  There are some free Korean, Japanese, and
+No CJK fonts are supplied with Vim.  There are some free Korean, Japanese, and
 Traditional Chinese fonts available at:
 
   http://examples.oreilly.com/cjkvinfo/adobe/samples/
@@ -498,7 +498,7 @@
 uncommon to find that they only contain a subset of a national standard.  It
 is not unusual to find the fonts to not include characters for codes in the
 ASCII code range.  If you find half-width Roman characters are not appearing
-in your printout then you should configure VIM to use the Courier font the
+in your printout then you should configure Vim to use the Courier font the
 half-width ASCII characters with 'printmbfont'.  If your font does not include
 other characters then you will need to find another font that does.
 
@@ -506,7 +506,7 @@
 sets specify a couple of different glyphs in the ASCII code range.  If you
 print ASCII text using the national character set you may see some unexpected
 characters.  If you want true ASCII code printing then you need to configure
-VIM to output ASCII characters for the ASCII code range with 'printmbfont'.
+Vim to output ASCII characters for the ASCII code range with 'printmbfont'.
 
 It is possible to define your own multi-byte character set although this
 should not be attempted lightly.  A discussion on the process if beyond the
@@ -525,13 +525,13 @@
 There are a number of possible causes as to why the printing may have failed:
 
 - Wrong version of the prolog resource file.  The prolog resource file
-  contains some PostScript that VIM needs to be able to print.  Each version
-  of VIM needs one particular version.  Make sure you have correctly installed
+  contains some PostScript that Vim needs to be able to print.  Each version
+  of Vim needs one particular version.  Make sure you have correctly installed
   the runtime files, and don't have any old versions of a file called prolog
   in the print directory in your 'runtimepath' directory.
 
 - Paper size.  Some PostScript printers will abort printing a file if they do
-  not support the requested paper size.  By default VIM uses A4 paper.  Find
+  not support the requested paper size.  By default Vim uses A4 paper.  Find
   out what size paper your printer normally uses and set the appropriate paper
   size with 'printoptions'.  If you cannot find the name of the paper used,
   measure a sheet and compare it with the table of supported paper sizes listed
@@ -668,7 +668,7 @@
 
 N-UP PRINTING
 
-The psnup utility takes an existing PostScript file generated from VIM and
+The psnup utility takes an existing PostScript file generated from Vim and
 convert it to an n-up version.  The simplest way to create a 2-up printout is
 to first create a PostScript file with: >
 
@@ -724,16 +724,16 @@
 ==============================================================================
 8. Formfeed Characters					*printing-formfeed*
 
-By default VIM does not do any special processing of |formfeed| control
-characters.  Setting the 'printoptions' formfeed item will make VIM recognize
+By default Vim does not do any special processing of |formfeed| control
+characters.  Setting the 'printoptions' formfeed item will make Vim recognize
 formfeed characters and continue printing the current line at the beginning
 of the first line on a new page.  The use of formfeed characters provides
 rudimentary print control but there are certain things to be aware of.
 
-VIM will always start printing a line (including a line number if enabled)
+Vim will always start printing a line (including a line number if enabled)
 containing a formfeed character, even if it is the first character on the
 line.  This means if a line starting with a formfeed character is the first
-line of a page then VIM will print a blank page.
+line of a page then Vim will print a blank page.
 
 Since the line number is printed at the start of printing the line containing
 the formfeed character, the remainder of the line printed on the new page
@@ -742,7 +742,7 @@
 
 If the formfeed character is the last character on a line, then printing will
 continue on the second line of the new page, not the first.  This is due to
-VIM processing the end of the line after the formfeed character and moving
+Vim processing the end of the line after the formfeed character and moving
 down a line to continue printing.
 
 Due to the points made above it is recommended that when formfeed character
diff --git a/runtime/doc/quotes.txt b/runtime/doc/quotes.txt
index 451fa51..529a0f7 100644
--- a/runtime/doc/quotes.txt
+++ b/runtime/doc/quotes.txt
@@ -63,53 +63,53 @@
 first UNIX I came across in 1983).  In my opinion, it's about time 'VIM'
 replace 'emacs' as the standard for top editors.  (Bo Thide', Sweden)
 
-I love and use VIM heavily too.  (Larry Wall)
+I love and use Vim heavily too.  (Larry Wall)
 
 Vi is like a Ferrari, if you're a beginner, it handles like a bitch, but once
 you get the hang of it, it's small, powerful and FAST! (Unknown)
-VIM is like a new model Ferrari, and sounds like one too - "VIIIIIIMMM!"
+Vim is like a new model Ferrari, and sounds like one too - "VIIIIIIMMM!"
 (Stephen Riehm, Germany)
 
-Schon bei Nutzung eines Bruchteils der VIM-Funktionen wird der Benutzer recht
+Schon bei Nutzung eines Bruchteils der Vim-Funktionen wird der Benutzer recht
 schnell die Vorzuege dieses Editors kennen- und schaetzenlernen.
-Translated: Even when only using a fraction of VIM-functions, the user will
+Translated: Even when only using a fraction of Vim-functions, the user will
 quickly get used to and appreciate the advantages of this editor.  (Garry
-Glendown, conclusion of an article on VIM in iX magazine 9/1998)
+Glendown, conclusion of an article on Vim in iX magazine 9/1998)
 
-I've recently acquired the O'Reilly book on VI (it also discusses VIM
+I've recently acquired the O'Reilly book on Vi (it also discusses Vim
 in-depth), and I'm amazed at just how powerful this application is.  (Jeffrey
 Rankin)
 
-This guide was written using the Windows 9.x distribution of GVIM, which is
+This guide was written using the Windows 9.x distribution of gvim, which is
 quite possibly the greatest thing to come along since God created the naked
 girl.  (Michael DiBernardo)
 
-Boy, I thought I knew almost everything about VIM, but every time I browse the
-online documentation, I hit upon a minor but cool aspect of a VIM feature that
+Boy, I thought I knew almost everything about Vim, but every time I browse the
+online documentation, I hit upon a minor but cool aspect of a Vim feature that
 I didn't know before!  I must say the documentation is one the finest I've
 ever seen in a product -- even better than most commercial products.
 (Gautam Mudunuri)
 
-VIM 4.5 is really a fantastic editor.  It has sooooo many features and more
+Vim 4.5 is really a fantastic editor.  It has sooooo many features and more
 importantly, the defaults are so well thought out that you really don't have
 to change anything!!  Words cannot express my amazement and gratitude to the
-creators of VIM.  Keep it up.  (Vikas, USA)
+creators of Vim.  Keep it up.  (Vikas, USA)
 
 I wonder how long it will be before people will refer to other Vi editors as
-VIM clones?  (Darren Hiebert)
+Vim clones?  (Darren Hiebert)
 
 I read about [auto-positioning-in-file-based-on-the-errors-from-make] in one
 of those "Perfect Programmer's Editor" threads and was delighted to discover
-that VIM already supports it.  (Brendan Macmillan, Australia)
+that Vim already supports it.  (Brendan Macmillan, Australia)
 
-I just discovered VIM (5.0) and I'm telling everyone I know about it!
-I tell them VIM stands for VI for the new (M)illenium.  Thanks so much!
+I just discovered Vim (5.0) and I'm telling everyone I know about it!
+I tell them Vim stands for Vi for the new (M)illenium.  Thanks so much!
 (Matt F. Valentine)
 
 I think from now on "vi" should be called "Vim Imitation", not the other way
 around.  (Rungun Ramanathan)
 
-The Law of VIM:
+The Law of Vim:
 For each member b of the possible behaviour space B of program P, there exists
 a finite time t before which at least one user u in the total user space U of
 program P will request b becomes a member of the allowed behaviour space B'
@@ -118,42 +118,42 @@
 (Negri)
 
 Whenever I move to a new computing platform, the first thing I do is to port
-VIM.  Lately, I am simply stunned by its ease of compilation using the
+Vim.  Lately, I am simply stunned by its ease of compilation using the
 configure facility.  (A.M. Sabuncu, Turkey)
 
 The options are really excellent and very powerful.  (Anish Maharaj)
 
 The Spring user-interface designs are in, and word from the boutiques is that
-80x24 text-only mode is back with a *vengeance! Vi editor clone VIM burst onto
+80x24 text-only mode is back with a *vengeance! Vi editor clone Vim burst onto
 March desk-tops with a dazzling show of pastel syntax highlights for its 5.0
-look.  Strident and customizable, VIM raises eyebrows with its interpretation
+look.  Strident and customizable, Vim raises eyebrows with its interpretation
 of the classic Vi single-key macro collection.
 http://www.ntk.net/index.cgi?back=archive98/now0327.txt&line=179#l
 
-I just wanted to take this opportunity to let you know that VIM 5 ROCKS!
+I just wanted to take this opportunity to let you know that Vim 5 ROCKS!
 Syntax highlighting: how did I survive without it?!  Thank you for creating
 mankind's best editor!  (Mun Johl, USA)
 
-Thanks again for VIM.  I use it every day on Linux.  (Eric Foster-Johnson,
+Thanks again for Vim.  I use it every day on Linux.  (Eric Foster-Johnson,
 author of the book "UNIX Programming Tools")
 
 The BEST EDITOR EVER (Stuart Woolford)
 
-I have used most of VIM's fancy features at least once, many frequently, and I
+I have used most of Vim's fancy features at least once, many frequently, and I
 can honestly say that I couldn't live with anything less anymore.  My
 productivity has easily doubled compared to what it was when I used vi.
 (Sitaram Chamarty)
 
-I luv VIM.  It is incredible.  I'm naming my first-born Vimberly.  (Jose
+I luv Vim.  It is incredible.  I'm naming my first-born Vimberly.  (Jose
 Unpingco, USA)
 
-Hint:  "VIM" is "vi improved" - much better! (Sven Guckes, Germany)
+Hint:  "Vim" is "vi improved" - much better! (Sven Guckes, Germany)
 
-I use VIM every day.  I spend more time in VIM than in any other program...
+I use Vim every day.  I spend more time in Vim than in any other program...
 It's the best vi clone there is.  I think it's great.  (Craig Sanders,
 Australia)
 
-I strongly advise using VIM--its infinite undo/redo saved me much grief.
+I strongly advise using Vim--its infinite undo/redo saved me much grief.
 (Terry Brown)
 
 Thanks very much for writing what in my opinion is the finest text editor on
@@ -163,98 +163,98 @@
 I typed :set all and the screen FILLED up with options.  A whole screen of
 things to be set and unset.  I saw some of my old friends like wrapmargin,
 modelines and showmode, but the screen was FILLED with new friends!   I love
-them all!   I love VIM!   I'm so happy that I've found this editor!  I feel
+them all!   I love Vim!   I'm so happy that I've found this editor!  I feel
 like how I once felt when I started using vi after a couple of years of using
 ed.  I never thought I'd forsake my beloved ed, but vi ... oh god, vi was
-great.  And now, VIM.  (Peter Jay Salzman, USA)
+great.  And now, Vim.  (Peter Jay Salzman, USA)
 
 I am really happy with such a wonderful software package.  Much better than
 almost any expensive, off the shelf program.  (Jeff Walker)
 
-Whenever I reread the VIM documentation I'm overcome with excitement at the
+Whenever I reread the Vim documentation I'm overcome with excitement at the
 power of the editor.  (William Edward Webber, Australia)
 
-Hurrah for VIM!! It is "at your fingertips" like vi, and has the extensions
+Hurrah for Vim!! It is "at your fingertips" like vi, and has the extensions
 that vi sorely needs: highlighting for executing commands on blocks, an easily
 navigable and digestible help screen, and more.  (Paul Pax)
 
 The reason WHY I don't have this amazingly useful macro anymore, is that I
-now use VIM - and this is built in!! (Stephen Riehm, Germany)
+now use Vim - and this is built in!! (Stephen Riehm, Germany)
 
-I am a user of VIM and I love it.  I use it to do all my programming, C,
+I am a user of Vim and I love it.  I use it to do all my programming, C,
 C++, HTML what ever.  (Tim Allwine)
 
-I discovered VIM after years of struggling with the original vi, and I just
+I discovered Vim after years of struggling with the original vi, and I just
 can't live without it anymore.  (Emmanuel Mogenet, USA)
 
-Emacs has not a bit of chance to survive so long as VIM is around.  Besides,
+Emacs has not a bit of chance to survive so long as Vim is around.  Besides,
 it also has the most detailed software documentation I have ever seen---much
 better than most commercial software!  (Leiming Qian)
 
-This version of VIM will just blow people apart when they discover just how
+This version of Vim will just blow people apart when they discover just how
 fantastic it is! (Tony Nugent, Australia)
 
-I took your advice & finally got VIM & I'm really impressed.  Instant convert.
+I took your advice & finally got Vim & I'm really impressed.  Instant convert.
 (Patrick Killelea, USA)
 
-VIM is by far my favorite piece of shareware and I have been particularly
+Vim is by far my favorite piece of shareware and I have been particularly
 pleased with version 3.0.  This is really a solid piece of work.  (Robert
 Colon, USA)
 
-VIM is a joy to use, it is so well thought and practical that I wonder why
-anybody would use visual development tools.  VIM is powerful and elegant, it
+Vim is a joy to use, it is so well thought and practical that I wonder why
+anybody would use visual development tools.  Vim is powerful and elegant, it
 looks deceptively simple but is almost as complex as a 747 (especially when I
-look at my growing .vimrc), keep up that wonderful job, VIM is a centerpiece
+look at my growing .vimrc), keep up that wonderful job, Vim is a centerpiece
 of the free software world.  (Louis-David Mitterand, USA)
 
-I cannot believe how great it is to use VIM.  I think the guys at work are
+I cannot believe how great it is to use Vim.  I think the guys at work are
 getting tired of hearing me bragging about it.  Others eyes are lighting up.
 (Rick Croote)
 
 Emacs takes way too much time to start up and run, it is too big and bulky for
-effective use and the interface is more confusing than it is of any help.  VIM
+effective use and the interface is more confusing than it is of any help.  Vim
 however is short, it is fast, it is powerful, it has a good interface and it
 is all purpose.  (Paal Ditlefsen Ekran)
 
-From the first time I got VIM3.0, I was very enthusiastic.  It has almost no
+From the first time I got Vim3.0, I was very enthusiastic.  It has almost no
 problems.  The swapfile handling and the backup possibilities are robust, also
 the protection against editing one file twice.  It is very compatible to the
 real VI (and that is a MUST, because my brain is trained over years in using
 it).  (Gert van Antwerpen, Holland)
 
-Visual mode in VIM is a very powerful thing! (Tony Nugent, Australia)
+Visual mode in Vim is a very powerful thing! (Tony Nugent, Australia)
 
-I have to say that VIM is =THE= single greatest piece of source code to ever
+I have to say that Vim is =THE= single greatest piece of source code to ever
 come across the net (Jim Battle, USA).
 
-In fact, if you do want to get a new vi I'd suggest VIM-3.0.  This is, by
+In fact, if you do want to get a new vi I'd suggest Vim-3.0.  This is, by
 far, the best version of vi I've ever seen (Albert W. Schueller).
 
-I should mention that VIM is a very good editor and can compete with anything
+I should mention that Vim is a very good editor and can compete with anything
 (Ilya Beloozerov).
 
 To tell the truth sometimes I used elvis, vile, xvi, calvin, etc.  And this is
-the reason that I can state that VIM is the best! (Ferenc Deak, Hungary)
+the reason that I can state that Vim is the best! (Ferenc Deak, Hungary)
 
-VIM is by far the best editor that I have used in a long time, and I have
+Vim is by far the best editor that I have used in a long time, and I have
 looked at just about every thing that is available for every platform that I
-use.  VIM is the best on all of them.  (Guy L. Oliver)
+use.  Vim is the best on all of them.  (Guy L. Oliver)
 
-VIM is the greatest editor since the stone chisel.  (Jose Unpingco, USA)
+Vim is the greatest editor since the stone chisel.  (Jose Unpingco, USA)
 
-I would like to say that with VIM I am finally making the 'emacs to vi'
+I would like to say that with Vim I am finally making the 'emacs to vi'
 transition - as an Editor it is so much better in many ways: keyboard layout,
 memory usage, text alteration to name 3.  (Mark Adam)
 
 In fact, now if I want to know what a particular setting does in vi, I fire up
-VIM and check out its help!  (Nikhil Patel, USA)
+Vim and check out its help!  (Nikhil Patel, USA)
 
-As a vi user, VIM has made working with text a far more pleasant task than
+As a vi user, Vim has made working with text a far more pleasant task than
 before I encountered this program.  (Steinar Knutsen, Norway)
 
-I use VIM since version 3.0.  Since that time, it is the ONLY editor I use,
-with Solaris, Linux and OS/2 Warp.  I suggest all my friends to use VIM, they
-try, and they continue using it.  VIM is really the best software I have ever
+I use Vim since version 3.0.  Since that time, it is the ONLY editor I use,
+with Solaris, Linux and OS/2 Warp.  I suggest all my friends to use Vim, they
+try, and they continue using it.  Vim is really the best software I have ever
 downloaded from the Internet, and the best editor I know of.  (Marco
 Eccettuato, Italy)
 
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index 60513f9..9b62fda 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -478,7 +478,7 @@
 the word list and keeps it small.
 						    *.aff* *.dic* *Myspell*
 You can create a Vim spell file from the .aff and .dic files that Myspell
-uses.  Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt 
+uses.  Myspell is used by OpenOffice.org and Mozilla. The OpenOffice .oxt
 files are zip files which contain the .aff and .dic files. You should be able
 to find them here:
 	http://extensions.services.openoffice.org/dictionary
@@ -1614,7 +1614,7 @@
 KEY		(Hunspell)				*spell-KEY*
 		Define characters that are close together on the keyboard.
 		Used to give better suggestions.  Not supported.
-		
+
 LANG		(Hunspell)				*spell-LANG*
 		This specifies language-specific behavior.  This actually
 		moves part of the language knowledge into the program,
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 4a47c33..6606524 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 8.0.  Last change: 2017 Feb 06
+*syntax.txt*	For Vim version 8.0.  Last change: 2017 Jun 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4812,10 +4812,11 @@
 	Example: >
 		:highlight Normal ctermfg=grey ctermbg=darkblue
 <	When setting the "ctermbg" color for the Normal group, the
-	'background' option will be adjusted automatically.  This causes the
-	highlight groups that depend on 'background' to change!  This means
-	you should set the colors for Normal first, before setting other
-	colors.
+	'background' option will be adjusted automatically, under the
+	condition that the color is recognized and 'background' was not set
+	explicitly.  This causes the highlight groups that depend on
+	'background' to change!  This means you should set the colors for
+	Normal first, before setting other colors.
 	When a colorscheme is being used, changing 'background' causes it to
 	be reloaded, which may reset all colors (including Normal).  First
 	delete the "g:colors_name" variable when you don't want this.
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index eda32c5..ac8026b 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 8.0.  Last change: 2017 May 27
+*todo.txt*      For Vim version 8.0.  Last change: 2017 Jun 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -112,30 +112,19 @@
 With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
 (Marcin Szewczyk, 2017 Apr 26)
 
-Patch for Murphy filetype detection. (Matthew Fernandez, 2017 May 17)
-
-ZoomWin plugin ratings went down a lot.  Bot problem? (Charles Campbell, 2017
-May 18)
+ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
 
 ml_get errors with buggy script. (Dominique, 2017 Apr 30)
 
 Error in emsg with buggy script. (Dominique, 2017 Apr 30)
 
-Patch to update 'runtimepath' earlier. (Ingo Karkat, 2017 May 5, #1680)
-
-Patch to make float2nr() more accurate. (Hirohito Higashi, 2017 May 7, #1688)
-
-Patch to make :hardcopy handle spaces correctly. (Christian Brabandt, 2017 May
-7, #1682)
-
 Add options_default() / options_restore() to set several options to Vim
 defaults for a plugin. Comments from Zyx, 2017 May 10.
 Perhaps use a vimcontext / endvimcontext command block.
 
-Patch to recognize 'bg' detection. (Lemonboy, 2017 May 18, #1710)
-
-Patch to recognize 1.0 as a whole as a float. (Yasuhiro Matsumoto, 2017 May
-11)
+Using freed memory with "qf" FileType autocommand that does :cclose.
+(Lemonboy, 2017 May 28, #1730, fix in 1734, with test that doesn't fail, but
+it fails when run manually)  Add "starting" to test_override()?
 
 Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
 
@@ -144,13 +133,6 @@
 
 Files for Latvian language. (Vitolins, 2017 May 3, #1675)
 
-Adding a filetype in a "start" package is not picked up as expected.
-(comment by Ingo Karkat, #1679)
-Patch for a fix, Ingo Karkat, #1693.
-
-Patch to fix character class detection in NFA engine.
-(James McCoy, 2017 May 12, update May 24, #1703)
-
 Setting 'clipboard' to "unnamed" makes a global command very slow (Daniel
 Drucker, 2017 May 8).
 This was supposed to be fixed, did it break again somehow?
@@ -160,13 +142,17 @@
 
 Openhab syntax file (mueller, #1678)
 
-Followup patch for 8.0.0590 for "context" in locations. (Yegappan, 2017 May 4)
-
 Use gvimext.dll from the nightly build? (Issue #249)
 
 Patch to remove HAVE_GTK_MULTIHEAD-relevant code. (Kazunobu Kuriyama, 2017 May
 5) Update May 11
 
+'synmaxcol' works with bytes instead of screen cells. (Llandon, 2017 May 31,
+#1736)
+
+Patch to pass quickfix list index to functions. (Yegappan Lakshmanan, 2017 May
+31)
+
 Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
 8, #1690)
 
@@ -184,6 +170,8 @@
 
 Patch to have ":stag" respect 'switchbuf'. (Ingo Karkat, 2017 May 5, #1681)
 
+Patch to improve building with MSVC. (Leonardo Manera, #1747)
+
 Wrong selection of quoted text (Guraga, #1687)
 Patch to fix selection of quoted text. (Christian Brabandt, 2017 May 7, #1687)
 
@@ -199,8 +187,9 @@
 
 Calling may_req_ambiguous_char_width() and may_req_bg_color() only after
 executing command line commands may not work properly.
-Set "starting" to 0 earlier, and move the may_req calls above exe_commands()?
 (Rastislav Barlink, 2017 May 18)
+Set "starting" to 0 earlier, and move the may_req calls above exe_commands()?
+No, that's a problem with using "-c quit", not running Vim interactive.
 
 Memory leak in test97?  The string is actually freed.  Weird.
 
@@ -219,6 +208,9 @@
 later.  This is for a sub-mode that is active for a short while (one buffer).
 Still need maplist() to find the mappings.  What can we use to identify a
 mapping?  Something unique would be better than the LHS.
+Perhaps simpler: actually delete the mappings.  Use maplist() to list matching
+mappings (with a lhs prefix, like maparg()), mapdelete() to delete,
+maprestore() to restore (using the output of maplist().
 
 Patch to support chinese wordcount in utf-8. (Rain, 2017 May 24, #1722)
 Or not?
@@ -232,6 +224,10 @@
 Patch to improve test coverage for diff mode. (Dominique Pelle, 2017 May 11,
 #1685)
 
+Add an argument to :mkvimrc (or add aother command) to skip mappings from
+plugins (source is a Vim script).  No need to put these in a .vimrc, they will
+be defined when the plugin is loaded.
+
 Use tb_set(winid, [{'text': 'stop', 'cb': callback, 'hi': 'Green'}])
     tb_highlight(winid, 'ToolBar')
     tb_get(winid)
@@ -265,6 +261,10 @@
 
 Completion for :!cmd shows each match twice. #1435
 
+Patch to change GUI behavior: instead of changing the window size change the
+lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
+#703)
+
 GTK: When adding a timer from 'balloonexpr' it won't fire, because
 g_main_context_iteration() doesn't return.  Need to trigger an event when the
 timer expires.
@@ -598,10 +598,6 @@
 maximum for the column width?  (#871)
 Patcy by varmanishant, 2016 Jun 18, #876
 
-Patch to change GUI behavior: instead of changing the window size change the
-lines/columns when menu/toolbar/etc. is added/removed. (Ychin, 2016 Mar 20,
-#703)
-
 Installation of .desktop files does not work everywhere.
 It's now fixed, but the target directory probably isn't right.
 Add configure check?
@@ -720,7 +716,8 @@
 (Luchr, #277)
 
 Can we cache the syntax attributes, so that updates for 'relativenumber' and
-'cursorline'/'cursorcolumn' are a lot faster?
+'cursorline'/'cursorcolumn' are a lot faster?  Thus store the attributes
+before combining them.
 
 C highlighting: modern C allows: /* comment */ #ifdef
 and also line continuation after #include.
diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt
index 8a0fe74..694670a 100644
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -191,7 +191,7 @@
 The "current selection" will only remain valid until some other text is
 selected.  After doing the paste in the other gVim, now select some characters
 in that window.  You will notice that the words that were previously selected
-in the other gVim window are displayed differently.  This means that it no
+in the other gvim window are displayed differently.  This means that it no
 longer is the current selection.
 
 You don't need to select text with the mouse, using the keyboard commands for
@@ -215,7 +215,7 @@
 
 This use of both the "current selection" and the "real clipboard" might sound
 a bit confusing.  But it is very useful.  Let's show this with an example.
-Use one gVim with a text file and perform these actions:
+Use one gvim with a text file and perform these actions:
 
 -  Select two words in Visual mode.
 -  Use the Edit/Copy menu to get these words onto the clipboard.
diff --git a/runtime/doc/version6.txt b/runtime/doc/version6.txt
index f0205dd..ce4f01c 100644
--- a/runtime/doc/version6.txt
+++ b/runtime/doc/version6.txt
@@ -9250,7 +9250,7 @@
 	    src/proto/quickfix.pro, src/quickfix.c
 
 Patch 6.1.424 (extra)
-Problem:    Win32: Gvim compiled with VC++ 7.0 run on Windows 95 does not show
+Problem:    Win32: gvim compiled with VC++ 7.0 run on Windows 95 does not show
 	    menu items.
 Solution:   Define $WINVER to avoid an extra item is added to MENUITEMINFO.
 	    (Muraoka Taro)
@@ -12319,7 +12319,7 @@
 Files:	    src/gui_w32.c
 
 Patch 6.2.362 (extra, after 6.2.347)
-Problem:    Win32: The manifest causes Gvim not to work. (Dave Roberts)
+Problem:    Win32: The manifest causes gvim not to work. (Dave Roberts)
 Solution:   Change "x86" to "X86". (Serge Pirotte)
 Files:	    src/gvim.exe.mnf
 
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 98ea0a3..d05871e 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -4151,7 +4151,7 @@
 Problem:    ":call f().TT()" doesn't work.  (Richard Emberson)
 Solution:   When a function returns a Dictionary or another composite continue
 	    evaluating what follows.
-Files:	    src/eval.c    
+Files:	    src/eval.c
 
 Patch 7.0.174
 Problem:    ":mksession" doesn't restore window layout correctly in tab pages
@@ -4265,7 +4265,7 @@
 	    that not all blocks are loaded into memory, causing ml_get errors
 	    later.
 Solution:   Rename "dont_release" to "mf_dont_release" and also use it to
-	    avoid using the cached line and locked block. 
+	    avoid using the cached line and locked block.
 Files:	    src/globals.h, src/memfile.c, src/memline.c
 
 Patch 7.0.193
@@ -6031,7 +6031,7 @@
 Files:	    src/version.c
 
 Patch 7.1.207
-Problem:    Netbeans: "remove" cannot delete one line. 
+Problem:    Netbeans: "remove" cannot delete one line.
 Solution:   Remove partial lines and whole lines properly.  Avoid a memory
 	    leak.  (Xavier de Gaye)
 Files:	    src/netbeans.c
@@ -7991,7 +7991,7 @@
 
 Patch 7.2.097
 Problem:    "!xterm&" doesn't work when 'shell' is "bash".
-Solution:   Ignore SIGHUP after calling setsid(). (Simon Schubert) 
+Solution:   Ignore SIGHUP after calling setsid(). (Simon Schubert)
 Files:	    src/os_unix.c
 
 Patch 7.2.098
@@ -8740,7 +8740,7 @@
 	    src/ui.c
 
 Patch 7.2.222
-Problem:   ":mksession" doesn't work properly with 'acd' set. 
+Problem:   ":mksession" doesn't work properly with 'acd' set.
 Solution:   Make it work. (Yakov Lerner)
 Files:	    src/ex_docmd.c
 
@@ -9150,7 +9150,7 @@
 Files:	    src/ops.c
 
 Patch 7.2.293
-Problem:    When setting 'comments' option it may be used in a wrong way. 
+Problem:    When setting 'comments' option it may be used in a wrong way.
 Solution:   Don't increment after skipping over digits. (Yukihiro Nakadaira)
 Files:	    src/misc1.c
 
@@ -10191,32 +10191,32 @@
 Better Python interface				*better-python-interface*
 -----------------------
 
-Added |python-bindeval| function. Unlike |python-eval| this one returns 
-|python-Dictionary|, |python-List| and |python-Function| objects for 
-dictionaries lists and functions respectively in place of their Python 
+Added |python-bindeval| function. Unlike |python-eval| this one returns
+|python-Dictionary|, |python-List| and |python-Function| objects for
+dictionaries lists and functions respectively in place of their Python
 built-in equivalents (or None if we are talking about function references).
-   For simple types this function returns Python built-in types and not only 
-Python `str()` like |python-eval| does. On Python 3 it will return `bytes()` 
+   For simple types this function returns Python built-in types and not only
+Python `str()` like |python-eval| does. On Python 3 it will return `bytes()`
 objects in place of `str()` ones avoiding possibility of UnicodeDecodeError.
    Interface of new objects mimics standard Python `dict()` and `list()`
 interfaces to some extent. Extent will be improved in the future.
 
-Added special |python-vars| objects also available for |python-buffer| and 
+Added special |python-vars| objects also available for |python-buffer| and
 |python-window|. They ease access to Vim script variables from Python.
 
-Now you no longer need to alter `sys.path` to import your module: special 
-hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and 
-{rtp}/pythonx directories (for Python 2, Python 3 and both respectively). 
+Now you no longer need to alter `sys.path` to import your module: special
+hooks are responsible for importing from {rtp}/python2, {rtp}/python3 and
+{rtp}/pythonx directories (for Python 2, Python 3 and both respectively).
 See |python-special-path|.
 
 Added possibility to work with |tabpage|s through |python-tabpage| object.
 
-Added automatic conversion of Vim errors and exceptions to Python 
+Added automatic conversion of Vim errors and exceptions to Python
 exceptions.
 
-Changed the behavior of the |python-buffers| object: it now uses buffer numbers 
-as keys in place of the index of the buffer in the internal buffer list. 
-This should not break anything as the only way to get this index was 
+Changed the behavior of the |python-buffers| object: it now uses buffer numbers
+as keys in place of the index of the buffer in the internal buffer list.
+This should not break anything as the only way to get this index was
 iterating over |python-buffers|.
 
 Added |:pydo| and |:py3do| commands.
@@ -10226,7 +10226,7 @@
 Now in all places which previously accepted `str()` objects, `str()` and
 `unicode()` (Python 2) or `bytes()` and `str()` (Python 3) are accepted.
 
-|python-window| has gained `.col` and `.row` attributes that are currently 
+|python-window| has gained `.col` and `.row` attributes that are currently
 the only way to get internal window positions.
 
 Added or fixed support for `dir()` in Vim Python objects.
@@ -10235,12 +10235,12 @@
 Changed							*changed-7.4*
 -------
 
-Old Python versions (≤2.2) are no longer supported. Building with them did 
+Old Python versions (≤2.2) are no longer supported. Building with them did
 not work anyway.
 
 Options:
-	Added ability to automatically save the selection into the system 
-	clipboard when using non-GUI version of Vim (autoselectplus in 
+	Added ability to automatically save the selection into the system
+	clipboard when using non-GUI version of Vim (autoselectplus in
 	'clipboard'). Also added ability to use the system clipboard as
 	default register (previously only primary selection could be used).
 	(Ivan Krasilnikov, Christian Brabandt, Bram Moolenaar)
@@ -10255,12 +10255,12 @@
 	'relativenumber'.  (Christian Brabandt)
 
 Commands:
-	|:diffoff| now saves the local values of some settings and restores 
-	them in place of blindly resetting them to the defaults. (Christian 
+	|:diffoff| now saves the local values of some settings and restores
+	them in place of blindly resetting them to the defaults. (Christian
 	Brabandt)
 
 Other:
-	Lua interface now also uses userdata binded to Vim structures. (Taro 
+	Lua interface now also uses userdata binded to Vim structures. (Taro
 	Muraoka, Luis Carvalho)
 
 	glob() and autocommand patterns used to work with the undocumented
@@ -10285,74 +10285,74 @@
 
 	Added |wildmenumode()| function. (Christian Brabandt)
 
-	Debugging functions: |screenattr()|, |screenchar()|, |screencol()|, 
+	Debugging functions: |screenattr()|, |screenchar()|, |screencol()|,
 	|screenrow()|. (Simon Ruderich, Bram Moolenaar)
 
-	Added ability to use |Dictionary-function|s for |sort()|ing, via 
+	Added ability to use |Dictionary-function|s for |sort()|ing, via
 	optional third argument. (Nikolay Pavlov)
 
-	Added special |expand()| argument that expands to the current line 
+	Added special |expand()| argument that expands to the current line
 	number.
 
-	Made it possible to force |char2nr()| to always give unicode codepoints 
+	Made it possible to force |char2nr()| to always give unicode codepoints
 	regardless of current encoding. (Yasuhiro Matsumoto)
 
-	Made it possible for functions generating file list generate |List| 
-	and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian 
+	Made it possible for functions generating file list generate |List|
+	and not NL-separated string. (e.g. |glob()|, |expand()|) (Christian
 	Brabandt)
 
-	Functions that obtain variables from the specific window, tabpage or 
-	buffer scope dictionary can now return specified default value in 
-	place of empty string in case variable is not found. (|gettabvar()|, 
+	Functions that obtain variables from the specific window, tabpage or
+	buffer scope dictionary can now return specified default value in
+	place of empty string in case variable is not found. (|gettabvar()|,
 	|getwinvar()|, |getbufvar()|) (Shougo Matsushita, Hirohito Higashi)
 
 Autocommands:
-	Added |InsertCharPre| event launched before inserting character. 
+	Added |InsertCharPre| event launched before inserting character.
 	(Jakson A. Aquino)
 
-	Added |CompleteDone| event launched after finishing completion in 
+	Added |CompleteDone| event launched after finishing completion in
 	insert mode. (idea by Florian Klein)
 
-	Added |QuitPre| event launched when commands that can either close Vim 
+	Added |QuitPre| event launched when commands that can either close Vim
 	or only some window(s) are launched.
 
-	Added |TextChanged| and |TextChangedI| events launched when text is 
+	Added |TextChanged| and |TextChangedI| events launched when text is
 	changed.
 
 Commands:
 	|:syntime| command useful for debugging.
 
-	Made it possible to remove all signs from the current buffer using 
+	Made it possible to remove all signs from the current buffer using
 	|:sign-unplace|. (Christian Brabandt)
 
 	Added |:language| autocompletion. (Dominique Pelle)
 
-	Added more |:command-complete| completion types: |:behave| suboptions, 
-	color schemes, compilers, |:cscope| suboptions, files from 'path', 
-	|:history| suboptions, locale names, |:syntime| suboptions, user 
+	Added more |:command-complete| completion types: |:behave| suboptions,
+	color schemes, compilers, |:cscope| suboptions, files from 'path',
+	|:history| suboptions, locale names, |:syntime| suboptions, user
 	names. (Dominique Pelle)
 
-	Added |:map-nowait| creating mapping which when having lhs that is the 
-	prefix of another mapping’s lhs will not allow Vim to wait for user to 
-	type more characters to resolve ambiguity, forcing Vim to take the 
+	Added |:map-nowait| creating mapping which when having lhs that is the
+	prefix of another mapping’s lhs will not allow Vim to wait for user to
+	type more characters to resolve ambiguity, forcing Vim to take the
 	shorter alternative: one with <nowait>.
 
 Options:
 	Made it possible to ignore case when completing: 'wildignorecase'.
 
-	Added ability to delete comment leader when using |J| by `j` flag in 
+	Added ability to delete comment leader when using |J| by `j` flag in
 	'formatoptions' (|fo-table|). (Lech Lorens)
 
-	Added ability to control indentation inside namespaces: |cino-N|. 
+	Added ability to control indentation inside namespaces: |cino-N|.
 	(Konstantin Lepa)
 
-	Added ability to control alignment inside `if` condition separately 
+	Added ability to control alignment inside `if` condition separately
 	from alignment inside function arguments: |cino-k|. (Lech Lorens)
 
 Other:
 	Improved support for cmd.exe. (Ben Fritz, Bram Moolenaar)
 
-	Added |v:windowid| variable containing current window number in GUI 
+	Added |v:windowid| variable containing current window number in GUI
 	Vim. (Christian J. Robinson, Lech Lorens)
 
 	Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito)
@@ -11923,7 +11923,7 @@
 Files:	    src/ex_getln.c
 
 Patch 7.3.266
-Problem:    In Gvim with iBus typing space in Insert mode doesn't work.
+Problem:    In gvim with iBus typing space in Insert mode doesn't work.
 Solution:   Clear xim_expected_char after checking it.
 Files:	    src/mbyte.c
 
@@ -11938,7 +11938,7 @@
 Files:	    src/os_unix.c
 
 Patch 7.3.269
-Problem:    'shellcmdflag' only works with one flag. 
+Problem:    'shellcmdflag' only works with one flag.
 Solution:   Split into multiple arguments. (Gary Johnson)
 Files:	    src/os_unix.c
 
@@ -13118,7 +13118,7 @@
 Patch 7.3.477
 Problem:    Using ":echo" to output enough lines to scroll, then using "j" and
 	    "k" at the more prompt, displays the command on top of the output.
-	    (Marcin Szamotulski) 
+	    (Marcin Szamotulski)
 Solution:   Put the output below the command. (Christian Brabandt)
 Files:	    src/eval.c
 
@@ -13371,7 +13371,7 @@
 Files:	    src/edit.c
 
 Patch 7.3.520
-Problem:    Gvim starts up slow on Ubuntu 12.04.
+Problem:    gvim starts up slow on Ubuntu 12.04.
 Solution:   Move the call to gui_mch_init_check() to after fork(). (Yasuhiro
 	    Matsumoto)  Do check $DISPLAY being set.
 Files:	    src/gui.c, src/gui_gtk_x11.c, src/proto/gui_gtk_x11.pro
@@ -13424,7 +13424,7 @@
 Files:	    src/normal.c
 
 Patch 7.3.530 (after 7.3.520)
-Problem:    Gvim does not work when 'guioptions' includes "f". (Davido)
+Problem:    gvim does not work when 'guioptions' includes "f". (Davido)
 Solution:   Call gui_mch_init_check() when running GUI in the foreground.
 	    (Yasuhiro Matsumoto)
 Files:	    src/gui.c
@@ -14287,7 +14287,7 @@
 Patch 7.3.682 (after 7.3.677)
 Problem:    Compiler complains about incompatible types.
 Solution:   Remove type casts. (hint by Danek Duvall)
-Files:	    src/edit.c 
+Files:	    src/edit.c
 
 Patch 7.3.683
 Problem:    ":python" may crash when vimbindeval() returns None.
@@ -16340,7 +16340,7 @@
 Files:	    src/if_cscope.c
 
 Patch 7.3.1039
-Problem:    New regexp engine does not support \%23c, \%<23c and the like. 
+Problem:    New regexp engine does not support \%23c, \%<23c and the like.
 Solution:   Implement them. (partly by Yasuhiro Matsumoto)
 Files:	    src/regexp.h, src/regexp_nfa.c, src/testdir/test64.in,
 	    src/testdir/test64.ok
@@ -17552,9 +17552,9 @@
 Files:	    src/testdir/test61.in
 
 Patch 7.3.1252
-Problem:    Gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
+Problem:    gvim does not find the toolbar bitmap files in ~/vimfiles/bitmaps
 	    if the corresponding menu command contains additional characters
-	    like the shortcut marker '&' or if you use a non-english locale.  
+	    like the shortcut marker '&' or if you use a non-english locale.
 Solution:   Use menu->en_dname or menu->dname. (Martin Gieseking)
 Files:	    src/gui_w32.c
 
@@ -18175,7 +18175,7 @@
 
 Patch 7.4a.045
 Problem:    Configure does not always find the right library for Lua.  Missing
-	    support for LuaJit. 
+	    support for LuaJit.
 Solution:   Improve the configure detection of Lua. (Hiroshi Shirosaki)
 Files:	    src/Makefile, src/configure.in, src/auto/configure
 
diff --git a/runtime/syntax/cpp.vim b/runtime/syntax/cpp.vim
index 5a478fb..9cb0860 100644
--- a/runtime/syntax/cpp.vim
+++ b/runtime/syntax/cpp.vim
@@ -2,7 +2,7 @@
 " Language:	C++
 " Current Maintainer:	vim-jp (https://github.com/vim-jp/vim-cpp)
 " Previous Maintainer:	Ken Shan <ccshan@post.harvard.edu>
-" Last Change:	2016 Oct 28
+" Last Change:	2017 Jun 05
 
 " quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -48,7 +48,7 @@
 if !exists("cpp_no_cpp14")
   syn case ignore
   syn match cppNumber		display "\<0b[01]\('\=[01]\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
-  syn match cppNumber		display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
+  syn match cppNumber		display "\<[1-9]\('\=\d\+\)*\(u\=l\{0,2}\|ll\=u\)\>" contains=cFloat
   syn match cppNumber		display "\<0x\x\('\=\x\+\)*\(u\=l\{0,2}\|ll\=u\)\>"
   syn case match
 endif
diff --git a/runtime/syntax/haskell.vim b/runtime/syntax/haskell.vim
index 11f4c35..e398085 100644
--- a/runtime/syntax/haskell.vim
+++ b/runtime/syntax/haskell.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:		Haskell
 " Maintainer:		Haskell Cafe mailinglist <haskell-cafe@haskell.org>
-" Last Change:		2008 Dec 15
+" Last Change:		2017 Jun 04
 " Original Author:	John Williams <jrw@pobox.com>
 "
 " Thanks to Ryan Crumley for suggestions and John Meacham for
@@ -62,7 +62,7 @@
 syn match   hsNumber		"\<[0-9]\+\>\|\<0[xX][0-9a-fA-F]\+\>\|\<0[oO][0-7]\+\>"
 syn match   hsFloat		"\<[0-9]\+\.[0-9]\+\([eE][-+]\=[0-9]\+\)\=\>"
 
-" Keyword definitions. These must be patters instead of keywords
+" Keyword definitions. These must be patterns instead of keywords
 " because otherwise they would match as keywords at the start of a
 " "literate" comment (see lhs.vim).
 syn match hsModule		"\<module\>"
