Updated runtime files.
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 0e61c2d..4de5b16 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.4.  Last change: 2015 Aug 18
+*autocmd.txt*   For Vim version 7.4.  Last change: 2015 Dec 05
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1131,6 +1131,9 @@
 :aug[roup] {name}		Define the autocmd group name for the
 				following ":autocmd" commands.  The name "end"
 				or "END" selects the default group.
+				To avoid confusion, the name should be
+				different from existing {event} names, as this
+				most likely will not do what you intended.
 
 						*:augroup-delete* *E367*
 :aug[roup]! {name}		Delete the autocmd group {name}.  Don't use
diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt
index 6197171..8186678 100644
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.4.  Last change: 2015 Sep 25
+*cmdline.txt*   For Vim version 7.4.  Last change: 2015 Dec 17
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -101,6 +101,11 @@
 							*c_<LeftMouse>*
 <LeftMouse>	Move the cursor to the position of the mouse click.
 
+							*c_<MiddleMouse>*
+<MiddleMouse>	Paste the contents of the clipboard (for X11 the primary
+		selection).  This is similar to using CTRL-R *, but no CR
+		characters are inserted between lines.
+
 CTRL-H						*c_<BS>* *c_CTRL-H* *c_BS*
 <BS>		Delete the character in front of the cursor (see |:fixdel| if
 		your <BS> key does not do what you want).
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index cb612ca..9a09060 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 Dec 28
+*eval.txt*	For Vim version 7.4.  Last change: 2015 Dec 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -865,8 +865,8 @@
 Number.  This doesn't recognize multi-byte encodings, see |byteidx()| for
 an alternative.
 
-Index zero gives the first character.  This is like it works in C.  Careful:
-text column numbers start with one!  Example, to get the character under the
+Index zero gives the first byte.  This is like it works in C.  Careful:
+text column numbers start with one!  Example, to get the byte under the
 cursor: >
 	:let c = getline(".")[col(".") - 1]
 
diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt
index 540ebb4..11ccdc5 100644
--- a/runtime/doc/filetype.txt
+++ b/runtime/doc/filetype.txt
@@ -1,4 +1,4 @@
-*filetype.txt*  For Vim version 7.4.  Last change: 2015 Nov 28
+*filetype.txt*  For Vim version 7.4.  Last change: 2015 Dec 06
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -581,6 +581,9 @@
 
 To enable folding use this: >
   	let g:ft_man_folding_enable = 1
+If you do not like the default folding, use an autocommand to add your desired
+folding style instead.  For example: >
+        autocmd FileType man setlocal foldmethod=indent foldenable
 
 
 PDF							*ft-pdf-plugin*
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 300262d..0a85322 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.4.  Last change: 2015 Mar 16
+*pattern.txt*   For Vim version 7.4.  Last change: 2015 Dec 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -393,8 +393,8 @@
 Use of "\v" means that in the pattern after it all ASCII characters except
 '0'-'9', 'a'-'z', 'A'-'Z' and '_' have a special meaning.  "very magic"
 
-Use of "\V" means that in the pattern after it only the backslash has a
-special meaning.  "very nomagic"
+Use of "\V" means that in the pattern after it only the backslash and the
+terminating character (/ or ?) has a special meaning.  "very nomagic"
 
 Examples:
 after:	  \v	   \m	    \M	     \V		matches ~
@@ -402,6 +402,7 @@
 	  $	   $	    $	     \$		matches end-of-line
 	  .	   .	    \.	     \.		matches any character
 	  *	   *	    \*	     \*		any number of the previous atom
+	  ~	   ~	    \~	     \~		latest substitute string
 	  ()	   \(\)     \(\)     \(\)	grouping into an atom
 	  |	   \|	    \|	     \|		separating alternatives
 	  \a	   \a	    \a	     \a		alphabetic character
@@ -480,6 +481,7 @@
 |/\%v|	\%23v	\%23v	in virtual column 23 |/zero-width|
 
 Character classes {not in Vi}:				*/character-classes*
