diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 19528ed..fe518d1 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.3.  Last change: 2010 Jul 29
+*change.txt*    For Vim version 7.3.  Last change: 2011 Feb 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -690,7 +690,8 @@
 order to skip the pattern the "magicness" must be known.  Catch 22!
 
 If the {pattern} for the substitute command is empty, the command uses the
-pattern from the last substitute or ":global" command.  With the [r] flag, the
+pattern from the last substitute or ":global" command.  If there is none, but
+there is a previous search pattern, that one is used.  With the [r] flag, the
 command uses the pattern from the last substitute, ":global", or search
 command.
 
diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 26f712f..17a8ca3 100644
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 7.3.  Last change: 2011 Jan 27
+*editing.txt*   For Vim version 7.3.  Last change: 2011 Feb 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -276,10 +276,11 @@
 			'readonly' option for this buffer.  {not in Vi}
 
 							*CTRL-^* *CTRL-6*
-CTRL-^			Edit the alternate file (equivalent to ":e #").
-			Mostly the alternate file is the previously edited
-			file.  This is a quick way to toggle between two
-			files.
+CTRL-^			Edit the alternate file.  Mostly the alternate file is
+			the previously edited file.  This is a quick way to
+			toggle between two files.  It is equivalent to ":e #",
+			except that it also works when there is no file name.
+
 			If the 'autowrite' or 'autowriteall' option is on and
 			the buffer was changed, write it.
 			Mostly the ^ character is positioned on the 6 key,
@@ -1387,6 +1388,8 @@
 |vimrc| file: >
 	set cm=zip
 	set cm=blowfish
+The message given for reading and writing a file will show "[crypted]" when
+using zip, "[blowfish]" when using blowfish.
 
 When writing an undo file, the same key and method will be used for the text
 in the undo file. |persistent-undo|.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index c599e8a..8c464a8 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.3.  Last change: 2011 Feb 11
+*eval.txt*	For Vim version 7.3.  Last change: 2011 Mar 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -7072,7 +7072,9 @@
 			is terminated.
 			Example: >
 		:try | throw "oops" | catch /^oo/ | echo "caught" | endtry
-<
+<			Note that "catch" may need to be on a separate line
+			for when an error causes the parsing to skip the whole
+			line and not see the "|" that separates the commands.
 
 							*:ec* *:echo*
 :ec[ho] {expr1} ..	Echoes each {expr1}, with a space in between.  The
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 617b776..3e06aaa 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt*    For Vim version 7.3.  Last change: 2011 Jan 09
+*indent.txt*    For Vim version 7.3.  Last change: 2011 Mar 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -320,9 +320,11 @@
 		      BaseClass(3)	    BaseClass(3)
 		  {}			    {}
 <
-	+N    Indent a continuation line (a line that spills onto the next) N
-	      additional characters.  (default 'shiftwidth').
-	      When the previous line ended in a backslash it's doubled.
+	+N    Indent a continuation line (a line that spills onto the next)
+              inside a function N additional characters.  (default
+              'shiftwidth').
+              Outside of a function, when the previous line ended in a
+              backslash, the 2 * N is used.
 
 		cino=			  cino=+10 >
 		  a = b + 9 *		    a = b + 9 *
diff --git a/runtime/doc/pattern.txt b/runtime/doc/pattern.txt
index 12a9d6d..0fd31d6 100644
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.3.  Last change: 2010 Jul 20
+*pattern.txt*   For Vim version 7.3.  Last change: 2011 Feb 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -214,7 +214,8 @@
 the search, possibly in another direction or with another count.  Note that
 two patterns are remembered: One for 'normal' search commands and one for the
 substitute command ":s".  Each time an empty pattern is given, the previously
