Update runtime files.
diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 4fc7912..0a5bc94 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1104,7 +1104,7 @@
 3. The small delete register "-
 4. 26 named registers "a to "z or "A to "Z
 5. three read-only registers ":, "., "%
-7. alternate buffer register "#
+6. alternate buffer register "#
 7. the expression register "=
 8. The selection and drop registers "*, "+ and "~ 
 9. The black hole register "_
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index be17b0c..4923273 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt*      For Vim version 7.4.  Last change: 2014 Oct 31
+*diff.txt*      For Vim version 7.4.  Last change: 2015 Feb 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -314,6 +314,19 @@
 
 Also see |'diffopt'| and the "diff" item of |'fillchars'|.
 
+					    *diff-slow* *diff_translations*
+For very long lines, the diff syntax highlighting might be slow, especially
+since it tries to match all different kind of localisations. To disable
+localisations and speed up the syntax highlighting, set the global variable
+g:diff_translations to zero: >
+
+    let g:diff_translations = 0
+<
+After setting this variable, Reload the syntax script: >
+
+    set syntax=diff
+<
+
 
 FINDING THE DIFFERENCES					*diff-diffexpr*
 
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 0fb3151..2c39532 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 Jan 27
+*eval.txt*	For Vim version 7.4.  Last change: 2015 Jan 29
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4766,6 +4766,7 @@
 		s	The text of the String argument is used.  If a
 			precision is specified, no more bytes than the number
 			specified are used.
+							*printf-S*
 		S	The text of the String argument is used.  If a
 			precision is specified, no more display cells than the
 			number specified are used.  Without the |+multi_byte|
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 918e1b7..193e323 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.4.  Last change: 2014 Dec 17
+*options.txt*	For Vim version 7.4.  Last change: 2015 Jan 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1316,6 +1316,8 @@
 	nofile only:	The buffer name is fixed, it is not handled like a
 			file name.  It is not modified in response to a |:cd|
 			command.
+	nofile only:	When using ":e bufname" and already editing "bufname"
+			nothing changes, since there is no file to edit.
 							*E676*
 	"acwrite" implies that the buffer name is not related to a file, like
 	"nofile", but it will be written.  Thus, in contrast to "nofile" and
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index c4964bc..fdafb67 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 Jan 07
+*syntax.txt*	For Vim version 7.4.  Last change: 2015 Feb 03
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1135,6 +1135,8 @@
 
 	:let diff_translations = 0
 
