diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt
index 063b7a5..0148330 100644
--- a/runtime/doc/change.txt
+++ b/runtime/doc/change.txt
@@ -1,4 +1,4 @@
-*change.txt*    For Vim version 7.3.  Last change: 2012 Jan 04
+*change.txt*    For Vim version 7.3.  Last change: 2012 Apr 25
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -80,8 +80,8 @@
 			(default: current line |cmdline-ranges|) [into
 			register x].
 
-These commands delete text.  You can repeat them with the "." command
-(except ":d") and undo them.  Use Visual mode to delete blocks of text.  See
+These commands delete text.  You can repeat them with the `.` command
+(except `:d`) and undo them.  Use Visual mode to delete blocks of text.  See
 |registers| for an explanation of registers.
 
 An exception for the d{motion} command: If the motion is not linewise, the
@@ -132,7 +132,7 @@
 			See |ex-flags| for [flags].
 
 These commands delete the <EOL> between lines.  This has the effect of joining
-multiple lines into one line.  You can repeat these commands (except ":j") and
+multiple lines into one line.  You can repeat these commands (except `:j`) and
 undo them.
 
 These commands, except "gJ", insert one space in place of the <EOL> unless
@@ -465,9 +465,9 @@
 made out of spaces with the same indent made out of <Tab>s (and a few spaces
 if necessary).  If the 'expandtab' option is on, Vim uses only spaces.  Then
 you can use ">><<" to replace <Tab>s in the indent by spaces (or use
-":retab!").
+`:retab!`).
 
-To move a line several 'shiftwidth's, use Visual mode or the ":" commands.
+To move a line several 'shiftwidth's, use Visual mode or the `:` commands.
 For example: >
 	Vjj4>		move three lines 4 indents to the right
 	:<<<		move current line 3 indents to the left
@@ -487,7 +487,7 @@
 works like a filter; not all versions do).  The 'shell' option specifies the
 shell Vim uses to execute the filter command (See also the 'shelltype'
 option).  You can repeat filter commands with ".".  Vim does not recognize a
-comment (starting with '"') after the ":!" command.
+comment (starting with '"') after the `:!` command.
 
 							*!*
 !{motion}{filter}	Filter {motion} text lines through the external
@@ -574,34 +574,34 @@
 			Repeat last :substitute with same search pattern and
 			substitute string, but without the same flags.  You
 			may add [flags], see |:s_flags|.
-			Note that after ":substitute" the '&' flag can't be
+			Note that after `:substitute` the '&' flag can't be
 			used, it's recognized as a pattern separator.
-			The space between ":substitute" and the 'c', 'g' and
+			The space between `:substitute` and the 'c', 'g' and
 			'r' flags isn't required, but in scripts it's a good
 			idea to keep it to avoid confusion.
 
 :[range]~[&][flags] [count]					*:~*
 			Repeat last substitute with same substitute string
 			but with last used search pattern.  This is like
-			":&r".  See |:s_flags| for [flags].
+			`:&r`.  See |:s_flags| for [flags].
 
 								*&*
-&			Synonym for ":s" (repeat last substitute).  Note
+&			Synonym for `:s` (repeat last substitute).  Note
 			that the flags are not remembered, thus it might
-			actually work differently.  You can use ":&&" to keep
+			actually work differently.  You can use `:&&` to keep
 			the flags.
 
 								*g&*
