diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index abf9c90..0b7a3ed 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.3.  Last change: 2012 Jan 04
+*eval.txt*	For Vim version 7.3.  Last change: 2012 Jan 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4814,6 +4814,10 @@
 		Search for regexp pattern {pattern}.  The search starts at the
 		cursor position (you can use |cursor()| to set it).
 
+		If there is no match a 0 is returned and the cursor doesn't
+		move.  No error message is given.
+		When a match has been found its line number is returned.
+
 		{flags} is a String, which can contain these character flags:
 		'b'	search backward instead of forward
 		'c'	accept a match at the cursor position
@@ -4847,9 +4851,6 @@
 		giving the argument.
 		{only available when compiled with the |+reltime| feature}
 
-		If there is no match a 0 is returned and the cursor doesn't
-		move.  No error message is given.
-		When a match has been found its line number is returned.
 							*search()-sub-match*
 		With the 'p' flag the returned value is one more than the
 		first sub-match in \(\).  One if none of them matched but the
@@ -5068,7 +5069,8 @@
 		line.
 
 setline({lnum}, {text})					*setline()*
-		Set line {lnum} of the current buffer to {text}.
+		Set line {lnum} of the current buffer to {text}.  To insert
+		lines use |append()|.
 		{lnum} is used like with |getline()|.
 		When {lnum} is just below the last line the {text} will be
 		added as a new line.
diff --git a/runtime/doc/if_pyth.txt b/runtime/doc/if_pyth.txt
index 03d24a5..e542a04 100644
--- a/runtime/doc/if_pyth.txt
+++ b/runtime/doc/if_pyth.txt
@@ -1,4 +1,4 @@
-*if_pyth.txt*   For Vim version 7.3.  Last change: 2011 Aug 19
+*if_pyth.txt*   For Vim version 7.3.  Last change: 2012 Feb 04
 
 
 		  VIM REFERENCE MANUAL    by Paul Moore
@@ -222,8 +222,9 @@
 	- from indexing vim.buffers (|python-buffers|)
 	- from the "buffer" attribute of a window (|python-window|)
 
-Buffer objects have one read-only attribute - name - the full file name for
-the buffer.  They also have three methods (append, mark, and range; see below).
+Buffer objects have two read-only attributes - name - the full file name for
+the buffer, and number - the buffer number.  They also have three methods
+(append, mark, and range; see below).
 
 You can also treat buffer objects as sequence objects.  In this context, they
 act as if they were lists (yes, they are mutable) of strings, with each
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 24a17d5..924e8a4 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.3.  Last change: 2011 Sep 14
+*insert.txt*    For Vim version 7.3.  Last change: 2012 Jan 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1010,7 +1010,8 @@
 at the characters just before the cursor and including those characters that
 could be part of the completed item.  The text between this column and the
 cursor column will be replaced with the matches.  Return -1 if no completion
-can be done.
+can be done, the completion will be cancelled with an error message.  Return
+-2 to cancel silently.
 
 On the second invocation the arguments are:
    a:findstart  0
diff --git a/runtime/doc/map.txt b/runtime/doc/map.txt
index 73b79f2..f117f6f 100644
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 7.3.  Last change: 2011 Oct 22
+*map.txt*       For Vim version 7.3.  Last change: 2012 Feb 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -527,7 +527,7 @@
 <LocalLeader> is just like <Leader>, except that it uses "maplocalleader"
 instead of "mapleader".  <LocalLeader> is to be used for mappings which are
 local to a buffer.  Example: >
-      :map <LocalLeader>q  \DoItNow
+      :map <buffer> <LocalLeader>A  oanother line<Esc>
 <
 In a global plugin <Leader> should be used and in a filetype plugin
 <LocalLeader>.  "mapleader" and "maplocalleader" can be equal.  Although, if
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
index b7614e7..abb8868 100644
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -1,4 +1,4 @@
-*netbeans.txt*  For Vim version 7.3.  Last change: 2011 Oct 20
+*netbeans.txt*  For Vim version 7.3.  Last change: 2012 Jan 26
 
 
 		  VIM REFERENCE MANUAL    by Gordon Prieur et al.
@@ -266,7 +266,7 @@
 Netbeans messages are processed when Vim is idle, waiting for user input.
 When Vim is run in non-interactive mode, for example when running an automated
 test case that sources a Vim script, the idle loop may not be called often
-enough. In that case, insert |sleep| commands in the Vim script. The |sleep|
+enough. In that case, insert |:sleep| commands in the Vim script. The |:sleep|
 command does invoke Netbeans messages processing.
 
 6.1 Kinds of messages		|nb-messages|
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 4b74d1f..1d4a09f 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.3.  Last change: 2011 Sep 26
+*pi_netrw.txt*  For Vim version 7.3.  Last change: 2012 Jan 26
 
 	    -----------------------------------------------------
 	    NETRW REFERENCE MANUAL    by Charles E. Campbell, Jr.
