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?
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index 9eda334..7ed7d57 100644
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2012 Apr 13
+" Last Change:	2012 Apr 18
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -1267,7 +1267,7 @@
 au BufNewFile,BufRead *.nqc			setf nqc
 
 " NSIS
-au BufNewFile,BufRead *.nsi			setf nsis
+au BufNewFile,BufRead *.nsi,*.nsh		setf nsis
 
 " OCAML
 au BufNewFile,BufRead *.ml,*.mli,*.mll,*.mly,.ocamlinit	setf ocaml
diff --git a/runtime/ftplugin/docbk.vim b/runtime/ftplugin/docbk.vim
index 11cb323..cbceb6b 100644
--- a/runtime/ftplugin/docbk.vim
+++ b/runtime/ftplugin/docbk.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	    DocBook
 " Maintainer:	    Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2010-10-14
+" Latest Revision:  2012-04-25
 
 if exists('b:did_ftplugin')
   finish
@@ -20,3 +20,5 @@
 else
   runtime! ftplugin/xml.vim ftplugin/xml_*.vim ftplugin/xml/*.vim
 endif
+
+let b:undo_ftplugin = "unlet! b:docbk_type"
diff --git a/runtime/ftplugin/dosbatch.vim b/runtime/ftplugin/dosbatch.vim
index 6e581e7..7662896 100644
--- a/runtime/ftplugin/dosbatch.vim
+++ b/runtime/ftplugin/dosbatch.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:    MS-DOS .bat files
 " Maintainer:  Mike Williams <mrw@eandem.co.uk>
-" Last Change: 27th May 2009
+" Last Change: 24th April 2012
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -19,3 +19,6 @@
 if has("gui_win32") && !exists("b:browsefilter")
   let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
 endif
+
+let b:undo_ftplugin = "setlocal comments< formatoptions<"
+    \ . "| unlet! b:browsefiler"
diff --git a/runtime/ftplugin/fortran.vim b/runtime/ftplugin/fortran.vim
index 948e216..110dab3 100644
--- a/runtime/ftplugin/fortran.vim
+++ b/runtime/ftplugin/fortran.vim
@@ -1,11 +1,12 @@
 " Vim settings file
-" Language:	Fortran90 (and Fortran95, Fortran77, F and elf90)
-" Version:	0.47
-" Last Change:	2011 December 28
+" Language:	Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
+" Version:	0.48
+" Last Change:	2012 Apr. 18
 " Maintainer:	Ajit J. Thakkar <ajit@unb.ca>; <http://www.unb.ca/chem/ajit/>
 " Usage:	Do :help fortran-plugin from Vim
 " Credits:
-" Useful suggestions were made by Stefano Zacchiroli and Hendrik Merx.
+" Useful suggestions were made by Stefano Zacchiroli, Hendrik Merx, and Ben
+" Fritz.
 
 " Only do these settings when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -28,7 +29,7 @@
     " User guarantees fixed source form
     let b:fortran_fixed_source = 1
   else
-    " f90 and f95 allow both fixed and free source form
+    " Modern Fortran allows both fixed and free source form
     " assume fixed source form unless signs of free source form
     " are detected in the first five columns of the first s:lmax lines
     " Detection becomes more accurate and time-consuming if more lines
@@ -79,7 +80,7 @@
 setlocal fo+=tcql
 
 setlocal include=^\\c#\\=\\s*include\\s\\+
-setlocal suffixesadd+=.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
+setlocal suffixesadd+=.f08,.f03,.f95,.f90,.for,.f,.F,.f77,.ftn,.fpp
 
 " Define patterns for the matchit plugin
 if !exists("b:match_words")
@@ -89,6 +90,7 @@
   let s:notprocedure = '\%(\s\+procedure\>\)\@!'
   let b:match_ignorecase = 1
   let b:match_words =
+    \ '(:),' .
     \ '\<select\s*case\>:' . s:notselect. '\<case\>:\<end\s*select\>,' .
     \ s:notelse . '\<if\s*(.\+)\s*then\>:' .
     \ '\<else\s*\%(if\s*(.\+)\s*then\)\=\>:\<end\s*if\>,'.
@@ -96,6 +98,9 @@
     \ s:notend . '\<do\>:\<end\s*do\>,'.
     \ s:notelse . '\<where\>:\<elsewhere\>:\<end\s*where\>,'.
     \ s:notend . '\<type\s*[^(]:\<end\s*type\>,'.
+    \ s:notend . '\<forall\>:\<end\s*forall\>,'.
+    \ s:notend . '\<associate\>:\<end\s*associate\>,'.
+    \ s:notend . '\<enum\>:\<end\s*enum\>,'.
     \ s:notend . '\<interface\>:\<end\s*interface\>,'.
     \ s:notend . '\<subroutine\>:\<end\s*subroutine\>,'.
     \ s:notend . '\<function\>:\<end\s*function\>,'.
@@ -105,7 +110,7 @@
 
 " File filters for :browse e
 if has("gui_win32") && !exists("b:browsefilter")
-  let b:browsefilter = "Fortran Files (*.f;*.F;*.for;*.f77;*.f90;*.f95;*.fpp;*.ftn)\t*.f;*.F;*.for;*.f77;*.f90;*.f95;*.fpp;*.ftn\n" .
+  let b:browsefilter = "Fortran Files (*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn)\t*.f;*.for;*.f77;*.f90;*.f95;*.f03;*.f08;*.fpp;*.ftn\n" .
     \ "All Files (*.*)\t*.*\n"
 endif
 
diff --git a/runtime/ftplugin/postscr.vim b/runtime/ftplugin/postscr.vim
index f7c96a2..505f08f 100644
--- a/runtime/ftplugin/postscr.vim
+++ b/runtime/ftplugin/postscr.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	PostScript
 " Maintainer:	Mike Williams <mrw@eandem.co.uk>
-" Last Change:  16th January 2012
+" Last Change:  24th April 2012
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -33,3 +33,6 @@
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
+
+let b:undo_ftplugin = "setlocal comments< formatoptions<"
+    \ . "| unlet! b:browsefiler b:match_ignorecase b:match_words"
diff --git a/runtime/syntax/dircolors.vim b/runtime/syntax/dircolors.vim
index 7a0b1e8..fe1fcae 100644
--- a/runtime/syntax/dircolors.vim
+++ b/runtime/syntax/dircolors.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         dircolors(1) input file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-06-23
+" Latest Revision:  2012-04-25
 
 if exists("b:current_syntax")
   finish
@@ -17,6 +17,8 @@
 syn keyword dircolorsKeyword    TERM LEFT LEFTCODE RIGHT RIGHTCODE END ENDCODE
 
 syn keyword dircolorsKeyword    NORMAL NORM FILE DIR LNK LINK SYMLINK ORPHAN
+                                \ RESET MULTIHARDLINK CAPABILITY SETUID SETGID
+                                \ STICKY STICKY_OTHER_WRITABLE OTHER_WRITABLE 
                                 \ MISSING FIFO PIPE SOCK BLK BLOCK CHR CHAR
                                 \ DOOR EXEC
                                 \ nextgroup=@dircolorsColors skipwhite
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index 6bd8dd0..ddaad89 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Vim help file
 " Maintainer:	Bram Moolenaar (Bram@vim.org)
-" Last Change:	2012 Jan 08
+" Last Change:	2012 Apr 25
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -38,6 +38,7 @@
 syn match helpVim		"VIM REFERENCE.*"
 syn match helpOption		"'[a-z]\{2,\}'"
 syn match helpOption		"'t_..'"
+syn match helpCommand		"`[^` ]*`"hs=s+1,he=e-1
 syn match helpHeader		"\s*\zs.\{-}\ze\s\=\~$" nextgroup=helpIgnore
 syn match helpGraphic		".* \ze`$" nextgroup=helpIgnore
 if has("conceal")
@@ -155,6 +156,7 @@
 hi def link helpHeader		PreProc
 hi def link helpSectionDelim	PreProc
 hi def link helpVim		Identifier
+hi def link helpCommand		Comment
 hi def link helpExample		Comment
 hi def link helpOption		Type
 hi def link helpNotVi		Special
diff --git a/runtime/syntax/readline.vim b/runtime/syntax/readline.vim
index 06306d5..091722e 100644
--- a/runtime/syntax/readline.vim
+++ b/runtime/syntax/readline.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         readline(3) configuration file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2011-05-02
+" Latest Revision:  2012-04-25
 "   readline_has_bash - if defined add support for bash specific
 "                       settings/functions
 
@@ -256,7 +256,7 @@
                               \ possible-completions
                               \ insert-completions
                               \ menu-complete
-                              \ menu-complete-or-backward
+                              \ menu-complete-backward
                               \ delete-char-or-list
                               \
                               \ start-kbd-macro
diff --git a/runtime/syntax/sas.vim b/runtime/syntax/sas.vim
index 976dca2..dc70e1f 100644
--- a/runtime/syntax/sas.vim
+++ b/runtime/syntax/sas.vim
@@ -1,7 +1,9 @@
 " Vim syntax file
 " Language:	SAS
 " Maintainer:	James Kidd <james.kidd@covance.com>
-" Last Change:  18 Jul 2008 by Paulo Tanimoto <ptanimoto@gmail.com>
+" Last Change:  2012 Apr 20
+"               Corrected bug causing some keywords to appear as strings instead
+"               18 Jul 2008 by Paulo Tanimoto <ptanimoto@gmail.com>
 "               Fixed comments with * taking multiple lines.
 "               Fixed highlighting of macro keywords.
 "               Added words to cases that didn't fit anywhere.
@@ -211,16 +213,7 @@
 
 " These don't fit anywhere else (Bob Heckel).
 " Added others that were missing.
-syn match sasUnderscore	"_ALL_"
-syn match sasUnderscore "_AUTOMATIC_"
-syn match sasUnderscore	"_CHARACTER_"
-syn match sasUnderscore	"_INFILE_"
-syn match sasUnderscore	"_N_"
-syn match sasUnderscore "_NAME_"
-syn match sasUnderscore	"_NULL_"
-syn match sasUnderscore	"_NUMERIC_"
-syn match sasUnderscore "_USER_"
-syn match sasUnderscore	"_WEBOUT_"
+syn keyword sasUnderscore	_ALL_ _AUTOMATIC_ _CHARACTER_ _INFILE_ _N_ _NAME_ _NULL_ _NUMERIC_ _USER_ _WEBOUT_
 
 " End of SAS Functions
 
diff --git a/runtime/syntax/svn.vim b/runtime/syntax/svn.vim
index c649430..fc0e211 100644
--- a/runtime/syntax/svn.vim
+++ b/runtime/syntax/svn.vim
@@ -2,13 +2,14 @@
 " Language:     Subversion (svn) commit file
 " Maintainer:   Dmitry Vasiliev <dima at hlabs dot org>
 " URL:          https://github.com/hdima/vim-scripts/blob/master/syntax/svn.vim
-" Last Change:  2012-02-11
+" Last Change:  2012-04-15
 " Filenames:    svn-commit*.tmp
-" Version:      1.7
+" Version:      1.8
 
 " Contributors:
 "   Stefano Zacchiroli
 "   A. S. Budden
+"   Myk Taylor
 
 " For version 5.x: Clear all syntax items.
 " For version 6.x: Quit when a syntax file was already loaded.
@@ -20,9 +21,10 @@
 
 syn region svnRegion    start="^--.*--$" end="\%$" contains=ALL contains=@NoSpell
 syn match svnRemoved    "^D    .*$" contained
-syn match svnAdded      "^A[ M]   .*$" contained
-syn match svnModified   "^M[ M]   .*$" contained
-syn match svnProperty   "^_M   .*$" contained
+syn match svnRenamed    "^R[ M][ U][ +] .*$" contained
+syn match svnAdded      "^A[ M][ U][ +] .*$" contained
+syn match svnModified   "^M[ M][ U]  .*$" contained
+syn match svnProperty   "^_M[ U]  .*$" contained
 
 " Synchronization.
 syn sync clear
@@ -44,6 +46,7 @@
   HiLink svnAdded       Identifier
   HiLink svnModified    Special
   HiLink svnProperty    Special
+  HiLink svnRenamed     Special
 
   delcommand HiLink
 endif
diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim
index a324304..0eeff6f 100644
--- a/runtime/syntax/tex.vim
+++ b/runtime/syntax/tex.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	TeX
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrchipO@ScampbellPfamily.AbizM>
-" Last Change:	Jan 10, 2012
-" Version:	72
+" Last Change:	Apr 24, 2012
+" Version:	73
 " URL:		http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
 "
 " Notes: {{{1
@@ -59,7 +59,7 @@
 " let user determine which classes of concealment will be supported
 "   a=accents/ligatures d=delimiters m=math symbols  g=Greek  s=superscripts/subscripts
 if !exists("g:tex_conceal")
- let s:tex_conceal= 'admgs'
+ let s:tex_conceal= 'abdmgs'
 else
  let s:tex_conceal= g:tex_conceal
 endif
@@ -109,12 +109,14 @@
 
 " Clusters: {{{1
 " --------
-syn cluster texCmdGroup		contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texSectionMarker,texSectionName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle
+syn cluster texCmdGroup		contains=texCmdBody,texComment,texDefParm,texDelimiter,texDocType,texInput,texLength,texLigature,texMathDelim,texMathOper,texNewCmd,texNewEnv,texRefZone,texSection,texBeginEnd,texBeginEndName,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle
 if !exists("g:tex_no_error")
  syn cluster texCmdGroup	add=texMathError
 endif
 syn cluster texEnvGroup		contains=texMatcher,texMathDelim,texSpecialChar,texStatement
-syn cluster texFoldGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texSectionMarker,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract
+syn cluster texFoldGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texItalStyle,texNoSpell
+syn cluster texBoldGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texBoldStyle,texBoldItalStyle,texNoSpell
+syn cluster texItalGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texInputFile,texLength,texLigature,texMatcher,texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ,texNewCmd,texNewEnv,texOnlyMath,texOption,texParen,texRefZone,texSection,texBeginEnd,texSectionZone,texSpaceCode,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,@texMathZones,texTitle,texAbstract,texItalStyle,texItalBoldStyle,texNoSpell
 if !exists("g:tex_nospell") || !g:tex_nospell
  syn cluster texMatchGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,@Spell
  syn cluster texStyleGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,@Spell,texStyleMatcher
@@ -122,6 +124,7 @@
  syn cluster texMatchGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
  syn cluster texStyleGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption,texStyleStatement,texStyleMatcher
 endif
+syn cluster texPreambleMatchGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
 syn cluster texRefGroup		contains=texMatcher,texComment,texDelimiter
 if !exists("tex_no_math")
  syn cluster texMathZones	contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
@@ -170,7 +173,6 @@
   syn match  texMathError	"}"	contained
  endif
  syn region texMathMatcher	matchgroup=Delimiter	start="{"          skip="\\\\\|\\}"     end="}" end="%stopzone\>"	contained contains=@texMathMatchGroup
-" syn region texMathMatcher	matchgroup=Unique	start="[^\\]\zs{"  skip="\\\\\|\\[{}]"  end="}" end="%stopzone\>"	contained contains=@texMathMatchGroup
 endif
 
 " TeX/LaTeX keywords: {{{1
@@ -191,7 +193,7 @@
 syn match texDelimiter		"[{}]"
 
 " Tex/Latex Options: {{{1
-syn match texOption	"[^\\]\zs#\d\+\|^#\d\+"
+syn match texOption		"[^\\]\zs#\d\+\|^#\d\+"
 
 " texAccent (tnx to Karim Belabas) avoids annoying highlighting for accents: {{{1
 if b:tex_stylish
@@ -207,17 +209,17 @@
 syn match texLigature		"\\\([ijolL]\|ae\|oe\|ss\|AA\|AE\|OE\)$"
 
 " \begin{}/\end{} section markers: {{{1
-syn match  texSectionMarker	"\\begin\>\|\\end\>" nextgroup=texSectionName
-syn region texSectionName	matchgroup=Delimiter start="{" end="}"  contained	nextgroup=texSectionModifier	contains=texComment
-syn region texSectionModifier	matchgroup=Delimiter start="\[" end="]" contained	contains=texComment
+syn match  texBeginEnd		"\\begin\>\|\\end\>" nextgroup=texBeginEndName
+syn region texBeginEndName	matchgroup=Delimiter	start="{"		end="}"	contained	nextgroup=texBeginEndModifier	contains=texComment
+syn region texBeginEndModifier	matchgroup=Delimiter	start="\["		end="]"	contained	contains=texComment,@NoSpell
 
 " \documentclass, \documentstyle, \usepackage: {{{1
-syn match  texDocType		"\\documentclass\>\|\\documentstyle\>\|\\usepackage\>"	nextgroup=texSectionName,texDocTypeArgs
-syn region texDocTypeArgs	matchgroup=Delimiter start="\[" end="]"			contained	nextgroup=texSectionName	contains=texComment
+syn match  texDocType		"\\documentclass\>\|\\documentstyle\>\|\\usepackage\>"	nextgroup=texBeginEndName,texDocTypeArgs
+syn region texDocTypeArgs	matchgroup=Delimiter start="\[" end="]"			contained	nextgroup=texBeginEndName	contains=texComment,@NoSpell
 
 " Preamble syntax-based folding support: {{{1
 if g:tex_fold_enabled && has("folding")
- syn region texPreamble	transparent fold	start='\zs\\documentclass\>' end='\ze\\begin{document}'	contains=texStyle,@texMatchGroup
+ syn region texPreamble	transparent fold	start='\zs\\documentclass\>' end='\ze\\begin{document}'	contains=texStyle,@texPreambleMatchGroup
 endif
 
 " TeX input: {{{1
@@ -238,8 +240,10 @@
 syn match texTypeStyle		"\\tt\>"
 
 " Type Styles: attributes, commands, families, etc (LaTeX2E): {{{1
-syn match texTypeStyle		"\\textbf\>"
-syn match texTypeStyle		"\\textit\>"
+if s:tex_conceal !~ 'b'
+ syn match texTypeStyle		"\\textbf\>"
+ syn match texTypeStyle		"\\textit\>"
+endif
 syn match texTypeStyle		"\\textmd\>"
 syn match texTypeStyle		"\\textrm\>"
 syn match texTypeStyle		"\\textsc\>"
@@ -339,6 +343,14 @@
  endif
 endif
 
+" particular support for bold and italic {{{1
+if s:tex_conceal =~ 'b'
+ syn region texBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
+ syn region texBoldItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
+ syn region texItalStyle	matchgroup=texTypeStyle start="\\textit\s*{" end="}" concealends contains=@texItalGroup
+ syn region texItalBoldStyle	matchgroup=texTypeStyle start="\\textbf\s*{" end="}" concealends contains=@texBoldGroup
+endif
+
 " Bad Math (mismatched): {{{1
 if !exists("tex_no_math")
  syn match texBadMath		"\\end\s*{\s*\(array\|gathered\|bBpvV]matrix\|split\|subequations\|smallmatrix\|xxalignat\)\s*}"
@@ -499,10 +511,12 @@
   if g:tex_fold_enabled
    " allows syntax-folding of 2 or more contiguous comment lines
    " single-line comments are not folded
-   syn match  texComment	"%.*$"		contains=@texCommentGroup
+   syn match  texComment	"%.*$"			contains=@texCommentGroup
    syn region texComment	start="^\zs\s*%.*\_s*%"	skip="^\s*%"	end='^\ze\s*[^%]' fold
+   syn region texNoSpell	contained fold		matchgroup=texComment start="%\s*nospell\s*{"	end="%\s*nospell\s*}"	contains=@texFoldGroup,@NoSpell
   else
-   syn match texComment		"%.*$"		contains=@texCommentGroup
+   syn match texComment		"%.*$"			contains=@texCommentGroup
+   syn region texNoSpell	contained		matchgroup=texComment start="%\s*nospell\s*{"	end="%\s*nospell\s*}"	contains=@texFoldGroup,@NoSpell
   endif
 endif
 
@@ -513,10 +527,6 @@
  syn region texZone		start="\\begin{[vV]erbatim}"		end="\\end{[vV]erbatim}\|%stopzone\>"	contains=@Spell
  " listings package:
  syn region texZone		start="\\begin{lstlisting}"		end="\\end{lstlisting}\|%stopzone\>"	contains=@Spell
- " moreverb package:
- syn region texZone		start="\\begin{verbatimtab}"		end="\\end{verbatimtab}\|%stopzone\>"	contains=@Spell
- syn region texZone		start="\\begin{verbatimwrite}"		end="\\end{verbatimwrite}\|%stopzone\>"	contains=@Spell
- syn region texZone		start="\\begin{boxedverbatim}"		end="\\end{boxedverbatim}\|%stopzone\>"	contains=@Spell
  if version < 600
   syn region texZone		start="\\verb\*\=`"			end="`\|%stopzone\>"			contains=@Spell
   syn region texZone		start="\\verb\*\=#"			end="#\|%stopzone\>"			contains=@Spell
@@ -529,12 +539,6 @@
  endif
 else
  syn region texZone		start="\\begin{[vV]erbatim}"		end="\\end{[vV]erbatim}\|%stopzone\>"
- " listings package:
- syn region texZone		start="\\begin{lstlisting}"		end="\\end{lstlisting}\|%stopzone\>"
- " moreverb package:
- syn region texZone		start="\\begin{verbatimtab}"		end="\\end{verbatimtab}\|%stopzone\>"
- syn region texZone		start="\\begin{verbatimwrite}"		end="\\end{verbatimwrite}\|%stopzone\>"
- syn region texZone		start="\\begin{boxedverbatim}"		end="\\end{boxedverbatim}\|%stopzone\>"
  if version < 600
   syn region texZone		start="\\verb\*\=`"			end="`\|%stopzone\>"
   syn region texZone		start="\\verb\*\=#"			end="#\|%stopzone\>"
@@ -1188,6 +1192,10 @@
    HiLink texError		Error
   endif
 
+  hi texBoldStyle		gui=bold	cterm=bold
+  hi texItalStyle		gui=italic	cterm=italic
+  hi texBoldItalStyle		gui=bold,italic cterm=bold,italic
+  hi texItalBoldStyle		gui=bold,italic cterm=bold,italic
   HiLink texCite		texRefZone
   HiLink texDefCmd		texDef
   HiLink texDefName		texDef
@@ -1215,8 +1223,8 @@
    HiLink texMathZoneV		texMath
    HiLink texMathZoneZ		texMath
   endif
-  HiLink texSectionMarker	texCmdName
-  HiLink texSectionName		texSection
+  HiLink texBeginEnd		texCmdName
+  HiLink texBeginEndName	texSection
   HiLink texSpaceCode		texStatement
   HiLink texStyleStatement	texStatement
   HiLink texTypeSize		texType
diff --git a/src/po/zh_CN.UTF-8.po b/src/po/zh_CN.UTF-8.po
index a2a11b6..419913a 100644
--- a/src/po/zh_CN.UTF-8.po
+++ b/src/po/zh_CN.UTF-8.po
@@ -241,9 +241,8 @@
 msgid " Tag completion (^]^N^P)"
 msgstr " Tag 补全 (^]^N^P)"
 
-#, fuzzy
-#~ msgid " Path pattern completion (^N^P)"
-#~ msgstr " 路径模式补全 (^N^P)"
+msgid " Path pattern completion (^N^P)"
+msgstr " 头文件模式补全 (^N^P)"
 
 msgid " Definition completion (^D^N^P)"
 msgstr " 定义补全 (^D^N^P)"
@@ -5284,7 +5283,7 @@
 
 #. must display the prompt
 msgid "No undo possible; continue anyway"
-msgstr "无法撤销；请继续"
+msgstr "无法撤销；仍然继续"
 
 msgid "Already at oldest change"
 msgstr "已位于最旧的改变"
@@ -5601,13 +5600,13 @@
 msgstr "输入  :help cp-default<Enter> 查看相关说明    "
 
 msgid "menu  Help->Orphans           for information    "
-msgstr "菜单  Help->Orphans           查看说明           "
+msgstr "菜单  帮助->孤儿           查看说明           "
 
 msgid "Running modeless, typed text is inserted"
 msgstr "无模式运行，输入文字即插入"
 
 msgid "menu  Edit->Global Settings->Toggle Insert Mode  "
-msgstr "菜单  Edit->Global Settings->Toggle Insert Mode  "
+msgstr "菜单  编辑->全局设定->开/关插入模式  "
 
 #, fuzzy
 #~ msgid "                              for two modes      "
