Updated runtime files.
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index e3ba3d7..5aa7b78 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.4.  Last change: 2016 Jul 29
+*autocmd.txt*   For Vim version 7.4.  Last change: 2016 Sep 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -419,8 +419,8 @@
 				NOTE: When this autocommand is executed, the
 				current buffer "%" may be different from the
 				buffer being unloaded "<afile>".
-				Don't change to another buffer, it will cause
-				problems.
+				Don't change to another buffer or window, it
+				will cause problems!
 				When exiting and v:dying is 2 or more this
 				event is not triggered.
 							*BufWinEnter*
@@ -784,7 +784,9 @@
 				|:vimgrepadd|, |:lvimgrepadd|, |:cscope|,
 				|:cfile|, |:cgetfile|, |:caddfile|, |:lfile|,
 				|:lgetfile|, |:laddfile|, |:helpgrep|,
-				|:lhelpgrep|).
+				|:lhelpgrep|, |:cexpr|, |:cgetexpr|,
+				|:caddexpr|, |:cbuffer|, |:cgetbuffer|,
+				|:caddbuffer|).
 				The pattern is matched against the command
 				being run.  When |:grep| is used but 'grepprg'
 				is set to "internal" it still matches "grep".
@@ -1065,6 +1067,9 @@
 MS-DOS and OS/2).  This was done because the backslash is difficult to use
 in a pattern and to make the autocommands portable across different systems.
 
+It is possible to use |pattern| items, but they may not work as expected,
+because of the translation done for the above.
+
 							*autocmd-changes*
 Matching with the pattern is done when an event is triggered.  Changing the
 buffer name in one of the autocommands, or even deleting the buffer, does not
@@ -1163,11 +1168,12 @@
 				different from existing {event} names, as this
 				most likely will not do what you intended.
 
-						*:augroup-delete* *E367* *W19*
+					*:augroup-delete* *E367* *W19* *E936*
 :aug[roup]! {name}		Delete the autocmd group {name}.  Don't use
 				this if there is still an autocommand using
 				this group!  You will get a warning if doing
-				it anyway.
+				it anyway. when the group is the current group
+				you will get error E936.
 
 To enter autocommands for a specific group, use this method:
 1. Select the group with ":augroup {name}".
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 8858562..1eeebc8 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2016 Sep 01
+*eval.txt*	For Vim version 7.4.  Last change: 2016 Sep 05
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -119,7 +119,7 @@
 							*non-zero-arg*
 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 considere to be TRUE.
+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.
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index d9ae025..3b81b0c 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 7.4.  Last change: 2015 Nov 10
+*if_pyth.txt*   For Vim version 7.4.  Last change: 2016 Sep 01
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -56,7 +56,11 @@
 			print 'EAT ME'
 	EOF
 	endfunction
-<
+
+To see what version of Python you have: >
+	:python import sys
+	:python print(sys.version)
+
 Note: Python is very sensitive to the indenting.  Make sure the "class" line
 and "EOF" do not have any indent.
 
@@ -745,6 +749,10 @@
 if the `:py3` command is working: >
 	:py3 print("Hello")
 <							*:py3file*
+To see what version of Python you have: >
+	:py3 import sys
+	:py3 print(sys.version)
+
 The `:py3file` command works similar to `:pyfile`.
 							*:py3do*
 The `:py3do` command works similar to `:pydo`.
diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt
index 3ec4c41..8968644 100644
--- a/runtime/doc/if_ruby.txt
+++ b/runtime/doc/if_ruby.txt
@@ -1,4 +1,4 @@
-*if_ruby.txt*   For Vim version 7.4.  Last change: 2015 Dec 03
+*if_ruby.txt*   For Vim version 7.4.  Last change: 2016 Sep 01
 
 
 		  VIM REFERENCE MANUAL    by Shugo Maeda
@@ -205,7 +205,7 @@
 You need to install the right version of Ruby for this to work.  You can find
 the package to download from:
 http://www.garbagecollect.jp/ruby/mswin32/en/download/release.html
-Currently that is ruby-1.9.1-p429-i386-mswin32.zip
+Currently that is ruby-1.9.2-p136-i386-mswin32.zip
 
 To use the Ruby interface the Ruby DLL must be in your search path.  In a
 console window type "path" to see what directories are used.  The 'rubydll'
diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt
index 5a61dc7..662f394 100644
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt*   For Vim version 7.4.  Last change: 2016 Jul 16
+*message.txt*   For Vim version 7.4.  Last change: 2016 Sep 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -39,6 +39,7 @@
 Note: If the output has been stopped with "q" at the more prompt, it will only
 be displayed up to this point.
 The previous command output is cleared when another command produces output.