-g&			Synonym for ":%s//~/&" (repeat last substitute on all
+g&			Synonym for `:%s//~/&` (repeat last substitute on all
 			lines with the same flags).
 			Mnemonic: global substitute. {not in Vi}
 
 						*:snomagic* *:sno*
-:[range]sno[magic] ...	Same as ":substitute", but always use 'nomagic'.
+:[range]sno[magic] ...	Same as `:substitute`, but always use 'nomagic'.
 			{not in Vi}
 
 						*:smagic* *:sm*
-:[range]sm[agic] ...	Same as ":substitute", but always use 'magic'.
+:[range]sm[agic] ...	Same as `:substitute`, but always use 'magic'.
 			{not in Vi}
 
 							*:s_flags*
@@ -611,7 +611,7 @@
 	command.  Examples: >
 		:&&
 		:s/this/that/&
-<	Note that ":s" and ":&" don't keep the flags.
+<	Note that `:s` and `:&` don't keep the flags.
 	{not in Vi}
 
 [c]	Confirm each substitution.  Vim highlights the matching string (with
@@ -667,14 +667,14 @@
 
 [l]	Like [p] but print the text like |:list|.
 
-[r]	Only useful in combination with ":&" or ":s" without arguments.  ":&r"
-	works the same way as ":~":  When the search pattern is empty, use the
+[r]	Only useful in combination with `:&` or `:s` without arguments.  `:&r`
+	works the same way as `:~`:  When the search pattern is empty, use the
 	previously used search pattern instead of the search pattern from the
-	last substitute or ":global".  If the last command that did a search
-	was a substitute or ":global", there is no effect.  If the last
+	last substitute or `:global`.  If the last command that did a search
+	was a substitute or `:global`, there is no effect.  If the last
 	command was a search command such as "/", use the pattern from that
 	command.
-	For ":s" with an argument this already happens: >
+	For `:s` with an argument this already happens: >
 		:s/blue/red/
 		/green
 		:s//red/   or  :~   or  :&r
@@ -691,9 +691,9 @@
 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.  If there is none, but
+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 uses the pattern from the last substitute, `:global`, or search
 command.
 
 If the {string} is omitted the substitute is done as if it's empty.  Thus the
@@ -848,7 +848,7 @@
 
 
 4.4 Changing tabs					*change-tabs*
-							*:ret* *:retab*
+							*:ret* *:retab* *:retab!*
 :[range]ret[ab][!] [new_tabstop]
 			Replace all sequences of white-space containing a
 			<Tab> with new strings of white-space using the new
@@ -867,7 +867,7 @@
 			Careful: This command modifies any <Tab> characters
 			inside of strings in a C program.  Use "\t" to avoid
 			this (that's a good habit anyway).
-			":retab!" may also change a sequence of spaces by
+			`:retab!` may also change a sequence of spaces by
 			<Tab> characters, which can mess up a printf().
 			{not in Vi}
 			Not available when |+ex_extra| feature was disabled at
@@ -977,8 +977,12 @@
 			current line).  This always works |linewise|, thus
 			this command can be used to put a yanked block as new
 			lines.
-			The cursor is left on the first non-blank in the last
-			new line.
+			If no register is specified, it depends on the 'cb'
+			option: If 'cb' contains "unnamedplus", paste from the
+			+ register |quoteplus|.  Otherwise, if 'cb' contains
+			"unnamed", paste from the * register |quote_star|.
+			Otherwise, paste from the unnamed register
+			|quote_quote|.
 			The register can also be '=' followed by an optional
 			expression.  The expression continues until the end of
 			the command.  You need to escape the '|' and '"'
@@ -1183,7 +1187,7 @@
 
 9. Last search pattern register	"/			*quote_/* *quote/*
 Contains the most recent search-pattern.  This is used for "n" and 'hlsearch'.
-It is writable with ":let", you can change it to have 'hlsearch' highlight
+It is writable with `:let`, you can change it to have 'hlsearch' highlight
 other matches without actually searching.  You can't yank or delete into this
 register.  The search direction is available in |v:searchforward|.
 Note that the valued is restored when returning from a function
@@ -1191,12 +1195,12 @@
 {not in Vi}
 
 							*@/*
-You can write to a register with a ":let" command |:let-@|.  Example: >
+You can write to a register with a `:let` command |:let-@|.  Example: >
 	:let @/ = "the"
 
 If you use a put command without specifying a register, Vim uses the register
 that was last filled (this is also the contents of the unnamed register).  If
-you are confused, use the ":dis" command to find out what Vim will put (this
+you are confused, use the `:dis` command to find out what Vim will put (this
 command displays all named and numbered registers; the unnamed register is
 labelled '"').
 
@@ -1555,7 +1559,7 @@
 	:set fo=tcrq
 <
 
-Automatic formatting					*auto-format*
+Automatic formatting				*auto-format* *autoformat*
 
 When the 'a' flag is present in 'formatoptions' text is formatted
 automatically when inserting text or deleting text.  This works nice for
@@ -1664,7 +1668,7 @@
 			last search pattern is used.  This allows trying out
 			a pattern first.
 
-Note that using ":sort" with ":global" doesn't sort the matching lines, it's
+Note that using `:sort` with `:global` doesn't sort the matching lines, it's
 quite useless.
 
 The details about sorting depend on the library function used.  There is no
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 73ea05e..be31f44 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 Apr 13
+*eval.txt*	For Vim version 7.3.  Last change: 2012 Apr 25
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1544,15 +1544,18 @@
 
 					*v:progname* *progname-variable*
 v:progname	Contains the name (with path removed) with which Vim was
-		invoked.  Allows you to do special initialisations for "view",
-		"evim" etc., or any other name you might symlink to Vim.
+		invoked.  Allows you to do special initialisations for |view|,
+		|evim| etc., or any other name you might symlink to Vim.
 		Read-only.
 
 					*v:register* *register-variable*
 v:register	The name of the register in effect for the current normal mode
-		command.  If none is supplied it is the default register '"',
-		unless 'clipboard' contains "unnamed" or "unnamedplus", then
-		it is '*' or '+'.
+		command (regardless of whether that command actually used a
+		register).  Or for the currently executing normal mode mapping
+		(use this in custom commands that take a register).
+		If none is supplied it is the default register '"', unless
+		'clipboard' contains "unnamed" or "unnamedplus", then it is
+		'*' or '+'.
 		Also see |getreg()| and |setreg()|
 
 					*v:scrollstart* *scrollstart-variable*
@@ -1844,6 +1847,7 @@
 localtime()			Number	current time
 log( {expr})			Float	natural logarithm (base e) of {expr}
 log10( {expr})			Float	logarithm of Float {expr} to base 10
+luaeval( {expr}[, {expr}])	any	evaluate |Lua| expression
 map( {expr}, {string})		List/Dict  change each item in {expr} to {expr}
 maparg( {name}[, {mode} [, {abbr} [, {dict}]]])
 				String or Dict
@@ -3997,6 +4001,20 @@
 <			-2.0
 		{only available when compiled with the |+float| feature}
 		
+luaeval({expr}[, {expr}])					*luaeval()*
+		Evaluate Lua expression {expr} and return its result converted 
+		to Vim data structures. Second {expr} may hold additional 
+		argument accessible as _A inside first {expr}.
+		Strings are returned as they are.
+		Boolean objects are converted to numbers.
+		Numbers are converted to |Float| values if vim was compiled 
+		with |+float| and to numbers otherwise.
+		Dictionaries and lists obtained by vim.eval() are returned 
+		as-is.
+		Other objects are returned as zero without any errors.
+		See |lua-luaeval| for more details.
+		{only available when compiled with the |+lua| feature}
+
 map({expr}, {string})					*map()*
 		{expr} must be a |List| or a |Dictionary|.
 		Replace each item in {expr} with the result of evaluating
@@ -4321,7 +4339,7 @@
 
 mzeval({expr})							*mzeval()*
 		Evaluate MzScheme expression {expr} and return its result
-		convert to Vim data structures.
+		converted to Vim data structures.
 		Numbers and strings are returned as they are.
 		Pairs (including lists and improper lists) and vectors are
 		returned as Vim |Lists|.
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 030f0de..d8fa408 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.3.  Last change: 2012 Apr 05
+*insert.txt*    For Vim version 7.3.  Last change: 2012 Apr 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -383,8 +383,11 @@
 beware of the cursor possibly being beyond the end of the line.
 
 The CTRL-O command takes you to Normal mode.  If you then use a command enter
-Insert mode again it doesn't nest.  Thus when typing "a<C-O>a" and then <Esc>
-takes you back to Normal mode, you do not need to type <Esc> twice.
+Insert mode again it normally doesn't nest.  Thus when typing "a<C-O>a" and
+then <Esc> takes you back to Normal mode, you do not need to type <Esc> twice.
+An exception is when not typing the command, e.g. when executing a mapping or
+sourcing a script.  This makes mappings work that briefly switch to Insert
+mode.
 
 The shifted cursor keys are not available on all terminals.
 
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index f6db8f7..23eed7e 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -2721,7 +2721,14 @@
 prefer that spell checking be disabled in comments in LaTeX files.  To do
 this, put the following in your <.vimrc>: >
       let g:tex_comment_nospell= 1
-<
+The comment lines >
+	% nospell{
+	...
+	% nospell}
+will suppress spell checking between them.  These comment lines spelling
+control are known to be fragile; for example, don't include any of the section
+commands (\part, \chapter, \section, \paragraph, etc) inside nospell blocks
+or interleave environments (such as math) across nospell blocks.
 								*tex-verb*
  Tex: Want Spell Checking in Verbatim Zones?~
 
@@ -2828,6 +2835,7 @@
 following sets of characters: >
 
 	a = accents/ligatures
+	b = bold and italic
 	d = delimiters
 	m = math symbols
 	g = Greek
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 0e5bacd..119fdf5 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -2617,6 +2617,7 @@
 :resize	windows.txt	/*:resize*
 :ret	change.txt	/*:ret*
 :retab	change.txt	/*:retab*
+:retab!	change.txt	/*:retab!*
 :retu	eval.txt	/*:retu*
 :return	eval.txt	/*:return*
 :rew	editing.txt	/*:rew*
@@ -4745,6 +4746,7 @@
 autocommand	autocmd.txt	/*autocommand*
 autocommand-events	autocmd.txt	/*autocommand-events*
 autocommand-pattern	autocmd.txt	/*autocommand-pattern*
+autoformat	change.txt	/*autoformat*
 autoload	eval.txt	/*autoload*
 autoload-functions	eval.txt	/*autoload-functions*
 avoid-hit-enter	version5.txt	/*avoid-hit-enter*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index b7170b3..7ee7b36 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 Apr 13
+*todo.txt*      For Vim version 7.3.  Last change: 2012 Apr 25
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -43,18 +43,22 @@
 Stack trace of crash: http://vpaste.net/GBt9S
 (Alexandre Provencio)
 
-":help!" gives error, should use current language. (thinkca, 2012 Apr 1)
-
 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'.
 
 GTK: problem with 'L' in 'guioptions' changing the window width.
 (Aaron Cornelius, 2012 Feb 6)
 
+Patch: home_replace() does not work whtn 8.3 filename. (Yasuhiro
+Matsumoto, 2012 Apr 18)  Asked for another version of the patch.
+
 Win32: When a directory name contains an exclamation mark, completion doesn't
 complete the contents of the directory.  No escaping for the "!"? (Jan
 Stocker, 2012 Jan 5)
 
+Patch for crash involving curwin->w_s. (Christian Brabandt, 2012 Apr 20)
+What is the cause?  Leaks memory?  Other solution?
+
 Issue 54: document behavior of -complete, also expands arg.
 
 Syntax update problem in one buffer opened in two windows, bottom window is
@@ -76,15 +80,6 @@
 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
-overwritten. (Felipe G. Nievinski, 2011 Dec 22)
-
-Docs fix for v:register. (Ingo Karkat, 2011 Sep 26, 27)
-v:register doesn't work exactly as expected. (David Fishburn, 2011 Sep 20)
-
-Patch for: vimgrep fails when 'autochdir' is set. (Ben Fritz, 2012 Feb 4)
-
 Patch for: (Christian Brabandt, 2011 Aug 22)
 -   Make it possible to enter "r<C-E>" and "r<C-Y>" (get character from line
     below/above).
@@ -105,6 +100,10 @@
 Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
 2012 Mar 21, update Mar 31)
 
+Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
+
+Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
+
 Use a count before "v" and "V" to select that many characters or lines?
 (Kikyous)
 
@@ -114,6 +113,9 @@
 Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
 And one for gui_x11.txt.
 
+Patch for Python: add pyeval()(zyx, 2012 Apr 15, update Apr 16)
+Also changes for Lua.  Update Apr 19.  Update Apr 22.
+
 ":cd" doesn't work when current directory path contains "**".
 finddir() has the same problem.  (Yukihiro Nakadaira, 2012 Jan 10)
 Requires a rewrite of the file_file_in_path code.
@@ -362,6 +364,7 @@
 properly, Prepend "ENC==={value of 'enc'}:" to the text and don't convert?
 Then it should at least work from Vim to Vim and in other applications it's
 clear why it doesn't work.
+Experimental patch by Christian Brabandt, 2012 Apr 19.
 
 Editing a file with a ^M with 'ff' set to "mac", opening a help file, then the
 ^M is displayed as ^J sometimes.  Getting 'ff' value from wrong window/buffer?
