diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index da35c27..e1e96a7 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 8.0.  Last change: 2017 Jul 14
+*autocmd.txt*   For Vim version 8.0.  Last change: 2017 Oct 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -501,6 +501,10 @@
 				|cmdwin-char|
 							*CmdlineLeave*
 CmdlineLeave			Before leaving the command line.
+				Also when abandoning the command line, after
+				typing CTRL-C or <Esc>.
+				When the commands result in an error the
+				command line is still executed.
 				<afile> is set to a single character,
 				indicating the type of command-line.
 				|cmdwin-char|
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index a0e37b5..d87d4fe 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 8.0.  Last change: 2017 Sep 17
+*cmdline.txt*   For Vim version 8.0.  Last change: 2017 Oct 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -839,7 +839,8 @@
 	<cfile>    is replaced with the path name under the cursor (like what
 		   |gf| uses)
 	<afile>    When executing autocommands, is replaced with the file name
-		   for a file read or write.
+		   of the buffer being manipulated, or the file for a read or
+		   write.
 	<abuf>     When executing autocommands, is replaced with the currently
 		   effective buffer number (for ":r file" and ":so file" it is
 		   the current buffer, the file being read/sourced is not in a
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 1a7ca73..e6e225a 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 8.0.  Last change: 2017 Sep 26
+*diff.txt*      For Vim version 8.0.  Last change: 2017 Oct 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -326,7 +326,7 @@
 
     let g:diff_translations = 0
 <
-After setting this variable, Reload the syntax script: >
+After setting this variable, reload the syntax script: >
 
     set syntax=diff
 <
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 9c2117c..13396c6 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 Sep 17
+*eval.txt*	For Vim version 8.0.  Last change: 2017 Oct 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -120,9 +120,8 @@
 Function arguments often behave slightly different from |TRUE|: If the
 argument is present and it evaluates to a non-zero Number, |v:true| or a
 non-empty String, then the value is considered to be TRUE.
-Note that " " and "0" are also non-empty strings, thus cause the mode to be
-cleared.  A List, Dictionary or Float is not a Number or String, thus
-evaluates to FALSE.
+Note that " " and "0" are also non-empty strings, thus considered to be TRUE.
+A List, Dictionary or Float is not a Number or String, thus evaluate to FALSE.
 
 		*E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913*
 List, Dictionary, Funcref, Job and Channel types are not automatically
@@ -815,14 +814,15 @@
 "abc" == "Abc"	  evaluates to 1 if 'ignorecase' is set, 0 otherwise
 
 							*E691* *E692*
-A |List| can only be compared with a |List| and only "equal", "not equal" and
-"is" can be used.  This compares the values of the list, recursively.
-Ignoring case means case is ignored when comparing item values.
+A |List| can only be compared with a |List| and only "equal", "not equal",
+"is" and "isnot" can be used.  This compares the values of the list,
+recursively.  Ignoring case means case is ignored when comparing item values.
 
 							*E735* *E736*
 A |Dictionary| can only be compared with a |Dictionary| and only "equal", "not
-equal" and "is" can be used.  This compares the key/values of the |Dictionary|
-recursively.  Ignoring case means case is ignored when comparing item values.
+equal", "is" and "isnot" can be used.  This compares the key/values of the
+|Dictionary| recursively.  Ignoring case means case is ignored when comparing
+item values.
 
 							*E694*
 A |Funcref| can only be compared with a |Funcref| and only "equal", "not
@@ -2321,7 +2321,7 @@
 server2client({clientid}, {string})
 				Number	send reply string
 serverlist()			String	get a list of available servers
-setbufline( {expr}, {lnum}, {line})
+setbufline({expr}, {lnum}, {line})
 				Number	set line {lnum} to {line} in buffer
 					{expr}
 setbufvar({expr}, {varname}, {val})
@@ -2950,6 +2950,9 @@
 		correct contents.  Also does not add a newline for a channel
 		in NL mode, the caller must do that.  The NL in the response
 		is removed.
+		Note that Vim does not know when the text received on a raw
+		channel is complete, it may only return the first part and you 
+		need to use ch_readraw() to fetch the rest.
 		See |channel-use|.
 
 		{only available when compiled with the |+channel| feature}
@@ -6463,6 +6466,12 @@
 		{only available when compiled with the |+clientserver| feature}
 		Note: Any errors will cause a local error message to be issued
 		and the result will be the empty string.
+
+		Variables will be evaluated in the global namespace,
+		independent of a function currently being activel.  Except
+		when in debug mode, then local function variables and
+		arguments can be evaluated.
+
 		Examples: >
 			:echo remote_expr("gvim", "2+2")
 			:echo remote_expr("gvim1", "b:current_syntax")
@@ -8154,6 +8163,11 @@
 term_start({cmd}, {options})				*term_start()*
 		Open a terminal window and run {cmd} in it.
 
+		{cmd} can be a string or a List, like with |job_start()|. The
+		string "NONE" can be used to open a terminal window without
+		starting a job, the pty of the terminal can be used by a
+		command like gdb.
+
 		Returns the buffer number of the terminal window.  If {cmd}
 		cannot be executed the window does open and shows an error
 		message.
@@ -9055,13 +9069,16 @@
 
 						*E124* *E125* *E853* *E884*
 :fu[nction][!] {name}([arguments]) [range] [abort] [dict] [closure]
-			Define a new function by the name {name}.  The name
-			must be made of alphanumeric characters and '_', and
-			must start with a capital or "s:" (see above).  Note
-			that using "b:" or "g:" is not allowed. (since patch
-			7.4.260 E884 is given if the function name has a colon
-			in the name, e.g. for "foo:bar()".  Before that patch
-			no error was given).
+			Define a new function by the name {name}.  The body of
+			the function follows in the next lines, until the
+			matching |:endfunction|.
+			
+			The name must be made of alphanumeric characters and
+			'_', and must start with a capital or "s:" (see
+			above).  Note that using "b:" or "g:" is not allowed.
+			(since patch 7.4.260 E884 is given if the function
+			name has a colon in the name, e.g. for "foo:bar()".
+			Before that patch no error was given).
 
 			{name} can also be a |Dictionary| entry that is a
 			|Funcref|: >
@@ -9197,9 +9214,10 @@
 may be larger.
 
 It is also possible to define a function without any arguments.  You must
-still supply the () then.  The body of the function follows in the next lines,
-until the matching |:endfunction|.  It is allowed to define another function
-inside a function body.
+still supply the () then.
+
+It is allowed to define another function inside a function
+body.
 
 							*local-variables*
 Inside a function local variables can be used.  These will disappear when the
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 795b259..4b47a39 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt*  For Vim version 8.0.  Last change: 2017 Mar 28
+*filetype.txt*  For Vim version 8.0.  Last change: 2017 Oct 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -43,7 +43,7 @@
 	BufNewFile and BufRead events.  If the file type is not found by the
 	name, the file $VIMRUNTIME/scripts.vim is used to detect it from the
 	contents of the file.
-	When the GUI is running or will start soon, the menu.vim script is
+	When the GUI is running or will start soon, the |menu.vim| script is
 	also sourced.  See |'go-M'| about avoiding that.
 
 To add your own file types, see |new-filetype| below.  To search for help on a
@@ -607,6 +607,7 @@
   - Linux
   - Mac OS
   - FreeBSD
+  - OpenBSD
   - Cygwin
   - Win 10 under Bash
 
@@ -620,6 +621,10 @@
 
 	export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -"
 
+On OpenBSD:
+
+        export MANPAGER="env MAN_PN=1 vim -M +MANPAGER"
+
 For (t)csh by adding to the config file
 
 	setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -"
diff --git a/runtime/doc/ft_rust.txt b/runtime/doc/ft_rust.txt
index 71e3027..750ba76 100644
--- a/runtime/doc/ft_rust.txt
+++ b/runtime/doc/ft_rust.txt
@@ -199,7 +199,7 @@
 		|g:rust_playpen_url| is the base URL to the playpen, by default
 		"https://play.rust-lang.org/".
 
-		|g:rust_shortener_url| is the base URL for the shorterner, by
+		|g:rust_shortener_url| is the base URL for the shortener, by
 		default "https://is.gd/"
 
 :RustFmt                                                       *:RustFmt*
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index df02c5c..ab9d4b7 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -482,6 +482,7 @@
 what the key sequence was.
 
 For creating menus in a different language, see |:menutrans|.
+If you don't want to use menus at all, see |'go-M'|.
 
 							*menu.vim*
 The default menus are read from the file "$VIMRUNTIME/menu.vim".  See
@@ -498,7 +499,11 @@
 filetypes already present at startup, add: >
 	:let do_syntax_sel_menu = 1
 
-<
+Note that the menu.vim is sourced when `:syntax on` or `:filetype on` is
+executed or after your .vimrc file is sourced.  This means that the 'encoding'
+option and the language of messages (`:language messages`) must be set before
+that (if you want to change them).
+
 							*console-menus*
 Although this documentation is in the GUI section, you can actually use menus
 in console mode too.  You will have to load |menu.vim| explicitly then, it is
diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt
index ec69442..d8052fe 100644
--- a/runtime/doc/gui_w32.txt
+++ b/runtime/doc/gui_w32.txt
@@ -1,4 +1,4 @@
-*gui_w32.txt*   For Vim version 8.0.  Last change: 2014 Dec 20
+*gui_w32.txt*   For Vim version 8.0.  Last change: 2017 Oct 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -382,38 +382,8 @@
 ==============================================================================
 7. Command line arguments				*gui-w32-cmdargs*
 
-Analysis of a command line into parameters is not standardised in MS Windows.
-Gvim has to provide logic to analyse a command line.  This logic is likely to
-be different from the default logic provided by a compilation system used to
-build vim.  The differences relate to unusual double quote (") usage.
-The arguments "C:\My Music\freude.txt" and "+/Sch\"iller" are handled in the
-same way.  The argument "+/Sch""iller" may be handled different by gvim and
-vim, depending what it was compiled with.
-
-The rules are:
-      a) A parameter is a sequence of graphic characters.
-      b) Parameters are separated by white space.
-      c) A parameter can be enclosed in double quotes to include white space.
-      d) A sequence of zero or more backslashes (\) and a double quote (")
-	is special.  The effective number of backslashes is halved, rounded
-	down.  An even number of backslashes reverses the acceptability of
-	spaces and tabs, an odd number of backslashes produces a literal
-	double quote.
-
-So:
-	"	is a special double quote
-	\"	is a literal double quote
-	\\"	is a literal backslash and a special double quote
-	\\\"	is a literal backslash and a literal double quote
-	\\\\"	is 2 literal backslashes and a special double quote
-	\\\\\"	is 2 literal backslashes and a literal double quote
-	etc.
-
-Example: >
-	gvim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\"
-
-opens "C:\My Music\freude" and executes the line mode commands: >
-	set ignorecase; /"foo\ and /bar\"
+Command line arguments behave the same way as with the console application,
+see |win32-cmdargs|.
 
 ==============================================================================
 8. Various						*gui-w32-various*
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 2be3ced..527b8f7 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 8.0.  Last change: 2016 Sep 12
+*help.txt*	For Vim version 8.0.  Last change: 2017 Oct 28
 
 			VIM - main help file
 									 k
@@ -142,6 +142,7 @@
 |print.txt|	printing
 |remote.txt|	using Vim as a server or client
 |term.txt|	using different terminals and mice
+|terminal.txt|	Terminal window support
 |digraph.txt|	list of available digraphs
 |mbyte.txt|	multi-byte text support
 |mlang.txt|	non-English language support
@@ -150,6 +151,7 @@
 |hebrew.txt|	Hebrew language support and editing
 |russian.txt|	Russian language support and editing
 |ft_ada.txt|	Ada (the programming language) support
+|ft_rust.txt|	Filetype plugin for Rust
 |ft_sql.txt|	about the SQL filetype plugin
 |hangulin.txt|	Hangul (Korean) input mode
 |rileft.txt|	right-to-left editing mode
@@ -202,6 +204,7 @@
 |pi_logipat.txt|   Logical operators on patterns
 |pi_netrw.txt|     Reading and writing files over a network
 |pi_paren.txt|     Highlight matching parens
+|pi_spec.txt|      Filetype plugin to work with rpm spec files
 |pi_tar.txt|       Tar file explorer
 |pi_vimball.txt|   Create a self-installing Vim script
 |pi_zip.txt|       Zip archive explorer
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index dbc4280..ed7aea2 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt*   For Vim version 8.0.  Last change: 2017 Mar 25
+*message.txt*   For Vim version 8.0.  Last change: 2017 Oct 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -639,6 +639,9 @@
 - Just write the file again the next day.  Or set your clock to the next day,
   write the file twice and set the clock back.
 
+If you get W11 all the time, you may need to disable "Acronis Active
+Protection" or register vim  as a trusted service/application.
+
 							*W12*  >
   Warning: File "{filename}" has changed and the buffer was changed in Vim as well
 
diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt
index 85d0c4a..329b099 100644
--- a/runtime/doc/motion.txt
+++ b/runtime/doc/motion.txt
@@ -1,4 +1,4 @@
-*motion.txt*    For Vim version 8.0.  Last change: 2017 Mar 12
+*motion.txt*    For Vim version 8.0.  Last change: 2017 Oct 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c3b5ab8..2027a4b 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 Sep 24
+*options.txt*	For Vim version 8.0.  Last change: 2017 Nov 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -886,7 +886,7 @@
 	'background' is not dark/light, 'background' will be set and the
 	screen is redrawn.  This may have side effects, make t_BG empty in
 	your .vimrc if you suspect this problem.  The response to |t_RB| can
-	be found in |v:termrgbresp|.
+	be found in |v:termrbgresp|.
 
 	When starting the GUI, the default value for 'background' will be
 	"light".  When the value is not set in the .gvimrc, and Vim detects
@@ -3895,7 +3895,7 @@
 		that this flag must be added in the .vimrc file, before
 		switching on syntax or filetype recognition (when the |gvimrc|
 		file is sourced the system menu has already been loaded; the
-		":syntax on" and ":filetype on" commands load the menu too).
+		`:syntax on` and `:filetype on` commands load the menu too).
 								*'go-g'*
 	  'g'	Grey menu items: Make menu items that are not active grey.  If
 		'g' is not included inactive menu items are not shown at all.
