Update runtime files
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 8340bf2..35a12df 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 Jan 09
+*eval.txt*	For Vim version 7.4.  Last change: 2016 Jan 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3497,7 +3497,7 @@
 							*getcurpos()*
 getcurpos()	Get the position of the cursor.  This is like getpos('.'), but
 		includes an extra item in the list:
-		    [bufnum, lnum, col, off, curswant]
+		    [bufnum, lnum, col, off, curswant] ~
 		The "curswant" number is the preferred column when moving the
 		cursor vertically.
 		This can be used to save and restore the cursor position: >
diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt
index 62aab3a..23ad1dc 100644
--- a/runtime/doc/help.txt
+++ b/runtime/doc/help.txt
@@ -1,4 +1,4 @@
-*help.txt*	For Vim version 7.4.  Last change: 2016 Jan 09
+*help.txt*	For Vim version 7.4.  Last change: 2016 Jan 10
 
 			VIM - main help file
 									 k
@@ -10,14 +10,14 @@
 Jump to a subject:  Position the cursor on a tag (e.g. |bars|) and hit CTRL-].
    With the mouse:  ":set mouse=a" to enable the mouse (in xterm or GUI).
 		    Double-click the left mouse button on a tag, e.g. |bars|.
-	Jump back:  Type CTRL-T or CTRL-O (repeat to go further back).
+	Jump back:  Type CTRL-T or CTRL-O.  Repeat to go further back.
 
 Get specific help:  It is possible to go directly to whatever you want help
 		    on, by giving an argument to the |:help| command.
-		    It is possible to further specify the context:
-							*help-context*
+		    Prepend something to specify the context:  *help-context*
+
 			  WHAT			PREPEND    EXAMPLE	~
-		      Normal mode command      (nothing)   :help x
+		      Normal mode command		   :help x
 		      Visual mode command	  v_	   :help v_u
 		      Insert mode command	  i_	   :help i_<Esc>
 		      Command-line command	  :	   :help :quit