+The "g<" output is not redirected.
 
 If you are using translated messages, the first printed line tells who
 maintains the messages or the translations.  You can use this to contact the
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 93e2a88..30ea88d 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.4.  Last change: 2016 Aug 27
+*options.txt*	For Vim version 7.4.  Last change: 2016 Sep 02
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4922,10 +4922,11 @@
 			global
 	Changes the special characters that can be used in search patterns.
 	See |pattern|.
-	NOTE: To avoid portability problems with using patterns, always keep
-	this option at the default "on".  Only switch it off when working with
-	old Vi scripts.  In any other situation write patterns that work when
-	'magic' is on.  Include "\M" when you want to |/\M|.
+	WARNING: Switching this option off most likely breaks plugins!  That
+	is because many patterns assume it's on and will fail when it's off.
+	Only switch it off when working with old Vi scripts.  In any other
+	situation write patterns that work when 'magic' is on.  Include "\M"
+	when you want to |/\M|.
 
 						*'makeef'* *'mef'*
 'makeef' 'mef'		string	(default: "")
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index 14a5f01..b1a0f71 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.4.  Last change: 2016 Aug 27
+*starting.txt*  For Vim version 7.4.  Last change: 2016 Sep 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1030,6 +1030,9 @@
 revert individual settings.  See the defaults.vim file for hints on how to
 revert each item.
 
