diff --git a/runtime/doc/channel.txt b/runtime/doc/channel.txt
index b9af2e6..4e47ef1 100644
--- a/runtime/doc/channel.txt
+++ b/runtime/doc/channel.txt
@@ -1,4 +1,4 @@
-*channel.txt*      For Vim version 8.0.  Last change: 2017 Jul 22
+*channel.txt*      For Vim version 8.0.  Last change: 2017 Aug 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -475,6 +475,11 @@
 Without the handler you need to read the output with |ch_read()| or
 |ch_readraw()|. You can do this in the close callback, see |read-in-close-cb|.
 
+Note that if the job exits before you read the output, the output may be lost.
+This depends on the system (on Unix this happens because closing the write end
+of a pipe causes the read end to get EOF).  To avoid this make the job sleep
+for a short while before it exits.
+
 The handler defined for "out_cb" will not receive stderr.  If you want to
 handle that separately, add an "err_cb" handler: >
     let job = job_start(command, {"out_cb": "MyHandler",
@@ -489,11 +494,6 @@
 This might not always work when called early, put in the callback handler or
 use a timer to call it after the job has started.
 
-Depending on the system, starting a job can put Vim in the background, the
-started job gets the focus.  To avoid that, use the `foreground()` function.
-This might not always work when called early, put in the callback handler or
-use a timer to call it after the job has started.
-
 You can send a message to the command with ch_evalraw().  If the channel is in
 JSON or JS mode you can use ch_evalexpr().
 
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 806f0cd..0289b9f 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 Aug 06
+*eval.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 6f1c202..d1dc845 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -894,10 +894,10 @@
 	python-dev
 For Python 3:
 	python3
-	pytyon3-dev
+	python3-dev
 For Python 3.6:
 	python3.6
-	pytyon3.6-dev
+	python3.6-dev
 
 If you have more than one version of Python 3, you need to link python3 to the
 one you prefer, before running configure.
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index a0425b7..e202c33 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 8.0.  Last change: 2017 Jul 30
+*index.txt*     For Vim version 8.0.  Last change: 2017 Aug 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -540,7 +540,7 @@
 |CTRL-W_J|	CTRL-W J	   move current window to the very bottom
 |CTRL-W_K|	CTRL-W K	   move current window to the very top
 |CTRL-W_L|	CTRL-W L	   move current window to the far right
-|CTRL-W_N|	CTRL-W N	   terminal window: go to Terminal mode
+|CTRL-W_N|	CTRL-W N	   terminal window: go to Terminal Normal mode
 |CTRL-W_P|	CTRL-W P	   go to preview window
 |CTRL-W_R|	CTRL-W R	   rotate windows upwards N times
 |CTRL-W_S|	CTRL-W S	   same as "CTRL-W s"
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 9e62251..27f0cc6 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,4 +1,4 @@
-*intro.txt*     For Vim version 8.0.  Last change: 2017 Jul 30
+*intro.txt*     For Vim version 8.0.  Last change: 2017 Aug 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -530,7 +530,7 @@
 ==============================================================================
 5. Modes, introduction				*vim-modes-intro* *vim-modes*
 
-Vim has six BASIC modes:
+Vim has seven BASIC modes:
 
 					*Normal* *Normal-mode* *command-mode*
 Normal mode		In Normal mode you can enter all the normal editor
@@ -566,6 +566,11 @@
 			you remain in Ex mode.  Very limited editing of the
 			command line.  |Ex-mode|
 
+Terminal-Job mode	Interacting with a job in a terminal window.  Typed
+			keys go to the job and the job output is displayed in
+			the terminal window.  See |terminal| about how to
+			switch to other modes.
+
 There are seven ADDITIONAL modes.  These are variants of the BASIC modes:
 
 				*Operator-pending* *Operator-pending-mode*
@@ -592,10 +597,9 @@
 			If the 'showmode' option is on "-- (insert) --" is
 			shown at the bottom of the window.
 
-Terminal Normal mode	Using Normal mode in a terminal window.  Making
-			changes is impossible.  Use a insert command, such as
-			"a" or "i", to return control to the job running in
-			the terminal.  Also called |Terminal-mode|.
+Terminal-Normal mode	Using Normal mode in a terminal window.  Making
+			changes is impossible.  Use an insert command, such as
+			"a" or "i", to return to Terminal-Job mode.
 
 Insert Visual mode	Entered when starting a Visual selection from Insert
 			mode, e.g., by using CTRL-O and then "v", "V" or
@@ -671,6 +675,8 @@
 Normal mode, without causing a beep like <Esc> would.  However, this does not
 work in Ex mode.  When used after a command that takes an argument, such as
 |f| or |m|, the timeout set with 'ttimeoutlen' applies.
+When focus is in a terminal window, CTRL-\ CTRL-N goes to Normal mode for only
+one command, see |t_CTRL-\_CTRL-N|.
 
 	*CTRL-\_CTRL-G* *i_CTRL-\_CTRL-G* *c_CTRL-\_CTRL-G* *v_CTRL-\_CTRL-G*
 The command CTRL-\ CTRL-G or <C-\><C-G> can be used to go to Insert mode when
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 831bdaa..2068f9e 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1315,6 +1315,7 @@
 +tcl	various.txt	/*+tcl*
 +tcl/dyn	various.txt	/*+tcl\/dyn*
 +termguicolors	various.txt	/*+termguicolors*
++terminal	various.txt	/*+terminal*
 +terminfo	various.txt	/*+terminfo*
 +termresponse	various.txt	/*+termresponse*
 +textobjects	various.txt	/*+textobjects*
@@ -4535,6 +4536,7 @@
 E944	pattern.txt	/*E944*
 E945	pattern.txt	/*E945*
 E946	terminal.txt	/*E946*
+E947	terminal.txt	/*E947*
 E95	message.txt	/*E95*
 E96	diff.txt	/*E96*
 E97	diff.txt	/*E97*
@@ -8535,6 +8537,7 @@
 t_BD	term.txt	/*t_BD*
 t_BE	term.txt	/*t_BE*
 t_CS	term.txt	/*t_CS*
+t_CTRL-\_CTRL-N	terminal.txt	/*t_CTRL-\\_CTRL-N*
 t_CV	term.txt	/*t_CV*
 t_Ce	term.txt	/*t_Ce*
 t_Co	term.txt	/*t_Co*
@@ -8794,16 +8797,21 @@
 tempfile	change.txt	/*tempfile*
 template	autocmd.txt	/*template*
 tempname()	eval.txt	/*tempname()*
+term++close	terminal.txt	/*term++close*
+term++open	terminal.txt	/*term++open*
 term-dependent-settings	term.txt	/*term-dependent-settings*
 term-list	syntax.txt	/*term-list*
 term.txt	term.txt	/*term.txt*
+term_getaltscreen()	eval.txt	/*term_getaltscreen()*
 term_getattr()	eval.txt	/*term_getattr()*
 term_getcursor()	eval.txt	/*term_getcursor()*
 term_getjob()	eval.txt	/*term_getjob()*
 term_getline()	eval.txt	/*term_getline()*
+term_getscrolled()	eval.txt	/*term_getscrolled()*
 term_getsize()	eval.txt	/*term_getsize()*
 term_getstatus()	eval.txt	/*term_getstatus()*
 term_gettitle()	eval.txt	/*term_gettitle()*
+term_gettty()	eval.txt	/*term_gettty()*
 term_list()	eval.txt	/*term_list()*
 term_scrape()	eval.txt	/*term_scrape()*
 term_sendkeys()	eval.txt	/*term_sendkeys()*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 3f20e1b..f065b7c 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 Aug 01
+*todo.txt*      For Vim version 8.0.  Last change: 2017 Aug 11
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,34 +35,31 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Check out coverity reports.
-
 No maintainer for Vietnamese translations.
 No maintainer for Simplified Chinese translations.
 
 
 Terminal emulator window:
 - Lots of stuff to implement, see src/terminal.c
-- Running a shell command from the GUI still has limitations.  Look into how
-  the terminal emulator of the Vim shell project can help:
-    http://code.hootsuite.com/vimshell/
 - Add winpty.dll and winpty-agent.exe in the NSIS build.
 - Add debugger interface.  Implementation for gdb by Xavier de Gaye.  Should
   work like an IDE.  Try to keep it generic.  Now found here:
     http://clewn.sf.net.
+  Can this replace Agide?  http://www.a-a-p.org/images/debugfull.png
+    - make showballoon() work in a terminal.  Requires getting mouse-move
+      events.
+    - send 'balloonText' events for the cursor position (using CursorHold ?)
+      in terminal mode.
+    - Implement the right-click popup menu for the terminal. Can use the
+      completion popup menu code and mouse dragging.
 - Look into the idevim plugin/script.
 - Related wishes for NetBeans commands:
     - make it possible to have 'defineAnnoType' also handle terminal colors.
-    - send 'balloonText' events for the cursor position (using CursorHold ?)
-      in terminal mode.
 
 +channel:
 - Try out background make plugin: 
   https://github.com/AndrewVos/vim-make-background
 - Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
-- Add 'cwd' argument to start_job(): directory to change to in the child.
-    check for valid directory before forking.
-  Part of patch for environment, Yasuhiro Matsumoto, #1160
 - When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
   2016 Dec 11, #1320)
 - Implement |job-term| ?
@@ -125,12 +122,32 @@
   Another one: echom matchstr(" sdfsfsf\n sfdsdfsdf",'[^\n]*')
   (2017 May 15, #1252)
 
+Include a few color schemes, based on popularity:
+http://www.vim.org/scripts/script_search_results.php?keywords=&script_type=color+scheme&order_by=rating&direction=descending&search=search
+http://vimawesome.com/?q=tag:color-scheme
+Use names that indicate their appearnce (Christian Brabandt, 2017 Aug 3)
+- monokai - Xia Crusoe (2017 Aug 4)
+- seoul256 - Christian Brabandt (2017 Aug 3)
+- gruvbox -  Christian Brabandt (2017 Aug 3)
+- janah - Marco Hinz (2017 Aug 4)
+- apprentice - Romain Lafourcade (2017 Aug 6)  remarks about help file
+Suggested by Hiroki Kokubun:
+- [Iceberg](https://github.com/cocopon/iceberg.vim) (my one)
+- [hybrid](https://github.com/w0ng/vim-hybrid)
+
 test_gui fails with gnome2: cannot create .gnome2 dir
     use  testdir/Xfakehome  instead of does/not/exist?
 
 Patch for quickfix: parse lines for any quickfix list. (Yegappan Lakshmanan,
 2017 Jul 20)
 
+Patch for restoring wide characters in the console buffer.
+(Ken Takata, 2016 Jun 7)
+
+Patch to add Couchbase syntax file. (Eugene Ciurana, 2017 Aug 8, #1951)
+
+Patch to fix font name problem with cp932. (Ken Takata, 2017 Aug 9)
+
 With foldmethod=syntax and nofoldenable comment highlighting isn't removed.
 (Marcin Szewczyk, 2017 Apr 26)
 
@@ -141,22 +158,25 @@
 
 Error in emsg with buggy script. (Dominique, 2017 Apr 30)
 
+Start a test directory under runtime, to test runtime file changes.
+Start with filetype detection.  Only include in the source distribution.
+"make test" in src/ can be renamed to "make testsrc" and "make test" would do
+both "testsrc" and "testruntime" targets.
+
 Patch for Murphi syntax. (Matthew Fernandez, 2017 Jul 24)
 
 Better detection of strace file. (Steven Fernandez, 2017 Jul 12, #1837)
 
-Bug with conceal mode: 3rd element returned by synconcealed() differs for
-every call. (Dominique Pelle, 2017 Jun 18)
+Patch to add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
+Kiichi, 2016 Feb 28)
+Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
+Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
+Update Aug 2017: #1953
 
 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.
 
-Signs drawn on top of messages. (worp, #1907)
-
-Folds open when job writes to another buffer. (Jonathan Fudger, 2017 Jul 31)
-Already fixed?
-
 Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
 Still happens (2017 Jul 9)
 
@@ -165,10 +185,11 @@
 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.  Is now up-to-date?
+Got permission to include this under the Vim license.
 
 Refactored HTML indent file. (Michael Lee, #1821)
 
-Using uninitialzed value in test_crypt.
+Using uninitialized value in test_crypt.
 
 Test_writefile_fails_conversion failure on Solaris because if different iconv
 behavior.  Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
@@ -185,6 +206,8 @@
     @  list@get()    harder to read
     ->  list->get()  two characters, used for lambda
 
+The ++ options for the :edit command are also useful on the Vim command line.
+
 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.
@@ -195,6 +218,10 @@
 
 Problem with three-piece comment. (Michael Lee, 2017 May 11, #1696)
 
+Creating a partial with an autoload function is confused about the "self"
+attribute of the function.  For an unknown function assume "self" and make
+that optiona? (Bjorn Linse, 2017 Aug 5)
+
 Completion mixes results from the current buffer with tags and other files.
 Happens when typing CTRL-N while still search for results.  E.g., type "b_" in
 terminal.c and then CTRL-N twice.
@@ -278,12 +305,7 @@
 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 add setbufline(). (email from Yasuhiro Matsumoto, patch by Ozaki
-Kiichi, 2016 Feb 28)
-Update Mar 8: https://gist.github.com/mattn/23c1f50999084992ca98
-Update Mar 13: https://gist.github.com/mattn/23c1f50999084992ca98
+maprestore() to restore (using the output of maplist()).
 
 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
@@ -377,11 +399,9 @@
 Alternative from Christian Brabandt. (2010 Sep 19)
 New one from Yasuhiro Matsumoto, #1277.
 
-Patch for restoring wide characters in the console buffer.
-(Ken Takata, 2016 Jun 7)
-
 Patch to fix escaping of job arguments. (Yasuhiro Matsumoto, 2016 Oct 5)
 Update Oct 14: https://gist.github.com/mattn/d47e7d3bfe5ade4be86062b565a4bfca
+Update Aug 2017: #1954
 
 Characters deleted on completion. (Adrià Farrés, 2017 Apr 20, #1645)
 Remarks from Christian Brabandt (Apr 21)
@@ -404,7 +424,7 @@
 2017 Feb 9)  Can we expand wildcards first and send the path literally to the
 receiving Vim?  Or make an exception for #, it's not useful remotely.
 
-":sbr" docs state it respect 'switchbuf', but "vsplit" does not cause a
+":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a
 vertical split. (Haldean Brown, 2017 Mar 1)
 
 Use ADDR_OTHER instead of ADDR_LINES for many more commands.
diff --git a/runtime/doc/usr_07.txt b/runtime/doc/usr_07.txt
index 2e03060..956dc1d 100644
--- a/runtime/doc/usr_07.txt
+++ b/runtime/doc/usr_07.txt
@@ -1,4 +1,4 @@
-*usr_07.txt*	For Vim version 8.0.  Last change: 2006 Apr 24
+*usr_07.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -355,7 +355,7 @@
 	"fyas
 
 The "yas" command yanks a sentence like before.  It's the "f that tells Vim
-the text should be place in the f register.  This must come just before the
+the text should be placed in the f register.  This must come just before the
 yank command.
    Now yank three whole lines to the l register (l for line): >
 
diff --git a/runtime/doc/usr_08.txt b/runtime/doc/usr_08.txt
index 854935c..6b3db9b 100644
--- a/runtime/doc/usr_08.txt
+++ b/runtime/doc/usr_08.txt
@@ -1,4 +1,4 @@
-*usr_08.txt*	For Vim version 8.0.  Last change: 2014 Jul 06
+*usr_08.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -45,7 +45,7 @@
 	+----------------------------------+
 
 What you see here is two windows on the same file.  The line with "====" is
-that status line.  It displays information about the window above it.  (In
+the status line.  It displays information about the window above it.  (In
 practice the status line will be in reverse video.)
    The two windows allow you to view two parts of the same file.  For example,
 you could make the top window show the variable declarations of a program, and
diff --git a/runtime/doc/usr_09.txt b/runtime/doc/usr_09.txt
index 694670a..3ae52e1 100644
--- a/runtime/doc/usr_09.txt
+++ b/runtime/doc/usr_09.txt
@@ -1,4 +1,4 @@
-*usr_09.txt*	For Vim version 8.0.  Last change: 2006 Apr 24
+*usr_09.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -60,7 +60,7 @@
 At the very top is the window title.  This is drawn by your window system.
 Vim will set the title to show the name of the current file.  First comes the
 name of the file.  Then some special characters and the directory of the file
-in parens.  These special character can be present:
+in parens.  These special characters can be present:
 
 	-	The file cannot be modified (e.g., a help file)
 	+	The file contains changes
@@ -206,7 +206,7 @@
    To put text on the real clipboard, select a few different words in one of
 the gVims you have running.  Then use the Edit/Copy menu entry.  Now the text
 has been copied to the real clipboard.  You can't see this, unless you have
-some application that shows the clipboard contents (e.g., KDE's klipper).
+some application that shows the clipboard contents (e.g., KDE's Klipper).
    Now select the other gVim, position the cursor somewhere and use the
 Edit/Paste menu.  You will see the text from the real clipboard is inserted.
 
diff --git a/runtime/doc/usr_12.txt b/runtime/doc/usr_12.txt
index 829dfba..078d187 100644
--- a/runtime/doc/usr_12.txt
+++ b/runtime/doc/usr_12.txt
@@ -1,4 +1,4 @@
-*usr_12.txt*	For Vim version 8.0.  Last change: 2007 May 11
+*usr_12.txt*	For Vim version 8.0.  Last change: 2017 Aug 11
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -290,7 +290,7 @@
 The line range "%" is used, thus this works on the whole file.  The pattern
 that the ":substitute" command matches with is "\s\+$".  This finds white
 space characters (\s), 1 or more of them (\+), before the end-of-line ($).
-Later will be explained how you write patterns like this |usr_27.txt|.
+Later will be explained how you write patterns like this, see |usr_27.txt|.
    The "to" part of the substitute command is empty: "//".  Thus it replaces
 with nothing, effectively deleting the matched white space.
 
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index b3aa4b5..24290fa 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -427,6 +427,7 @@
 m  *+tag_any_white*	any white space allowed in tags file |tag-any-white|
 m  *+tcl*		Tcl interface |tcl|
 m  *+tcl/dyn*		Tcl interface |tcl-dynamic| |/dyn|
+m  *+terminal*		Support for terminal window |terminal|
    *+terminfo*		uses |terminfo| instead of termcap
 N  *+termresponse*	support for |t_RV| and |v:termresponse|
 B  *+termguicolors*	24-bit color in xterm-compatible terminals support
diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1
index e3c8773..18f589c 100644
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -1,6 +1,6 @@
 .TH VIM 1 "2006 Apr 11"
 .SH NAME
-vim \- Vi IMproved, a programmers text editor
+vim \- Vi IMproved, a programmer's text editor
 .SH SYNOPSIS
 .br
 .B vim
diff --git a/runtime/indent/sh.vim b/runtime/indent/sh.vim
index ae4f4b5..fd9a6a9 100644
--- a/runtime/indent/sh.vim
+++ b/runtime/indent/sh.vim
@@ -3,10 +3,11 @@
 " Maintainer:          Christian Brabandt <cb@256bit.org>
 " Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
 " Original Author:     Nikolai Weibull <now@bitwi.se>
-" Latest Revision:     2017-05-02
+" Latest Revision:     2017-08-08
 " License:             Vim (see :h license)
 " Repository:          https://github.com/chrisbra/vim-sh-indent
 " Changelog:
+"          20170808: - better indent of line continuation
 "          20170502: - get rid of buffer-shiftwidth function
 "          20160912: - preserve indentation of here-doc blocks
 "          20160627: - detect heredocs correctly
@@ -117,7 +118,8 @@
 endfunction
 
 function! s:is_continuation_line(line)
-  return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\)$'
+  return a:line =~ '\%(\%(^\|[^\\]\)\\\|&&\|||\||\)' .
+                 \ '\s*\({\s*\)\=\(#.*\)\=$'
 endfunction
 
 function! s:find_continued_lnum(lnum)
