Update runtime files
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index 9951028..1a7ca73 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 02
+*diff.txt*      For Vim version 8.0.  Last change: 2017 Sep 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -10,7 +10,7 @@
 
 The basics are explained in section |08.7| of the user manual.
 
-1. Starting diff mode		|vimdiff|
+1. Starting diff mode		|start-vimdiff|
 2. Viewing diffs		|view-diffs|
 3. Jumping to diffs		|jumpto-diffs|
 4. Copying diffs		|copy-diffs|
@@ -19,7 +19,7 @@
 {not in Vi}
 
 ==============================================================================
-1. Starting diff mode
+1. Starting diff mode					*start-vimdiff*
 
 The easiest way to start editing in diff mode is with the "vimdiff" command.
 This starts Vim as usual, and additionally sets up for viewing the differences
diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt
index dc77123..df02c5c 100644
--- a/runtime/doc/gui.txt
+++ b/runtime/doc/gui.txt
@@ -1,4 +1,4 @@
-*gui.txt*       For Vim version 8.0.  Last change: 2017 Sep 19
+*gui.txt*       For Vim version 8.0.  Last change: 2017 Sep 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -795,11 +795,17 @@
 If the items do not fit then the last ones cannot be used.  The toolbar does
 not wrap.
 
+Note that Vim may be in any mode when executing these commands.  The menu
+should be defined for Normal mode and will be executed without changing the
+current mode. Thus if the current window is in Visual mode and the menu
+command does not intentionally change the mode, Vim will remain in Visual
+mode.  Best is to use `:nnoremenu` to avoid side effects.
+
 Example for debugger tools: >
-	amenu 1.10 WinBar.Step :Step<CR>
-	amenu 1.20 WinBar.Next :Next<CR>
-	amenu 1.30 WinBar.Finish :Finish<CR>
-	amenu 1.40 WinBar.Cont :Continue<CR>
+	nnoremenu 1.10 WinBar.Step :Step<CR>
+	nnoremenu 1.20 WinBar.Next :Next<CR>
+	nnoremenu 1.30 WinBar.Finish :Finish<CR>
+	nnoremenu 1.40 WinBar.Cont :Continue<CR>
 <
 The window toolbar uses the ToolbarLine and ToolbarButton highlight groups.
 
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 80e9077..2efeb3b 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 Sep 17
+*map.txt*       For Vim version 8.0.  Last change: 2017 Sep 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -29,7 +29,7 @@
 1. Key mapping				*key-mapping* *mapping* *macro*
 
 Key mapping is used to change the meaning of typed keys.  The most common use
-is to define a sequence commands for a function key.  Example: >
+is to define a sequence of commands for a function key.  Example: >
 
 	:map <F2> a<C-R>=strftime("%c")<CR><Esc>
 
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index b5e5847..56697d5 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 16
+*options.txt*	For Vim version 8.0.  Last change: 2017 Sep 24
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4380,8 +4380,8 @@
 	1   over-the-spot style
 	See: |xim-input-style|
 
-	For a long time on-the-spot sytle had been used in GTK version of vim,
-	however, it is known that it causes troubles when using mappings,
+	For a long time on-the-spot style had been used in the GTK version of
+	vim, however, it is known that it causes troubles when using mappings,
 	|single-repeat|, etc.  Therefore over-the-spot style becomes the
 	default now.  This should work fine for most people, however if you
 	have any problem with it, try using on-the-spot style.
@@ -8259,7 +8259,7 @@
 	Save the whole buffer for undo when reloading it.  This applies to the
 	":e!" command and reloading for when the buffer changed outside of
 	Vim. |FileChangedShell|