+Also see |diff-slow|.
+
 
 DIRCOLORS			       *dircolors.vim* *ft-dircolors-syntax*
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 027df9a..c4c4c8c 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5416,10 +5416,12 @@
 diff-options	diff.txt	/*diff-options*
 diff-original-file	diff.txt	/*diff-original-file*
 diff-patchexpr	diff.txt	/*diff-patchexpr*
+diff-slow	diff.txt	/*diff-slow*
 diff.txt	diff.txt	/*diff.txt*
 diff.vim	syntax.txt	/*diff.vim*
 diff_filler()	eval.txt	/*diff_filler()*
 diff_hlID()	eval.txt	/*diff_hlID()*
+diff_translations	diff.txt	/*diff_translations*
 digraph	digraph.txt	/*digraph*
 digraph-arg	change.txt	/*digraph-arg*
 digraph-encoding	digraph.txt	/*digraph-encoding*
@@ -7461,6 +7463,7 @@
 printf-%	eval.txt	/*printf-%*
 printf-E	eval.txt	/*printf-E*
 printf-G	eval.txt	/*printf-G*
+printf-S	eval.txt	/*printf-S*
 printf-X	eval.txt	/*printf-X*
 printf-c	eval.txt	/*printf-c*
 printf-d	eval.txt	/*printf-d*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 1df7318..00e7034 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 Jan 23
+*todo.txt*      For Vim version 7.4.  Last change: 2015 Feb 03
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -35,8 +35,6 @@
 -------------------- Known bugs and current work -----------------------
 
 Regexp problems:
-- The NFA engine does not implement the time limit passed to
-  nfa_regexec_multi()
 - Using win_linetabsize() can still be slow. Cache the result, store col and
   vcol. Reset them when moving to another line.
 - Very slow with a long line and Ruby highlighting. (John Whitley, 2014 Dec 4)
@@ -57,16 +55,20 @@
   engine, can we do this with the new engine?  E.g. with
   "/\%(<\1>\)\@<=.*\%(<\/\(\w\+\)>\)\@=" matching text inside HTML tags.
 - Diff highlighting can be very slow. (Issue 309)
-- Using "{1,1000}" is much slower than it was with the old engine.
-  (Dominique Pelle, 2015 Jan 22) 
 - Using %> for a virtual column has a check based on 'tabsize'.  Better would
   be to cache the result of win_linetabsize(col), storing both col and vcol,
   and use them to decide whether win_linetabsize() needs to be called.  Reset
   col and vcol when moving to another line.
+- this doesn't work: "syntax match ErrorMsg /.\%9l\%>20c\&\%<28c/".  Leaving
+  out the \& works.  Seems any column check after \& fails.
 
 Still using freed memory after using setloclist(). (lcd, 2014 Jul 23)
 More info Jul 24.  Not clear why.
 
+Docs: "= register is writable. (Christian Brabandt, 2015 Jan 28)
+
+New syntax file for pfmain. (Anton Shestakov, 2015 Feb 2)
+
 Patch to make getregtype() return the right size for non-linux systems.
 (Yasuhiro Matsumoto, 2014 Jul 8)
 Breaks test_eval.  Inefficient, can we only compute y_width when needed?
@@ -91,21 +93,6 @@
 
 Better greek spell checking.  Issue 299.
 
-Patch to fix slow valgrind highlighting. (Dominique, 2015 Jan 15)
-Does maintainer respond?
-
-Patch on issue 212: feedkeys() with dot doesn't work as expected.
-
-Patch to support hex values for setting option value.
-(Zyx, 2014 Nov 6)
-
-Patch to fix problems with small screen sizes. (Christian Brabandt, 2015 Jan
-8)
-
-":tabdo windo echo 'hi'" causes "* register not to be changed.
-(Salman Halim, 2015 Jan 17)
-Patch by Christian, 2015 Jan 20.  There is another problem, wait a bit.
-
 On MS-Windows running tests with Mercurial has problems when the fileformat of
 the input files are changed. (Ken Takata, Taro Muraoka, 2014 Sep 25)
 Update Nov 5.
@@ -113,9 +100,19 @@
 MS-Windows: Crash opening very long file name starting with "\\".
 (Christian Brock, 2012 Jun 29)
 
-Patch for this from Marcin Szamotulski, 2014 Dec 28:
-8   Make the # register writable, so that it can be restored after jumping
-    around in windows.
+Patch to add "tn" termcap feature, whether Vim can write in the last screen
+cell. (Hayaki Saito, 2015 Jan 28)
+
+Patch to fix getting buffer number for autocommand. (Lech Lorens, 2015 Jan 27)
+
+Add a few features to xxd. (Vadim Vygonets, 2013 Nov 11)
+Patches: 2013 Nov 19
+1: Add -e: little endian hexdump
+2: Add -o: add offset to displayed position
+3: Change displayed file position width to 8 chars
+
+Undo messes up text.  Issue 324.
+Patch from Christian on the issue.
 
 Using CTRL-L while popup menu is visible behaves like CTRL-P, which is wrong.
 Patch by Yasuhiro Matsumoto, 2015 Jan 5.
@@ -132,6 +129,8 @@
 ml_updatechunk() is slow when retrying for another encoding. (John Little,
 2014 Sep 11)
 
+Patch to add counts to zr and zm. (Marcin Szamotulski, 2015 Jan 28)
+
 Patch to add a different escape sequence for replace mode.
 (Omar Sandoval, 2014 Nov 30)
 
@@ -142,9 +141,19 @@
 
 Extended file attributes lost on write (backupcopy=no).  Issue 306.
 
+Patch to add an argument to ":ls" for specific kinds of buffers.
+(Marcin Szamotulski, 2015 Jan 31)
+
+Crash when using R syntax. (Jakson Alves de Aquino, 2015 Jan 30)
+Memory freed by ":syn clear" but still referenced, syntax items referenced
+from two windows?
+
 Window height computed incorrectly when Vim is minimized.
 Patch to fix this. (Ingo Karkat, 2014 Dec 19)
 
+Patch to fix CTRL-W handling in Insert mode for multi-byte characters.
+(Yasuhiro Matsumoto, 2015 Jan 29, update with test)
+
 Patch to allow values greater than 255 for ctermfg/ctermbg on Windows.
 (Yasuhiro Matsumoto, 2014 Dec 5)
 
@@ -153,6 +162,8 @@
 Problem caused by patch 7.3.638: window->open does not update window
 correctly. Issue 91.  With patch.
 
+Patch to add 'belloff' option. (Christian Brabandt, 2015 Jan 31)
+
 Patch for drag&drop reordering of GUI tab pages reordering.
 (Ken Takata, 2013 Nov 22, second one, also by Masamichi Abe)
 
@@ -257,12 +268,6 @@
 Win32: patch to use 64 bit stat() if possible. (Ken Takata, 2014 May 12)
 More tests May 14. Update May 29.  Update Aug 10.
 
-The garbage collector may use too much stack.  Make set_ref_in_item()
-iterative instead of recursive.   Test program by Marc Weber (2013 Dec 10)
-Patch by Ben Fritz, 2014 Jun 22.  Update 2015 Jan 21.
-Related: Vim hangs when freeing a lot of objects.  Patch by Yasuhiro
-Matsumoto, 2014 Aug 26.
-
 Idea: For a window in the middle (has window above and below it), use
 right-mouse-drag on the status line to move a window up/down without changing
 its height?  It's like dragging the status bar above it at the same time.
@@ -272,6 +277,9 @@
 
 Patch to add a :domodeline command. (Christian Brabandt, 2014 Oct 21)
 
+Patch to add TabNew, TabNewEntered and TabClosed autocommand events.
+(Felipe Morales, 2015 Feb 1)
+
 This does not give an error: (Andre Sihera, 2014 Mar 21)
     vim -u NONE 1 2 3 -c 'bufdo if 1 | echo 1'
 This neither: (ZyX)
@@ -1656,12 +1664,6 @@
 Does the conversion in the other direction work when 'fileencodings' is set
 properly?
 
-Add a few features to xxd. (Vadim Vygonets, 2013 Nov 11)
-Patches: 2013 Nov 19
-1: Add -e: little endian hexdump
-2: Add -o: add offset to displayed position
-3: Change displayed file position width to 8 chars
-
 Cursor displayed in the wrong position when using 'numberwidth'. (James Vega,
 2007 Jun 21)
 
diff --git a/runtime/doc/windows.txt b/runtime/doc/windows.txt
index 532cca3..7f5d970 100644
--- a/runtime/doc/windows.txt
+++ b/runtime/doc/windows.txt
@@ -1,4 +1,4 @@
-*windows.txt*   For Vim version 7.4.  Last change: 2014 Dec 05
+*windows.txt*   For Vim version 7.4.  Last change: 2015 Jan 31
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -998,8 +998,8 @@
 		(the term "unlisted" is a bit confusing then...).
 
 		Each buffer has a unique number.  That number will not change,
-		so you can always go to a specific buffer with ":buffer N" or
-		"N CTRL-^", where N is the buffer number.
+		thus you can always go to a specific buffer with ":buffer N"
+		or "N CTRL-^", where N is the buffer number.
 
 		Indicators (chars in the same column are mutually exclusive):
 		u	an unlisted buffer (only displayed when [!] is used)