diff --git a/runtime/doc/editing.txt b/runtime/doc/editing.txt
index 17a8ca3..977a94d 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 Feb 26
+*editing.txt*   For Vim version 7.3.  Last change: 2012 Mar 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1159,8 +1159,10 @@
 							*:confirm* *:conf*
 :conf[irm] {command}	Execute {command}, and use a dialog when an
 			operation has to be confirmed.  Can be used on the
-			":q", ":qa" and ":w" commands (the latter to over-ride
-			a read-only setting).
+			|:q|, |:qa| and |:w| commands (the latter to override
+			a read-only setting), and any other command that can
+			fail in such a way, such as |:only|, |:buffer|,
+			|:bdelete|, etc.
 
 Examples: >
   :confirm w foo
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index ce4c41b..cb0dbc0 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 Mar 07
+*eval.txt*	For Vim version 7.3.  Last change: 2012 Mar 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3473,7 +3473,8 @@
 		matches, they are separated by <NL> characters.
 
 		If the expansion fails, the result is an empty String or List.
-		A name for a non-existing file is not included.
+		A name for a non-existing file is not included.  A symbolic
+		link is only included if it points to an existing file.
 
 		For most systems backticks can be used to get files names from
 		any external command.  Example: >
@@ -5779,9 +5780,9 @@
 		omitted the current tab page is used.
 		When {arg} is invalid the number zero is returned.
 		To get a list of all buffers in all tabs use this: >
-			tablist = []
+			let buflist = []
 			for i in range(tabpagenr('$'))
-			   call extend(tablist, tabpagebuflist(i + 1))
+			   call extend(buflist, tabpagebuflist(i + 1))
 			endfor
 <		Note that a buffer may appear in more than one window.
 
@@ -6003,7 +6004,7 @@
 		would be of unlimited width.  When there is a <Tab> at the
 		position, the returned Number will be the column at the end of
 		the <Tab>.  For example, for a <Tab> in column 1, with 'ts'
-		set to 8, it returns 8.
+		set to 8, it returns 8. |conceal| is ignored.
 		For the byte position use |col()|.
 		For the use of {expr} see |col()|.
 		When 'virtualedit' is used {expr} can be [lnum, col, off], where
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 23ac10a..2c79617 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.3.  Last change: 2012 Feb 22
+*options.txt*	For Vim version 7.3.  Last change: 2012 Mar 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3772,9 +3772,10 @@
 'highlight' 'hl'	string	(default (as a single string):
 				     "8:SpecialKey,@:NonText,d:Directory,
 				     e:ErrorMsg,i:IncSearch,l:Search,m:MoreMsg,
-				     M:ModeMsg,n:LineNr,r:Question,
-				     s:StatusLine,S:StatusLineNC,c:VertSplit,
-				     t:Title,v:Visual,w:WarningMsg,W:WildMenu,
+				     M:ModeMsg,n:LineNr,N:CursorLineNr,
+				     r:Question,s:StatusLine,S:StatusLineNC,
+				     c:VertSplit, t:Title,v:Visual,
+				     w:WarningMsg,W:WildMenu,
 				     f:Folded,F:FoldColumn,A:DiffAdd,
 				     C:DiffChange,D:DiffDelete,T:DiffText,
 				     >:SignColumn,B:SpellBad,P:SpellCap,
@@ -3800,6 +3801,7 @@
 	|hl-ModeMsg|	 M  Mode (e.g., "-- INSERT --")
 	|hl-LineNr|	 n  line number for ":number" and ":#" commands, and
 			    when 'number' or 'relativenumber' option is set.
+	|hl-CursorLineNr|  N like n for when 'cursorline' is set.
 	|hl-Question|	 r  |hit-enter| prompt and yes/no questions
 	|hl-StatusLine|	 s  status line of current window |status-line|
 	|hl-StatusLineNC| S  status lines of not-current windows
@@ -5078,7 +5080,8 @@
 	number.
 	When a long, wrapped line doesn't start with the first character, '-'
 	characters are put before the number.
-	See |hl-LineNr| for the highlighting used for the number.
+	See |hl-LineNr|  and |hl-CursorLineNr| for the highlighting used for
+	the number.
 	When setting this option, 'relativenumber' is reset.
 
 						*'numberwidth'* *'nuw'*
@@ -5477,7 +5480,8 @@
 	number.
 	When a long, wrapped line doesn't start with the first character, '-'
 	characters are put before the number.
-	See |hl-LineNr| for the highlighting used for the number.
+	See |hl-LineNr|  and |hl-CursorLineNr| for the highlighting used for
+	the number.
 	When setting this option, 'number' is reset.
 
 						*'remap'* *'noremap'*
@@ -6563,6 +6567,9 @@
 	evaluated and the result is used as the option value.  Example: >
 		:set statusline=%!MyStatusLine()
 <	The result can contain %{} items that will be evaluated too.
+	Note that the "%!" expression is evaluated in the context of the
+	current window and buffer, while %{} items are evaluated in the
+	context of the window that the statusline belongs to.
 
 	When there is error while evaluating the option then it will be made
 	empty to avoid further errors.  Otherwise screen updating would loop.
diff --git a/runtime/doc/repeat.txt b/runtime/doc/repeat.txt
index eec13c0..9a97321 100644
--- a/runtime/doc/repeat.txt
+++ b/runtime/doc/repeat.txt
@@ -1,4 +1,4 @@
-*repeat.txt*    For Vim version 7.3.  Last change: 2011 Jan 06
+*repeat.txt*    For Vim version 7.3.  Last change: 2012 Mar 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -109,7 +109,7 @@
 			it was the result of a mapping)  {Vi: no recording}
 
 							*@*
-@{0-9a-z".=*}		Execute the contents of register {0-9a-z".=*} [count]
+@{0-9a-z".=*+}		Execute the contents of register {0-9a-z".=*+} [count]
 			times.  Note that register '%' (name of the current
 			file) and '#' (name of the alternate file) cannot be
 			used.