-	The save only happens when this options is negative or when the number
+	The save only happens when this option is negative or when the number
 	of lines is smaller than the value of this option.
 	Set this option to zero to disable undo for a reload.
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 31836c1..1099b81 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -8465,6 +8465,7 @@
 starstar	editing.txt	/*starstar*
 starstar-wildcard	editing.txt	/*starstar-wildcard*
 start-of-file	pattern.txt	/*start-of-file*
+start-vimdiff	diff.txt	/*start-vimdiff*
 starting	starting.txt	/*starting*
 starting-amiga	starting.txt	/*starting-amiga*
 starting.txt	starting.txt	/*starting.txt*
diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt
index bce1d6f..d44e1b8 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 17
+*terminal.txt*	For Vim version 8.0.  Last change: 2017 Sep 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -81,7 +81,14 @@
 
 To change the keys you type use terminal mode mappings, see |:tmap|.
 These are defined like any mapping, but apply only when typing keys that are
-sent to the job running in the terminal.
+sent to the job running in the terminal.  For example, to make Escape switch
+to Terminal-Normal mode: >
+   tnoremap <Esc> <C-W>N
+
+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: >
+   au BufWinEnter * if &buftype == 'terminal' | setlocal bufhidden=hide | endif
 
 
 Size and color ~
@@ -328,7 +335,7 @@
 	packadd termdebug
 <							*:Termdebug*
 To start debugging use `:TermDebug` folowed by the command name, for example: >
-	:TermDebug vim
+	:Termdebug vim
 
 This opens two windows:
 gdb window	A terminal window in which "gdb vim" is executed.  Here you
@@ -352,6 +359,62 @@
 opened windows are closed.
 
 
+Example session ~
+
+Start in the Vim "src" directory and build Vim: >
+	% make
+Start Vim: >
+	% ./vim
+Load the termdebug plugin and start debugging Vim: >
+	:packadd termdebug
+	:Termdebug vim
+You should now have three windows:
+    source  - where you started, has a window toolbar with buttons
+    gdb	    - you can type gdb commands here
+    program - the executed program will use this window
+You can use CTRL-W CTRL-W or the mouse to move focus between windows.
+Put focus on the gdb window and type: >
+	break ex_help
+	run
+Vim will start running in the program window. Put focus there and type: >
+	:help gui
+Gdb will run into the ex_help breakpoint.  The source window now shows the 
+ex_cmds.c file.  A ">>" marker will appear where the breakpoint was set.  The
+line where the debugger stopped is highlighted.  You can now step through the
+program.  Let's use the mouse: click on the "Next" button in the window
+toolbar.  You will see the highlighting move as the debugger executes a line
+of source code.
+
+Click "Next" a few times until the for loop is highlighted.  Put the cursor on
+the end of "eap->arg", then click "Eval" in the toolbar.  You will see this
+displayed:
+	"eap->arg": 0x555555e68855 "gui" ~
+This way you can inspect the value of local variables.  You can also focus the
+gdb window and use a "print" command, e.g.: >
+	print *eap
+
+Now go back to the source window and put the cursor on the first line after
+the for loop, then type: >
+	:Break
+You will see a ">>" marker appear, this indicates the new breakpoint.  Now
+click "Cont" in the toolbar and the code until the breakpoint will be
+executed.
+
+You can type more advanced commands in the gdb window.  For example, type: >
+	watch curbuf
+Now click "Cont" in the toolbar (or type "cont" in the gdb window). Execution
+will now continue until the value of "curbuf" changes, which is in do_ecmd().
+To remove this watchpoint again type in the gdb window: >
+	delete 3
+
+You can see the stack by typing in the gdb window: >
+	where
+Move through the stack frames, e.g. with: >
+	frame 3
+The source window will show the code, at the point where the call was made to
+a deeper level.
+
+
 Stepping through code ~
 
 Put focus on the gdb window to type commands there.  Some common ones are:
@@ -410,7 +473,7 @@
 invoking `:Termdebug`: >
 	let termdebugger = "mygdb"
 Only debuggers fully compatible with gdb will work.  Vim uses the GDB/MI
-interface.
+interface.  This probably requires gdb version 7.12.
 
 The color of the signs can be adjusted with these highlight groups:
 - debugPC		the current position
@@ -429,6 +492,10 @@
   let g:termdebug_wide = 163
 This will set &columns to 163 when :Termdebug is used.  The value is restored
 when quitting the debugger.
+If g:termdebug_wide is set and &Columns is already  larger than
+g:termdebug_wide then a vertical split will be used without changing &columns.
+Set it to 1 to get a vertical split without every changing &columns (useful
+for when the terminal can't be resized by Vim).
 
 
 
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 8247fe6..85fb6a6 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 19
+*todo.txt*      For Vim version 8.0.  Last change: 2017 Sep 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,17 +35,16 @@
 							*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)
 
-Always use FEAT_WINDOWS:
-May get rid of:
-    #define W_WINCOL(wp)	(wp->w_wincol)
-    #define W_WIDTH(wp)	(wp->w_width)
-    #define W_ENDCOL(wp)	(wp->w_wincol + wp->w_width)
-    #define W_VSEP_WIDTH(wp) (wp->w_vsep_width)
-    #define W_STATUS_HEIGHT(wp) (wp->w_status_height)
-    #define W_WINROW(wp)	(wp->w_winrow)
-# define ALIST(win) (win)->w_alist
+Universal solution to detect if t_RS is working, using cursor position.
+Koichi Iwamoto, #2126
 
 No maintainer for Vietnamese translations.
 No maintainer for Simplified Chinese translations.
@@ -70,6 +69,8 @@
   with the expected screenshot.  Set t_Co to 256.
 
 +channel:
+- Add a separate timeout for opening a socket.  Currently it's fixed at 50
+  msec, which is too small for a remote connection. (tverniquet, #2130)
 - Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
@@ -94,6 +95,8 @@
     Although user could use "xterm -e 'cmd arg'".
 
 Regexp problems:
+- [:space:] only matches ASCII spaces.  Add [:white:] for all space-like
+  characters, esp. including 0xa0.  Use character class zero.
 - Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
   (Manuel Ortega, 2016 Apr 24)
   Test fails on Mac.  Avoid using isalpha(), isalnum(), etc?  Depends on
@@ -149,14 +152,11 @@
 Suggested by Hiroki Kokubun:
 - [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
 - [hybrid](https://github.com/w0ng/vim-hybrid)
-
-Patch to update Brazilian translations. (Eduardo Dobay, 2017 Sep 10, #2077)
+Include solarized color scheme?
 
 When starting with --clean packages under "start" are not loaded.  Make this
 work:  :packadd START {name}  similar to :runtime START name
 
-Patch to refactor qf_jump(). (Yegappan, 2017 Sep 17)
-
 When using :packadd files under "later" are not used, which is inconsistent
 with packages under "start". (xtal8, #1994)
 
@@ -175,14 +175,19 @@
 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)
 
-"vim -c startinsert!" doesn't append. (#2117)
-
 With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
 (Marcin Szewczyk, 2017 Apr 26)
 
@@ -203,6 +208,7 @@
 
 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.
 
 Default install on MS-Windows should source defaults.vim.
 Ask whether to use Windows or Vim key behavior?
@@ -324,8 +330,6 @@
 Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
 8, #1690)
 
-Include solarized color scheme?
-
 Running test_gui and test_gui_init with Motif sometimes kills the window
 manager.  Problem with Motif?
 
@@ -660,11 +664,6 @@
 
 Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
 
-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.
-
 We can use '. to go to the last change in the current buffer, but how about
 the last change in any buffer?  Can we use ', (, is next to .)?
 
@@ -2236,9 +2235,6 @@
 go to Insert mode and add a few lines.  Then backspacing every other time
 moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
 
-Windows installer should install 32-bit version of right-click handler also on
-64-bit systems. (Brian Cunningham, 2011 Dec 28)
-
 Windows installer could add a "open in new tab of existing Vim" menu entry.
 Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
 Just have two choices, always using one Vim and selecting between using an
diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1
index 18f589c..20714b7 100644
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -325,7 +325,7 @@
 overwriting a file.
 If you do want to overwrite a file, add an exclamation mark to the Ex command,
 as in ":w!".
-The \-R option also implies the \-n option (see below).
+The \-R option also implies the \-n option (see above).
 The 'readonly' option can be reset with ":set noro".
 See ":help 'readonly'".
 .TP
diff --git a/runtime/doc/vim.man b/runtime/doc/vim.man
index 64fa795..5cd751f 100644
--- a/runtime/doc/vim.man
+++ b/runtime/doc/vim.man
@@ -225,7 +225,7 @@
                    dentally overwriting a file.  If you do want to overwrite a
                    file, add an exclamation mark to  the  Ex  command,  as  in
                    ":w!".   The  -R  option  also  implies  the -n option (see
-                   below).  The 'readonly' option  can  be  reset  with  ":set
+                   above).  The 'readonly' option  can  be  reset  with  ":set
                    noro".  See ":help 'readonly'".
 
        -r          List  swap  files,  with  information  about using them for
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index be26841..a8797a1 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 8.0.  Last change: 2017 Sep 08
+*windows.txt*   For Vim version 8.0.  Last change: 2017 Sep 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -619,7 +619,8 @@
 41. :buffers		list of buffers
 
 The meaning of [N] depends on the command:
- [N] is number of buffers to go forward/backward on ?2, ?3, and ?4
+ [N] is the number of buffers to go forward/backward on 2/12/22/32,
+     3/13/23/33, and 4/14/24/34
  [N] is an argument number, defaulting to current argument, for 1 and 21
  [N] is a buffer number, defaulting to current buffer, for 11 and 31
  [N] is a count for 19 and 39