@@ -5127,7 +5127,7 @@
 		:au FileType c,cpp,java set mps+==:;
 
 <	For a more advanced way of using "%", see the matchit.vim plugin in
-	the $VIMRUNTIME/macros directory. |add-local-help|
+	the $VIMRUNTIME/pack/dist/opt/matchit directory. |add-local-help|
 
 						*'matchtime'* *'mat'*
 'matchtime' 'mat'	number	(default 5)
@@ -5487,6 +5487,8 @@
 	Specifies the name of the MzScheme shared library. The default is
 	DYNAMIC_MZSCH_DLL which was specified at compile time.
 	Environment variables are expanded |:set_env|.
+	The value must be set in the |vimrc| script or ealier.  In the
+	startup, before the |load-plugins| step.
 	This option cannot be set from a |modeline| or in the |sandbox|, for
 	security reasons.
 
diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt
index 9112dac..bb1dbdc 100644
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -81,10 +81,45 @@
 make "!xxd" work, as it is in the Tools menu.  And it also means that when
 executable() returns 1 the executable can actually be executed.
 
-Quotes in file names					*win32-quotes*
+Command line arguments					*win32-cmdargs*
 
-Quotes inside a file name (or any other command line argument) can be escaped
-with a backslash.  E.g. >
+Analysis of a command line into parameters is not standardised in MS Windows.
+Vim and gvim used to use different logic to parse it (before 7.4.432), and the
+logic was also depended on what it was compiled with.  Now Vim and gvim both
+use the CommandLineToArgvW() Win32 API, so they behave in the same way.
+
+The basic rules are:					*win32-backslashes*
+      a) A parameter is a sequence of graphic characters.
+      b) Parameters are separated by white space.
+      c) A parameter can be enclosed in double quotes to include white space.
+      d) A sequence of zero or more backslashes (\) and a double quote (")
+	is special.  The effective number of backslashes is halved, rounded
+	down.  An even number of backslashes reverses the acceptability of
+	spaces and tabs, an odd number of backslashes produces a literal
+	double quote.
+
+So:
+	"	is a special double quote
+	\"	is a literal double quote
+	\\"	is a literal backslash and a special double quote
+	\\\"	is a literal backslash and a literal double quote
+	\\\\"	is 2 literal backslashes and a special double quote
+	\\\\\"	is 2 literal backslashes and a literal double quote
+	etc.
+
+Example: >
+	vim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\"
+
+opens "C:\My Music\freude" and executes the line mode commands: >
+	set ignorecase; /"foo\ and /bar\"
+
+These rules are also described in the reference of the CommandLineToArgvW API:
+    https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391.aspx
+
+							*win32-quotes*
+There are additional rules for quotes (which are not well documented).
+As described above, quotes inside a file name (or any other command line
+argument) can be escaped with a backslash.  E.g. >
 	vim -c "echo 'foo\"bar'"
 
 Alternatively use three quotes to get one: >
diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt
index c4d6790..c900ff5 100644
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 8.0.  Last change: 2017 Sep 10
+*quickref.txt*  For Vim version 8.0.  Last change: 2017 Oct 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -780,6 +780,8 @@
 'listchars'	  'lcs'     characters for displaying in list mode
 'loadplugins'	  'lpl'     load plugin scripts when starting up
 'luadll'		    name of the Lua dynamic library
+'mzschemedll'		    name of the MzScheme dynamic library
+'mzschemegcdll'		    name of the MzScheme dynamic library for GC
 'macatsui'		    Mac GUI: use ATSUI text drawing
 'magic'			    changes special characters in search patterns
 'makeef'	  'mef'     name of the errorfile for ":make"
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index 9b62fda..aacfe53 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt*	For Vim version 8.0.  Last change: 2016 Jan 08
+*spell.txt*	For Vim version 8.0.  Last change: 2017 Oct 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -723,7 +723,7 @@
     =		Case must match exactly.
     ?		Rare word.
     !		Bad (wrong) word.
-    digit	A region in which the word is valid.  If no regions are
+    1 to 9	A region in which the word is valid.  If no regions are
 		specified the word is valid in all regions.
 
 Example:
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 0ea6ea2..f289c83 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 8.0.  Last change: 2017 Jul 15
+*starting.txt*  For Vim version 8.0.  Last change: 2017 Oct 24
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -873,6 +873,9 @@
      (*) Using this file or environment variable will cause 'compatible' to be
 	 off by default.  See |compatible-default|.
 
+     Note: When using the |mzscheme| interface, it is initialzed after loading
+     the vimrc file.  Changing 'mzschemedll' later has no effect.
+
 4. Load the plugin scripts.					*load-plugins*
 	This does the same as the command: >
 		:runtime! plugin/**/*.vim
@@ -1044,7 +1047,7 @@
 patch 7.4.2111 to be exact).
 
 This should work well for new Vim users.  If you create your own .vimrc, it is