-used pattern is used.
+used pattern is used.  However, if there is no previous search command, a
+previous substitute pattern is used, if possible.
 
 The 'magic' option sticks with the last used pattern.  If you change 'magic',
 this will not change how the last used pattern will be interpreted.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 836baad..dcc11c8 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3206,6 +3206,7 @@
 <reg>	map.txt	/*<reg>*
 <register>	map.txt	/*<register>*
 <sfile>	cmdline.txt	/*<sfile>*
+<slnum>	cmdline.txt	/*<slnum>*
 <xCSI>	intro.txt	/*<xCSI>*
 <xDown>	term.txt	/*<xDown>*
 <xEnd>	term.txt	/*<xEnd>*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index df2176d..ec95183 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  Last change: 2011 Feb 25
+*todo.txt*      For Vim version 7.3.  Last change: 2011 Mar 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,11 +30,43 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-New r and rhelp syntax files. (Jakson Alves de Aquino, 2011 Feb 20)
+The :z command doesn't work exactly as it should. (ChangZhuo Chen, 2011 Mar 2)
 
-In file message show "blowfish" instead of "crypted" when using blowfish.
+Crash with ":python help(dir)". (Kearn Holliday, 2011 Mar 19)
+I can reproduce it.  Don't know why it happens.
 
-Patch to fix drag-n-drop in KDE. (Florian Degner, 2011 Feb 23)
+Compare with how old Vi works and with posix spec.  terminal is 80 x 24,
+'scroll' option set to 11.
+
+Update Bavarian tutor. (Sepp Hell, 2011 Mar 10)
+
+After ":set t_kb=" ":set t_kb" gives an error, should report an empty string.
+Can do ":set t_xy=foo", need to check for valid name.
+
+Menu File/Close should close a tab if it's not the last one and it
+contains only one window (Jean Johner)
+Patch by Ben Schmidt (7 maart)
+
+Patch to update .hgtags (Ben Haskell, 2011 Mar 8)
+Also hints how to add a tag after committing a patch.
+
+Patch for slow write: undefined symbols with FEAT_CLIENTSERVER.
+Alternative tests.  (Krasilnikov)
+
+When opening file from windows explorer, characters inside [] cause
+problems, even though double quotes are used. (Manuel Stol, 2011 Mar 9)
+
+Patch for Vim indent file. (Cocular, 2011 Mar)
+
+:help c_Esc should work, but only :help c_<Esc> does.
+
+Patch to change the meaning of \n in substitute(). (motoya kurotsu, 2011 Mar 8)
+
+New version of Pascal indent file. (Neil Carter, 2011 Mar 9)
+
+Help file foldexpr (ZyX)
+
+upstart syntax file (James Hunt, Mar 11 2011)
 
 Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
 only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
@@ -43,15 +75,24 @@
 Bug in repeating Visual "u". (Lawrence Kesteloot, 2010 Dec 20)
 
 Crash with big .xpm file. (Yukihiro Nakadaira, 2011 Feb 18)
+Patch from Ben Schmidt (2011 Mar 3).  Needs some more work.
+
+Patch for disappearing cursor after netbeans command. (Xavier de Gaye, 2011
+Mar 4)
 
 Windows keys not set properly on Windows 7?  (cncyber, 2010 Aug 26)
 
+Compiler scripts for fortran (Hong Xu, 2011 March 19)
+
 This line hangs Vim, because of syntax HL:
 call append(line, "INFO  ....12....18....24....30....36....42....48....54....60....66....72....78%$")
 
 Building the MingW version without clipboard but with multi-byte doesn't
 work. (Bill Lam, 2010 Sep 18)
 
+Patch for handling of NL in substitute() with \= expression. (Motoya Kurotsu,
+2011 Mar 16)
+
 When using a Vim server, a # in the path causes an error message.
 (Jeff Lanzarotta, 2011 Feb 17)
 
@@ -68,7 +109,7 @@
 right type.
 
 Patch to improve mf_hash, dynamic sizing. (Ivan Krasilnikov, 2010 Dec 17)
-Needs tests.
+Update with tests: 2011 Feb 28.
 
 string() can't parse back "inf" and "nan".  Fix documentation or fix code?
 (ZyX, 2010 Aug 23)
@@ -82,12 +123,14 @@
 Patch to add up to 99 match groups. (Christian Brabandt, 2010 Dec 22)
 Also add named groups: \%{name}(re)  and \%{name}g
 
-Patch to use pattern from last :s when there is no last search pattern.
-(Christian Brabandt, 2011 Jan 24)  Would this break anything?
-
 Bug in try/catch: return with invalid compare throws error that isn't caught.
 (ZyX, 2011 Jan 26)
 
+Improvement patch for filetype.vim. (Thilo Six, 2011 Mar 19)
+
+Patch for "+ and "* getting same selection when "a" is not in 'guioptions'.
+(James Vega, 2011 Mar 17)
+
 Highlighting stops working after changing it many times.  Script to reproduce
 it: Pablo Contreras, 2010 Oct 12  Windows XP and 7.  Font is never freed?
 
@@ -98,6 +141,10 @@
 
 "0g@$" puts '] on last byte of multi-byte. (ZyX, 2011 Jan 22)
 
+Deleting a linewise selection that includes the last line of the file leaves
+an empty line. (Ben Schmidt, 2011 Mar 17)
+Patch by Christian Brabandt, 2011 Mar 19.
+
 Two patches for xxd. (Florian Zumbiehl, 2011 Jan 11)
 Two updates for second one Jan 12.
 
@@ -140,6 +187,9 @@
 
 GTK: tear-off menu does not work. (Kurt Sonnenmoser, 2010 Oct 25)
 
+Win32: tear-off menu does not work when menu language is German. (Markus
+Bossler, 2011 Mar 2)  Fixed by 7.3.095?
+
 Patch for adding 's' option to 'cino', C++ namespace indenting. (Konstantin
 Lepa, 2011 Jan 18)
 
@@ -174,6 +224,9 @@
 - instead of a regexp use a hashtable.  Expand '?', '*", '+'.  What would be
   the maximum repeat for * and +?
 
+"L'Italie" noted as a spell error at start of the sentence. (Dominique Pelle,
+2011 Feb 27)
+
 Copy/paste between Vim and Google chrome doesn't work well for multi-byte
 characters. (Ben Haskell, 2010 Sep 17)
 When putting text in the cut buffer (when exiting) and conversion doesn't work
@@ -200,6 +253,9 @@
 GTK: Patch to fix menu popping down. (Hong Xu, 2010 Dec 4, Dec 5)
 Update 2011 Feb 3.
 
+Patch to use pipes on Win32.  (Vincent Berthoux, 2011 Feb 28)
+Update Mar 1 using 'shelltemp'.
+
 Python: Adding line to buffer other than the current one doesn't work
 correctly. (Rozbujnik, 2010 Dec 19)
 
@@ -279,8 +335,6 @@
 
 Patch for VisVim, pass file name to VimOpenFile. (Jiri Sedlak, 2010 Nov 12)
 
-":com" changes the multi-byte text of :echo. (Dimitar Dimitrov, 2011 Feb 11)
-
 When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
 instead of one. (Constantin Pan, 2010 Sep 10)
 
@@ -397,6 +451,9 @@
 When completion inserts the first match, it may trigger the line to be folded.
 Disable updating folds while completion is active? (Peter Odding, 2010 Jun 9)
 
+Using ":call foo#d.f()" doesn't autoload the "foo.vim" file.  Works OK for
+echo, just not for  ":call" and ":call call()". (Ted, 2011 Mar 17)
+
 In command line window ":close" doesn't work properly. (Tony Mechelynck, 2009
 Jun 1)
 
@@ -2334,6 +2391,9 @@
 -   Win32, MS-Windows XP: $HOME uses the wrong drive when the user profiles
     are not on the boot disk.  This is caused by a wrong value of $HOMEDRIVE.
     This is a bug in XP, see MSKB article 818134.
+-   Win32, MS-Windows: expanding plugin/**/*.vim also picks up
+    dir/ctags.vim,v.  This is because the short file name is something like
+    "ctags~1.vim" and that matches the pattern.
 -   SunOS 5.5.1 with Motif: The file open dialog does not have a horizontal
     scroll bar for the "files" selection.  This is a problem in the Motif
     libraries, get a patch from Sun.
