Update documentation and syntax files.
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index a7c8a27..3a8107e 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.4.  Last change: 2015 Aug 04
+*change.txt*    For Vim version 7.4.  Last change: 2015 Sep 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1135,7 +1135,7 @@
 With a linewise yank command the cursor is put in the first line, but the
 column is unmodified, thus it may not be on the first yanked character.
 
-There are nine types of registers:			*registers* *E354*
+There are ten types of registers:			*registers* *E354*
 1. The unnamed register ""
 2. 10 numbered registers "0 to "9
 3. The small delete register "-
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 893624a..84811c0 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4.  Last change: 2015 Jul 21
+*eval.txt*	For Vim version 7.4.  Last change: 2015 Sep 06
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1747,7 +1747,7 @@
 buflisted( {expr})		Number	TRUE if buffer {expr} is listed
 bufloaded( {expr})		Number	TRUE if buffer {expr} is loaded
 bufname( {expr})		String	Name of the buffer {expr}
-bufnr( {expr})			Number	Number of the buffer {expr}
+bufnr( {expr} [, {create}])	Number	Number of the buffer {expr}
 bufwinnr( {expr})		Number	window number of buffer {expr}
 byte2line( {byte})		Number	line number at byte count {byte}
 byteidx( {expr}, {nr})		Number	byte index of {nr}'th char in {expr}
@@ -5419,7 +5419,7 @@
 			:call setbufvar("todo", "myvar", "foobar")
 <		This function is not available in the |sandbox|.
 
-setcharsearch()						*setcharsearch()*
+setcharsearch({dict})					*setcharsearch()*
 		Set the current character search information to {dict},
 		which contains one or more of the following entries:
 
@@ -5861,7 +5861,8 @@
 			:let words = split(getline('.'), '\W\+')
 <		To split a string in individual characters: >
 			:for c in split(mystring, '\zs')
-<		If you want to keep the separator you can also use '\zs': >
+<		If you want to keep the separator you can also use '\zs' at
+		the end of the pattern: >
 			:echo split('abc:def:ghi', ':\zs')
 <			['abc:', 'def:', 'ghi'] ~
 		Splitting a table where the first element can be empty: >
diff --git a/runtime/doc/farsi.txt b/runtime/doc/farsi.txt
index c901d92..4f805ce 100644
--- a/runtime/doc/farsi.txt
+++ b/runtime/doc/farsi.txt
@@ -1,4 +1,4 @@
-*farsi.txt*     For Vim version 7.4.  Last change: 2010 Aug 07
+*farsi.txt*     For Vim version 7.4.  Last change: 2015 Aug 29
 
 
 		  VIM REFERENCE MANUAL    by Mortaza Ghassab Shiran
@@ -59,7 +59,7 @@
    right-to-left mode, this function is also supported only in right-to-left
    mode.
 
-Farsi Fonts					*farsi fonts*
+Farsi Fonts					*farsi-fonts*
 -----------
 
 The following files are found in the subdirectories of the '$VIM/farsi/fonts'
diff --git a/runtime/doc/index.txt b/runtime/doc/index.txt
index 3949c2b..ded50d0 100644
--- a/runtime/doc/index.txt
+++ b/runtime/doc/index.txt
@@ -1,4 +1,4 @@
-*index.txt*     For Vim version 7.4.  Last change: 2015 Feb 12
+*index.txt*     For Vim version 7.4.  Last change: 2015 Sep 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index b0eae9f..6fd08b8 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.4.  Last change: 2015 Jun 20
+*insert.txt*    For Vim version 7.4.  Last change: 2015 Sep 01
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt
index 22d99b9..9858d4e 100644
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.4.  Last change: 2014 Mar 27
+*quickfix.txt*  For Vim version 7.4.  Last change: 2015 Sep 08
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -299,6 +299,75 @@
 	au QuickfixCmdPost make call QfMakeConv()
 
 
+EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
+							*:cdo*
+:cdo[!] {cmd}		Execute {cmd} in each valid entry in the quickfix list.
+			It works like doing this: >
+				:cfirst
+				:{cmd}
+				:cnext
+				:{cmd}
+				etc.
+<			When the current file can't be |abandon|ed and the [!]
+			is not present, the command fails.
+			When an error is detected excecution stops.
+			The last buffer (or where an error occurred) becomes
+			the current buffer.
+			{cmd} can contain '|' to concatenate several commands.
+
+			Only valid entries in the quickfix list are used.
+			A range can be used to select entries, e.g.: >
+				:10,$cdo cmd
+<			To skip entries 1 to 9.
+
+			Note: While this command is executing, the Syntax
+			autocommand event is disabled by adding it to
+			'eventignore'.  This considerably speeds up editing
+			each buffer.
+			{not in Vi} {not available when compiled without the
+			|+listcmds| feature}
+			Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
+			|:ldo|, |:cfdo| and |:lfdo|.
+
+							*:cfdo*
+:cfdo[!] {cmd}		Execute {cmd} in each file in the quickfix list.
+			It works like doing this: >
+				:cfirst
+				:{cmd}
+				:cnfile
+				:{cmd}
+				etc.
+<			Otherwise it works the same as `:cdo`.
+			{not in Vi} {not available when compiled without the
+			|+listcmds| feature}
+
+							*:ldo*
+:ld[o][!] {cmd}		Execute {cmd} in each valid entry in the location list
+			for the current window.
+			It works like doing this: >
+				:lfirst
+				:{cmd}
+				:lnext
+				:{cmd}
+				etc.
+<			Only valid entries in the location list are used.
+			Otherwise it works the same as `:cdo`.
+			{not in Vi} {not available when compiled without the
+			|+listcmds| feature}
+
+							*:lfdo*
+:lfdo[!] {cmd}		Execute {cmd} in each file in the location list for
+			the current window.
+			It works like doing this: >
+				:lfirst
+				:{cmd}
+				:lnfile
+				:{cmd}
+				etc.
+<			Otherwise it works the same as `:ldo`.
+			{not in Vi} {not available when compiled without the
+			|+listcmds| feature}
+
 =============================================================================
 2. The error window					*quickfix-window*
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 00f9776..e66d364 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2015,11 +2015,13 @@
 :cclose	quickfix.txt	/*:cclose*
 :cd	editing.txt	/*:cd*
 :cd-	editing.txt	/*:cd-*
+:cdo	quickfix.txt	/*:cdo*
 :ce	change.txt	/*:ce*
 :center	change.txt	/*:center*
 :cex	quickfix.txt	/*:cex*
 :cexpr	quickfix.txt	/*:cexpr*
 :cf	quickfix.txt	/*:cf*
+:cfdo	quickfix.txt	/*:cfdo*
 :cfile	quickfix.txt	/*:cfile*
 :cfir	quickfix.txt	/*:cfir*
 :cfirst	quickfix.txt	/*:cfirst*
@@ -2366,6 +2368,7 @@
 :lclose	quickfix.txt	/*:lclose*
 :lcs	if_cscop.txt	/*:lcs*
 :lcscope	if_cscop.txt	/*:lcscope*
+:ldo	quickfix.txt	/*:ldo*
 :le	change.txt	/*:le*
 :left	change.txt	/*:left*
 :lefta	windows.txt	/*:lefta*
@@ -2384,6 +2387,7 @@
 :lex	quickfix.txt	/*:lex*
 :lexpr	quickfix.txt	/*:lexpr*
 :lf	quickfix.txt	/*:lf*
+:lfdo	quickfix.txt	/*:lfdo*
 :lfile	quickfix.txt	/*:lfile*
 :lfir	quickfix.txt	/*:lfir*
 :lfirst	quickfix.txt	/*:lfirst*
@@ -5656,6 +5660,7 @@
 f	motion.txt	/*f*
 faq	intro.txt	/*faq*
 farsi	farsi.txt	/*farsi*
+farsi-fonts	farsi.txt	/*farsi-fonts*
 farsi.txt	farsi.txt	/*farsi.txt*
 fasm.vim	syntax.txt	/*fasm.vim*
 fcs_choice-variable	eval.txt	/*fcs_choice-variable*
@@ -6542,6 +6547,7 @@
 i_CTRL-G_<Up>	insert.txt	/*i_CTRL-G_<Up>*
 i_CTRL-G_CTRL-J	insert.txt	/*i_CTRL-G_CTRL-J*
 i_CTRL-G_CTRL-K	insert.txt	/*i_CTRL-G_CTRL-K*
+i_CTRL-G_U	insert.txt	/*i_CTRL-G_U*
 i_CTRL-G_j	insert.txt	/*i_CTRL-G_j*
 i_CTRL-G_k	insert.txt	/*i_CTRL-G_k*
 i_CTRL-G_u	insert.txt	/*i_CTRL-G_u*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 8519283..84027fe 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4.  Last change: 2015 Aug 25
+*todo.txt*      For Vim version 7.4.  Last change: 2015 Sep 08
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -73,6 +73,8 @@
 - this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/".  Leaving
   out the \& works.  Seems any column check after \& fails.
 
+A link from the README.md to Contributing.md would be great.
+
 Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
 More info Jul 24.  Not clear why.
 
@@ -93,19 +95,18 @@
 
 Crash when changing the 'tags' option from a remote command.
 (Benjamin Fritz, 2015 Mar 18, stack trace Mar 20)
+Patch to queue commands for clientserver. (James Kolb, 2015 Sep 1)
 
 Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
 
-Updated Breton spell script. (pull request 396, Dominique)
+Unexpected delay when using CTRL-O u.  It's not timeoutlen.
+(Gary Johnson, 2015 Aug 28)
 
 Can src/GvimExt/Make_cyg.mak be removed?
 Same for src/xxd/Make_cyg.mak
 
 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 
-Patch to add CTRL-g U to not break undo for the following cursor movement
-command. (Christian Brabandt, 2015 Aug 4)
-
 MS-Windows: When editing a file with a leading space, writing it uses the
 wrong name. (Aram, 2014 Nov 7)  Vim 7.4.
 
@@ -115,8 +116,6 @@
 Value returned by virtcol() changes depending on how lines wrap.  This is
 inconsistent with the documentation.
 
-Better greek spell checking.  Issue 299.
-
 Add bzl filetype support. (David Barnett, 2015 Aug 11)
 
 When complete() first argument is before where insert started and 'backspace'
@@ -131,12 +130,6 @@
 MS-Windows: Crash opening very long file name starting with "\\".
 (Christian Brock, 2012 Jun 29)
 
-Patch to improve IME handling in the MS-Windows console.
-(Ken Takata, 2015 Aug 8)
-
-Patch to support Unicode I/O in the MS-Windows console.
-(Ken Takata, 2015 Aug 8)  Also by Yasuhiro Matsumoto.
-
 The argument for "-S" is not taken literally, the ":so" command expands
 wildcards.  Add a ":nowild" command modifier?  (ZyX, 2015 March 4)
 
@@ -146,6 +139,9 @@
 Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
 Update Aug 14.
 
+Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
+Update Sep 7.
+
 Build with Python on Mac does not always use the right library.
 (Kazunobu Kuriyama, 2015 Mar 28)
 
@@ -156,10 +152,6 @@
 ml_updatechunk() is slow when retrying for another encoding. (John Little,
 2014 Sep 11)
 
-Patch to fix that "zt" in diff mode doesn't always work properly.
-(Christian Brabandt, 2015 Aug 6)  Need to uncomment a line to not have filler
-lines.
-
 Patch to fix checking global option value when not using it.
 (Arnaud Decara, 2015 Jul 23)
 
@@ -222,6 +214,9 @@
 Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
 26, update 2013 Dec 14, another 2014 Nov 22)
 
+Patch to improve behavior of dead keys on MS-Windows. (John Wellesz, 2015 Aug
+25)  https://github.com/vim/vim/pull/399.diff
+
 Result of systemlist() does not show whether text ended in line break.
 (Bjorn Linse, 2014 Nov 27)
 
@@ -238,11 +233,6 @@
 Should be easy to highlight all matches with 'incsearch'.  Idea by Itchyny,
 2015 Feb 6.
 
-Patch to add ":ldo" and ":cdo", execute commands over quickfix list and
-location list. (Yegappan Lakshmanan, 2013 Jun 2, update 2015 Mar 21)
-Update by Florian Walch, 2015 Jul 1.
-Update by Yegappan, 2015 Jul 24.
-
 Plugins need to make a lot of effort, lots of mappings, to know what happened
 before pressing the key that triggers a plugin action.  How about keeping the
 last N pressed keys, so that they do not need to be mapped?
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 4b947fc..020f32d 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.4.  Last change: 2015 Jul 21
+*windows.txt*   For Vim version 7.4.  Last change: 2015 Aug 29
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1117,13 +1117,13 @@
 		the current buffer remains being edited.  See |:buffer-!| for
 		[!].  This will also edit a buffer that is not in the buffer
 		list, without setting the 'buflisted' flag.
-		Also see ||+cmd|.
+		Also see |+cmd|.
 
 :[N]b[uffer][!] [+cmd] {bufname}
 		Edit buffer for {bufname} from the buffer list.  See
 		|:buffer-!| for [!].  This will also edit a buffer that is not
 		in the buffer list, without setting the 'buflisted' flag.
-		Also see ||+cmd|.
+		Also see |+cmd|.
 
 :[N]sb[uffer] [+cmd] [N]				*:sb* *:sbuffer*
 		Split window and edit buffer [N] from the buffer list.  If [N]
@@ -1131,7 +1131,7 @@
 		"useopen" setting of 'switchbuf' when splitting.  This will
 		also edit a buffer that is not in the buffer list, without
 		setting the 'buflisted' flag.
-		Also see ||+cmd|.
+		Also see |+cmd|.
 
 :[N]sb[uffer] [+cmd] {bufname}
 		Split window and edit buffer for {bufname} from the buffer
@@ -1140,13 +1140,13 @@
 		Note: If what you want to do is split the buffer, make a copy
 		under another name, you can do it this way: >
 			:w foobar | sp #
-<		Also see ||+cmd|.
+<		Also see |+cmd|.
 
 :[N]bn[ext][!] [+cmd] [N]				*:bn* *:bnext* *E87*
 		Go to [N]th next buffer in buffer list.  [N] defaults to one.
 		Wraps around the end of the buffer list.
 		See |:buffer-!| for [!].
-		Also see ||+cmd|.
+		Also see |+cmd|.
 		If you are in a help buffer, this takes you to the next help
 		buffer (if there is one).  Similarly, if you are in a normal
 		(non-help) buffer, this takes you to the next normal buffer.
@@ -1159,21 +1159,21 @@
 :[N]sbn[ext] [+cmd] [N]
 		Split window and go to [N]th next buffer in buffer list.
 		Wraps around the end of the buffer list.  Uses 'switchbuf'
-		Also see ||+cmd|.
+		Also see |+cmd|.
 
 :[N]bN[ext][!] [+cmd] [N]		*:bN* *:bNext* *:bp* *:bprevious* *E88*
 :[N]bp[revious][!] [+cmd] [N]
 		Go to [N]th previous buffer in buffer list.  [N] defaults to
 		one.  Wraps around the start of the buffer list.
 		See |:buffer-!| for [!] and 'switchbuf'.
-		Also see ||+cmd|.
+		Also see |+cmd|.
 
 :[N]sbN[ext] [+cmd] [N]			*:sbN* *:sbNext* *:sbp* *:sbprevious*
 :[N]sbp[revious] [+cmd] [N]
 		Split window and go to [N]th previous buffer in buffer list.
 		Wraps around the start of the buffer list.
 		Uses 'switchbuf'.
-		Also see ||+cmd|.
+		Also see |+cmd|.
 
 :br[ewind][!] [+cmd]					*:br* *:brewind*
 		Go to first buffer in buffer list.  If the buffer list is