-recommended to add this line somewhere near the top: >
+recommended to add these lines somewhere near the top: >
 	unlet! skip_defaults_vim
 	source $VIMRUNTIME/defaults.vim
 Then Vim works like before you had a .vimrc. Copying $VIMRUNTIME/vimrc_example
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 8f887c4..248bace 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 Aug 12
+*syntax.txt*	For Vim version 8.0.  Last change: 2017 Sep 30
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -61,10 +61,12 @@
 directory where the Vim stuff is located.  For example, if your syntax files
 are in the "/usr/vim/vim50/syntax" directory, set $VIMRUNTIME to
 "/usr/vim/vim50".  You must do this in the shell, before starting Vim.
+This command also sources the |menu.vim| script when the GUI is running or
+will start soon.  See |'go-M'| about avoiding that.
 
 							*:syn-on* *:syntax-on*
-The ":syntax enable" command will keep your current color settings.  This
-allows using ":highlight" commands to set your preferred colors before or
+The `:syntax enable` command will keep your current color settings.  This
+allows using `:highlight` commands to set your preferred colors before or
 after using this command.  If you want Vim to overrule your settings with the
 defaults, use: >
 	:syntax on
@@ -810,12 +812,9 @@
 
 APACHE						*apache.vim* *ft-apache-syntax*
 