+If you use a system-wide vimrc and don't want defaults.vim to change settings,
+set the "skip_defaults_vim" variable.
+
 
 Avoiding trojan horses ~
 							*trojan-horse*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index ae3b0cd..8452bfa 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4485,6 +4485,7 @@
 E933	eval.txt	/*E933*
 E934	sign.txt	/*E934*
 E935	eval.txt	/*E935*
+E936	autocmd.txt	/*E936*
 E94	windows.txt	/*E94*
 E95	message.txt	/*E95*
 E96	diff.txt	/*E96*
@@ -5245,6 +5246,7 @@
 ceil()	eval.txt	/*ceil()*
 ch.vim	syntax.txt	/*ch.vim*
 ch_close()	eval.txt	/*ch_close()*
+ch_close_in()	eval.txt	/*ch_close_in()*
 ch_evalexpr()	eval.txt	/*ch_evalexpr()*
 ch_evalraw()	eval.txt	/*ch_evalraw()*
 ch_getbufnr()	eval.txt	/*ch_getbufnr()*
@@ -5287,6 +5289,7 @@
 channel	channel.txt	/*channel*
 channel-callback	channel.txt	/*channel-callback*
 channel-close	channel.txt	/*channel-close*
+channel-close-in	channel.txt	/*channel-close-in*
 channel-commands	channel.txt	/*channel-commands*
 channel-demo	channel.txt	/*channel-demo*
 channel-functions	usr_41.txt	/*channel-functions*
diff --git a/runtime/doc/term.txt b/runtime/doc/term.txt
index 1eea20f..8f9d878 100644
--- a/runtime/doc/term.txt
+++ b/runtime/doc/term.txt
@@ -1,4 +1,4 @@
-*term.txt*      For Vim version 7.4.  Last change: 2016 Apr 29
+*term.txt*      For Vim version 7.4.  Last change: 2016 Sep 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -426,6 +426,8 @@
 Vim supports using true colors in the terminal (taken from |highlight-guifg|
 and |highlight-guibg|), given that the terminal supports this. To make this 
 work the 'termguicolors' option needs to be set.
+See https://gist.github.com/XVilka/8346728 for a list of terminals that
+support true colors.
 
 Sometimes setting 'termguicolors' is not enough and one has to set the |t_8f|
 and |t_8b| options explicitly. Default values of these options are
@@ -433,9 +435,8 @@
 set when `$TERM` is `xterm`. Some terminals accept the same sequences, but
 with all semicolons replaced by colons (this is actually more compatible, but
 less widely supported): >
-	 set t_8f=^[[38:2:%lu:%lu:%lum
-	 set t_8b=^[[48:2:%lu:%lu:%lum
-(replace `^[` with real escape) 
+	 let &t_8f = "\<Esc>[38:2:%lu:%lu:%lum"
+	 let &t_8b = "\<Esc>[48:2:%lu:%lu:%lum"
 
 These options contain printf strings, with |printf()| (actually, its C
 equivalent hence `l` modifier) invoked with the t_ option value and three
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 90f9e7f..aa1bc80 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2016 Aug 31
+*todo.txt*      For Vim version 7.4.  Last change: 2016 Sep 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,34 +34,20 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Invalid memory access in do_pending_operator. (Dominique, 2016 Sep 5)
+
+test_autocmd fails when run directly, passes when run through test_alot.
+
 Make ":filter" work with more commands.
 Search for: msg_putchar('\n')
 
-Try building with $SHADOWDIR
-
-Test_sign_completion() fails on MS-Windows (console and GUI)  Completion
-doesn't have both tb_paste.xpm and tb_print.xpm but "tb_p".  Different default
-options?
-
-Patch to trigger autocommands for :cexpr etc. (Yegappan, Aug 30, #1021)
-
-Test_nb_basic() fails on MS-Windows GUI. line 12: Expected 2 but got 1.
-line 13: Expected 20 but got 1.
-
-Figure out building with Ruby on MS-Windows.
-
-Problem with 'incsearch'. (Mike Williams, 2016 Aug 31)
-
-:cexpr doesn't trigger QuickFixCmdPost. (Mathias Stearn, 2016 Aug 29, #1021)
-Needs documentation. (Yegappan)
-
-Patch to convert test_marks to new style. (Yegappan, 2016 Aug 28, 2 msg)
-
-Patch to make it possible to define a test but skip it, by throwing an
-exception. (Christian Brabandt, 2016 Aug 30)
-
 +channel:
+- option to not put "Reading from channel" in the buffer.
 - Add 'cwd' argument: directory to change to in the child.
+    check for valid directory before forking.
+- channel_wait() may return an error while there is still something to read.
+  Perhaps try to read once?
+- Problem with stderr on Windows? (Vincent Rischmann, 2016 Aug 31, #1026)
 - Implement |job-term| ?
 - Channel test fails with Motif.  Sometimes kills the X11 server.
 - When a message in the queue but there is no callback, drop it after a while?
@@ -157,12 +143,18 @@
 For current Windows build .pdb file is missing. (Gabriele Fava, 2016 May 11)
 5)
 
+min() and max() spawn lots of error messages if sorted list/dictionary
+contains invalid data (Nikolay Pavlov, 2016 Sep 4, #1039)
+
 Patch to fix compiler warning with gtk3. (Kazunobu Kuriyama, 2016 Aug 24)
 
 Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
 
 Undo problem: "g-" doesn't go back, gets stuck. (Björn Linse, 2016 Jul 18)
 
+sort() is not stable when using numeric/float sort (Nikolay Pavlov, 2016 Sep
+4#1038)
+
 cmap using execute() has side effects. (Killthemule, 2016 Aug 17, #983)
 
 Syntax highlighting for messages with RFC3339 timestamp (#946)
@@ -197,8 +189,12 @@
 
 Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
 
+Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
+
 Patch to improve map documentation. Issue #799.
 
+Patch for syntax folding optimization. (Shougo, 2016 Sep 6, #1045)
+
 Patch for restoring wide characters in the console buffer.
 (Ken Takata, 2016 Jun 7)
 
@@ -242,6 +238,9 @@
 
 Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
 No test, needs some work to include.
+
+Patch to make finding duplicate tags much faster, using a hashtab. (James
+McCoy, 2016 Sept 6, #1046)
 >
 Patch to improve indenting for C++ constructor with initializer list.
 (Hirohito Higashi, 2016 Mar 31)
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index db2b986..9523e63 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 7.4.  Last change: 2016 Aug 07
+*usr_41.txt*	For Vim version 7.4.  Last change: 2016 Sep 01
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -932,6 +932,7 @@
 Inter-process communication:		    *channel-functions*
 	ch_open()		open a channel
 	ch_close()		close a channel
+	ch_close_in()		close the in part of a channel
 	ch_read()		read a message from a channel
 	ch_readraw()		read a raw message from a channel
 	ch_sendexpr()		send a JSON message over a channel
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index cd122d5..729fff5 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 7.4.  Last change: 2016 Aug 26
+*various.txt*   For Vim version 7.4.  Last change: 2016 Sep 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -422,7 +422,7 @@
 m  *+sun_workshop*	|workshop|
 N  *+syntax*		Syntax highlighting |syntax|
    *+system()*		Unix only: opposite of |+fork|
-N  *+tag_binary*	binary searching in tags file |tag-binary-search|
+T  *+tag_binary*	binary searching in tags file |tag-binary-search|
 N  *+tag_old_static*	old method for static tags |tag-old-static|
 m  *+tag_any_white*	any white space allowed in tags file |tag-any-white|
 m  *+tcl*		Tcl interface |tcl|
diff --git a/runtime/doc/version8.txt b/runtime/doc/version8.txt
index 61299fb..91726aa 100644
--- a/runtime/doc/version8.txt
+++ b/runtime/doc/version8.txt
@@ -1,4 +1,4 @@
-*version8.txt*  For Vim version 8.0.  Last change: 2016 Aug 28
+*version8.txt*  For Vim version 8.0.  Last change: 2016 Sep 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -243,6 +243,7 @@
 |bufwinid()|		get the window ID of a specific buffer
 |byteidxcomp()|		like byteidx() but count composing characters
 |ch_close()|		close a channel
+|ch_close_in()|		close the in part of a channel
 |ch_evalexpr()|		evaluates an expression over channel
 |ch_evalraw()|		evaluates a raw string over channel
 |ch_getbufnr()|		get the buffer number of a channel
@@ -6364,7 +6365,7 @@
 
 Patch 7.4.995
 Problem:    gdk_pixbuf_new_from_inline() is deprecated.
-Solution:   Generate auto/gui_gtk_gresources.c. (Kazunobu Kazunobu,
+Solution:   Generate auto/gui_gtk_gresources.c. (Kazunobu Kuriyama,
             closes #507)
 Files:      src/Makefile, src/auto/configure, src/config.h.in,
             src/config.mk.in, src/configure.in, src/gui_gtk.c,
@@ -7848,7 +7849,7 @@
 Patch 7.4.1231
 Problem:    JSON messages are not parsed properly.
 Solution:   Queue received messages.
-Files:      src/eval,c src/channel.c, src/json.c, src/proto/eval.pro,
+Files:      src/eval.c src/channel.c, src/json.c, src/proto/eval.pro,
             src/proto/channel.pro, src/proto/json.pro, src/structs.h
 
 Patch 7.4.1232
@@ -9312,7 +9313,7 @@
 Solution:   Only use ":packadd" with an optional "!".
 Files:      src/ex_cmds.h, src/ex_cmds2.c, src/testdir/test_loadplugin.vim,
             src/testdir/test_packadd.vim, src/testdir/Make_all.mak,
-            runtime/doc/repeat.txt.
+            runtime/doc/repeat.txt
 
 Patch 7.4.1487
 Problem:    For WIN32 isinf() is defined as a macro.
@@ -10164,7 +10165,7 @@
 Patch 7.4.1635
 Problem:    Channel test is a bit flaky.
 Solution:   Remove 'DETACH' if it's there.
-Files:      src/test_channel.vim
+Files:      src/testdir/test_channel.vim
 
 Patch 7.4.1636
 Problem:    When 'F' is in 'shortmess' the prompt for the encryption key isn't
@@ -10824,7 +10825,7 @@
 Patch 7.4.1749
 Problem:    When using GTK 3.20 there are a few warnings.
 Solution:   Use new functions when available. (Kazunobu Kuriyama)
-Files:      src/gui_beval,c src/gui_gtk_x11.c
+Files:      src/gui_beval.c src/gui_gtk_x11.c
 
 Patch 7.4.1750
 Problem:    When a buffer gets updated while in command line mode, the screen
@@ -13020,7 +13021,7 @@
 
 Patch 7.4.2122 (after 7.4.2118)
 Problem:    Mac: don't get +clipboard in huge build.
-Solution:   Move #define down below including featureh.h
+Solution:   Move #define down below including feature.h
 Files:      src/vim.h
 
 Patch 7.4.2123
@@ -13145,7 +13146,7 @@
             src/testdir/test_lambda.vim
 
 Patch 7.4.2144
-Problem:    On MS-Windows quickix does not handle a line with 1023 bytes
+Problem:    On MS-Windows quickfix does not handle a line with 1023 bytes
             ending in CR-LF properly.
 Solution:   Don't consider CR a line break. (Ken Takata)
 Files:      src/quickfix.c
@@ -13605,7 +13606,7 @@
 Patch 7.4.2223
 Problem:    Buffer overflow when using latin1 character with feedkeys().
 Solution:   Check for an illegal character.  Add a test.
-Files:      src/testdir/test_regexp_utf8.vim, src/testdir/test_source.vim,
+Files:      src/testdir/test_regexp_utf8.vim, src/testdir/test_source_utf8.vim,
             src/testdir/test_alot_utf8.vim, src/Makefile, src/getchar.c,
             src/macros.h, src/evalfunc.c, src/os_unix.c, src/os_win32.c,
             src/spell.c,