@@ -25,7 +25,7 @@
 		      Vim command argument	  -	   :help -r
 		      Option			  '	   :help 'textwidth'
 		      Regular expression	  /	   :help /[
-		    Also see |help-summary| for a verbose explanation.
+		    See |help-summary| for more contexts and an explanation.
 
   Search for help:  Type ":help word", then hit CTRL-D to see matching
 		    help entries for "word".
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index fb041c6..4e7a784 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 7.4.  Last change: 2014 Dec 08
+*map.txt*       For Vim version 7.4.  Last change: 2016 Jan 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -483,7 +483,7 @@
 
 
 1.6 SPECIAL CHARACTERS					*:map-special-chars*
-							*map_backslash*
+						*map_backslash* *map-backslash*
 Note that only CTRL-V is mentioned here as a special character for mappings
 and abbreviations.  When 'cpoptions' does not contain 'B', a backslash can
 also be used like CTRL-V.  The <> notation can be fully used then |<>|.  But
@@ -494,21 +494,21 @@
 sequence "<Bslash>" can be used.  This avoids the need to double backslashes
 when using nested mappings.
 
-							*map_CTRL-C*
+						*map_CTRL-C* *map-CTRL-C*
 Using CTRL-C in the {lhs} is possible, but it will only work when Vim is
 waiting for a key, not when Vim is busy with something.  When Vim is busy
 CTRL-C interrupts/breaks the command.
 When using the GUI version on MS-Windows CTRL-C can be mapped to allow a Copy
 command to the clipboard.  Use CTRL-Break to interrupt Vim.
 
-							*map_space_in_lhs*
+					*map_space_in_lhs* *map-space_in_lhs*
 To include a space in {lhs} precede it with a CTRL-V (type two CTRL-Vs for
 each space).
-							*map_space_in_rhs*
+					*map_space_in_rhs* *map-space_in_rhs*
 If you want a {rhs} that starts with a space, use "<Space>".  To be fully Vi
 compatible (but unreadable) don't use the |<>| notation, precede {rhs} with a
 single CTRL-V (you have to type CTRL-V two times).
-							*map_empty_rhs*
+						*map_empty_rhs* *map-empty-rhs*
 You can create an empty {rhs} by typing nothing after a single CTRL-V (you
 have to type CTRL-V two times).  Unfortunately, you cannot do this in a vimrc
 file.
@@ -583,7 +583,7 @@
 It is not possible to put a comment after these commands, because the '"'
 character is considered to be part of the {lhs} or {rhs}.
 
-							*map_bar*
+							*map_bar* *map-bar*
 Since the '|' character is used to separate a map command from the next
 command, you will have to do something special to include  a '|' in {rhs}.
 There are three methods:
@@ -601,7 +601,7 @@
 ending in a '\' and then another command.  This is Vi compatible, but
 illogical when compared to other commands.
 
-							*map_return*
+						*map_return* *map-return*
 When you have a mapping that contains an Ex command, you need to put a line
 terminator after it to have it executed.  The use of <CR> is recommended for
 this (see |<>|).  Example: >
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 45333c8..b3d67ba 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4903,6 +4903,8 @@
 asm68k	syntax.txt	/*asm68k*
 asmh8300.vim	syntax.txt	/*asmh8300.vim*
 assert_equal()	eval.txt	/*assert_equal()*
+assert_exception()	eval.txt	/*assert_exception()*
+assert_fails()	eval.txt	/*assert_fails()*
 assert_false()	eval.txt	/*assert_false()*
 assert_true()	eval.txt	/*assert_true()*
 at	motion.txt	/*at*
@@ -6923,9 +6925,13 @@
 manual-copyright	usr_01.txt	/*manual-copyright*
 map()	eval.txt	/*map()*
 map-<SID>	map.txt	/*map-<SID>*
+map-CTRL-C	map.txt	/*map-CTRL-C*
 map-ambiguous	map.txt	/*map-ambiguous*
+map-backslash	map.txt	/*map-backslash*
 map-backtick	tips.txt	/*map-backtick*
+map-bar	map.txt	/*map-bar*
 map-comments	map.txt	/*map-comments*
+map-empty-rhs	map.txt	/*map-empty-rhs*
 map-error	map.txt	/*map-error*
 map-examples	map.txt	/*map-examples*
 map-keys-fails	map.txt	/*map-keys-fails*
@@ -6934,7 +6940,10 @@
 map-multibyte	map.txt	/*map-multibyte*
 map-overview	map.txt	/*map-overview*
 map-precedence	map.txt	/*map-precedence*
+map-return	map.txt	/*map-return*
 map-self-destroy	tips.txt	/*map-self-destroy*
+map-space_in_lhs	map.txt	/*map-space_in_lhs*
+map-space_in_rhs	map.txt	/*map-space_in_rhs*
 map-typing	map.txt	/*map-typing*
 map-which-keys	map.txt	/*map-which-keys*
 map.txt	map.txt	/*map.txt*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index ab151f1..a2fc617 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 Jan 10
+*todo.txt*      For Vim version 7.4.  Last change: 2016 Jan 15
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,8 +34,6 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-/tmp/test_increment_new_style.patch.2
-
 Regexp problems:
 - The regexp engines are not reentrant, causing havoc when interrupted by a
   remote expression or something else.  Move global variables onto the stack
@@ -78,8 +76,6 @@
   matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
 - Search for \\~ causes error E874.
 
-Help to build with interfaces. (Ken Takata, 2015 Jan 5)
-
 Need to try out instructions in INSSTALLpc.txt about how to install all
 interfaces and how to build Vim with them.
 Appveyor build with self-installing executable, includes getting most
@@ -101,8 +97,6 @@
 Or use $XDG_DATA_DIRS.
 Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
 
-Patch to update the help summary. (Christian Brabandt, 2015 Jan 10)
-
 Add has('crypt-blowfish') and has('crypt-blowfish2') (Smu Johnson)
 
 Access to uninitialized memory in match_backref() regexp_nda.c:4882
@@ -123,19 +117,11 @@
 
 Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
 
-Patch to fix "." after CTRL-A in Visual block mode. (Ozaki Kiichi, 2015 Oct
-24)
-
-Patch to have CTRL-A and CTRL-X update the '[ and '] marks.
-(Yukihiro Nakadaira, 2015 Aug 23)
-
-Patch for GVimExt building with VS2015. (Mike Williams, 2015 Jan 10)
-
 Unexpected delay when using CTRL-O u.  It's not timeoutlen.
 (Gary Johnson, 2015 Aug 28)
 
-Instead of separately uploading patches to the ftp site, can we get them from
-github?  This URL works:
+Instead of separately uploading patches to the ftp site, we can get them from
+github with a URL like this:
    https://github.com/vim/vim/compare/v7.4.920%5E...v7.4.920.diff
 Diff for version.c contains more context, can't skip a patch.
 >
@@ -148,6 +134,9 @@
 
 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 
+Patch to fix cursor position in right-left mode with concealing.
+(Hirohito Higashi, 2016 Jan 13)
+
 Plugin to use Vim in MANPAGER.  Konfekt, PR #491
 
 Using uninitialized memory. (Dominique Pelle, 2015 Nov 4)
@@ -161,8 +150,16 @@
 Patch to add debug backtrace. (Alberto Fanjul, 2015 Sep 27)
 Update 2016 Jan 2.  Issue #433
 
+Patch to gvim.nsi for appveyor build. (Ken Takata, 2016 Jan 12)
+
+Patch to improve behavior of dead keys on MS-Windows. (John Wellesz, 2015 Aug
+25)  https://github.com/vim/vim/pull/399.diff
+
 Patch to make mzscheme (racket) interface work. (Yukihiro Nakadaira, 2015 Jan
-10)  Doesn't work for me, need to build from source.
+10)  Doesn't work for me, need to build from source. Include anyway?
+Additional patch by Ken Takata, 2016 Jan 13.
+Merged patch by Yasuhiro Nakadaira,, 2016 Jan 14.
+Update for INSSTALLpc.txt by Ken Takata, Jan 14.
 
 MS-Windows: When editing a file with a leading space, writing it uses the
 wrong name. (Aram, 2014 Nov 7)  Vim 7.4.
@@ -172,7 +169,7 @@
 
 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.
+2016 Jan 11.
 
 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)
@@ -199,6 +196,10 @@
 When complete() first argument is before where insert started and 'backspace'
 is Vi compatible, the completion fails. (Hirohito Higashi, 2015 Feb 19)
 
+Patch to fix bug in searchpair(). (Christian Brabandt, 2016 Jan 11)
+Problem reported by David Fishburn, using searchpair() with synID() used in
+the skip expression.
+
 Test 44 fails when [[=A=]] is changed to [[=À=]].  Caused by getcmdline() not
 handling the 0x80 as a second byte correctly?  (Dominique Pelle, 2015 Jun 10)
 
@@ -339,9 +340,6 @@
 
 Make comments in the test Makefile silent. (Kartik Agaram, 2014 Sep 24)
 
-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)
 
diff --git a/runtime/doc/usr_02.txt b/runtime/doc/usr_02.txt
index da63640..ba29dc0 100644
--- a/runtime/doc/usr_02.txt
+++ b/runtime/doc/usr_02.txt
@@ -1,4 +1,4 @@
-*usr_02.txt*	For Vim version 7.4.  Last change: 2015 Apr 12
+*usr_02.txt*	For Vim version 7.4.  Last change: 2016 Jan 15
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -408,7 +408,15 @@
 
 Everything you always wanted to know can be found in the Vim help files.
 Don't be afraid to ask!
-   To get generic help use this command: >
+
+If you know what you are looking for, it is usually easier to search for it
+using the help system, instead of using Google.  Because the subjects follow
+a certain style guide.
+
+Also the help has the advantage of belonging to your particular Vim version.
+You won't see help for commands added later.  These would not work for you.
+
+To get generic help use this command: >
 
 	:help
 
@@ -482,7 +490,7 @@
 
 	:help 'number'
 
-The table with all mode prefixes can be found here: |help-context|.
+The table with all mode prefixes can be found below: |help-summary|.
 
 Special keys are enclosed in angle brackets.  To find help on the up-arrow key
 in Insert mode, for instance, use this command: >
@@ -499,64 +507,187 @@
 
 
 Summary: 					*help-summary*  >
-	:help
-<		Gives you very general help.  Scroll down to see a list of all
-		helpfiles, including those added locally (i.e. not distributed
-		with Vim). >
-	:help user-toc.txt
-<		Table of contents of the User Manual. >
-	:help :subject
-<		Ex-command "subject", for instance the following: >
-	:help :help
-<		Help on getting help. >
-	:help abc
-<		normal-mode command "abc". >
-	:help CTRL-B
-<		Control key <C-B> in Normal mode. >
-	:help i_abc
-	:help i_CTRL-B
-<		The same in Insert mode. >
-	:help v_abc
-	:help v_CTRL-B
-<		The same in Visual mode. >
-	:help c_abc
-	:help c_CTRL-B
-<		The same in Command-line mode. >
-	:help 'subject'
-<		Option 'subject'. >
-	:help subject()
-<		Function "subject". >
-	:help -subject
-<		Command-line argument "-subject". >
-	:help +subject
-<		Compile-time feature "+subject". >
-	:help /*
-<		Regular expression item "*" >
-	:help EventName
-<		Autocommand event "EventName". >
-	:help digraphs.txt
-<		The top of the helpfile "digraph.txt".
-		Similarly for any other helpfile. >
-	:help pattern<Tab>
-<		Find a help tag starting with "pattern".  Repeat <Tab> for
-		others. >
-	:help pattern<Ctrl-D>
-<		See all possible help tag matches "pattern" at once. >
-	:helpgrep pattern
-<		Search the whole text of all help files for pattern "pattern".
-		Jumps to the first match.  Jump to other matches with: >
-	    :cn
-<			next match >
-	    :cprev
-	    :cN
-<			previous match >
-	    :cfirst
-	    :clast
-<			first or last match >
-	    :copen
-	    :cclose
-<			open/close the quickfix window; press <Enter> to jump
-			to the item under the cursor
+
+1) Use Ctrl-D after typing a topic and let Vim show all available topics.
+   Or press Tab to complete: >
+    	:help some<Tab>
+<   More information on how to use the help: >
+	:help helphelp
+
+2) Follow the links in bars to related help.  You can go from the detailed
+   help to the user documentation, which describes certain commands more from
+   a user perspective and less detailed.  E.g. after: >
+   	:help pattern.txt
+<   You can see the user guide topics |03.9| and |usr_27.txt| in the
+   introduction.
+
+3) Options are enclosed in single apostrophes.  To go to the help topic for the
+   list option: >
+	:help 'list'
+<   If you only know you are looking for a certain option, you can also do: >
+	:help options.txt
+<   to open the help page which describes all option handling and then search
+   using regular expressions, e.g. textwidth.
+   Certain options have their own namespace, e.g.: >
+   	:help cpo-<letter>
+<   for the corresponding flag of the 'cpoptions' settings, substitute <letter>
+   by a specific flag, e.g.: >
+  	:help cpo-;
+<   And for the guioption flags: >
+  	:help go-<letter>
+
+4) Normal mode commands do not have a prefix. To go to the help page for the
+   "gt" command: >
+   	:help gt
+
+5) Insert mode commands start with i_.  Help for deleting a word: >
+   	:help i_CTRL-W
+
+6) Visual mode commands start with v_.  Help for jumping to the other side of
+   the Visual area: >
+   	:help v_o
+
+7) Command line editing and arguments start with c_.  Help for using the
+   command argument %: >
+   	:help c_%
+
+8) Ex-commands always start with ":", so to go to the :s command help: >
+	:help :s
+
+9) Key combinations.  They usually start with a single letter indicating
+   the mode for which they can be used.  E.g.: >
+   	:help i_CTRL-X
+<   takes you to the family of Ctrl-X commands for insert mode which can be
+   used to auto complete different things.  Note, that certain keys will
+   always be written the same, e.g. Control will always be CTRL.
+   For normal mode commands there is no prefix and the topic is available at
+   :h CTRL-<Letter>. E.g.  >
+   	:help CTRL-W
+<   In contrast >
+	:help c_CTRL-R
+<   will describe what the Ctrl-R does when entering commands in the Command
+   line and >
+   	:help v_Ctrl-A
+<   talks about incrementing numbers in visual mode and >
+	:help g_CTRL-A
+<   talks about the g<C-A> command (e.g. you have to press "g" then <Ctrl-A>).
+   Here the "g" stand for the normal command "g" which always expects a second
+   key before doing something similar to the commands starting with "z"
+
+10) Regexp items always start with /.  So to get help for the "\+" quantifier
+    in Vim regexes: >
+   	:help /\+
+<   If you need to know everything about regular expressions, start reading
+   at: >
+   	:help pattern.txt
+
+11) Registers always start with "quote". To find out about the special ":"
+    register: >
+   	:help quote:
+
+12) Vim Script (VimL) is available at >
+	:help eval.txt
+<   Certain aspects of the language are available at :h expr-X where "X" is a
+   single letter. E.g.  >
+   	:help expr-!
+<   will take you to the topic describing the "!" (Not) operator for
+   VimScript.
+   Also important is >
+   	:help function-list
+<   to find a short description of all functions available.  Help topics for
+   VimL functions always include the "()", so: >
+   	:help append()
+<   talks about the append VimL function rather than how to append text in the
+   current buffer.
+
+13) Mappings are talked about in the help page :h |map.txt|. Use >
+    	:help mapmode-i
+<    to find out about the |:imap| command.  Also use :map-topic
+    to find out about certain subtopics particular for mappings.  e.g: >
+    	:help :map-local
+<    for buffer-local mappings or >
+	:help map-bar
+<    for how the '|' is handled in mappings.
+
+14) Command definitions are talked about :h command-topic, so use >
+	:help command-bar
+<    to find out about the '!' argument for custom commands.
+
+15) Window management commands always start with CTRL-W, so you find the
+    corresponding help at :h CTRL-W_letter.  E.g. >
+   	:help CTRL-W_p
+<    for moving the previous accessed window).  You can also access >
+	:help windows.txt
+<    and read your way through if you are looking for window handling
+    commands.
+
+16) Use |:helpgrep| to search in all help pages (and also of any installed
+    plugins).  See |:helpgrep| for how to use it.
+    To search for a topic: >
+    	:helpgrep topic
+<    This takes you to the first match.  To go to the next one: >
+	:cnext
+<    All matches are available in the quickfix window which can be opened
+    with: >
+    	:copen
+<    Move around to the match you like and press Enter to jump to that help.
+
+17) The user manual.  This describes help topics for beginners in a rather
+    friendly way.  Start at |usr_toc.txt| to find the table of content (as you
+    might have guessed): >
+    	:help usr_toc.txt
+<    Skim over the contents to find interesting topics. The "Digraphs" and
+    "Entering special characters" items are in chapter 24, so to go to that
+    particular help page: >
+    	:help usr_24.txt
+<    Also if you want to access a certain chapter in the help, the chapter
+    number can be accessed directly like this: >
+    	:help 10.1
+<    goes to chapter 10.1 in |usr_10.txt| and talks about recording macros.
+
+18) Highlighting groups.  Always start with hl-groupname.  E.g. >
+    	:help hl-WarningMsg
+<    talks about the WarningMsg highlighting group.
+
+19) Syntax highlighting is namespaced to :syn-topic e.g. >
+	:help :syn-conceal
+<    talks about the conceal argument for the :syn command.
+
+20) Quickfix commands usually start with :c while location list commands
+    usually start with :l
+
+21) Autocommand events can be found by their name: >
+     	:help BufWinLeave
+<    To see all possible events: >
+	:help autocommands-events
+
+22) Command-line switches always start with "-".  So for the help of the -f
+    command switch of Vim use: >
+    	:help -f
+
+23) Optional features always start with "+".  To find out about the
+    conceal feature use: >
+    	:help +conceal
+
+24) Documentation for included filetype specific functionality is usually
+    available  in the form ft-<filetype>-<functionality>.  So >
+    	:help ft-c-syntax
+<    talks about the C syntax file and the option it provides.  Sometimes,
+    additional sections for omni completion >
+    	:help ft-php-omni
+<    or filetype plugins >
+	:help ft-tex-plugin
+<    are available.
+
+25) Error and Warning codes can be looked up directly in the help.  So >
+	:help E297
+<    takes you exactly to the description of the swap error message and >
+	:help W10
+<    talks about the warning "Changing a readonly file".
+    Sometimes however, those error codes are not described, but rather are
+    listed at the Vim command that usually causes this.  So: >
+    	:help E128
+<    takes you to the |:function| command
 
 
 ==============================================================================
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 282ccc6..975dcf5 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 7.4.  Last change: 2015 Nov 15
+*various.txt*   For Vim version 7.4.  Last change: 2016 Jan 10
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -647,6 +647,7 @@
 g CTRL-A		Only when Vim was compiled with MEM_PROFILING defined
 			(which is very rare): print memory usage statistics.
 			Only useful for debugging Vim.
+			For incrementing in Visual mode see |v_g_CTRL-A|.
 
 ==============================================================================
 2. Using Vim like less or more					*less*