@@ -3752,6 +3812,10 @@
                 << "y";
 9   "} else" causes following lines to be indented too much. (Rouben
     Rostamian, 2008 Aug 30)
+9   Wrapping a variable initialization should have extra indent:
+	char * veryLongName =
+		"very long string"
+    Also check if "cino=+10" is used correctly.
 8   Lisp indenting: "\\" confuses the indenter. (Dorai Sitaram, 2006 May 17)
 8   Why are continuation lines outside of a {} block not indented?  E.g.:
 	long_type foo =
@@ -4057,6 +4121,8 @@
     Use "&/" for searching the text in the Visual area?
 9   Add "v" offset: "/pat/v": search for pattern and start Visual mode on the
     matching text.
+8   Add a modifier to interpret a space like "\_s\+" to make it much easier to
+    search for a phrase.
 8   Add a mechanism for recursiveness: "\@(([^()]*\@g[^()]*)\)".  \@g stands
     for "go recursive here" and \@( \) marks the recursive part.
     Perl does it this way:
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 8342f76..d319a08 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -661,7 +661,14 @@
 	sqrt()			square root
 	sin()			sine
 	cos()			cosine
+	tan()			tangent
+	asin()			arc sine
+	acos()			arc cosine
 	atan()			arc tangent
+	atan2()			arc tangent
+	sinh()			hyperbolic sine
+	cosh()			hyperbolic cosine
+	tanh()			hyperbolic tangent
 
 Variables:						*var-functions*
 	type()			type of a variable
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index 3b3aa14..2fd3c20 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 7.3.  Last change: 2011 Feb 01
+*various.txt*   For Vim version 7.3.  Last change: 2011 Mar 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -133,14 +133,14 @@
 			specified with {range}, or around the current line
 			if there is no {range}.  If there is a {count}, that's
 			how many lines you'll see; if there is only one window
-			then the 'window' option is used, otherwise the
-			current window size is used.
+			then twice the value of the 'scroll' option is used,
+			otherwise the current window height minus 3 is used.
 
 			:z can be used either alone or followed by any of
 			several punctuation marks.  These have the following
 			effect:
 
-			mark   first line    last line      new location   ~
+			mark   first line    last line      new cursor line ~
 			----   ----------    ---------      ------------
 			+      current line  1 scr forward  1 scr forward
 			-      1 scr back    current line   current line