@@ -123,8 +123,8 @@
 							*@@* *E748*
 @@			Repeat the previous @{0-9a-z":*} [count] times.
 
-:[addr]*{0-9a-z".=}						*:@* *:star*
-:[addr]@{0-9a-z".=*}	Execute the contents of register {0-9a-z".=*} as an Ex
+:[addr]*{0-9a-z".=+}						*:@* *:star*
+:[addr]@{0-9a-z".=*+}	Execute the contents of register {0-9a-z".=*+} as an Ex
 			command.  First set cursor at line [addr] (default is
 			current line).  When the last line in the register does
 			not have a <CR> it will be added automatically when
diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt
index e390e4c..84dc78b 100644
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.3.  Last change: 2011 Jul 22
+*starting.txt*  For Vim version 7.3.  Last change: 2012 Mar 16
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -248,7 +248,8 @@
 		{not in Vi}
 
 							*-g*
--g		Start Vim in GUI mode.  See |gui|.  {not in Vi}
+-g		Start Vim in GUI mode.  See |gui|. For the opposite see |-v|.
+		{not in Vi}
 
 							*-v*
 -v		Start Ex in Vi mode.  Only makes a difference when the
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index e480968..4bd181a 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.3.  Last change: 2012 Feb 11
+*syntax.txt*	For Vim version 7.3.  Last change: 2012 Mar 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -199,7 +199,8 @@
 If you don't like a distributed syntax file, or you have downloaded a new
 version, follow the same steps as for |mysyntaxfile| above.  Just make sure
 that you write the syntax file in a directory that is early in 'runtimepath'.
-Vim will only load the first syntax file found.
+Vim will only load the first syntax file found, assuming that it sets
+b:current_syntax.
 
 
 NAMING CONVENTIONS		    *group-name* *{group-name}* *E669* *W18*
@@ -754,7 +755,8 @@
 c_ansi_typedefs		 ... but do standard ANSI types
 c_ansi_constants	 ... but do standard ANSI constants
 c_no_utf		don't highlight \u and \U in strings
-c_syntax_for_h		use C syntax for *.h files, instead of C++
+c_syntax_for_h		for *.h files use C syntax instead of C++ and use objc
+			syntax instead of objcpp
 c_no_if0		don't highlight "#if 0" blocks as comments
 c_no_cformat		don't highlight %-formats in strings
 c_no_c99		don't highlight C99 standard items
@@ -4421,6 +4423,8 @@
 							*hl-LineNr*
 LineNr		Line number for ":number" and ":#" commands, and when 'number'
 		or 'relativenumber' option is set.
+							*hl-CursorLineNr*
+CursorLineNr	Like LineNr when 'cursorline' is set for the cursor line.
 							*hl-MatchParen*
 MatchParen	The character under the cursor or just before it, if it
 		is a paired bracket, and its match. |pi_paren.txt|
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 4b8ff6e..0ddf7cc 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 Mar 07
+*todo.txt*      For Vim version 7.3.  Last change: 2012 Mar 28
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,6 +34,8 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Go through list of maintainers that didn't respond. (Thilo Six, Mar 19)
+
 Go through more coverity reports.
 
 Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
@@ -63,11 +65,8 @@
 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)
-
 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
 
@@ -79,15 +78,6 @@
 dialog, there is no dialog to ask whether the existing file should be
 overwritten. (Felipe G. Nievinski, 2011 Dec 22)
 
-Patch for improved ":qa" behavior. (Hirohito Higashi, 2012 Feb 18)
-
-Recognize objcpp. (Austin Ziegler, 2012 Feb 15)
-
-7   Setting an option always sets "w_set_curswant", while this is only
-    required for a few options.  Only do it for those options to avoid the
-    side effect.
-Patch by Kana Natsuno, 2011 Nov 12.
-
 Using Ctrl-] in a mapping does not expand abbreviations. Patch by Christian
 Brabandt, 2012 Mar 2.
 
@@ -99,8 +89,6 @@
 (Lech Lorens, 2011 Nov 27)
 Isn't this already possible?  Update 2012 Feb 15.
 
-Patch for using objcpp file type for headers files. Issue 44.
-
 Docs fix for v:register. (Ingo Karkat, 2011 Sep 26, 27)
 v:register doesn't work exactly as expected. (David Fishburn, 2011 Sep 20)
 
@@ -123,6 +111,9 @@
 
 Patch to add completion for :history command.  (Dominique Pelle, 2012 Feb 26)
 
+Patch for 'backupcopy' default behavior for symlinks on Windows. (David Pope,
+2012 Mar 21)
+
 Use a count before "v" and "V" to select that many characters or lines?
 (Kikyous)
 
@@ -195,6 +186,9 @@
 Win32: Cannot cd into a directory that starts with a space. (Andy Wokula, 2012
 Jan 19)
 
+Win32: default for 'backupcopy' is wrong for a symbolic link. (mklink one
+two). (Benjamin Fritz, 2012 Mar 15)
+
 Need to escape $HOME on Windows?  (ZyX, 2011 Jul 21)
 
 "2" in 'formatopions' not working in comments. (Christian Corneliussen, 2011
@@ -511,6 +505,8 @@
 Test 51 fails when language set to German. (Marco, 2011 Jan 9)
 Dominique can't reproduc it.
 
+'ambiwidth' should be global-local.
+
 ":function f(x) keepjumps" creates a function where every command is executed
 like it has ":keepjumps" before it.
 
diff --git a/runtime/doc/usr_41.txt b/runtime/doc/usr_41.txt
index 0e85688..77f7d1c 100644
--- a/runtime/doc/usr_41.txt
+++ b/runtime/doc/usr_41.txt
@@ -1,4 +1,4 @@
-*usr_41.txt*	For Vim version 7.3.  Last change: 2011 Dec 15
+*usr_41.txt*	For Vim version 7.3.  Last change: 2012 Mar 16
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -1710,6 +1710,7 @@
  12	set cpo&vim
  ..
  42	let &cpo = s:save_cpo
+ 43	unlet s:save_cpo
 
 We first store the old value of 'cpoptions' in the s:save_cpo variable.  At
 the end of the plugin this value is restored.
@@ -1956,6 +1957,7 @@
  40	endif
  41
  42	let &cpo = s:save_cpo
+ 43	unlet s:save_cpo
 
 Line 33 wasn't explained yet.  It applies the new correction to the word under
 the cursor.  The |:normal| command is used to use the new abbreviation.  Note
diff --git a/runtime/filetype.vim b/runtime/filetype.vim
index b9773b7..83d07bc 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 Feb 24
+" Last Change:	2012 Mar 28
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -367,7 +367,11 @@
 
 func! s:FTheader()
   if match(getline(1, min([line("$"), 200])), '^@\(interface\|end\|class\)') > -1
-    setf objc
+    if exists("g:c_syntax_for_h")
+      setf objc
+    else
+      setf objcpp
+    endif
   elseif exists("g:c_syntax_for_h")
     setf c
   elseif exists("g:ch_syntax_for_h")
diff --git a/runtime/ftplugin/falcon.vim b/runtime/ftplugin/falcon.vim
index 776db80..2e1e7fa 100644
--- a/runtime/ftplugin/falcon.vim
+++ b/runtime/ftplugin/falcon.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:     Falcon
 " Author:       Steven Oliver <oliver.steven@gmail.com>
-" Copyright:    Copyright (c) 2009, 2010, 2011 Steven Oliver
+" Copyright:    Copyright (c) 2009, 2010, 2011, 2012 Steven Oliver
 " License:      You may redistribute this under the same terms as Vim itself
 " --------------------------------------------------------------------------
 " GetLatestVimScripts: 2762 1 :AutoInstall: falcon.vim
@@ -40,6 +40,10 @@
                      \ "All Files (*.*)\t*.*\n"
 endif
 
+let b:undo_ftplugin = "setlocal tabstop< shiftwidth< expandtab< fileencoding<"
+	\ . " suffixesadd< comments<"
+	\ . "| unlet! b:browsefiler"
+
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
diff --git a/runtime/ftplugin/kwt.vim b/runtime/ftplugin/kwt.vim
index 6d4b8fd..05b40d4 100644
--- a/runtime/ftplugin/kwt.vim
+++ b/runtime/ftplugin/kwt.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:	Kimwitu++
 " Maintainer:	Michael Piefel <entwurf@piefel.de>
-" Last Change:	10 December 2011
+" Last Change:	10 March 2012
 
 " Behaves almost like C++
 runtime! ftplugin/cpp.vim ftplugin/cpp_*.vim ftplugin/cpp/*.vim
@@ -20,5 +20,13 @@
 " Set the errorformat for the Kimwitu++ compiler
 set efm+=kc%.%#:\ error\ at\ %f:%l:\ %m
 
+if exists("b:undo_ftplugin")
+    let b:undo_ftplugin = b:undo_ftplugin . " | setlocal efm<"
+	\ . "| unlet! b:browsefiler"
+else
+    let b:undo_ftplugin = "setlocal efm<"
+	\ . "| unlet! b:browsefiler"
+endif
+
 let &cpo = s:cpo_save
 unlet s:cpo_save
diff --git a/runtime/ftplugin/vim.vim b/runtime/ftplugin/vim.vim
index de8a047..5feb152 100644
--- a/runtime/ftplugin/vim.vim
+++ b/runtime/ftplugin/vim.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin
 " Language:	Vim
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2009 Jan 22
+" Last Change:	2012 Mar 21
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -21,6 +21,10 @@
 " and insert the comment leader when hitting <CR> or using "o".
 setlocal fo-=t fo+=croql
 
+" To make syntax highlighting of 'vimVar's work correctly we need the colon to
+" be part of keywords. This needs to be done prior to the 'isk+=#' below.
+setlocal isk+=:
+
 " To allow tag lookup via CTRL-] for autoload functions, '#' must be a
 " keyword character.  E.g., for netrw#Nread().
 setlocal isk+=#
diff --git a/runtime/indent/dtd.vim b/runtime/indent/dtd.vim
index 4350dfb..88c0c51 100644
--- a/runtime/indent/dtd.vim
+++ b/runtime/indent/dtd.vim
@@ -322,3 +322,4 @@
 endfunction
 
 let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/indent/tex.vim b/runtime/indent/tex.vim
index dcfbccd..8e2a5da 100644
--- a/runtime/indent/tex.vim
+++ b/runtime/indent/tex.vim
@@ -1,33 +1,54 @@
 " Vim indent file
 " Language:     LaTeX
-" Maintainer:   Zhou YiChao <broken.zhou@gmail.com>
+" Maintainer:   Zhou YiChao <broken.zhou AT gmail.com>
 " Created:      Sat, 16 Feb 2002 16:50:19 +0100
-" Last Change:	2011 Dec 24
-" Last Update:  25th Sep 2002, by LH :
+" Last Change:	2012 Mar 18 19:19:50
+" Version: 0.7
+"   Please email me if you found something we can do.  Bug report and
+"   feature request is welcome.
+
+" Last Update:  {{{
+"               25th Sep 2002, by LH :
 "               (*) better support for the option
 "               (*) use some regex instead of several '||'.
 "               Oct 9th, 2003, by JT:
 "               (*) don't change indentation of lines starting with '%'
-"               2005/06/15, Moshe Kaminsky <kaminsky@math.huji.ac.il>
+"               2005/06/15, Moshe Kaminsky <kaminsky AT math.huji.ac.il>
 "               (*) New variables:
 "                   g:tex_items, g:tex_itemize_env, g:tex_noindent_env
-"               2011/3/6, by Zhou YiChao <broken.zhou@gmail.com>
+"               2011/3/6, by Zhou YiChao <broken.zhou AT gmail.com>
 "               (*) Don't change indentation of lines starting with '%'
 "                   I don't see any code with '%' and it doesn't work properly
 "                   so I add some code.
 "               (*) New features: Add smartindent-like indent for "{}" and  "[]".
 "               (*) New variables: g:tex_indent_brace
-"               2011/9/25, by Zhou Yichao <broken.zhou@gmail.com>
+"               2011/9/25, by Zhou Yichao <broken.zhou AT gmail.com>
 "               (*) Bug fix: smartindent-like indent for "[]"
 "               (*) New features: Align with "&".
-"               (*) New variable: g:tex_indent_and
-"               2011/10/23 by Zhou Yichao <broken.zhou@gmail.com>
+"               (*) New variable: g:tex_indent_and.
+"               2011/10/23 by Zhou Yichao <broken.zhou AT gmail.com>
 "               (*) Bug fix: improve the smartindent-like indent for "{}" and
 "               "[]".
-"
-" Version: 0.62
+"               2012/02/27 by Zhou Yichao <broken.zhou AT gmail.com>
+"               (*) Bug fix: support default folding marker.
+"               (*) Indent with "&" is not very handy.  Make it not enable by
+"               default.
+"               2012/03/06 by Zhou Yichao <broken.zhou AT gmail.com>
+"               (*) Modify "&" behavior and make it default again.  Now "&"
+"               won't align when there are more then one "&" in the previous
+"               line.
+"               (*) Add indent "\left(" and "\right)"
+"               (*) Trust user when in "verbatim" and "lstlisting"
+"               2012/03/11 by Zhou Yichao <broken.zhou AT gmail.com>
+"               (*) Modify "&" so that only indent when current line start with
+"               "&".
+"               2012/03/12 by Zhou Yichao <broken.zhou AT gmail.com>
+"               (*) Modify indentkeys.
+"               2012/03/18 by Zhou Yichao <broken.zhou AT gmail.com>
+"               (*) Add &cpo
+" }}}
 
-" Options: {{{
+" Document: {{{
 "
 " To set the following options (ok, currently it's just one), add a line like
 "   let g:tex_indent_items = 1
@@ -37,42 +58,42 @@
 "
 "   If this variable is unset or non-zero, it will use smartindent-like style
 "   for "{}" and "[]"
-"
+"   
 " * g:tex_indent_items
 "
 "   If this variable is set, item-environments are indented like Emacs does
 "   it, i.e., continuation lines are indented with a shiftwidth.
-"
+"   
 "   NOTE: I've already set the variable below; delete the corresponding line
 "   if you don't like this behaviour.
 "
 "   Per default, it is unset.
-"
+"   
 "              set                                unset
 "   ----------------------------------------------------------------
-"       \begin{itemize}                      \begin{itemize}
+"       \begin{itemize}                      \begin{itemize}  
 "         \item blablabla                      \item blablabla
-"           bla bla bla                        bla bla bla
+"           bla bla bla                        bla bla bla  
 "         \item blablabla                      \item blablabla
-"           bla bla bla                        bla bla bla
-"       \end{itemize}                        \end{itemize}
+"           bla bla bla                        bla bla bla  
+"       \end{itemize}                        \end{itemize}    
 "
 "
 " * g:tex_items
 "
-"   A list of tokens to be considered as commands for the beginning of an item
-"   command. The tokens should be separated with '\|'. The initial '\' should
+"   A list of tokens to be considered as commands for the beginning of an item 
+"   command. The tokens should be separated with '\|'. The initial '\' should 
 "   be escaped. The default is '\\bibitem\|\\item'.
 "
 " * g:tex_itemize_env
-"
-"   A list of environment names, separated with '\|', where the items (item
-"   commands matching g:tex_items) may appear. The default is
+" 
+"   A list of environment names, separated with '\|', where the items (item 
+"   commands matching g:tex_items) may appear. The default is 
 "   'itemize\|description\|enumerate\|thebibliography'.
 "
 " * g:tex_noindent_env
 "
-"   A list of environment names. separated with '\|', where no indentation is
+"   A list of environment names. separated with '\|', where no indentation is 
 "   required. The default is 'document\|verbatim'.
 "
 " * g:tex_indent_and
@@ -82,14 +103,24 @@
 "   Note that this feature need to search back some line, so vim may become
 "   a little slow.
 "
-" }}}
+" }}} 
+
+" Only define the function once
+if exists("*GetTeXIndent")
+    finish
+endif
 
 if exists("b:did_indent")
     finish
 endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" Define global variable {{{
+
 let b:did_indent = 1
 
-" Delete the next line to avoid the special indention of items
 if !exists("g:tex_indent_items")
     let g:tex_indent_items = 1
 endif
@@ -104,31 +135,30 @@
         let g:tex_itemize_env = 'itemize\|description\|enumerate\|thebibliography'
     endif
     if !exists('g:tex_items')
-        let g:tex_items = '\\bibitem\|\\item'
+        let g:tex_items = '\\bibitem\|\\item' 
     endif
 else
     let g:tex_items = ''
 endif
 
-if !exists("g:tex_noindent_env")
-    let g:tex_noindent_env = 'document\|verbatim\|lstlisting'
+if !exists("g:tex_indent_paretheses")
+    let g:tex_indent_paretheses = 1
 endif
 
+if !exists("g:tex_noindent_env")
+    let g:tex_noindent_env = 'document\|verbatim\|lstlisting'
+endif "}}}
+
+" VIM Setting " {{{
 setlocal autoindent
 setlocal nosmartindent
 setlocal indentexpr=GetTeXIndent()
-exec 'setlocal indentkeys+=},],\&' . substitute(g:tex_items, '^\|\(\\|\)', ',=', 'g')
-let g:tex_items = '^\s*' . g:tex_items
+setlocal indentkeys&
+exec 'setlocal indentkeys+=[,(,{,),},],\&' . substitute(g:tex_items, '^\|\(\\|\)', ',=', 'g')
+let g:tex_items = '^\s*' . substitute(g:tex_items, '^\(\^\\s\*\)*', '', '')
+" }}}
 
-
-" Only define the function once
-if exists("*GetTeXIndent") | finish
-endif
-
-let s:cpo_save = &cpo
-set cpo&vim
-
-function GetTeXIndent()
+function GetTeXIndent() " {{{
     " Find a non-blank line above the current line.
     let lnum = prevnonblank(v:lnum - 1)
 
@@ -139,16 +169,25 @@
 
     " At the start of the file use zero indent.
     if lnum == 0
-        return 0
+        return 0 
     endif
 
-    let line = getline(lnum)             " last line
-    let cline = getline(v:lnum)          " current line
+    let line = substitute(getline(lnum), '%.*', ' ','g')     " last line
+    let cline = substitute(getline(v:lnum), '%.*', ' ', 'g') " current line
 
+    "  We are in verbatim, so do what our user what.
+    if synIDattr(synID(v:lnum, indent(v:lnum), 1), "name") == "texZone"
+        if empty(cline)
+            return indent(lnum)
+        else
+            return indent(v:lnum)
+        end
+    endif
+    
     " You want to align with "&"
     if g:tex_indent_and
-        " Align with last line if last line has a "&"
-        if stridx(cline, "&") != -1 && stridx(line, "&") != -1
+        " Align only when current line start with "&"
+        if line =~ '&.*\\\\' && cline =~ '^\s*&'
             return indent(v:lnum) + stridx(line, "&") - stridx(cline, "&")
         endif
 
@@ -161,7 +200,7 @@
 
 
     if lnum == 0
-        return 0
+        return 0 
     endif
 
     let ind = indent(lnum)
@@ -173,12 +212,10 @@
 
     " Add a 'shiftwidth' after beginning of environments.
     " Don't add it for \begin{document} and \begin{verbatim}
-    ""if line =~ '^\s*\\begin{\(.*\)}'  && line !~ 'verbatim'
+    ""if line =~ '^\s*\\begin{\(.*\)}'  && line !~ 'verbatim' 
     " LH modification : \begin does not always start a line
     " ZYC modification : \end after \begin won't cause wrong indent anymore
     if line =~ '\\begin{.*}' && line !~ g:tex_noindent_env
-                \ && line !~ '\\begin{.\{-}}.*\\end{.*}'
-
         let ind = ind + &sw
 
         if g:tex_indent_items
@@ -189,9 +226,8 @@
         endif
     endif
 
-
     " Subtract a 'shiftwidth' when an environment ends
-    if cline =~ '^\s*\\end' && cline !~ g:tex_noindent_env
+    if cline =~ '\\end{.*}' && cline !~ g:tex_noindent_env
 
         if g:tex_indent_items
             " Remove another sw for item-environments
@@ -204,23 +240,26 @@
     endif
 
     if g:tex_indent_brace
-        " Add a 'shiftwidth' after a "{" or "[".
         let sum1 = 0
         for i in range(0, strlen(line)-1)
-            if line[i] == "}" || line[i] == "]"
+            if line[i] == "}" || line[i] == "]" ||
+                        \ strpart(line, i, 7) == '\right)'
                 let sum1 = max([0, sum1-1])
             endif
-            if line[i] == "{" || line[i] == "["
+            if line[i] == "{" || line[i] == "[" ||
+                        \ strpart(line, i, 6) == '\left('
                 let sum1 += 1
             endif
         endfor
 
         let sum2 = 0
         for i in reverse(range(0, strlen(cline)-1))
-            if cline[i] == "{" || cline[i] == "["
+            if cline[i] == "{" || cline[i] == "[" ||
+                        \ strpart(cline, i, 6) == '\left('
                 let sum2 = max([0, sum2-1])
             endif
-            if cline[i] == "}" || cline[i] == "]"
+            if cline[i] == "}" || cline[i] == "]" ||
+                        \ strpart(cline, i, 7) == '\right)'
                 let sum2 += 1
             endif
         endfor
@@ -228,6 +267,8 @@
         let ind += (sum1 - sum2) * &sw
     endif
 
+    if g:tex_indent_paretheses
+    endif
 
     " Special treatment for 'item'
     " ----------------------------
@@ -247,7 +288,7 @@
     endif
 
     return ind
-endfunction
+endfunction "}}}
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
diff --git a/runtime/macros/matchit.vim b/runtime/macros/matchit.vim
index 549c26c..03dae6a 100644
--- a/runtime/macros/matchit.vim
+++ b/runtime/macros/matchit.vim
@@ -808,5 +808,6 @@
 endfun
 
 let &cpo = s:save_cpo
+unlet s:save_cpo
 
 " vim:sts=2:sw=2:
diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index 1497499..355e8eb 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -2,8 +2,8 @@
 " Language:		shell (sh) Korn shell (ksh) bash (sh)
 " Maintainer:		Dr. Charles E. Campbell, Jr.  <NdrOchipS@PcampbellAfamily.Mbiz>
 " Previous Maintainer:	Lennart Schultz <Lennart.Schultz@ecmwf.int>
-" Last Change:		Dec 09, 2011
-" Version:		121
+" Last Change:		Mar 19, 2012
+" Version:		122
 " URL:		http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
 " For options and settings, please use:      :help ft-sh-syntax
 " This file includes many ideas from ?ric Brunet (eric.brunet@ens.fr)
@@ -263,6 +263,7 @@
 if exists("b:is_kornshell") || exists("b:is_bash")
  syn region shCommandSub matchgroup=shCmdSubRegion start="\$("  skip='\\\\\|\\.' end=")"  contains=@shCommandSubList
  syn region shArithmetic matchgroup=shArithRegion  start="\$((" skip='\\\\\|\\.' end="))" contains=@shArithList
+ syn region shArithmetic matchgroup=shArithRegion  start="\$\[" skip='\\\\\|\\.' end="\]" contains=@shArithList
  syn match  shSkipInitWS contained	"^\s\+"
 elseif !exists("g:sh_no_error")
  syn region shCommandSub matchgroup=Error start="\$(" end=")" contains=@shCommandSubList
diff --git a/src/VisVim/README_VisVim.txt b/src/VisVim/README_VisVim.txt
index 31c7299..abb6904 100644
--- a/src/VisVim/README_VisVim.txt
+++ b/src/VisVim/README_VisVim.txt
@@ -17,12 +17,16 @@
 VisVim is based upon VisEmacs by Christopher Payne
 (Copyright (C) Christopher Payne 1997).
 
-Author: Heiko Erhardt <Heiko.Erhardt@munich.netsurf.de>
+Author: Heiko Erhardt <heiko.erhardt@gmx.net>
 Based upon: VisEmacs by Christopher Payne <payneca@sagian.com>
 Version: 1.0
 Created: 23 Oct 1997
 Date: 23 Oct 1997
 
+VisVim was originally GNU GPL licensed, as stated below.  On March 21 2012
+Heiko Erhardt declared this work to be relicensed under the Vim license, as
+stated in ../../runtime/doc/uganda.txt (or ":help uganda" in Vim).
+
 VisVim is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2, or (at your option)
@@ -318,5 +322,5 @@
 Have fun!
 
 Heiko Erhardt
-Heiko.Erhardt@munich.netsurf.de
+heiko.erhardt@gmx.net
 
diff --git a/src/po/nl.po b/src/po/nl.po
index 048388a..23dc99e 100644
--- a/src/po/nl.po
+++ b/src/po/nl.po
@@ -9,12 +9,12 @@
 "Project-Id-Version: vim 7.3\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2011-05-29 07:43+0200\n"
-"PO-Revision-Date: 2012-02-25 18:01+0100\n"
-"Last-Translator: Erwin Poeze <erwin.poeze@gmail.com>\n"
+"PO-Revision-Date: 2012-03-28 08:07+0200\n"
+"Last-Translator: YOUR NAME <E-MAIL@ADDRESS>\n"
 "Language-Team: Dutch <vertaling@vrijschrift.nl>\n"
 "Language: nl\n"
 "MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
+"Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
@@ -105,12 +105,12 @@
 
 #: buffer.c:1021
 msgid "E88: Cannot go before first buffer"
-msgstr "E88: kan niet voor het eerste buffer komen"
+msgstr "E88: kan niet vóór het eerste buffer komen"
 
 #: buffer.c:1063
 #, c-format
 msgid "E89: No write since last change for buffer %ld (add ! to override)"
-msgstr "E89: niets opgeslagen sinds laatste wijziging van buffer %ld (voeg ! toe om dit te negeren)"
+msgstr "E89: niets opgeslagen sinds laatste wijziging van buffer %ld (voeg ! toe om te forceren)"
 
 #: buffer.c:1080
 msgid "E90: Cannot unload last buffer"
@@ -209,7 +209,7 @@
 
 #: buffer.c:4188
 msgid "Bot"
-msgstr "Bod"
+msgstr "Bodem"
 
 #: buffer.c:4191
 msgid "Top"
@@ -1657,11 +1657,11 @@
 
 #: ex_docmd.c:6492
 msgid "E784: Cannot close last tab page"
-msgstr "E784: laatste tab-pagina kan niet afgesloten worden"
+msgstr "E784: laatste tabpagina kan niet afgesloten worden"
 
 #: ex_docmd.c:6534
 msgid "Already only one tab page"
-msgstr "Reeds beperkt tot Ã©Ã©n tab-pagina"
+msgstr "Reeds beperkt tot één tabpagina"
 
 #: ex_docmd.c:7221
 msgid "Edit File in new window"
@@ -1670,7 +1670,7 @@
 #: ex_docmd.c:7347
 #, c-format
 msgid "Tab page %d"
-msgstr "Tab-pagina %d"
+msgstr "Tabpagina %d"
 
 #: ex_docmd.c:7739
 msgid "No swap file"
@@ -1694,7 +1694,7 @@
 
 #: ex_docmd.c:8128
 msgid "E465: :winsize requires two number arguments"
-msgstr "E465: :winsize vereist twee getalsargumenten"
+msgstr "E465: :winsize vereist twee getallen als argument"
 
 #: ex_docmd.c:8190
 #, c-format
@@ -1703,11 +1703,11 @@
 
 #: ex_docmd.c:8195
 msgid "E188: Obtaining window position not implemented for this platform"
-msgstr "E188: verkrijgen van vensterpositie is voor dit platform niet geÃ¯mplementeerd"
+msgstr "E188: verkrijgen van vensterpositie is voor dit platform niet geïmplementeerd"
 
 #: ex_docmd.c:8205
 msgid "E466: :winpos requires two number arguments"
-msgstr "E466: :winpos vereist twee getalsargumenten"
+msgstr "E466: :winpos vereist twee getallen als argument"
 
 #: ex_docmd.c:8565
 msgid "Save Redirection"
@@ -3873,7 +3873,7 @@
 
 #: main.c:3101
 msgid "-g\t\t\tRun using GUI (like \"gvim\")"
-msgstr "-g\t\t\tmet GUI opstarten (zoals \"gvim\")"
+msgstr "-g\t\t\tMet GUI opstarten (zoals \"gvim\")"
 
 #: main.c:3102
 msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
@@ -3913,7 +3913,7 @@
 
 #: main.c:3114
 msgid "-M\t\t\tModifications in text not allowed"
-msgstr "-M\t\t\tTektuele aanpassingen niet toegestaan"
+msgstr "-M\t\t\tTekstuele aanpassingen niet toegestaan"
 
 #: main.c:3115
 msgid "-b\t\t\tBinary mode"
@@ -3933,51 +3933,51 @@
 
 #: main.c:3121
 msgid "-V[N][fname]\t\tBe verbose [level N] [log messages to fname]"
-msgstr "-V[N][fname]\t\twees uitbundig [niveau N] [schrijf berichten naar fname]"
+msgstr "-V[N][fname]\t\tWees uitbundig [niveau N] [schrijf berichten naar fname]"
 
 #: main.c:3123
 msgid "-D\t\t\tDebugging mode"
-msgstr "-D\t\t\tfoutopspoormodus"
+msgstr "-D\t\t\tFoutopspoormodus"
 
 #: main.c:3125
 msgid "-n\t\t\tNo swap file, use memory only"
-msgstr "-n\t\t\tgeen wisselbestand, alleen geheugen gebruiken"
+msgstr "-n\t\t\tGeen wisselbestand, alleen geheugen gebruiken"
 
 #: main.c:3126
 msgid "-r\t\t\tList swap files and exit"
-msgstr "-r\t\t\twisselbestanden tonen en stoppen"
+msgstr "-r\t\t\tWisselbestanden tonen en stoppen"
 
 #: main.c:3127
 msgid "-r (with file name)\tRecover crashed session"
-msgstr "-r (met bestandsnaam)\therstel ontspoorde sessie"
+msgstr "-r (bestandsnaam)\tHerstel ontspoorde sessie"
 
 #: main.c:3128
 msgid "-L\t\t\tSame as -r"
-msgstr "-L\t\t\tgelijk aan -r"
+msgstr "-L\t\t\tGelijk aan -r"
 
 #: main.c:3130
 msgid "-f\t\t\tDon't use newcli to open window"
-msgstr "-f\t\t\tgebruik geen newcli om venster te openen"
+msgstr "-f\t\t\tGebruik geen newcli om venster te openen"
 
 #: main.c:3131
 msgid "-dev <device>\t\tUse <device> for I/O"
-msgstr "-dev <device>\t\tgebruik <device> voor in- en uitvoer"
+msgstr "-dev <device>\t\tGebruik <device> voor in- en uitvoer"
 
 #: main.c:3134
 msgid "-A\t\t\tstart in Arabic mode"
-msgstr ""
+msgstr "-A\t\t\tIn Arabische modus starten"
 
 #: main.c:3137
 msgid "-H\t\t\tStart in Hebrew mode"
-msgstr ""
+msgstr "-H\t\t\tIn Hebrewsche modus starten"
 
 #: main.c:3140
 msgid "-F\t\t\tStart in Farsi mode"
-msgstr ""
+msgstr "-F\t\t\tIn Perzische modus starten"
 
 #: main.c:3142
 msgid "-T <terminal>\tSet terminal type to <terminal>"
-msgstr ""
+msgstr "-T <terminal>\tTerminalsoort op <terminal> instellen"
 
 #: main.c:3143
 msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
@@ -3997,27 +3997,27 @@
 
 #: main.c:3150
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
-msgstr ""
+msgstr "-o[N]\t\tN vensters openen (standaard: 1 per bestand)"
 
 #: main.c:3151
 msgid "-O[N]\t\tLike -o but split vertically"
-msgstr ""
+msgstr "-O[N]\t\tGelijk aan -o maar vertikaal gesplitst"
 
 #: main.c:3153
 msgid "+\t\t\tStart at end of file"
-msgstr ""
+msgstr "+\t\t\tAan einde van bestand beginnen"
 
 #: main.c:3154
 msgid "+<lnum>\t\tStart at line <lnum>"
-msgstr ""
+msgstr "+<lnum>\t\tOp regel <lnum> beginnen"
 
 #: main.c:3155
 msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
-msgstr ""
+msgstr "--cmd <opdracht>\tOpdracht <opdracht> uitvoeren voor enige vimrc-bestand"
 
 #: main.c:3156
 msgid "-c <command>\t\tExecute <command> after loading the first file"
-msgstr ""
+msgstr "-c <opdracht>\t\tOpdracht <opdracht> uitvoeren na eerste bestand"
 
 #: main.c:3157
 msgid "-S <session>\t\tSource file <session> after loading the first file"
@@ -4552,124 +4552,139 @@
 "You may want to delete the .swp file now.\n"
 "\n"
 msgstr ""
+"\n"
+"Het .swp-bestand kan nu verwijderd worden.\n"
+"\n"
 
 #. use msg() to start the scrolling properly
 #: memline.c:1462
 msgid "Swap files found:"
-msgstr ""
+msgstr "Gevonden wisselbestanden:"
 
 #: memline.c:1649
 msgid "   In current directory:\n"
-msgstr ""
+msgstr "   In huidige map:\n"
 
 #: memline.c:1651
 msgid "   Using specified name:\n"
-msgstr ""
+msgstr "   Gebruikt opgegeven naam:\n"
 
 #: memline.c:1655
 msgid "   In directory "
-msgstr ""
+msgstr "   In map "
 
 #: memline.c:1673
 msgid "      -- none --\n"
-msgstr ""
+msgstr "      -- geen --\n"
 
 #: memline.c:1748
 msgid "          owned by: "
-msgstr ""
+msgstr "          eigenaar: "
 
 #: memline.c:1750
 msgid "   dated: "
-msgstr ""
+msgstr "   datum: "
 
 #: memline.c:1754
 #: memline.c:3794
 msgid "             dated: "
-msgstr ""
+msgstr "             datum: "
 
 #: memline.c:1773
 msgid "         [from Vim version 3.0]"
-msgstr ""
+msgstr "         [van Vim-versie 3.0]"
 
 #: memline.c:1777
 msgid "         [does not look like a Vim swap file]"
-msgstr ""
+msgstr "         [lijkt geen Vvim-wisselbestand te zijn]"
 
 #: memline.c:1781
 msgid "         file name: "
-msgstr ""
+msgstr "      bestandsnaam: "
 
 #: memline.c:1787
 msgid ""
 "\n"
 "          modified: "
 msgstr ""
+"\n"
+"           bewerkt: "
 
 #: memline.c:1788
 msgid "YES"
-msgstr ""
+msgstr "JA"
 
 #: memline.c:1788
 msgid "no"
-msgstr ""
+msgstr "nee"
 
 #: memline.c:1792
 msgid ""
 "\n"
 "         user name: "
 msgstr ""
+"\n"
+"    gebruikersnaam: "
 
 #: memline.c:1799
 msgid "   host name: "
-msgstr ""
+msgstr "  host-naam:"
 
 #: memline.c:1801
 msgid ""
 "\n"
 "         host name: "
 msgstr ""
+"\n"
+"         host-naam: "
 
 #: memline.c:1807
 msgid ""
 "\n"
 "        process ID: "
 msgstr ""
+"\n"
+"         proces-id: "
 
 #: memline.c:1813
 msgid " (still running)"
-msgstr ""
+msgstr "    (nog actief)"
 
 #: memline.c:1825
 msgid ""
 "\n"
 "         [not usable with this version of Vim]"
 msgstr ""
+"\n"
+"         [onbruikbaar met deze versie van Vim]"
 
 #: memline.c:1828
 msgid ""
 "\n"
 "         [not usable on this computer]"
 msgstr ""
+"\n"
+"         [onbruikbaar op deze computer]"
 
 #: memline.c:1833
 msgid "         [cannot be read]"
-msgstr ""
+msgstr "         [lezen is onmogelijk]"
 
 #: memline.c:1837
 msgid "         [cannot be opened]"
-msgstr ""
+msgstr "         [openen is onmogelijk]"
 
 #: memline.c:2027
 msgid "E313: Cannot preserve, there is no swap file"
-msgstr ""
+msgstr "E313: kan niet worden behouden, want er is geen wisselbestand"
 
 #: memline.c:2080
 msgid "File preserved"
-msgstr ""
+msgstr "Bestand behouden"
 
 #: memline.c:2082
 msgid "E314: Preserve failed"
-msgstr ""
+msgstr "E314: behouden is mislukt"
 
 #: memline.c:2159
 #, c-format
@@ -4735,25 +4750,27 @@
 #: memline.c:3595
 #, c-format
 msgid "E773: Symlink loop for \"%s\""
-msgstr ""
+msgstr "E773: Symbolische koppelingslus voor \"%s\""
 
 #: memline.c:3784
 msgid "E325: ATTENTION"
-msgstr ""
+msgstr "E325: OPGELET"
 
 #: memline.c:3785
 msgid ""
 "\n"
 "Found a swap file by the name \""
 msgstr ""
+"\n"
+"Er is een wisselbestand aangetroffen met de naam \""
 
 #: memline.c:3789
 msgid "While opening file \""
-msgstr ""
+msgstr "bij het openen van bestand \""
 
 #: memline.c:3802
 msgid "      NEWER than swap file!\n"
-msgstr ""
+msgstr "    NIEUWER dan het wisselbestand!\n"
 
 #. Some of these messages are long to allow translation to
 #. * other languages.
@@ -4764,30 +4781,38 @@
 "    If this is the case, be careful not to end up with two\n"
 "    different instances of the same file when making changes.\n"
 msgstr ""
+"\n"
+"(1) Mogelijk wordt dit bestand met een ander programma bewerkt.\n"
+"    Als dit het geval is, pas dan op niet met twee verschillende\n"
+"    versies van hetzelfde bestand te eindigen bij het bewerken.\n"
 
 #: memline.c:3807
 msgid "    Quit, or continue with caution.\n"
-msgstr ""
+msgstr "    Stop of ga aandachtig verder.\n"
 
 #: memline.c:3808
 msgid ""
 "\n"
 "(2) An edit session for this file crashed.\n"
 msgstr ""
+"\n"
+"(2) Een sessie waarin dit bestand werd bewerkt is onverhoeds gestopt.\n"
 
 #: memline.c:3809
 msgid "    If this is the case, use \":recover\" or \"vim -r "
-msgstr ""
+msgstr "    Als dit het geval is, gebruikt dan \":recover\" of \"vim -r "
 
 #: memline.c:3811
 msgid ""
 "\"\n"
 "    to recover the changes (see \":help recovery\").\n"
 msgstr ""
+"\"\n"
+"    om de aanpassingen te herstellen (zie \":help recovery\").\n"
 
 #: memline.c:3812
 msgid "    If you did this already, delete the swap file \""
-msgstr ""
+msgstr "    Als dit al gedaan is, verwijder dan het wisselbestand \""
 
 #: memline.c:3814
 msgid ""
@@ -4795,7 +4820,7 @@
 "    to avoid this message.\n"
 msgstr ""
 "\"\n"
-"    om dit bericht te verkomen.\n"
+"    om dit bericht te voorkomen.\n"
 
 #: memline.c:4233
 #: memline.c:4237
@@ -4823,6 +4848,11 @@
 "&Quit\n"
 "&Abort"
 msgstr ""
+"Alleen-lezen &openen\n"
+"Toch b&ewerken\n"
+"He&rstellen\n"
+"&Stoppen\n"
+"&Afbreken"
 
 #: memline.c:4251
 msgid ""
@@ -4833,28 +4863,34 @@
 "&Quit\n"
 "&Abort"
 msgstr ""
+"Alleen-lezen &openen\n"
+"Toch b&ewerken\n"
+"He&rstellen\n"
+"Verwij&deren\n"
+"&Stoppen\n"
+"&Afbreken"
 
 #: memline.c:4322
 msgid "E326: Too many swap files found"
-msgstr ""
+msgstr "E326: teveel wisselbestanden aangetroffen"
 
 #: menu.c:67
 msgid "E327: Part of menu-item path is not sub-menu"
-msgstr ""
+msgstr "E327: deel van menu-itempad is geen submenu"
 
 #: menu.c:68
 msgid "E328: Menu only exists in another mode"
-msgstr ""
+msgstr "E328: menu bestaat alleen in andere modus"
 
 #: menu.c:69
 #, c-format
 msgid "E329: No menu \"%s\""
-msgstr ""
+msgstr "E329: geen menu \"%s\""
 
 #. Only a mnemonic or accelerator is not valid.
 #: menu.c:480
 msgid "E792: Empty menu name"
-msgstr ""
+msgstr "E792: menunaam is leeg"
 
 #: menu.c:498
 msgid "E330: Menu path must not lead to a sub-menu"
@@ -5203,7 +5239,7 @@
 
 #: normal.c:8854
 msgid "Type  :quit<Enter>  to exit Vim"
-msgstr "Typ   :quit<Enter>  om Vim te verlaten"
+msgstr "Typ :quit<Enter> om Vim te verlaten"
 
 #: ops.c:293
 #, c-format
@@ -7571,7 +7607,7 @@
 msgstr "wordt uitgevoerd in Vi compatible-modus"
 
 #: version.c:1119
-msgid "type  :set nocp<Enter>        for Vim defaults"
+msgid "type :set nocp<Enter> for Vim defaults"
 msgstr "typ :set nocp<Enter>  voor standaardinstellingen van Vim"
 
 #: version.c:1120
@@ -7851,11 +7887,11 @@
 
 #: globals.h:1430
 msgid "E19: Mark has invalid line number"
-msgstr ""
+msgstr "E19: markering heeft een ongeldig regelnummer"
 
 #: globals.h:1431
 msgid "E20: Mark not set"
-msgstr ""
+msgstr "E20: Markering is niet ingesteld"
 
 #: globals.h:1432
 msgid "E21: Cannot make changes, 'modifiable' is off"
@@ -7863,7 +7899,7 @@
 
 #: globals.h:1433
 msgid "E22: Scripts nested too deep"
-msgstr ""
+msgstr "E22: scripts "
 
 #: globals.h:1434
 msgid "E23: No alternate file"
@@ -7912,7 +7948,7 @@
 
 #: globals.h:1455
 msgid "E479: No match"
-msgstr ""
+msgstr "E479: geen overeenkomst"
 
 #: globals.h:1456
 #, c-format
@@ -7946,51 +7982,51 @@
 #: globals.h:1466
 #, c-format
 msgid "E247: no registered server named \"%s\""
-msgstr ""
+msgstr "E247: \"%s\" niet gevonden als geregistreerde server"
 
 #: globals.h:1468
 #, c-format
 msgid "E482: Can't create file %s"
-msgstr ""
+msgstr "E482: aanmaken bestand %s is mislukt"
 
 #: globals.h:1469
 msgid "E483: Can't get temp file name"
-msgstr ""
+msgstr "E483: bepalen naam tijdelijk bestand is mislukt"
 
 #: globals.h:1470
 #, c-format
 msgid "E484: Can't open file %s"
-msgstr ""
+msgstr "E484: openen bestand %s is mislukt"
 
 #: globals.h:1471
 #, c-format
 msgid "E485: Can't read file %s"
-msgstr ""
+msgstr "E485: lezen bestand %s is mislukt"
 
 #: globals.h:1472
 msgid "E37: No write since last change (add ! to override)"
-msgstr "E37: niets opgeslagen sinds laatste wijziging (voeg ! toe om dit te negeren)"
+msgstr "E37: niets opgeslagen sinds laatste wijziging (voeg ! toe om te forceren)"
 
 #: globals.h:1473
 msgid "E38: Null argument"
-msgstr ""
+msgstr "E38: leeg argument (null)"
 
 #: globals.h:1475
 msgid "E39: Number expected"
-msgstr ""
+msgstr "E39: getal verwacht"
 
 #: globals.h:1478
 #, c-format
 msgid "E40: Can't open errorfile %s"
-msgstr ""
+msgstr "E40: openen foutenbestand %s is mislukt"
 
 #: globals.h:1481
 msgid "E233: cannot open display"
-msgstr ""
+msgstr "E233: openen scherm is mislukt"
 
 #: globals.h:1483
 msgid "E41: Out of memory!"
-msgstr ""
+msgstr "E41: te weinig geheugen!"
 
 #: globals.h:1485
 msgid "Pattern not found"
@@ -8053,7 +8089,7 @@
 
 #: globals.h:1513
 msgid "E359: Screen mode setting not supported"
-msgstr ""
+msgstr "E359: instelling schermmodus niet ondersteund"
 
 #: globals.h:1515
 msgid "E49: Invalid scroll size"
@@ -8101,39 +8137,39 @@
 
 #: globals.h:1528
 msgid "E79: Cannot expand wildcards"
-msgstr ""
+msgstr "E79: vervangen jokertekens is mislukt"
 
 #: globals.h:1530
 msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
-msgstr ""
+msgstr "E591: 'winheight' kan niet kleiner zijn dan 'winminheight'"
 
 #: globals.h:1532
 msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
-msgstr ""
+msgstr "E592: 'winwidth' kan niet kleiner zijn dan 'winminwidth'"
 
 #: globals.h:1535
 msgid "E80: Error while writing"
-msgstr ""
+msgstr "E80: opslaan is mislukt"
 
 #: globals.h:1536
 msgid "Zero count"
-msgstr ""
+msgstr "Aantal is nul"
 
 #: globals.h:1538
 msgid "E81: Using <SID> not in a script context"
-msgstr ""
+msgstr "E81: <SID> wordt buiten de scriptcontext gebruikt"
 
 #: globals.h:1541
 msgid "E449: Invalid expression received"
-msgstr ""
+msgstr "E449: ontvangen expressie is ongeldig"
 
 #: globals.h:1544
 msgid "E463: Region is guarded, cannot modify"
-msgstr ""
+msgstr "E463: Regio is bescherm en kan niet worden veranderd"
 
 #: globals.h:1545
 msgid "E744: NetBeans does not allow changes in read-only files"
-msgstr ""
+msgstr "E744: NetBeans staat geen veranderingen in alleen-lezenbestanden toe"
 
 #: globals.h:1547
 #, c-format
@@ -8142,7 +8178,7 @@
 
 #: globals.h:1548
 msgid "E363: pattern uses more memory than 'maxmempattern'"
-msgstr ""
+msgstr "E363: patroon gebruikt meer geheugen dan 'maxmempattern'"
 
 #: globals.h:1549
 msgid "E749: empty buffer"