+      magic   nomagic	matches ~
 |/\i|	\i	\i	identifier character (see 'isident' option)
 |/\I|	\I	\I	like "\i", but excluding digits
 |/\k|	\k	\k	keyword character (see 'iskeyword' option)
@@ -510,6 +512,7 @@
 			class with end-of-line included
 (end of character classes)
 
+      magic   nomagic	matches ~
 |/\e|	\e	\e	<Esc>
 |/\t|	\t	\t	<Tab>
 |/\r|	\r	\r	<CR>
@@ -535,6 +538,7 @@
 |/\Z|	\Z	\Z	ignore differences in Unicode "combining characters".
 			Useful when searching voweled Hebrew or Arabic text.
 
+      magic   nomagic	matches ~
 |/\m|	\m	\m	'magic' on for the following chars in the pattern
 |/\M|	\M	\M	'magic' off for the following chars in the pattern
 |/\v|	\v	\v	the following chars in the pattern are "very magic"
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 7c676db..6886422 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.4.  Last change: 2015 Nov 05
+*syntax.txt*	For Vim version 7.4.  Last change: 2015 Dec 19
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1438,34 +1438,27 @@
     :let fortran_fixed_source=1
 in your .vimrc prior to the :syntax on command.
 
-If the form of the source code depends upon the file extension, then it is
-most convenient to set fortran_free_source in a ftplugin file.  For more
-information on ftplugin files, see |ftplugin|.  For example, if all your
-fortran files with an .f90 extension are written in free source form and the
-rest in fixed source form, add the following code to your ftplugin file >
-    let s:extfname = expand("%:e")
-    if s:extfname ==? "f90"
-	let fortran_free_source=1
-	unlet! fortran_fixed_source
-    else
-	let fortran_fixed_source=1
-	unlet! fortran_free_source
-    endif
-Note that this will work only if the "filetype plugin indent on" command
-precedes the "syntax on" command in your .vimrc file.
+If the form of the source code depends, in a non-standard way, upon the file
+extension, then it is most convenient to set fortran_free_source in a ftplugin
+file.  For more information on ftplugin files, see |ftplugin|. Note that this
+will work only if the "filetype plugin indent on" command precedes the "syntax
+on" command in your .vimrc file.
 
 When you edit an existing fortran file, the syntax script will assume free
 source form if the fortran_free_source variable has been set, and assumes
 fixed source form if the fortran_fixed_source variable has been set.  If
 neither of these variables have been set, the syntax script attempts to