@@ -43,7 +43,7 @@
 5.  Activation...........................................|netrw-activate|
 6.  Transparent Remote File Editing......................|netrw-transparent|
 7.  Ex Commands..........................................|netrw-ex|
-8.  Variables and Options................................|netrw-var|
+8.  Variables and Options................................|netrw-settings|
 9.  Browsing.............................................|netrw-browse|
       Introduction To Browsing...........................|netrw-intro-browse|
       Quick Reference: Maps..............................|netrw-browse-maps|
@@ -309,7 +309,7 @@
 	:call NetUserPass("uid","password")	-- sets global uid and password
 
 NETRW VARIABLES AND SETTINGS				*netrw-variables* {{{2
-(also see: |netrw-browser-var| |netrw-protocol| |netrw-settings| |netrw-var|)
+(also see: |netrw-browser-var| |netrw-protocol| |netrw-settings|)
 
 Netrw provides a lot of variables which allow you to customize netrw to your
 preferences.  One way to look at them is via the command :NetrwSettings (see
@@ -2354,7 +2354,7 @@
 settings therein will be used.  One may also press "?" on any of the lines for
 help on what each of the variables do.
 
-(also see: |netrw-browser-var| |netrw-protocol| |netrw-var| |netrw-variables|)
+(also see: |netrw-browser-var| |netrw-protocol| |netrw-settings| |netrw-variables|)
 
 
 ==============================================================================
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 4d343cc..c108cee 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  Last change: 2012 Jan 20
+*todo.txt*      For Vim version 7.3.  Last change: 2012 Feb 04
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -41,18 +41,27 @@
 Once syntax and other runtime files have been fixed: add "set cp" to
 check.vim.  Use a function to run both with 'cp' and 'nocp'.
 
-Win32: When the taskbar is at the top of the screen creating the tabbar causes
-the window to move unnecessarily. (William E. Skeith III, 2012 Jan 12)
-Patch: 2012 Jan 13
-
-Patch for using DBCS encoding in user command. (Yasuhiro Matsumoto, 2012 Jan
-15)  Update Jan 17.
-
 Repeating search history entries. (Edwin Steiner, 2012 Jan 17)
 Jan 18: Caused by patch 7.3.265?
 
+Patch for '$' not being displayed for a change when 'cpoptions' contains "$".
+(Yasuhiro Matsumoto, 2012 Jan 28, patch by Hideki EIRAKU and Hirohito Higashi)
+
+Patch to speed up readfile(). (John Little, 2012 Feb 1)
+Adjustment by Charles Peacech, Feb 3.
+8   When editing a file with extremely long lines (e.g., an executable), the
+    "linerest" in readfile() is allocated twice to be able to copy what was
+    read so far.  Use realloc() instead?  Or split the line when allocating
+    memory fails and "linerest" is big (> 100000)?
+
+Patch to fix a crash when an xpm file is invalid. (Dave Bodenstab, 2012 Jan
+27)
+
 Hang in using VimEnter. (Alex Efros, 2012 Jan 14)
 
+Patch for behavior of "." in compatible mode. (Yasuhiro Matsumoto, patch by
+Hideki EIRAKU, 2012 Jan 28)
+
 ":cd" doesn't work when current directory path contains wildcards.
 finddir() has the same problem.  (Yukihiro Nakadaira, 2012 Jan 10)
 
@@ -70,8 +79,9 @@
 ":doau" says it triggers modeline.  Should this only happen for events used
 when loading a buffer?  (Kana Natsuno, 2011 Nov 7)
 
-Patch to fix "it" and "at" when there is a dash in the tag name.
-(Christian Brabandt, 2011 Nov 20)
+Patch for compiler warnings in if_perl. (James McCoy, 2011 Jan 30)
+
+Patch for X selection conversion. (Alex Efros, 2012 Jan 24)
 
 Patch to make 'shcf' default work better. (Benjamin Fritz, 2011 Nov 18)
     Win32: When 'shell' is cmd.exe this command fails:
@@ -83,6 +93,15 @@
 Other way to start Mzscheme. Tim Brown, 2011 Oct 5: change main call.
 Later patch by Sergey Khorev, 2011 Oct 9.
 
+Patch to allow ! for :all and :sall, as documented. (Hirohito Higashi, 2012
+Jan 30)
+
+Patch for "tab drop hoge" moving current window. (Higashi, 2012 Jan 31)
+":tab drop buffer.c" always opens a new tab, also if buffer.c is already in an
+open window. (Herb Sitz, 2011 Nov 17)
+":tab drop filename" doesn't work nicely when "filename" is open in a window
+in another tab. (Tony Mechelynck, 2009 Feb 13)
+
 Patch to make InsertCharPre work better. (Yasuhiro Matsumoto, 2011 Oct 21)
 
 Patch to fix closed folds with "loadview". (Xavier de Gaye, 2011 Nov 25)
@@ -93,9 +112,24 @@
 Patch for glob() returning a list. (Christian Brabandt, 2011 Aug 24, second
 one)
 
+Win32: When the taskbar is at the top of the screen creating the tabbar causes
+the window to move unnecessarily. (William E. Skeith III, 2012 Jan 12)
+Patch: 2012 Jan 13  Needs more work (2012 Feb 2)
+
 Patch to highlight cursor line number. (Howard Buchholz (lhb), 2011 Oct 18)
 
-Patch for urxvt mouse support after shell command. (Issue 31)
+URXVT:
+- will get stuck if byte sequence does not containe expected semicolon.
+- Patch for urxvt mouse support after shell command. (Issue 31)
+- Use urxvt mouse support also in xterm.  Explanations:
+  http://www.midnight-commander.org/ticket/2662
+
+Patch for using QuickFixCmdPre for more commands. (Marcin Szamotulski, 2012
+Feb 1, update Feb 2)
+
+When running Vim in silent ex mode, an existing swapfile causes Vim to wait
+for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
+Do give the prompt? Quit with an error?
 
 When exiting with unsaved changes, selecting an existing file in the file
 dialog, there is no dialog to ask whether the existing file should be
@@ -128,13 +162,15 @@
     buffer={bufnr}".  So one can remove all signs for one file/buffer.
 
 Patch to add "onselected" callback for completion. (Taro Muraoka, 2011 Sep 24)
+Another for CompleteFuncOk. (Florian Klein, 2012 Jan 31)
+Name it "CompleteFuncDone".
+
+Patch for Make_mvc.mak and Make_ming.mak for Ruby support. (Yasuhiro
+Matsumoto, 2012 Jan 30)
 
 Use a count before "v" and "V" to select that many characters or lines?
 (Kikyous)
 
-":tab drop buffer.c" always opens a new tab, also if buffer.c is already in an
-open window. (Herb Sitz, 2011 Nov 17)
-
 Problem with winfixheight and resizing. (Yukihiro Nakadaira, 2011 Sep 17)
 Patch Sep 18.
 
@@ -289,6 +325,8 @@
 Patch to addd TextDeletePost and TextYankPost events. (Philippe Vaucher, 2011
 May 24)  Update May 26.
 
+Patch for :tabrecently. (Hirokazu Yoshida, 2012 Jan 30)
+
 When a script contains "redir => s:foo" but doesn't end redirection, a
 following "redir" command gives an error for not being able to access s:foo.
 (ZyX, 2011 Mar 27)
@@ -949,9 +987,6 @@
 ":tab help" always opens a new tab, while ":help" re-uses an existing window.
 Would be more consistent when an existing tab is re-used. (Tony Mechelynck)
 
-":tab drop filename" doesn't work nicely when "filename" is open in a window
-in another tab. (Tony Mechelynck, 2009 Feb 13)
-
 Add ":nofold".  Range will apply without expanding to closed fold.
 
 Including NFA regexp code:
@@ -3228,10 +3263,6 @@
     Add command to compile a vim script and add it to the file in-place.
     Split Ex command executing into a parsing and executing phase.
     Use compiled code for functions, while loops, etc.
-8   When editing a file with extremely long lines (e.g., an executable), the
-    "linerest" in readfile() is allocated twice to be able to copy what was
-    read so far.  Use realloc() instead?  Or split the line when allocating
-    memory fails and "linerest" is big (> 100000)?
 8   When defining autocommands (e.g., from $VIMRUNTIME/filetype.vim), need to
     compare each pattern with all existing patterns.  Use a hash code to avoid
     using strcmp() too often?
diff --git a/runtime/doc/undo.txt b/runtime/doc/undo.txt
index e9ed1b2..b165237 100644
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 7.3.  Last change: 2011 Aug 02
+*undo.txt*      For Vim version 7.3.  Last change: 2012 Jan 28
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -267,7 +267,12 @@
 		(the magic number at the start of the file is wrong), then
 		this fails, unless the ! was added.
 		If it exists and does look like an undo file it is
-		overwritten.
+		overwritten. If there is no undo-history, nothing will be 
+		written.
+		Implementation detail: Overwriting happens by first deleting
+		the existing file and then creating a new file with the same
+		name. So it is not possible to overwrite an existing undofile
+		in a write-protected directory.
 		{not in Vi}
 
 :rundo {file}	Read undo history from {file}.