-The apache syntax file provides syntax highlighting depending on Apache HTTP
-server version, by default for 1.3.x.  Set "apache_version" to Apache version
-(as a string) to get highlighting for another version.	Example: >
+The apache syntax file provides syntax highlighting for Apache HTTP server
+version 2.2.3.
 
-	:let apache_version = "2.0"
-<
 
 		*asm.vim* *asmh8300.vim* *nasm.vim* *masm.vim* *asm68k*
 ASSEMBLY	*ft-asm-syntax* *ft-asmh8300-syntax* *ft-nasm-syntax*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 1099b81..e167f39 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -477,6 +477,8 @@
 'msm'	options.txt	/*'msm'*
 'mzq'	options.txt	/*'mzq'*
 'mzquantum'	options.txt	/*'mzquantum'*
+'mzschemedll'	options.txt	/*'mzschemedll'*
+'mzschemegcdll'	options.txt	/*'mzschemegcdll'*
 'nf'	options.txt	/*'nf'*
 'noacd'	options.txt	/*'noacd'*
 'noai'	options.txt	/*'noai'*
@@ -976,6 +978,7 @@
 't_PS'	term.txt	/*'t_PS'*
 't_RB'	term.txt	/*'t_RB'*
 't_RC'	term.txt	/*'t_RC'*
+'t_RF'	term.txt	/*'t_RF'*
 't_RI'	term.txt	/*'t_RI'*
 't_RS'	term.txt	/*'t_RS'*
 't_RV'	term.txt	/*'t_RV'*
@@ -3654,6 +3657,8 @@
 CmdUndefined	autocmd.txt	/*CmdUndefined*
 Cmdline	cmdline.txt	/*Cmdline*
 Cmdline-mode	cmdline.txt	/*Cmdline-mode*
+CmdlineEnter	autocmd.txt	/*CmdlineEnter*
+CmdlineLeave	autocmd.txt	/*CmdlineLeave*
 CmdwinEnter	autocmd.txt	/*CmdwinEnter*
 CmdwinLeave	autocmd.txt	/*CmdwinLeave*
 ColorScheme	autocmd.txt	/*ColorScheme*
@@ -3756,7 +3761,6 @@
 E17	message.txt	/*E17*
 E170	eval.txt	/*E170*
 E171	eval.txt	/*E171*
-E172	message.txt	/*E172*
 E173	message.txt	/*E173*
 E174	map.txt	/*E174*
 E175	map.txt	/*E175*
@@ -6524,6 +6528,7 @@
 garbagecollect()	eval.txt	/*garbagecollect()*
 gd	pattern.txt	/*gd*
 gdb	debug.txt	/*gdb*
+gdb-version	terminal.txt	/*gdb-version*
 ge	motion.txt	/*ge*
 get()	eval.txt	/*get()*
 get-ms-debuggers	debug.txt	/*get-ms-debuggers*
@@ -7800,6 +7805,7 @@
 option-window	options.txt	/*option-window*
 options	options.txt	/*options*
 options-changed	version5.txt	/*options-changed*
+options-in-terminal	terminal.txt	/*options-in-terminal*
 options.txt	options.txt	/*options.txt*
 optwin	options.txt	/*optwin*
 or()	eval.txt	/*or()*
@@ -8618,6 +8624,7 @@
 t_PS	term.txt	/*t_PS*
 t_RB	term.txt	/*t_RB*
 t_RC	term.txt	/*t_RC*
+t_RF	term.txt	/*t_RF*
 t_RI	term.txt	/*t_RI*
 t_RS	term.txt	/*t_RS*
 t_RV	term.txt	/*t_RV*
@@ -9115,8 +9122,9 @@
 v:t_number	eval.txt	/*v:t_number*
 v:t_string	eval.txt	/*v:t_string*
 v:termblinkresp	eval.txt	/*v:termblinkresp*
+v:termrbgresp	eval.txt	/*v:termrbgresp*
 v:termresponse	eval.txt	/*v:termresponse*
-v:termrgbresp	eval.txt	/*v:termrgbresp*
+v:termrfgresp	eval.txt	/*v:termrfgresp*
 v:termstyleresp	eval.txt	/*v:termstyleresp*
 v:termu7resp	eval.txt	/*v:termu7resp*
 v:testing	eval.txt	/*v:testing*
@@ -9401,6 +9409,8 @@
 win32	os_win32.txt	/*win32*
 win32-!start	gui_w32.txt	/*win32-!start*
 win32-PATH	os_win32.txt	/*win32-PATH*
+win32-backslashes	os_win32.txt	/*win32-backslashes*
+win32-cmdargs	os_win32.txt	/*win32-cmdargs*
 win32-colors	gui_w32.txt	/*win32-colors*
 win32-compiling	os_win32.txt	/*win32-compiling*
 win32-curdir	os_win32.txt	/*win32-curdir*
diff --git a/runtime/doc/tagsrch.txt b/runtime/doc/tagsrch.txt
index 3ef372e..c3da90d 100644
--- a/runtime/doc/tagsrch.txt
+++ b/runtime/doc/tagsrch.txt
@@ -1,4 +1,4 @@
-*tagsrch.txt*   For Vim version 8.0.  Last change: 2016 Sep 20
+*tagsrch.txt*   For Vim version 8.0.  Last change: 2017 Oct 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -195,6 +195,7 @@
 			information in the tags file(s).
 			When [ident] is not given, the last tag name from the
 			tag stack is used.
+			See |tag-!| for [!].
 			With a '>' in the first column is indicated which is
 			the current position in the list (if there is one).
 			[ident] can be a regexp pattern, see |tag-regexp|.
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 0fc6939..61dfb4b 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 8.0.  Last change: 2017 Aug 28
+*term.txt*      For Vim version 8.0.  Last change: 2017 Oct 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -327,6 +327,7 @@
 		|xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
 	t_u7	request cursor position (for xterm)		*t_u7* *'t_u7'*
 		see |'ambiwidth'|
+	t_RF	request terminal foreground color		*t_RF* *'t_RF'*
 	t_RB	request terminal background color		*t_RB* *'t_RB'*
 	t_8f	set foreground color (R, G, B)			*t_8f* *'t_8f'*
 		|xterm-true-color|
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index d44e1b8..be68015 100644
--- a/runtime/doc/terminal.txt
+++ b/runtime/doc/terminal.txt
@@ -1,4 +1,4 @@
-*terminal.txt*	For Vim version 8.0.  Last change: 2017 Sep 26
+*terminal.txt*	For Vim version 8.0.  Last change: 2017 Oct 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -84,7 +84,7 @@
 sent to the job running in the terminal.  For example, to make Escape switch
 to Terminal-Normal mode: >
    tnoremap <Esc> <C-W>N
-
+<							*options-in-terminal*
 After opening the terminal window and setting 'buftype' to "terminal" the
 BufWinEnter autocommand event is triggered.  This makes it possible to set
 options specifically for the window and buffer.  Example: >
@@ -472,8 +472,11 @@
 To change the name of the gdb command, set the "termdebugger" variable before
 invoking `:Termdebug`: >
 	let termdebugger = "mygdb"
+<						*gdb-version*
 Only debuggers fully compatible with gdb will work.  Vim uses the GDB/MI
-interface.  This probably requires gdb version 7.12.
+interface.  This probably requires gdb version 7.12.  if you get this error:
+	Undefined command: "new-ui". Try "help".~
+Then your gdb is too old.
 
 The color of the signs can be adjusted with these highlight groups:
 - debugPC		the current position
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 85fb6a6..71521c0 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 Sep 27
+*todo.txt*      For Vim version 8.0.  Last change: 2017 Nov 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -7,9 +7,9 @@
 			      TODO list for Vim		*todo*
 
 This is a veeeery long list of known bugs, current work and desired
-improvements.  To make it a little bit accessible, the items are grouped by
-subject.  In the first column of the line a classification is used to be able
-to look for "the next thing to do":
+improvements.  To make it a little bit accessible, the older items are grouped
+by subject.  In the first column of the line a classification is used to be
+able to look for "the next thing to do":
 
 Priority classification:
 9   next point release
@@ -35,14 +35,6 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-MS-Windows build and installer improvements:
-- Switch to VC2015 for building. (Ken Takata, 2017 Sep 21)
-  Check resulting binary on XP.
-- Patch to install 32 and 64 bit Gvimext and related dll files. (Ken Takata,
-  2017 Sep 23, #2144)
-
-:term hangs in Athena and Motif. (Kazunobu Kuriyama, 2017 Sep 17)
-
 Universal solution to detect if t_RS is working, using cursor position.
 Koichi Iwamoto, #2126
 
@@ -154,49 +146,38 @@
 - [hybrid](https://github.com/w0ng/vim-hybrid)
 Include solarized color scheme?
 
+Compiler warnings (geeknik, 2017 Oct 26):
+- signed integer overflow in do_sub() (#2249)
+- signed integer overflow in get_address() (#2248)
+- signed integer overflow in getdecchrs() (#2254)
+- signed integer overflow in nfa_regatom() (#2251)
+- undefined left shift in get_string_tv() (#2250)
+
+Patch to recognize neumutt temp files. (Teubel György, 2017 Oct 31, #2269)
+
 When starting with --clean packages under "start" are not loaded.  Make this
 work:  :packadd START {name}  similar to :runtime START name
 
 When using :packadd files under "later" are not used, which is inconsistent
 with packages under "start". (xtal8, #1994)
 
+Patch to test autocommand effects. (James McCoy, 2017 Oct 31, #2271)
+
 After 8.0.0962 pasting leaves the cursor in another position. (Ken Takata,
 2017 Aug 23, #2015) Also (zdm, 2017 Aug 23)
 
-Patch to fix popup menu drawing when changing the window size. (Ozaki Kiichi,
-2017 Sep 17, #2110)
-
-Patch to fix cursor highlighting with match. (Ozaki Kiichi, 2017 Sep 17,
-#2111)
-
-Patch for not profiling the first line of a script. (Lemonboy, 2017 Sep 17,
-#2103)
-
-Mac Terminal.app: ctermbg=15 gives light grey instead of white.
-ctermbg=256 breaks clearing till end of the line.  Both work fine in xterm.
-
-Patch to avoid `rb_load_protect` as a workaround not to crash (#2147)
-
-Patch for drag&drop reordering of GUI tab pages reordering.
-(Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
-Now on Git: https://gist.github.com/nocd5/165286495c782b815b94
-Update 2016 Aug 10.
-
-Using ":hi" causes a redraw, but a redraw may update the status line, which
-may trigger a ":hi" command.
-
-Last line not in profile if it is a continuation line. (LemonBoy, 2017 Sep 17,
-#2112)
+fold at end of the buffer behaves inconsistently. (James McCoy, 2017 Oct 9)
 
 With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
 (Marcin Szewczyk, 2017 Apr 26)
 
-Patch to make Mac features more clear and add "macdarwin". (Kazunobu Kuriyama,
-2017 Sep 5)
-
 Using 'wildignore' also applies to literally entered file name.  Also with
 :drop (remote commands).
 
+"gvim --remote" from a directory with non-word characters changes the current
+directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
+Also see #1689.
+
 ml_get error when using a Python. (Yggdroot, 2017 Jun 1, #1737)
 Lemonboy can reproduce (2017 Jun 5)
 
@@ -204,17 +185,25 @@
 
 Error in emsg with buggy script. (Dominique, 2017 Apr 30)
 
-Patch to make ":set scroll&" work properly. (Ozaki Kiichi, 2017 Sep 17, #2104)
+When a timer is running and typing CTRL-R on the command line, it is not
+redrawn properly. (xtal8, 2017 Oct 23, #2241)
 
-mswin.vim should not map CTRL-F in the console (#2093)
-Patch from Christian, 2017 Sep 15.
-Installer patch from Ken Takata, link on #2093.
+Patch for manpager plugin. (Lcd, 2017 Oct 12)
+Asked maintainer.
 
 Default install on MS-Windows should source defaults.vim.
 Ask whether to use Windows or Vim key behavior?
 
+When using command line window, CmdlineLeave is triggered without
+CmdlineEnter.  (xtal8, 2017 Oct 30, #2263)
+Add some way to get the nested state.  Although CmdwinEnter is obviously
+always nested.
+
 matchit hasn't been maintained for a long time.  #955.
 
+MS-Windows: buffer completetion doesn't work when using backslash (or slash)
+for a path separator. (xtal8, #2201)
+
 Test runtime files.
 Start with filetype detection: testdir/test_filetype.vim
 
@@ -236,6 +225,17 @@
 This example in the help does not work (Andy Wokula, 2017 Aug 20):
     augroup mine | au! BufRead | augroup END
 
+24 bit color support in MS-Windows console, using vcon. (Nobuhiro Takasaki,
+2017 Oct 1, #2060).  Should not set 'tgc' automatically.
+
+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)
+
+Patch to skip globpath() for color schemes, keymaps and compiler settings.
+So that loading menus is faster. (Ken Takata, 2017 Oct 23)
+Update to expand the menus in a CursorHold autocmd. (2017 Oct 25)
+
 Memory leaks in test_channel? (or is it because of fork())
 Memory leak in test_arabic.
 Using uninitialized value in test_crypt.
@@ -244,7 +244,7 @@
 
 Include Haiku port. (Adrien Destugues, Siarzhuk Zharski, 2013 Oct 24)
 It can replace the BeOS code, which is likely not used anymore.
-Now on github: #1856.
+Now on github: #1856.  Updated Oct 2017
 Got permission to include this under the Vim license.
 
 Refactored HTML indent file. (Michael Lee, #1821)
@@ -252,6 +252,8 @@
 Test_writefile_fails_conversion failure on Solaris because if different iconv
 behavior.  Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
 
+'tagrelative' is broken in specific situation. (xaizek, 2017 Oct 19, #2221)
+
 All functions are global, which makes functions like get() and len() awkward.
 For the future use the ~get() and ~len() syntax, e.g.:
     mylist~get(idx)
@@ -269,6 +271,9 @@
 Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
 #2089)  Patch with possible solution by Björn Linse.
 
+The change list index is local to a buffer, but it doesn't make sense using it
+for another buffer.  (lacygoll) Copy w_changelistidx to wininfo_S and back.
+
 X11: Putting more than about 262040 characters of text on the clipboard and
 pasting it in another Vim doesn't work.  (Dominique Pelle, 2008 Aug 21-23)
 clip_x11_request_selection_cb() is called with zero value and length.
@@ -292,6 +297,12 @@
 Should do current file first and not split it up when more results are found.
 (Also #1890)
 
+Patch from Christian Brabandt to preserve upper case marks when wiping out a
+buffer. (2013 Dec 9)
+Also fixes #2166?
+
+Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
+
 Python: After "import vim" error messages only show the first line of the
 stack trace. (Yggdroot, 2017 Jul 28, #1887)
 
@@ -406,10 +417,6 @@
 
 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.
@@ -1035,8 +1042,6 @@
 Bug: Autocompleting ":tag/pat" replaces "/pat" with a match but does not
 insert a space. (Micha Mos, 2014 Nov 7)
 
-Patch to add argument to :cquit. (Thinca, 2014 Oct 12)
-
 No error for missing endwhile. (ZyX, 2014 Mar 20)
 
 Patch to make extend() fail early when it might fail at some point.
@@ -1182,9 +1187,6 @@
 Using <nr>ifoobar<esc> can slow down Vim.  Patch by Christian Brabandt, 2013
 Dec 13.
 
-Patch from Christian Brabandt to preserve upper case marks when wiping out a
-buffer. (2013 Dec 9)
-
 GTK: problem with 'L' in 'guioptions' changing the window width.
 (Aaron Cornelius, 2012 Feb 6)
 
@@ -1458,8 +1460,6 @@
 BT regexp engine: After trying a \@> match and failing, submatches are not
 cleared.  See test64.
 
-Changes to manpage plugin. (Elias Toivanen, 2011 Jul 25)
-
 Patch to make "z=" work when 'spell' is off.  Does this have nasty side
 effects?  (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
 Would also need to do this for spellbadword() and spellsuggest().
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 8b2ce53..c13a0cb 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 8.0.  Last change: 2017 Aug 22
+*usr_41.txt*	For Vim version 8.0.  Last change: 2017 Oct 15
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -889,7 +889,7 @@
 
 Vim server:					*server-functions*
 	serverlist()		return the list of server names
-	remote_startserve()	run a server
+	remote_startserver()	run a server
 	remote_send()		send command characters to a Vim server
 	remote_expr()		evaluate an expression in a Vim server
 	server2client()		send a reply to a client of a Vim server
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index de16d8a..f64e87f 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -11778,7 +11778,7 @@
 Patch 7.4.1915
 Problem:    The effect of the PopupMenu autocommand isn't directly visible.
 Solution:   Call gui_update_menus() before displaying the popup menu. (Shane
-            Harper, closs #855)
+            Harper, closes #855)
 Files:      src/menu.c
 
 Patch 7.4.1916 (after 7.4.1906)
@@ -15398,7 +15398,7 @@
 Patch 8.0.0150
 Problem:    When the pattern of :filter does not have a separator then
             completion of the command fails.
-Solution:   Skip over the pattern. (Ozaki Kiichi, clodes #1299)
+Solution:   Skip over the pattern. (Ozaki Kiichi, closes #1299)
 Files:      src/ex_docmd.c, src/testdir/test_filter_cmd.vim
 
 Patch 8.0.0151