-determine which source form has been used by examining the first five columns
-of the first 250 lines of your file.  If no signs of free source form are
-detected, then the file is assumed to be in fixed source form.  The algorithm
-should work in the vast majority of cases.  In some cases, such as a file that
-begins with 250 or more full-line comments, the script may incorrectly decide
-that the fortran code is in fixed form.  If that happens, just add a
-non-comment statement beginning anywhere in the first five columns of the
-first twenty five lines, save (:w) and then reload (:e!) the file.
+determine which source form has been used by examining the file extension
+using conventions common to the ifort, gfortran, Cray, NAG, and PathScale
+compilers (.f, .for, .f77 for fixed-source, .f90, .f95, .f03, .f08 for
+free-source). If none of this works, then the script examines the first five
+columns of the first 500 lines of your file.  If no signs of free source form
+are detected, then the file is assumed to be in fixed source form.  The
+algorithm should work in the vast majority of cases.  In some cases, such as a
+file that begins with 500 or more full-line comments, the script may
+incorrectly decide that the fortran code is in fixed form.  If that happens,
+just add a non-comment statement beginning anywhere in the first five columns
+of the first twenty five lines, save (:w) and then reload (:e!) the file.
 
 Tabs in fortran files ~
 Tabs are not recognized by the Fortran standards.  Tabs are not a good idea in
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 04fcd24..50f5b9a 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5060,6 +5060,7 @@
 c_<Insert>	cmdline.txt	/*c_<Insert>*
 c_<Left>	cmdline.txt	/*c_<Left>*
 c_<LeftMouse>	cmdline.txt	/*c_<LeftMouse>*
+c_<MiddleMouse>	cmdline.txt	/*c_<MiddleMouse>*
 c_<NL>	cmdline.txt	/*c_<NL>*
 c_<PageDown>	cmdline.txt	/*c_<PageDown>*
 c_<PageUp>	cmdline.txt	/*c_<PageUp>*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index f265000..d6503cc 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 Dec 05
+*todo.txt*      For Vim version 7.4.  Last change: 2015 Dec 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -74,18 +74,38 @@
   out the \& works.  Seems any column check after \& fails.
 - The pattern "\1" with the old engine gives E65, with the new engine it
   matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
+- Search for \\~ causes error E874.
+
+Poor mans runtime file updater:
+- Generate a content file of all included runtime files:
+    $VIMRUNTIME/CONTENTS
+  With lines:
+        runtime/syntax/ada.vim hexchecksum  hexchecksum-with-CR-LF
+	runtime/syntax/old.vim DELETED
+- Use a command to trigger a script:
+	:RuntimeUpdate
+  Gets the new contents file from
+    https://raw.githubusercontent.com/vim/vim/master/runtime/CONTENTS
+  Goes over each line, compares the checksum and gets the file if it differs.
+- Include a minimal required Vim version?
+- For an installation, use "sudo" after getting all the files, only copy them.
+   need a temp directory tree.
+- For Windows generate a .bat file with "runas" (see StackOverflow).
+- Include a wget.exe or curl.exe in the distribution?
+- Also update vim.exe and gvim.exe this way?
 
 English spell file has an encoding error in the affix file.
+(Dominique Pelle, 2015 Oct 15)
 Perhaps use the files from here:
 https://github.com/marcoagpinto/aoo-mozilla-en-dict
-
-Patch to enable clipboard with MSYS2. (Ken Takata, 2015 Nov 26)
+Hint for new URL: Christian Brabandt, 2015 Oct 15.
+But that file looks old.
 
 Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
 More info Jul 24.  Not clear why.
 
 Problem that a previous silent ":throw" causes a following try/catch not to
-work. (ZyX, 2013 Sep 28)
+work. (ZyX, 2013 Sep 28) With examples: (Malcolm Rowe, 2015 Dec 24)
 
 Problem using ":try" inside ":execute". (ZyX, 2013 Sep 15)
 
@@ -96,7 +116,12 @@
 Or use $XDG_DATA_DIRS.
 Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
 
-test107 fails when run in the GUI on Linux.
+Patch to test shadow. James McCoy, 2015 Dec 7, #520
+
+Patch to support strawberry Perl. (Ken Takata, 2015 Dec 21)
+
+Change the travis config to also run autoconf on the huge build.
+(James McCoy, 2015 Dec 4)
 
 Access to uninitialized memory in match_backref() regexp_nda.c:4882
 (Dominique Pelle, 2015 Nov 6)
@@ -106,14 +131,16 @@
 Patch to not set the python home if $PYTHONHOME is set. (Kazuki Sakamoto,
 2015 Nov 24)
 
+Patch to add tests for what 7.3.192 fixed. (Elias Diem, 2015 Dec 22)
+
 Patch to use local value of 'errorformat' in :cexpr. (Christian Brabandt,
 2015 Oct 16)  Only do this for :lexpr ?
 
 ":cd C:\Windows\System32\drivers\etc*" does not work, even though the
 directory exists. (Sergio Gallelli, 2013 Dec 29)
 
-Patch to make fnamemodify() work better with Cygwin. (Wily Wampa, 2015 Nov 28,
-issue 505)
+Patch to make fnamemodify() work better with Cygwin. (Wily Wampa == Jacob
+Niehus, 2015 Nov 28, issue 505) 
 
 Patch to fix mc_FullName() on root directory. (Milly, 2015 Nov 24, Issue 501)
 
@@ -123,18 +150,27 @@
 Test 17 does not clean up the directory it creates. (Michael Soyka, 2015 Nov
 28)
 
-English spell checking has an error.  Updating doesn't work.
-(Dominique Pelle, 2015 Oct 15)
-Hint for new URL: Christian Brabandt, 2015 Oct 15.
-But that file looks old.
+Patch to add binary support for nrformat. (Jason Schulz, 2015 Dec 28)
+
+Patch to make assert_false() error message look better. (Watiko, 2015 Dec 14)
 
 Using ":windo" to set options in all windows has the side effect that it
 changes the window layout and the current window.  Make a variant that saves
 and restores.  Use in the matchparen plugin.
-Perhaps we can use ":silent window"?
+Perhaps we can use "window <restore> {cmd}"?
+
+Patch to estimate available memory on MS-Windows. (Mike Williams, 2015 Dec 18)
+Last version that day.
 
 Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
 
+Patch for testing 'backspace'.  Also changes behavior of ":set bs=0", do we
+want that? (Hirohito Higashi, 2015 Dec 17)
+New patch Dec 26.
+
+Patch to adjust an Ex range only if it's about line numbers. (Christian
+Brabandt, 2015 Dec 13)
+
 Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
 
 Unexpected delay when using CTRL-O u.  It's not timeoutlen.
@@ -153,8 +189,11 @@
 Can src/GvimExt/Make_cyg.mak be removed?
 Same for src/xxd/Make_cyg.mak
 
-Patch to replace deprecated gdk_pixbuf_new_from_inline(). (Kazunobu Kuriyama,
-2015 Nov 30, PR #507)
+":q!" should reset modified flag for current buffer, if another buffer is
+modified no need to abandon it again.
+Patch from Yasuhiro Matsumoto, 2014 Nov 21.
+Update from Hirohito Higashi, 2014 Nov 21.
+With test, Nov 23.  Update 2015 Dec 15.
 
 Updated Fortran files. (Ajit Thakkar, 2015 Nov 30, second one)
 
@@ -181,14 +220,34 @@
 Patch to fix "." after CTRL-A in Visual block mode. (Ozaki Kiichi, 2015 Oct
 24)
 
+Half-finished patch to fix the Problem using cgn to change a search hit when
+replacement includes hit. Reported by John Beckett, fix by Christian Brabandt,
+2015 Dec 14, Update Dec 15.
+
+Patch to fix pointer cast warning in VS2015. (Mike Williams, 2015 Dec 13)
+Patch to make building GVimExt with VS2015. (Mike Williams, 2015 Dec 13)
+
 Value returned by virtcol() changes depending on how lines wrap.  This is
 inconsistent with the documentation.
 
+Patch to add perleval(). (Damien, 2015 Dec 8)
+
+Can we cache the syntax attributes, so that updates for 'relativenumber' and
+'cursorline'/'cursorcolumn' are a lot faster?
+
 Patch to add window and tab arguments to getcwd(). (Thinca, 2015 Nov 15)
 
+Patch to check PYTHONHOME first. #500
+
 Patch to build with Python using MSYS2. (Yasuhiro Matsumoto, 2015 Nov 26)
 Updated Nov 29.
 
+Build with Python on Mac does not always use the right library.
+(Kazunobu Kuriyama, 2015 Mar 28)
+
+Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21)
+Need a Vim equivalent of None and a way to test for it.
+
 To support Thai (and other languages) word boundaries, include the ICU
 library:  http://userguide.icu-project.org/boundaryanalysis
 
@@ -224,11 +283,17 @@
 The argument for "-S" is not taken literally, the ":so" command expands
 wildcards.  Add a ":nowild" command modifier?  (ZyX, 2015 March 4)
 
+Patch to support sorting on floating point number.  (Alex Jakushev, 2010 Oct
+30)
+
 Proposal to make options.txt easier to read. (Arnaud Decara, 2015 Aug 5)
 Update Aug 14.
 
 Crash in :cnext on MS-Windows. (Ben Fritz, 2015 Oct 27)
 
+When using --remote-tab on MS-Windows 'encoding' hasn't been initialized yet,
+the file name ends up encoded wrong. (Raul Coronado, 2015 Dec 21)
+
 Patch to add GUI colors to the terminal, when it supports it. (ZyX, 2013 Jan
 26, update 2013 Dec 14, another 2014 Nov 22)
 
@@ -238,9 +303,6 @@
 Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
 Update Sep 7.  Update by Christian Brabandt, 2015 Sep 8.
 
-Build with Python on Mac does not always use the right library.
-(Kazunobu Kuriyama, 2015 Mar 28)
-
 Example in editing.txt uses $HOME with the expectating that it ends in a
 slash.  For me it does, but perhaps not for everybody.  Add a function that
 inserts a slash when needed?  pathconcat(dir, path) (Thilo Six, 2015 Aug 12)
@@ -253,9 +315,6 @@
 Patch to fix checking global option value when not using it.
 (Arnaud Decara, 2015 Jul 23)
 
-Patch to support Python 'None' value in pyeval(). (Damien, 2015 Nov 21)
-Need a Vim equivalent of None and a way to test for it.
-
 When 'showbreak' is set repeating a Visual operation counts the size of the
 'showbreak' text as part of the operation. (Axel Bender, 2015 Jul 20)
 
@@ -345,12 +404,6 @@
 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?
 
-":q!" should reset modified flag for current buffer, if another buffer is
-modified no need to abandon it again.
-Patch from Yasuhiro Matsumoto, 2014 Nov 21.
-Update from Hirohito Higashi, 2014 Nov 21.
-With test, Nov 23.
-
 Wrong scrolling when using incsearch.  Patch by Christian Brabandt, 2014 Dec 4.
 Is this a good solution?
 
@@ -518,9 +571,6 @@
 Patch to add sortuniq(). (Cade Forester, 2014 Mar 19)
 Or add uniq() instead?  Patch by lcd47, but it has problems.
 
-Patch to support sorting on floating point number.  (Alex Jakushev, 2010 Oct
-30)
-
 Patch to support expression argument to sort() instead of a function name.
 Yasuhiro Matsumoto, 2013 May 31.
 Or should we add a more general mechanism, like a lambda() function?
@@ -1540,6 +1590,10 @@
 work, the backslash is removed, assuming that it escapes the (. (Valery
 Kondakoff, 2009 May 13)
 
+Win32: Using "gvim --remote-tab-silent elŝuti.txt" doesn't work, the
+multi-byte character isn't passed and edits elsuti.txt.
+(Raúl Núñez de Arenas Coronado, 2015 Dec 18)
+
 Problem with 'langmap' being used on the rhs of a mapping. (Nikolai Weibull,
 2008 May 14)
 Possibly related problem: Alexey Muranov, 2015 Apr 2
diff --git a/runtime/doc/usr_03.txt b/runtime/doc/usr_03.txt
index 8cbcf13..a4eebc3 100644
--- a/runtime/doc/usr_03.txt
+++ b/runtime/doc/usr_03.txt
@@ -1,4 +1,4 @@
-*usr_03.txt*	For Vim version 7.4.  Last change: 2006 Jun 21
+*usr_03.txt*	For Vim version 7.4.  Last change: 2015 Dec 12
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -57,8 +57,11 @@
 direction.
 
 A word ends at a non-word character, such as a ".", "-" or ")".  To change
-what Vim considers to be a word, see the 'iskeyword' option.
-   It is also possible to move by white-space separated WORDs.  This is not a
+what Vim considers to be a word, see the 'iskeyword' option.  If you try this
+out in the help directly, 'iskeyword' needs to be reset for the examples to
+work: >
+	:set iskeyword&
+It is also possible to move by white-space separated WORDs.  This is not a
 word in the normal sense, that's why the uppercase is used.  The commands for
 moving by WORDs are also uppercase, as this figure shows: