changeset 2581:e8a482a7fa6c

Updated runtime files.
author Bram Moolenaar <bram@vim.org>
date Sun, 19 Sep 2010 19:01:21 +0200
parents 06aa43dde561
children 2cdbc91795ca
files runtime/doc/cmdline.txt runtime/doc/debug.txt runtime/doc/editing.txt runtime/doc/eval.txt runtime/doc/ft_ada.txt runtime/doc/helphelp.txt runtime/doc/insert.txt runtime/doc/message.txt runtime/doc/os_vms.txt runtime/doc/pi_zip.txt runtime/doc/quickref.txt runtime/doc/starting.txt runtime/doc/syntax.txt runtime/doc/todo.txt runtime/doc/undo.txt runtime/doc/various.txt runtime/syntax/d.vim runtime/syntax/yaml.vim uninstal.txt
diffstat 19 files changed, 659 insertions(+), 267 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/cmdline.txt
+++ b/runtime/doc/cmdline.txt
@@ -1,4 +1,4 @@
-*cmdline.txt*   For Vim version 7.3.  Last change: 2010 May 07
+*cmdline.txt*   For Vim version 7.3.  Last change: 2010 Sep 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -423,7 +423,8 @@ CTRL-L		A match is done on the pattern i
 
 The 'wildchar' option defaults to <Tab> (CTRL-E when in Vi compatible mode; in
 a previous version <Esc> was used).  In the pattern standard wildcards '*' and
-'?' are accepted.  '*' matches any string, '?' matches exactly one character.
+'?' are accepted when matching file names.  '*' matches any string, '?'
+matches exactly one character.
 
 If you like tcsh's autolist completion, you can use this mapping:
 	:cnoremap X <C-L><C-D>
--- a/runtime/doc/debug.txt
+++ b/runtime/doc/debug.txt
@@ -1,4 +1,4 @@
-*debug.txt*     For Vim version 7.3.  Last change: 2010 Jul 20
+*debug.txt*     For Vim version 7.3.  Last change: 2010 Sep 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -22,7 +22,8 @@ compilation, here is what you can do to 
 This also applies when using the MingW tools.
 
 1. Compile Vim with the "-g" option (there is a line in the Makefile for this,
-   which you can uncomment).
+   which you can uncomment).  Also make sure "strip" is disabled (do not
+   install it, or use the line "STRIP = /bin/true").
 
 2. Execute these commands (replace "11" with the test that fails): >
 	cd testdir
@@ -67,7 +68,7 @@ If the Windows version of Vim crashes in
 some steps to provide a useful bug report.
 
 
-GENERIC ~
+3.1 GENERIC ~
 
 You must obtain the debugger symbols (PDB) file for your executable: gvim.pdb
 for gvim.exe, or vim.pdb for vim.exe. The PDB should be available from the
@@ -89,7 +90,7 @@ a Vim executable compiled with the Borla
 
 
 								*debug-vs2005*
-2.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
+3.2 Debugging Vim crashes with Visual Studio 2005/Visual C++ 2005 Express ~
 
 First launch vim.exe or gvim.exe and then launch Visual Studio.  (If you don't
 have Visual Studio, follow the instructions at |get-ms-debuggers| to obtain a
@@ -123,7 +124,7 @@ installed as a just-in-time debugger. Us
 need to save minidumps or you want a just-in-time (postmortem) debugger.
 
 								*debug-windbg*
-2.3 Debugging Vim crashes with WinDbg ~
+3.3 Debugging Vim crashes with WinDbg ~
 
 See |get-ms-debuggers| to obtain a copy of WinDbg.
 
@@ -149,7 +150,7 @@ To save a minidump, type the following a
         .dump vim.dmp
 <
 							*debug-minidump*
-2.4 Opening a Minidump ~
+3.4 Opening a Minidump ~
 
 If you have a minidump file, you can open it in Visual Studio or in WinDbg.
 
@@ -161,7 +162,7 @@ In WinDbg: choose Open Crash Dump on the
 |debug-windbg| to set the Symbol File Path.
 
 							*get-ms-debuggers*
-2.5 Obtaining Microsoft Debugging Tools ~
+3.5 Obtaining Microsoft Debugging Tools ~
 
 The Debugging Tools for Windows (including WinDbg) can be downloaded from
     http://www.microsoft.com/whdc/devtools/debugging/default.mspx
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 7.3.  Last change: 2010 Jul 28
+*editing.txt*   For Vim version 7.3.  Last change: 2010 Sep 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1431,13 +1431,15 @@ Notes:
   history, showing the 'key' value in a viminfo file.
 - There is never 100% safety.  The encryption in Vim has not been tested for
   robustness.
-- The algorithm used is breakable.  A 4 character key in about one hour, a 6
-  character key in one day (on a Pentium 133 PC).  This requires that you know
-  some text that must appear in the file.  An expert can break it for any key.
-  When the text has been decrypted, this also means that the key can be
-  revealed, and other files encrypted with the same key can be decrypted.
-- Pkzip uses the same encryption, and US Govt has no objection to its export.
-  Pkzip's public file APPNOTE.TXT describes this algorithm in detail.
+- The algorithm used for 'cryptmethod' "zip" is breakable.  A 4 character key
+  in about one hour, a 6 character key in one day (on a Pentium 133 PC).  This
+  requires that you know some text that must appear in the file.  An expert
+  can break it for any key.  When the text has been decrypted, this also means
+  that the key can be revealed, and other files encrypted with the same key
+  can be decrypted.
+- Pkzip uses the same encryption as 'cryptmethod' "zip", and US Govt has no
+  objection to its export.  Pkzip's public file APPNOTE.TXT describes this
+  algorithm in detail.
 - Vim originates from the Netherlands.  That is where the sources come from.
   Thus the encryption code is not exported from the USA.
 
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.3.  Last change: 2010 Aug 15
+*eval.txt*	For Vim version 7.3.  Last change: 2010 Sep 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -63,21 +63,21 @@ The Number and String types are converte
 are used.
 
 Conversion from a Number to a String is by making the ASCII representation of
-the Number.  Examples: >
-	Number 123	-->	String "123"
-	Number 0	-->	String "0"
-	Number -1	-->	String "-1"
+the Number.  Examples:
+	Number 123	-->	String "123" ~
+	Number 0	-->	String "0" ~
+	Number -1	-->	String "-1" ~
 							*octal*
 Conversion from a String to a Number is done by converting the first digits
 to a number.  Hexadecimal "0xf9" and Octal "017" numbers are recognized.  If
-the String doesn't start with digits, the result is zero.  Examples: >
-	String "456"	-->	Number 456
-	String "6bar"	-->	Number 6
-	String "foo"	-->	Number 0
-	String "0xf1"	-->	Number 241
-	String "0100"	-->	Number 64
-	String "-8"	-->	Number -8
-	String "+8"	-->	Number 0
+the String doesn't start with digits, the result is zero.  Examples:
+	String "456"	-->	Number 456 ~
+	String "6bar"	-->	Number 6 ~
+	String "foo"	-->	Number 0 ~
+	String "0xf1"	-->	Number 241 ~
+	String "0100"	-->	Number 64 ~
+	String "-8"	-->	Number -8 ~
+	String "+8"	-->	Number 0 ~
 
 To force conversion from String to Number, add zero to it: >
 	:echo "0100" + 0
@@ -6216,7 +6216,7 @@ toolbar			Compiled with support for |gui
 unix			Unix version of Vim.
 user_commands		User-defined commands.
 viminfo			Compiled with viminfo support.
-vim_starting		True while initial source'ing takes place.
+vim_starting		True while initial source'ing takes place. |startup|
 vertsplit		Compiled with vertically split windows |:vsplit|.
 virtualedit		Compiled with 'virtualedit' option.
 visual			Compiled with Visual mode.
--- a/runtime/doc/ft_ada.txt
+++ b/runtime/doc/ft_ada.txt
@@ -6,20 +6,20 @@
 ADA								      *ada.vim*
 
 1.  Syntax Highlighting			    |ft-ada-syntax|
-2.  Plug-in				    |ft-ada-plugin|
+2.  File type Plug-in			    |ft-ada-plugin|
 3.  Omni Completion			    |ft-ada-omni|
     3.1 Omni Completion with "gnat xref"	|gnat-xref|
     3.2 Omni Completion with "ctags"		|ada-ctags|
 4.  Compiler Support			    |ada-compiler|
     4.1 GNAT					|compiler-gnat|
-    4.1 Dec Ada					|compiler-decada|
+    4.2 Dec Ada					|compiler-decada|
 5.  References				    |ada-reference|
     5.1 Options					|ft-ada-options|
-    5.2 Functions				|ft-ada-functions|
-    5.3 Commands				|ft-ada-commands|
-    5.4 Variables				|ft-ada-variables|
-    5.5 Constants				|ft-ada-constants|
-8.  Extra Plug-ins			    |ada-extra-plugins|
+    5.2 Commands				|ft-ada-commands|
+    5.3 Variables				|ft-ada-variables|
+    5.4 Constants				|ft-ada-constants|
+    5.5 Functions				|ft-ada-functions|
+6.  Extra Plug-ins			    |ada-extra-plugins|
 
 ==============================================================================
 1. Syntax Highlighting ~
@@ -139,7 +139,7 @@ The Ada parser for Exuberant Ctags is fa
 support yet.
 
 ==============================================================================
-4.  Compiler Support ~
+4. Compiler Support ~
 								*ada-compiler*
 
 The Ada mode supports more than one Ada compiler and will automatically load the
@@ -367,7 +367,7 @@ false when the variable is undefined. Th
 makes no difference.
 
 ------------------------------------------------------------------------------
-5.3 Commands ~
+5.2 Commands ~
 							     *ft-ada-commands*
 
 :AdaRainbow							 *:AdaRainbow*
@@ -445,7 +445,7 @@ g:ada#Ctags_Kinds	dictionary of lists
 		for Ctags generates.
 
 ------------------------------------------------------------------------------
-5.2 Functions ~
+5.5 Functions ~
 							    *ft-ada-functions*
 
 ada#Word([{line}, {col}])					  *ada#Word()*
@@ -479,7 +479,7 @@ gnat#New ()
 
 
 ==============================================================================
-8. Extra Plugins ~
+6. Extra Plugins ~
 							   *ada-extra-plugins*
 
 You can optionally install the following extra plug-ins. They work well with
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt*	For Vim version 7.3.  Last change: 2010 Jul 29
+*helphelp.txt*	For Vim version 7.3.  Last change: 2010 Sep 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -7,7 +7,7 @@
 Help on help files					*helphelp*
 
 1. Help commands		|online-help|
-2. Translating help files	|help-translated|
+2. Translated help files	|help-translated|
 3. Writing help files		|help-writing|
 
 ==============================================================================
@@ -188,7 +188,7 @@ command: >
 			Only for backwards compatibility.  It now executes the
 			ToolBar.FindHelp menu entry instead of using a builtin
 			dialog.  {only when compiled with |+GUI_GTK|}
-<			{not in Vi}
+			{not in Vi}
 
 					*:helpt* *:helptags*
 				*E154* *E150* *E151* *E152* *E153* *E670*
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.3.  Last change: 2010 Jul 29
+*insert.txt*    For Vim version 7.3.  Last change: 2010 Sep 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -555,12 +555,11 @@ CTRL-D, 'expandtab', 'smarttab', 'softta
 In 'list' mode, Virtual Replace mode acts as if it was not in 'list' mode,
 unless "L" is in 'cpoptions'.
 
-Note that the only times characters beyond the cursor should appear to move
-are in 'list' mode, and occasionally when 'wrap' is set (and the line changes
-length to become shorter or wider than the width of the screen), or
-momentarily when typing over a CTRL character.  A CTRL character takes up two
-screen spaces.  When replacing it with two normal characters, the first will
-be inserted and the second will replace the CTRL character.
+Note that the only situations for which characters beyond the cursor should
+appear to move are in List mode |'list'|, and occasionally when 'wrap' is set
+(and the line changes length to become shorter or wider than the width of the
+screen).  In other cases spaces may be inserted to avoid following characters
+to move.
 
 This mode is very useful for editing <Tab> separated columns in tables, for
 entering new data while keeping all the columns aligned.
--- a/runtime/doc/message.txt
+++ b/runtime/doc/message.txt
@@ -1,4 +1,4 @@
-*message.txt*   For Vim version 7.3.  Last change: 2010 Aug 10
+*message.txt*   For Vim version 7.3.  Last change: 2010 Sep 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -65,7 +65,7 @@ or view a list of recent messages with: 
 LIST OF MESSAGES
 			*E222* *E228* *E232* *E256* *E293* *E298* *E304* *E317*
 			*E318* *E356* *E438* *E439* *E440* *E316* *E320* *E322*
-			*E323* *E341* *E473* *E570* *E685* >
+			*E323* *E341* *E473* *E570* *E685*  >
   Add to read buffer
   makemap: Illegal mode
   Cannot create BalloonEval with both message and callback
--- a/runtime/doc/os_vms.txt
+++ b/runtime/doc/os_vms.txt
@@ -1,4 +1,4 @@
-*os_vms.txt*    For Vim version 7.3.  Last change: 2010 Jul 28
+*os_vms.txt*    For Vim version 7.3.  Last change: 2010 Aug 16
 
 
 		  VIM REFERENCE MANUAL
@@ -675,7 +675,7 @@ slow when user wants to run Vim just in 
 Luckily, there is a simple solution for that. Administrators need to deploy
 both GUI/GTK build and just console build executables, like below: >
 
-    |- vim72
+    |- vim73
     |----- doc
     |----- syntax        
        vimrc    (system rc files)
@@ -685,7 +685,7 @@ both GUI/GTK build and just console buil
 
 Define system symbols like below in for ex in LOGIN.COM or SYLOGIN.COM: >
 
-	$ define/nolog VIM RF10:[UTIL.VIM72] ! where you VIM directory is
+	$ define/nolog VIM RF10:[UTIL.VIM73] ! where you VIM directory is
 	$ vi*m  :== mcr VIM:VIM.EXE
 	$ gvi*m :== mcr VIM:GVIM.EXE
 	$ ! or you can try to spawn with
@@ -755,7 +755,7 @@ Solution 2.  Different directories: >
 	$      define/nolog VIM RF10:[UTIL.IA64_EXE] ! IA64 executables
 	$ endif
         $! VIMRUNTIME must be defined in order to find runtime files
-	$ define/nolog VIMRUNTIME RF10:[UTIL.VIM72]
+	$ define/nolog VIMRUNTIME RF10:[UTIL.VIM73]
 
 A good example for this approach is the [GNU]gnu_tools.com script from
 GNU_TOOLS.ZIP package downloadable from http://www.polarhome.com/vim/
--- a/runtime/doc/pi_zip.txt
+++ b/runtime/doc/pi_zip.txt
@@ -1,4 +1,4 @@
-*pi_zip.txt*	For Vim version 7.3.  Last change: 2010 Apr 12
+*pi_zip.txt*	For Vim version 7.3.  Last change: 2010 Sep 14
 
 				+====================+
 				| Zip File Interface |
@@ -64,12 +64,11 @@ 2. Usage					*zip-usage* *zip-manual*
 
    If for some reason you do not wish to use vim to examine zipped files,
    you may put the following two variables into your <.vimrc> to prevent
-   the tar plugin from loading: >
+   the zip plugin from loading: >
 
 	let g:loaded_zipPlugin= 1
 	let g:loaded_zip      = 1
 <
-<
 
 ==============================================================================
 3. Additional Extensions					*zip-extension*
--- a/runtime/doc/quickref.txt
+++ b/runtime/doc/quickref.txt
@@ -1,4 +1,4 @@
-*quickref.txt*  For Vim version 7.3.  Last change: 2010 Jul 24
+*quickref.txt*  For Vim version 7.3.  Last change: 2010 Sep 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1091,11 +1091,11 @@ Context-sensitive completion on the comm
 |:_#|	    #[num]	alternate file name [num] (only where a file name is
 			   expected)
 	Note: The next seven are typed literally; these are not special keys!
-|:<afile>|  <abuf>	buffer number, for use in an autocommand (only where a
+|:<abuf>|   <abuf>	buffer number, for use in an autocommand (only where a
 			   file name is expected)
-|:<afile>|  <afile>	file name, for user in an autocommand (only where a
+|:<afile>|  <afile>	file name, for use in an autocommand (only where a
 			   file name is expected)
-|:<afile>|  <amatch>	what matched with the pattern, for use in an
+|:<amatch>| <amatch>	what matched with the pattern, for use in an
 			   autocommand (only where a file name is expected)
 |:<cword>|  <cword>	word under the cursor (only where a file name is
 			   expected)
@@ -1377,7 +1377,7 @@ Context-sensitive completion on the comm
 		set foldmethod=indent	folding by indent
 		set foldmethod=expr	folding by 'foldexpr'
 		set foldmethod=syntax	folding by syntax regions
-		set foldmethod=marker	folding by 'foldmarkers'
+		set foldmethod=marker	folding by 'foldmarker'
 
 |zf|		zf{motion}		operator: Define a fold manually
 |:fold|		:{range}fold		define a fold for {range} lines
--- a/runtime/doc/starting.txt
+++ b/runtime/doc/starting.txt
@@ -1,4 +1,4 @@
-*starting.txt*  For Vim version 7.3.  Last change: 2009 Dec 31
+*starting.txt*  For Vim version 7.3.  Last change: 2010 Sep 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -95,14 +95,14 @@ exim	vim -E	    Start in improved Ex mod
 			(normally not installed)
 view	vim -R	    Start in read-only mode (see |-R|).		    *view*
 gvim	vim -g	    Start the GUI (see |gui|).			    *gvim*
-gex	vim -eg	    Start the GUI in Ex mode.			    *gex*
-gview	vim -Rg	    Start the GUI in read-only mode.		    *gview*
+gex	vim -eg	    Start the GUI in Ex mode.			  *gex*
+gview	vim -Rg	    Start the GUI in read-only mode.		  *gview*
 rvim	vim -Z	    Like "vim", but in restricted mode (see |-Z|)   *rvim*
-rview	vim -RZ	    Like "view", but in restricted mode.	    *rview*
-rgvim	vim -gZ	    Like "gvim", but in restricted mode.	    *rgvim*
-rgview	vim -RgZ    Like "gview", but in restricted mode.	    *rgview*
+rview	vim -RZ	    Like "view", but in restricted mode.	  *rview*
+rgvim	vim -gZ	    Like "gvim", but in restricted mode.	  *rgvim*
+rgview	vim -RgZ    Like "gview", but in restricted mode.	  *rgview*
 evim    vim -y      Easy Vim: set 'insertmode' (see |-y|)	    *evim*
-eview   vim -yR     Like "evim" in read-only mode		    *eview*
+eview   vim -yR     Like "evim" in read-only mode		  *eview*
 vimdiff vim -d	    Start in diff mode |diff-mode|
 gvimdiff vim -gd    Start in diff mode |diff-mode|
 
@@ -244,7 +244,7 @@ a slash.  Thus "-R" means recovery and "
 -Z		Restricted mode.  All commands that make use of an external
 		shell are disabled.  This includes suspending with CTRL-Z,
 		":sh", filtering, the system() function, backtick expansion,
-		etc.
+		delete(), rename(), mkdir(), writefile(), libcall(), etc.
 		{not in Vi}
 
 							*-g*
@@ -869,6 +869,7 @@ 11. Open all windows
 12. Execute startup commands
 	If a "-t" flag was given to Vim, the tag is jumped to.
 	The commands given with the |-c| and |+cmd| arguments are executed.
+	The starting flag is reset, has("vim_starting") will now return zero.
 	If the 'insertmode' option is set, Insert mode is entered.
 	The |VimEnter| autocommands are executed.
 
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.3.  Last change: 2010 Aug 10
+*syntax.txt*	For Vim version 7.3.  Last change: 2010 Sep 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3953,7 +3953,7 @@ To show the syntax items for one syntax 
 
     :sy[ntax] list {group-name}
 
-To list the syntax groups in one cluster:			*E392*	>
+To list the syntax groups in one cluster:			*E392*	 >
 
     :sy[ntax] list @{cluster-name}
 
@@ -4612,7 +4612,7 @@ is loaded into that window or the file i
 When splitting the window, the new window will use the original syntax.
 
 ==============================================================================
-16. Color xterms				*xterm-color* *color-xterm*
+17. Color xterms				*xterm-color* *color-xterm*
 
 Most color xterms have only eight colors.  If you don't get colors with the
 default setup, it should work with these lines in your .vimrc: >
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  Last change: 2010 Aug 15
+*todo.txt*      For Vim version 7.3.  Last change: 2010 Sep 19
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,23 +30,97 @@ be worked on, but only if you sponsor Vi
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-":find e" completion, editing a file in the Vim source directory, 'path' set
-to "./proto", does not shorten ./proto/eval.pro, probably because of
-./proto/ex_eval.pro.
+"buffer" in if_python.c, ex_pyfile() shadows global var buffer in if_py_both.h
+
+Crash on Windows when using strftime(). (Christian Brabandt, 2010 Aug 18)
+Appears to be triggered by '%R' and '%T'.
+Use the bad_param_handler() (Mike Williams, 2010 Aug 19, 20)
+
+Patch: missing break in Mac GUI. (Dominique Pelle, 2010 Aug 19)
+
+":e ~br<Tab>" does not complete to ":e /home/bram/".  Crash too?
+
+Patch for Mingw build file (Jon, 2010 Aug 22)
+Patch for loading different Ruby versions. (Jon, 2010 Aug 23)
+
+Patch for clipboard not working properly: (Toni Ronkko)
+http://softagalleria.net/download/vim/clipboard.patch
+Clipboard not working with Athena. (Micael Ringe, 2010 Sep 13)
+
+Document cscope and sign completion for user commands. (Peter Odding, 2010 Aug
+19)
 
 Problem with \NL in Ex script. (Ray Frish, 2010 Aug 10)
 
+Runtime file for Falcon. (Steven Oliver, 2010 Sep 14)
+
+Patch to fix error tags in help files. (Dominique Pelle, 2010 Aug 25)
+
+Patch to fix :nbstart silently failing. (Xavier de Gaye, 2010 Aug 20)
+Another one for when Athena has netbeans support.
+
+patch for 3 bugs reported by smatch. (Dominique Pelle, 2010 Aug 23)
+
+'cursorline' is displayed too short when there are concealed characters and
+'list' is set, 'listchars' at default value. (Dennis Preiser, 2010 Aug 15)
+
+Hang on slave PTY on Mac.  Patch from Nikola Knezevic, 2010 Aug 29.
+
+Patch to support netbeans under Athena. (Xavier de Gaye, 2010 Aug 20)
+
+Patch to fix sign type negative and memory not freed. (Xavier de Gaye, 2010
+Aug 20)
+
+Conceal: using Tab for cchar causes problems.  Should reject it. (ZyX, 2010
+Aug 25)
+
+Syntax region with 'concealends' and a 'cchar' value, 'conceallevel' set to 2,
+only one of the two ends gets the cchar displayed. (Brett Stahlman, 2010 Aug
+21, Ben Fritz, 2010 Sep 14)
+
+Patch for :mksession not escaping file name properly. (Peter Odding, 2010 Sep
+19)
+
+Patch for :grep docs. (Britton Kerin, 2010 Aug 31)
+
+Windows keys not set properly on Windows 7?  (cncyber, 2010 Aug 26)
+
+maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
+These are needed to save and restore a mapping.
+Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
+Patch by Christian Brabandt, 2010 Sep 17.
+
+Building the MingW version without clipboard but with multi-byte doesn't
+build. (Bill Lam, 2010 Sep 18)
+
 Bug: E685 error for func_unref(). (ZyX, 2010 Aug 5)
 
+Patch to fix warning for accessing mediumVersion. (Dominique Pelle, 2010 Aug
+18)
+
+Patch for 2html to support 'fileencoding'. (Benjamin Fritz, 2010 Sep 10)
+
 CTRL-] on help tag |/[\n]| doesn't jump to the right place. (Tony Mechelynck,
 2010 Aug 8)
 
+Three patches for undo persistence. (Christian Brabandt, 2010 Sep 4)
+
+string() can't parse back "inf" and "nan".  Fix documentation or fix code?
+(XyX, 2010 Aug 23)
+
 ":command Print echo 'print'" works, but ":Print" doesn't.  Builtin Print
 should be overruled. (Aaron Thoma)
+Patch by Christian Brabandt, 2010 Sep 5.
+
+Comparing recursive structure loops forever. (ZyX, 2010 Aug 22, info from John
+Beckett Aug 23)
 
 GTK: drawing a double-width combining character over single-width characters
 doesn't look right. (Dominique Pelle, 2010 Aug 8)
 
+copy/paste between Vim and Google chrome doesn't work well for multi-byte
+characters. (Ben Haskell, 2010 Sep 17)
+
 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?
 
@@ -55,15 +129,33 @@ Results in E670. (Tony Mechelynck, 2010 
 
 setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
 
+getpos()/setpos() don't include curswant.  getpos() could return a fifth
+element.  setpos() could accept an optional fifth element.
+Patch by Christian Brabandt, 2010 Sep 6.  Check that new argument is optional
+and that it's documented.
+
+Messages in message.txt are highlighted as examples.
+
+Win32: Patch to fix slow access over network (David Anderson).  Cleaned up by
+John Beckett, 2010 Aug 25.
+
 Test 73 fails on MS-Windows when compiled with DJGPP and run twice.  How to
 delete the Xfind directory?  Add an rmdir() function, just like we have
 mkdir().
 
 'cindent' not correct when 'list' is set. (Zdravi Korusef, 2010 Apr 15)
 
+Windows installer: licence text should not use indent, causes bad word wrap.
+(Benjamin Fritz, 2010 Aug 16)
+
+Mac with X11: clipboard doesn't work properly. (Raf, 2010 Aug 16)
+
 ":helpgrep" does not put the cursor in the correct column when preceded by
 accented character. (Tony Mechelynck, 2010 Apr 15)
 
+Don't call check_restricted() for histadd(), setbufvar(), settabvar(),
+setwinvar().
+
 Echo starts in the wrong column:
     while 1 | let s = input('A') | echo 'R' | endw
 (Boyko Bantchev, 2010 Aug 9)
@@ -75,6 +167,9 @@ Patch to make more characters work in di
 
 ":drop" does not respect 'autochdir'. (Peter Odding, 2010 Jul 24)
 
+When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
+instead of one. (Constantin Pan, 2010 Sep 10)
+
 Problem with cursor in the wrong column. (SungHyun Nam, 2010 Mar 11)
 Additional info by Dominique Pelle. (also on 2010 Apr 10)
 
@@ -162,6 +257,12 @@ line argument -noregister.
 When a mapping exists both for insert mode and lang-insert mode, the last one
 doesn't work. (Tyru, 2010 May 6)  Or is this intended?
 
+Cursor position wrong when 'formatoptions' contains "a". (Moshe Kamensky, 2010
+Sep 7, Gary Johnson, 2010 Sep 14)
+Formatoptions cause cursor to jump. (ZyX, 2010 Aug 22)
+Caused by revision 2294, "Make joining a range of lines much faster. (Milan
+Vancura)" ?
+
 Still a problem with ":make" in the wrong directory.  Caused by ":bufdo".
 (Ajit Thakkar, 2009 Jul 1) More information Jul 9, Jul 15.
 Caused by "doautoall syntaxset BufEnter *" in syntax/nosyntax.vim ?
@@ -178,8 +279,13 @@ Probably needs a bit of work.
 List of encoding aliases. (Takao Fujiware, 2009 Jul 18)
 Are they all OK?  Update Jul 22.
 
+Win32: Improved Makefile for MSVC. (Leonardo Valeri Manera, 2010 Aug 18)
+
 Win32: Expanding 'path' runs into a maximum size limit. (bgold12, 2009 Nov 15)
 
+Win32: Patch for enabling quick edit mode in console. (Craig Barkhouse, 2010
+Sep 1)
+
 Putting a Visual block while 'visualedit' is "all" does not leave the cursor
 on the first character. (John Beckett, 2010 Aug 7)
 
@@ -288,10 +394,6 @@ very high. (Yegappan Lakshmanan, 2010 Ju
 Directory wrong in session file, caused by ":lcd" in BufEnter autocommand.
 (Felix Kater, 2009 Mar 3)
 
-maparg() doesn't return the flags, such as <buffer>, <script>, <silent>.
-These are needed to save and restore a mapping.
-Also: the rhs string is not always correct. (Hari Krishna Dara, 2009 Sept 29)
-
 Using ~ works OK on 'a' with composing char, but not on 0x0418  with composing
 char 0x0301. (Tony Mechelynck, 2009 Mar 4)
 
@@ -424,6 +526,15 @@ argument is processed for <f-args>. (Iva
 Win32: associating a type with Vim doesn't take care of space after a
 backslash? (Robert Vibrant, 2008 Jun 5)
 
+Win32: bold font doesn't work when 'guifontwide' has been set. (Yue Wu, 2010
+Aug 23)
+
+When 'rightleft' is set, cursorcolumn isn't highlighted after the end of a
+line.  It's also wrong in folds. (Dominique Pelle, 2010 Aug 21)
+
+Using an insert mode expression mapping, cursor is not in the expected
+position. (ZyX, 2010 Aug 29)
+
 After using <Tab> for command line completion after ":ta blah" and getting E33
 (no tags file), further editing the command to e.g., ":echo 'blah'", the
 command is not executed.  Fix by Ian Kelling?
@@ -513,6 +624,12 @@ When 'smartcase' is set and using CTRL-L
 result in no matches.  Convert chars to lower case? (Erik Wognsen, 2009 Apr
 16)
 
+Searching for composing char works, but not when inside []. (ZyX, Benjamin R.
+Haskell, 2010 Aug 24)
+
+Fail to edit file after failed register access.  Error flag remains set?
+(Lech Lorens, 2010 Aug 30)
+
 Patch for redo register. (Ben Schmidt, 2007 Oct 19)
 Await response to question to make the register writable.
 
@@ -560,6 +677,7 @@ C syntax: {} inside () causes following 
 
 Can't easily close the help window, like ":pc" closes the preview window and
 ":ccl" closes the quickfix window.  Add ":hclose". (Chris Gaal)
+Patch for :helpclose, Christian Brabandt, 2010 Sep 6.
 
 When 'diffopt' has "context:0" a single deleted line causes two folds to merge
 and mess up syncing. (Austin Jennings, 2008 Jan 31)
@@ -589,6 +707,9 @@ Asked about latest version: 0.77.1 is on
 
 More AmigaOS4 patches. (Peter Bengtsson, Nov 9)
 
+Amiga patches with vbcc. (Adrien Destugues, 2010 Aug 30)
+http://pulkomandy.ath.cx/drop/vim73_vbcc_amiga.diff
+
 Insert mode completion: When editing the text and pressing CTRL-N again goes
 back to originally completed text, edited text is gone. (Peng Yu, 2008 Jul 24)
 Suggestion by Ben Schmidt, 2008 Aug 6.
@@ -718,9 +839,6 @@ Win32: When there is 4 Gbyte of memory m
 Unfinished patch by Jelle Geerts, 2008 Aug 24.
 Let mch_avail_mem() return Kbyte instead?
 
-Win32: With two monitors, gvim partly on both, and adding/removing a scrollbar
-Vim resizes and moves to one of the monitors. (Chris Monkiewicz, 2008 Oct)
-
 Win32: When 'shell' is bash shellescape() doesn't always do the right thing.
 Depends on 'shellslash', 'shellquote' and 'shellxquote', but shellescape()
 only takes 'shellslash' into account.
@@ -802,9 +920,6 @@ VMS: VFC files are in some cases truncat
 input() completion should not insert a backslash to escape a space in a file
 name?
 
-getpos()/setpos() don't include curswant.  getpos() could return a fifth
-element.  setpos() could accept an optional fifth element.
-
 Ruby completion is insecure.  Can this be fixed?
 
 When 'backupskip' is set from $TEMP special characters need to be escaped.
@@ -993,9 +1108,6 @@ resulting in highlighted "{" in that win
 In mswin.vim: Instead of mapping <C-V> for Insert mode in a complicated way,
 can it be done like ":imap <C-V> <MiddleMouse>" without negative side effects?
 
-Win32: When the GUI tab pages line is displayed Vim jumps from the secondary
-to the primary monitor. (Afton Lewis, 2007 Mar 9)  Old resizing problem?
-
 GTK: when the Tab pages bar appears or disappears while the window is
 maximized the window is no longer maximized.  Patch that has some idea but
 doesn't work from Geoffrey Antos, 2008 May 5.
@@ -1319,9 +1431,18 @@ 8   non-ASCII font names don't work.  Ne
     the wide functions.
 8   On Windows 98 the unicows library is needed to support functions with UCS2
     file names.  Can we load unicows.dll dynamically?
+8   Win32: With two monitors, gvim partly on both, and adding/removing a
+    scrollbar Vim resizes and moves to one of the monitors. (Chris Monkiewicz,
+    2008 Oct)
 8   When the primary monitor is below or right of the secondary monitor and
     Vim is on the secondary monitor it will often move to the primary monitor.
     Window position coordinates can be negative. (James Harvey)
+    When the primary monitor is on the right, coordinates on the left monitor
+    are negative.  Clamping to zero means gvim jups to the primary monitor.
+    (Michael Wookey, 2010 Aug 17)
+    Probably the same issue: When the GUI tab pages line is displayed Vim
+    jumps from the secondary to the primary monitor. (Afton Lewis, 2007 Mar 9)
+    Possible solution using GetSystemMetrics() (Sergey Khorev, 2010 Aug 18)
 8   The -P argument doesn't work very well with many MDI applications.
     The last argument of CreateWindowEx() should be used, see MSDN docs.
     Tutorial: http://win32assembly.online.fr/tut32.html
--- a/runtime/doc/undo.txt
+++ b/runtime/doc/undo.txt
@@ -1,4 +1,4 @@
-*undo.txt*      For Vim version 7.3.  Last change: 2010 Jul 20
+*undo.txt*      For Vim version 7.3.  Last change: 2010 Sep 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -125,9 +125,9 @@ This is explained in the user manual: |u
 
 							*:undol* *:undolist*
 :undol[ist]		List the leafs in the tree of changes.  Example:
-				number changes   time ~
+				number changes   time      saved ~
 				4      10	 10:34:11
-				18     4	 11:01:46
+				18     4	 11:01:46  7
 
 			The "number" column is the change number.  This number
 			continuously increases and can be used to identify a
@@ -135,6 +135,9 @@ This is explained in the user manual: |u
 			The "changes" column is the number of changes to this
 			leaf from the root of the tree.
 			The "time" column is the time this change was made.
+			The "saved" column specifies, if this change was
+			written to disk and which file write it was. This can
+			be used with the |later| and |earlier| commands.
 			For more details use the |undotree()| function.
 
 							*g-*
@@ -148,7 +151,7 @@ g-			Go to older text state.  With a cou
 :earlier {N}d		Go to older text state about {N} days before.
 
 :earlier {N}f		Go to older text state {N} file writes before.
-			When changes were made since the laste write
+			When changes were made since the last write
 			":earlier 1f" will revert the text to the state when
 			it was written.  Otherwise it will go to the write
 			before that.
@@ -324,8 +327,8 @@ Writing an undo file may fail for these 
 	A file exists with the name of the undo file to be written, but it
 	does not start with the right magic number.  You may want to delete
 	this file or rename it.
-"Skipping undo file write, noting to undo"
-	There is no undo information not be written, nothing has been changed
+"Skipping undo file write, nothing to undo"
+	There is no undo information to be written, nothing has been changed
 	or 'undolevels' is negative.
 *E829*	An error occurred while writing the undo file.  You may want to try
 	again.
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 7.3.  Last change: 2010 Aug 10
+*various.txt*   For Vim version 7.3.  Last change: 2010 Sep 14
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -610,7 +610,7 @@ g CTRL-A		Only when Vim was compiled wit
 			Only useful for debugging Vim.
 
 ==============================================================================
-3. Using Vim like less or more					*less*
+2. Using Vim like less or more					*less*
 
 If you use the less or more program to view a file, you don't get syntax
 highlighting.  Thus you would like to use Vim instead.  You can do this by
--- a/runtime/syntax/d.vim
+++ b/runtime/syntax/d.vim
@@ -1,16 +1,19 @@
-" Vim syntax file for the D programming language (version 1.053 and 2.039).
+" Vim syntax file for the D programming language (version 1.053 and 2.047).
 "
-" Language:	D
-" Maintainer:	Jason Mills<jasonmills@nf.sympatico.ca>
-" Last Change:	2010 Jan 07
-" Version:	0.18
+" Language:     D
+" Maintainer:   Jesse Phillips <Jesse.K.Phillips+D@gmail.com>
+" Last Change:  2010 Sep 9
+" Version:      0.21
 "
 " Contributors:
+"   - Jason Mills <jasonmills@nf.sympatico.ca>: original Maintainer
 "   - Kirk McDonald: version 0.17 updates, with minor modifications
 "     (http://paste.dprogramming.com/dplmb7qx?view=hidelines)
-"   - Jesse K. Phillips: patch for some keywords and attributes (annotations), with modifications
 "   - Tim Keating: patch to fix a bug in highlighting the `\` literal
 "   - Frank Benoit: Fixed a bug that caused some identifiers and numbers to highlight as octal number errors.
+"   - Shougo Matsushita <Shougo.Matsu@gmail.com>: updates for latest 2.047 highlighting
+"   - Ellery Newcomer: Fixed some highlighting bugs.
+"   - Steven N. Oliver: #! highlighting
 "
 " Please email me with bugs, comments, and suggestions.
 "
@@ -47,52 +50,89 @@ endif
 
 " Keyword definitions
 "
-syn keyword dExternal		import package module extern
-syn keyword dConditional	if else switch
-syn keyword dBranch		goto break continue
-syn keyword dRepeat		while for do foreach foreach_reverse
-syn keyword dBoolean		true false
-syn keyword dConstant		null
-syn keyword dConstant		__FILE__ __LINE__ __EOF__ __VERSION__
-syn keyword dConstant		__DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
-
-syn keyword dTypedef		alias typedef
-syn keyword dStructure		template interface class struct union
-syn keyword dEnum		enum
-syn keyword dOperator		new delete typeof typeid cast align is
-syn keyword dOperator		this super
+syn keyword dExternal              import package module extern
+syn keyword dConditional           if else switch
+syn keyword dBranch                goto break continue
+syn keyword dRepeat                while for do foreach foreach_reverse
+syn keyword dBoolean               true false
+syn keyword dConstant              null
+syn keyword dConstant              __FILE__ __LINE__ __EOF__ __VERSION__
+syn keyword dConstant              __DATE__ __TIME__ __TIMESTAMP__ __VENDOR__
+syn keyword dTypedef               alias typedef
+syn keyword dStructure             template interface class struct union
+syn keyword dEnum                  enum
+syn keyword dOperator              new delete typeof typeid cast align is
+syn keyword dOperator              this super
 if exists("d_hl_operator_overload")
-  syn keyword dOpOverload	opNeg opCom opPostInc opPostDec opCast opAdd opSub opSub_r
-  syn keyword dOpOverload	opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor
-  syn keyword dOpOverload	opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
-  syn keyword dOpOverload	opCat_r opEquals opEquals opCmp
-  syn keyword dOpOverload	opAssign opAddAssign opSubAssign opMulAssign opDivAssign
-  syn keyword dOpOverload	opModAssign opAndAssign opOrAssign opXorAssign
-  syn keyword dOpOverload	opShlAssign opShrAssign opUShrAssign opCatAssign
-  syn keyword dOpOverload	opIndex opIndexAssign opCall opSlice opSliceAssign opPos
-  syn keyword dOpOverload	opAdd_r opMul_r opAnd_r opOr_r opXor_r opIn opIn_r
-  syn keyword dOpOverload	opPow opDispatch opStar opDot opApply opApplyReverse
+  syn keyword dOpOverload          opNeg opCom opPostInc opPostDec opCast opAdd
+  syn keyword dOpOverload          opSub opSub_r opMul opDiv opDiv_r opMod 
+  syn keyword dOpOverload          opMod_r opAnd opOr opXor opShl opShl_r opShr
+  syn keyword dOpOverload          opShr_r opUShr opUShr_r opCat
+  syn keyword dOpOverload          opCat_r opEquals opEquals opCmp
+  syn keyword dOpOverload          opAssign opAddAssign opSubAssign opMulAssign
+  syn keyword dOpOverload          opDivAssign opModAssign opAndAssign 
+  syn keyword dOpOverload          opOrAssign opXorAssign opShlAssign 
+  syn keyword dOpOverload          opShrAssign opUShrAssign opCatAssign
+  syn keyword dOpOverload          opIndex opIndexAssign opIndexOpAssign
+  syn keyword dOpOverload          opCall opSlice opSliceAssign opSliceOpAssign 
+  syn keyword dOpOverload          opPos opAdd_r opMul_r opAnd_r opOr_r opXor_r
+  syn keyword dOpOverload          opIn opIn_r opPow opDispatch opStar opDot 
+  syn keyword dOpOverload          opApply opApplyReverse
+  syn keyword dOpOverload          opUnary opIndexUnary opSliceUnary
+  syn keyword dOpOverload          opBinary opBinaryRight
 endif
-syn keyword dType		ushort int uint long ulong float
-syn keyword dType		void byte ubyte double bit char wchar ucent cent
-syn keyword dType		short bool dchar string wstring dstring
-syn keyword dType		real ireal ifloat idouble creal cfloat cdouble
-syn keyword dDebug		deprecated unittest
-syn keyword dExceptions		throw try catch finally
-syn keyword dScopeDecl		public protected private export
-syn keyword dStatement		version debug return with
-syn keyword dStatement		function delegate __traits asm mixin macro
-syn keyword dStorageClass	in out inout ref lazy scope body
-syn keyword dStorageClass	pure nothrow
-syn keyword dStorageClass	auto static override final abstract volatile __gshared __thread
-syn keyword dStorageClass	synchronized immutable shared const invariant lazy
-syn keyword dPragma		pragma
+
+syn keyword dType                  void ushort int uint long ulong float
+syn keyword dType                  byte ubyte double bit char wchar ucent cent
+syn keyword dType                  short bool dchar wstring dstring
+syn keyword dType                  real ireal ifloat idouble
+syn keyword dType                  creal cfloat cdouble
+syn keyword dDebug                 deprecated unittest invariant
+syn keyword dExceptions            throw try catch finally
+syn keyword dScopeDecl             public protected private export
+syn keyword dStatement             debug return with
+syn keyword dStatement             function delegate __traits mixin macro
+syn keyword dStorageClass          in out inout ref lazy body
+syn keyword dStorageClass          pure nothrow
+syn keyword dStorageClass          auto static override final abstract volatile
+syn keyword dStorageClass          __gshared __thread
+syn keyword dStorageClass          synchronized shared immutable const lazy
+syn keyword dPragma                pragma
+syn keyword dIdentifier            _arguments _argptr __vptr __monitor _ctor _dtor
+syn keyword dScopeIdentifier       contained exit success failure
+syn keyword dAttribute             contained safe trusted system
+syn keyword dAttribute             contained property disable
+syn keyword dVersionIdentifier     contained DigitalMars GNU LDC LLVM
+syn keyword dVersionIdentifier     contained X86 X86_64 Windows Win32 Win64 
+syn keyword dVersionIdentifier     contained linux Posix OSX FreeBSD
+syn keyword dVersionIdentifier     contained LittleEndian BigEndian D_Coverage
+syn keyword dVersionIdentifier     contained D_Ddoc D_InlineAsm_X86
+syn keyword dVersionIdentifier     contained D_InlineAsm_X86_64 D_LP64 D_PIC
+syn keyword dVersionIdentifier     contained unittest D_Version2 none all
+
+" Highlight the sharpbang
+syn match dSharpBang "\%^#!.*"     display
 
 " Attributes/annotations
-syn match dAnnotation	"@[_$a-zA-Z][_$a-zA-Z0-9_]*\>"
+syn match dAnnotation	"@[_$a-zA-Z][_$a-zA-Z0-9_]*\>" contains=dAttribute
+
+" Version Identifiers
+syn match dVersion	"version\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+7 contains=dVersionIdentifier
+syn match dVersion	"[^.]\s*\<version\>"
+syn match dVersion	"^\<version\>"
+
+" Scope StorageClass
+syn match dStorageClass   "scope"
+
+" Scope Identifiers
+syn match dScope	"scope\s*([_a-zA-Z][_a-zA-Z0-9]*\>"he=s+5 contains=dScopeIdentifier
+
+" String is a statement and a module name.
+syn match dType "^string"
+syn match dType "[^.]\s*\<string\>"ms=s+1
 
 " Assert is a statement and a module name.
-syn match dAssert "^assert\>"
+syn match dAssert "^assert"
 syn match dAssert "[^.]\s*\<assert\>"ms=s+1
 
 " dTokens is used by the token string highlighting
@@ -101,26 +141,18 @@ syn cluster dTokens add=dConstant,dTyped
 syn cluster dTokens add=dType,dDebug,dExceptions,dScopeDecl,dStatement
 syn cluster dTokens add=dStorageClass,dPragma,dAssert,dAnnotation
 
-" Marks contents of the asm statment body as special
-"
-" TODO
-"syn match dAsmStatement "\<asm\>"
-"syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement
-"
-"hi def link dAsmBody dUnicode
-"hi def link dAsmStatement dStatement
 
 " Labels
 "
 " We contain dScopeDecl so public: private: etc. are not highlighted like labels
 syn match dUserLabel    "^\s*[_$a-zA-Z][_$a-zA-Z0-9_]*\s*:"he=e-1 contains=dLabel,dScopeDecl,dEnum
-syn keyword dLabel	case default
+syn keyword dLabel      case default
 
 syn cluster dTokens add=dUserLabel,dLabel
 
 " Comments
 "
-syn keyword dTodo	contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
+syn keyword dTodo                                                                contained TODO FIXME TEMP REFACTOR REVIEW HACK BUG XXX
 syn match dCommentStar	contained "^\s*\*[^/]"me=e-1
 syn match dCommentStar	contained "^\s*\*$"
 syn match dCommentPlus	contained "^\s*+[^/]"me=e-1
@@ -251,51 +283,184 @@ syn region  dPragma start="#\s*\(line\>\
 
 " The default highlighting.
 "
-hi def link dBinary		Number
-hi def link dDec		Number
-hi def link dHex		Number
-hi def link dOctal		Number
-hi def link dFloat		Float
-hi def link dHexFloat		Float
-hi def link dDebug		Debug
-hi def link dBranch		Conditional
-hi def link dConditional	Conditional
-hi def link dLabel		Label
-hi def link dUserLabel		Label
-hi def link dRepeat		Repeat
-hi def link dExceptions		Exception
-hi def link dAssert		Statement
-hi def link dStatement		Statement
-hi def link dScopeDecl		dStorageClass
-hi def link dStorageClass	StorageClass
-hi def link dBoolean		Boolean
-hi def link dUnicode		Special
-hi def link dTokenStringBrack	String
-hi def link dHereString		String
-hi def link dNestString		String
-hi def link dDelimString	String
-hi def link dRawString		String
-hi def link dString		String
-hi def link dHexString		String
-hi def link dCharacter		Character
-hi def link dEscSequence	SpecialChar
-hi def link dSpecialCharError	Error
-hi def link dOctalError		Error
-hi def link dOperator		Operator
-hi def link dOpOverload		Identifier
-hi def link dConstant		Constant
-hi def link dTypedef		Typedef
-hi def link dEnum		Structure
-hi def link dStructure		Structure
-hi def link dTodo		Todo
-hi def link dType		Type
-hi def link dLineComment	Comment
-hi def link dBlockComment	Comment
-hi def link dNestedComment	Comment
-hi def link dExternal		Include
-hi def link dPragma		PreProc
-hi def link dAnnotation		PreProc
+hi def link dBinary              Number
+hi def link dDec                 Number
+hi def link dHex                 Number
+hi def link dOctal               Number
+hi def link dFloat               Float
+hi def link dHexFloat            Float
+hi def link dDebug               Debug
+hi def link dBranch              Conditional
+hi def link dConditional         Conditional
+hi def link dLabel               Label
+hi def link dUserLabel           Label
+hi def link dRepeat              Repeat
+hi def link dExceptions          Exception
+hi def link dAssert              Statement
+hi def link dStatement           Statement
+hi def link dScopeDecl           dStorageClass
+hi def link dStorageClass        StorageClass
+hi def link dBoolean             Boolean
+hi def link dUnicode             Special
+hi def link dTokenStringBrack    String
+hi def link dHereString          String
+hi def link dNestString          String
+hi def link dDelimString         String
+hi def link dRawString           String
+hi def link dString              String
+hi def link dHexString           String
+hi def link dCharacter           Character
+hi def link dEscSequence         SpecialChar
+hi def link dSpecialCharError    Error
+hi def link dOctalError          Error
+hi def link dOperator            Operator
+hi def link dOpOverload          Identifier
+hi def link dConstant            Constant
+hi def link dTypedef             Typedef
+hi def link dEnum                Structure
+hi def link dStructure           Structure
+hi def link dTodo                Todo
+hi def link dType                Type
+hi def link dLineComment         Comment
+hi def link dBlockComment        Comment
+hi def link dNestedComment       Comment
+hi def link dExternal            Include
+hi def link dPragma              PreProc
+hi def link dAnnotation          PreProc
+hi def link dSharpBang           PreProc
+hi def link dAttribute           StorageClass
+hi def link dIdentifier          Identifier
+hi def link dVersionIdentifier   Identifier
+hi def link dVersion             dStatement
+hi def link dScopeIdentifier     dStatement
+hi def link dScope               dStorageClass
 
 let b:current_syntax = "d"
 
-" vim: ts=8 noet
+" Marks contents of the asm statment body as special
+
+syn match dAsmStatement "\<asm\>"
+syn region dAsmBody start="asm[\n]*\s*{"hs=e+1 end="}"he=e-1 contains=dAsmStatement,dAsmOpCode
+
+hi def link dAsmBody dUnicode
+hi def link dAsmStatement dStatement
+hi def link dAsmOpCode Identifier
+
+syn keyword dAsmOpCode contained	aaa  	aad  	aam  	aas  	adc
+syn keyword dAsmOpCode contained	add 	addpd 	addps 	addsd 	addss
+syn keyword dAsmOpCode contained	and 	andnpd 	andnps 	andpd 	andps
+syn keyword dAsmOpCode contained	arpl 	bound 	bsf 	bsr 	bswap
+syn keyword dAsmOpCode contained	bt 	btc 	btr 	bts 	call
+syn keyword dAsmOpCode contained	cbw 	cdq 	clc 	cld 	clflush
+syn keyword dAsmOpCode contained	cli 	clts 	cmc 	cmova 	cmovae
+syn keyword dAsmOpCode contained	cmovb 	cmovbe 	cmovc 	cmove 	cmovg
+syn keyword dAsmOpCode contained	cmovge 	cmovl 	cmovle 	cmovna 	cmovnae
+syn keyword dAsmOpCode contained	cmovnb 	cmovnbe 	cmovnc 	cmovne 	cmovng
+syn keyword dAsmOpCode contained	cmovnge 	cmovnl 	cmovnle 	cmovno 	cmovnp
+syn keyword dAsmOpCode contained	cmovns 	cmovnz 	cmovo 	cmovp 	cmovpe
+syn keyword dAsmOpCode contained	cmovpo 	cmovs 	cmovz 	cmp 	cmppd
+syn keyword dAsmOpCode contained	cmpps 	cmps 	cmpsb 	cmpsd 	cmpss
+syn keyword dAsmOpCode contained	cmpsw 	cmpxch8b 	cmpxchg 	comisd 	comiss
+syn keyword dAsmOpCode contained	cpuid 	cvtdq2pd 	cvtdq2ps 	cvtpd2dq 	cvtpd2pi
+syn keyword dAsmOpCode contained	cvtpd2ps 	cvtpi2pd 	cvtpi2ps 	cvtps2dq 	cvtps2pd
+syn keyword dAsmOpCode contained	cvtps2pi 	cvtsd2si 	cvtsd2ss 	cvtsi2sd 	cvtsi2ss
+syn keyword dAsmOpCode contained	cvtss2sd 	cvtss2si 	cvttpd2dq 	cvttpd2pi 	cvttps2dq
+syn keyword dAsmOpCode contained	cvttps2pi 	cvttsd2si 	cvttss2si 	cwd 	cwde
+syn keyword dAsmOpCode contained	da 	daa 	das 	db 	dd
+syn keyword dAsmOpCode contained	de 	dec 	df 	di 	div
+syn keyword dAsmOpCode contained	divpd 	divps 	divsd 	divss 	dl
+syn keyword dAsmOpCode contained	dq 	ds 	dt 	dw 	emms
+syn keyword dAsmOpCode contained	enter 	f2xm1 	fabs 	fadd 	faddp
+syn keyword dAsmOpCode contained	fbld 	fbstp 	fchs 	fclex 	fcmovb
+syn keyword dAsmOpCode contained	fcmovbe 	fcmove 	fcmovnb 	fcmovnbe 	fcmovne
+syn keyword dAsmOpCode contained	fcmovnu 	fcmovu 	fcom 	fcomi 	fcomip
+syn keyword dAsmOpCode contained	fcomp 	fcompp 	fcos 	fdecstp 	fdisi
+syn keyword dAsmOpCode contained	fdiv 	fdivp 	fdivr 	fdivrp 	feni
+syn keyword dAsmOpCode contained	ffree 	fiadd 	ficom 	ficomp 	fidiv
+syn keyword dAsmOpCode contained	fidivr 	fild 	fimul 	fincstp 	finit
+syn keyword dAsmOpCode contained	fist 	fistp 	fisub 	fisubr 	fld
+syn keyword dAsmOpCode contained	fld1 	fldcw 	fldenv 	fldl2e 	fldl2t
+syn keyword dAsmOpCode contained	fldlg2 	fldln2 	fldpi 	fldz 	fmul
+syn keyword dAsmOpCode contained	fmulp 	fnclex 	fndisi 	fneni 	fninit
+syn keyword dAsmOpCode contained	fnop 	fnsave 	fnstcw 	fnstenv 	fnstsw
+syn keyword dAsmOpCode contained	fpatan 	fprem 	fprem1 	fptan 	frndint
+syn keyword dAsmOpCode contained	frstor 	fsave 	fscale 	fsetpm 	fsin
+syn keyword dAsmOpCode contained	fsincos 	fsqrt 	fst 	fstcw 	fstenv
+syn keyword dAsmOpCode contained	fstp 	fstsw 	fsub 	fsubp 	fsubr
+syn keyword dAsmOpCode contained	fsubrp 	ftst 	fucom 	fucomi 	fucomip
+syn keyword dAsmOpCode contained	fucomp 	fucompp 	fwait 	fxam 	fxch
+syn keyword dAsmOpCode contained	fxrstor 	fxsave 	fxtract 	fyl2x 	fyl2xp1
+syn keyword dAsmOpCode contained	hlt 	idiv 	imul 	in 	inc
+syn keyword dAsmOpCode contained	ins 	insb 	insd 	insw 	int
+syn keyword dAsmOpCode contained	into 	invd 	invlpg 	iret 	iretd
+syn keyword dAsmOpCode contained	ja 	jae 	jb 	jbe 	jc
+syn keyword dAsmOpCode contained	jcxz 	je 	jecxz 	jg 	jge
+syn keyword dAsmOpCode contained	jl 	jle 	jmp 	jna 	jnae
+syn keyword dAsmOpCode contained	jnb 	jnbe 	jnc 	jne 	jng
+syn keyword dAsmOpCode contained	jnge 	jnl 	jnle 	jno 	jnp
+syn keyword dAsmOpCode contained	jns 	jnz 	jo 	jp 	jpe
+syn keyword dAsmOpCode contained	jpo 	js 	jz 	lahf 	lar
+syn keyword dAsmOpCode contained	ldmxcsr 	lds 	lea 	leave 	les
+syn keyword dAsmOpCode contained	lfence 	lfs 	lgdt 	lgs 	lidt
+syn keyword dAsmOpCode contained	lldt 	lmsw 	lock 	lods 	lodsb
+syn keyword dAsmOpCode contained	lodsd 	lodsw 	loop 	loope 	loopne
+syn keyword dAsmOpCode contained	loopnz 	loopz 	lsl 	lss 	ltr
+syn keyword dAsmOpCode contained	maskmovdqu 	maskmovq 	maxpd 	maxps 	maxsd
+syn keyword dAsmOpCode contained	maxss 	mfence 	minpd 	minps 	minsd
+syn keyword dAsmOpCode contained	minss 	mov 	movapd 	movaps 	movd
+syn keyword dAsmOpCode contained	movdq2q 	movdqa 	movdqu 	movhlps 	movhpd
+syn keyword dAsmOpCode contained	movhps 	movlhps 	movlpd 	movlps 	movmskpd
+syn keyword dAsmOpCode contained	movmskps 	movntdq 	movnti 	movntpd 	movntps
+syn keyword dAsmOpCode contained	movntq 	movq 	movq2dq 	movs 	movsb
+syn keyword dAsmOpCode contained	movsd 	movss 	movsw 	movsx 	movupd
+syn keyword dAsmOpCode contained	movups 	movzx 	mul 	mulpd 	mulps
+syn keyword dAsmOpCode contained	mulsd 	mulss 	neg 	nop 	not
+syn keyword dAsmOpCode contained	or 	orpd 	orps 	out 	outs
+syn keyword dAsmOpCode contained	outsb 	outsd 	outsw 	packssdw 	packsswb
+syn keyword dAsmOpCode contained	packuswb 	paddb 	paddd 	paddq 	paddsb
+syn keyword dAsmOpCode contained	paddsw 	paddusb 	paddusw 	paddw 	pand
+syn keyword dAsmOpCode contained	pandn 	pavgb 	pavgw 	pcmpeqb 	pcmpeqd
+syn keyword dAsmOpCode contained	pcmpeqw 	pcmpgtb 	pcmpgtd 	pcmpgtw 	pextrw
+syn keyword dAsmOpCode contained	pinsrw 	pmaddwd 	pmaxsw 	pmaxub 	pminsw
+syn keyword dAsmOpCode contained	pminub 	pmovmskb 	pmulhuw 	pmulhw 	pmullw
+syn keyword dAsmOpCode contained	pmuludq 	pop 	popa 	popad 	popf
+syn keyword dAsmOpCode contained	popfd 	por 	prefetchnta 	prefetcht0 	prefetcht1
+syn keyword dAsmOpCode contained	prefetcht2 	psadbw 	pshufd 	pshufhw 	pshuflw
+syn keyword dAsmOpCode contained	pshufw 	pslld 	pslldq 	psllq 	psllw
+syn keyword dAsmOpCode contained	psrad 	psraw 	psrld 	psrldq 	psrlq
+syn keyword dAsmOpCode contained	psrlw 	psubb 	psubd 	psubq 	psubsb
+syn keyword dAsmOpCode contained	psubsw 	psubusb 	psubusw 	psubw 	punpckhbw
+syn keyword dAsmOpCode contained	punpckhdq 	punpckhqdq 	punpckhwd 	punpcklbw 	punpckldq
+syn keyword dAsmOpCode contained	punpcklqdq 	punpcklwd 	push 	pusha 	pushad
+syn keyword dAsmOpCode contained	pushf 	pushfd 	pxor 	rcl 	rcpps
+syn keyword dAsmOpCode contained	rcpss 	rcr 	rdmsr 	rdpmc 	rdtsc
+syn keyword dAsmOpCode contained	rep 	repe 	repne 	repnz 	repz
+syn keyword dAsmOpCode contained	ret 	retf 	rol 	ror 	rsm
+syn keyword dAsmOpCode contained	rsqrtps 	rsqrtss 	sahf 	sal 	sar
+syn keyword dAsmOpCode contained	sbb 	scas 	scasb 	scasd 	scasw
+syn keyword dAsmOpCode contained	seta 	setae 	setb 	setbe 	setc
+syn keyword dAsmOpCode contained	sete 	setg 	setge 	setl 	setle
+syn keyword dAsmOpCode contained	setna 	setnae 	setnb 	setnbe 	setnc
+syn keyword dAsmOpCode contained	setne 	setng 	setnge 	setnl 	setnle
+syn keyword dAsmOpCode contained	setno 	setnp 	setns 	setnz 	seto
+syn keyword dAsmOpCode contained	setp 	setpe 	setpo 	sets 	setz
+syn keyword dAsmOpCode contained	sfence 	sgdt 	shl 	shld 	shr
+syn keyword dAsmOpCode contained	shrd 	shufpd 	shufps 	sidt 	sldt
+syn keyword dAsmOpCode contained	smsw 	sqrtpd 	sqrtps 	sqrtsd 	sqrtss
+syn keyword dAsmOpCode contained	stc 	std 	sti 	stmxcsr 	stos
+syn keyword dAsmOpCode contained	stosb 	stosd 	stosw 	str 	sub
+syn keyword dAsmOpCode contained	subpd 	subps 	subsd 	subss 	sysenter
+syn keyword dAsmOpCode contained	sysexit 	test 	ucomisd 	ucomiss 	ud2
+syn keyword dAsmOpCode contained	unpckhpd 	unpckhps 	unpcklpd 	unpcklps 	verr
+syn keyword dAsmOpCode contained	verw 	wait 	wbinvd 	wrmsr 	xadd
+syn keyword dAsmOpCode contained	xchg 	xlat 	xlatb 	xor 	xorpd
+syn keyword dAsmOpCode contained	xorps 				
+syn keyword dAsmOpCode contained	addsubpd 	addsubps 	fisttp 	haddpd 	haddps
+syn keyword dAsmOpCode contained	hsubpd 	hsubps 	lddqu 	monitor 	movddup
+syn keyword dAsmOpCode contained	movshdup 	movsldup 	mwait 		
+syn keyword dAsmOpCode contained	pavgusb 	pf2id 	pfacc 	pfadd 	pfcmpeq
+syn keyword dAsmOpCode contained	pfcmpge 	pfcmpgt 	pfmax 	pfmin 	pfmul
+syn keyword dAsmOpCode contained	pfnacc 	pfpnacc 	pfrcp 	pfrcpit1 	pfrcpit2
+syn keyword dAsmOpCode contained	pfrsqit1 	pfrsqrt 	pfsub 	pfsubr 	pi2fd
+syn keyword dAsmOpCode contained	pmulhrw 	pswapd
+
--- a/runtime/syntax/yaml.vim
+++ b/runtime/syntax/yaml.vim
@@ -1,86 +1,186 @@
 " Vim syntax file
-" Language:         YAML (YAML Ain't Markup Language)
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2010-08-12
+" Language:         YAML (YAML Ain't Markup Language) 1.2
+" Maintainer:       Nikolai Pavlov <zyx.vim@gmail.com>
+" First author:     Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2010-09-16
 
-if exists("b:current_syntax")
-  finish
+if exists('b:current_syntax')
+    finish
 endif
 
 let s:cpo_save = &cpo
 set cpo&vim
 
+let s:ns_char = '\%(\%([\n\r\uFEFF \t]\)\@!\p\)'
+let s:ns_word_char = '\%(\w\|-\)'
+let s:ns_uri_char  = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$,.!~*''()\[\]]\)'
+let s:ns_tag_char  = '\%(%\x\x\|'.s:ns_word_char.'\|[#/;?:@&=+$.~*''()]\)'
+let s:c_ns_anchor_char = '\%(\%([\n\r\uFEFF \t,\[\]{}]\)\@!\p\)'
+let s:c_indicator      = '[\-?:,\[\]{}#&*!|>''"%@`]'
+let s:c_flow_indicator = '[,\[\]{}]'
+
+let s:c_verbatim_tag = '!<'.s:ns_uri_char.'\+>'
+let s:c_named_tag_handle     = '!'.s:ns_word_char.'\+!'
+let s:c_secondary_tag_handle = '!!'
+let s:c_primary_tag_handle   = '!'
+let s:c_tag_handle = '\%('.s:c_named_tag_handle.
+            \         '\|'.s:c_secondary_tag_handle.
+            \         '\|'.s:c_primary_tag_handle.'\)'
+let s:c_ns_shorthand_tag = s:c_tag_handle . s:ns_tag_char.'\+'
+let s:c_non_specific_tag = '!'
+let s:c_ns_tag_property = s:c_verbatim_tag.
+            \        '\|'.s:c_ns_shorthand_tag.
+            \        '\|'.s:c_non_specific_tag
+
+let s:c_ns_anchor_name = s:c_ns_anchor_char.'\+'
+let s:c_ns_anchor_property =  '&'.s:c_ns_anchor_name
+let s:c_ns_alias_node      = '\*'.s:c_ns_anchor_name
+
+let s:ns_directive_name = s:ns_char.'\+'
+
+let s:ns_local_tag_prefix  = '!'.s:ns_uri_char.'*'
+let s:ns_global_tag_prefix = s:ns_tag_char.s:ns_uri_char.'*'
+let s:ns_tag_prefix = s:ns_local_tag_prefix.
+            \    '\|'.s:ns_global_tag_prefix
+
+let s:ns_plain_safe_out = s:ns_char
+let s:ns_plain_safe_in  = '\%('.s:c_flow_indicator.'\@!'.s:ns_char.'\)'
+
+let s:ns_plain_first_in  = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_in.'\)\@=\)'
+let s:ns_plain_first_out = '\%('.s:c_indicator.'\@!'.s:ns_char.'\|[?:\-]\%('.s:ns_plain_safe_out.'\)\@=\)'
+
+let s:ns_plain_char_in  = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_in.'\|[:#]\@!'.s:ns_plain_safe_in.'\)'
+let s:ns_plain_char_out = '\%('.s:ns_char.'#\|:'.s:ns_plain_safe_out.'\|[:#]\@!'.s:ns_plain_safe_out.'\)'
+
+let s:ns_plain_out = s:ns_plain_first_out . s:ns_plain_char_out.'*'
+let s:ns_plain_in  = s:ns_plain_first_in  . s:ns_plain_char_in.'*'
+
+
 syn keyword yamlTodo            contained TODO FIXME XXX NOTE
 
-syn region  yamlComment         display oneline start='\%(^\|\s\)#' end='$'
-                                \ contains=yamlTodo,@Spell
+syn region  yamlComment         display oneline start='\%\(^\|\s\)#' end='$'
+            \                   contains=yamlTodo
 
-syn match   yamlNodeProperty    '!\%(![^\\^%     ]\+\|[^!][^:/   ]*\)'
-
-syn match   yamlAnchor          '&.\+'
+execute 'syn region yamlDirective oneline start='.string('^\ze%'.s:ns_directive_name.'\s\+').' '.
+            \                            'end="$" '.
+            \                            'contains=yamlTAGDirective,'.
+            \                                     'yamlYAMLDirective,'.
+            \                                     'yamlReservedDirective '.
+            \                            'keepend'
 
-syn match   yamlAlias           '\*.\+'
+syn match yamlTAGDirective '%TAG\s\+' contained nextgroup=yamlTagHandle
+execute 'syn match yamlTagHandle contained nextgroup=yamlTagPrefix '.string(s:c_tag_handle.'\s\+')
+execute 'syn match yamlTagPrefix contained nextgroup=yamlComment ' . string(s:ns_tag_prefix)
 
-syn match   yamlDelimiter       '[-,:]'
-syn match   yamlBlock           '[\[\]{}>|]'
-syn match   yamlOperator        '[?+-]'
-syn match   yamlKey             '\w\+\(\s\+\w\+\)*\ze\s*:'
+syn match yamlYAMLDirective '%YAML\s\+'  contained nextgroup=yamlYAMLVersion
+syn match yamlYAMLVersion   '\d\+\.\d\+' contained nextgroup=yamlComment
+
+execute 'syn match yamlReservedDirective contained nextgroup=yamlComment '.
+            \string('%\%(\%(TAG\|YAML\)\s\)\@!'.s:ns_directive_name)
 
-syn region  yamlString          matchgroup=yamlStringDelimiter
-                                \ start=+"+ skip=+\\"+ end=+"+
-                                \ contains=yamlEscape
-syn region  yamlString          matchgroup=yamlStringDelimiter
-                                \ start=+'+ skip=+''+ end=+'+
-                                \ contains=yamlSingleEscape
-syn match   yamlEscape          contained display +\\[\\"abefnrtv^0_ NLP]+
-syn match   yamlEscape          contained display '\\x\x\{2}'
-syn match   yamlEscape          contained display '\\u\x\{4}'
-syn match   yamlEscape          contained display '\\U\x\{8}'
-" TODO: how do we get 0x85, 0x2028, and 0x2029 into this?
-syn match   yamlEscape          display '\\\%(\r\n\|[\r\n]\)'
-syn match   yamlSingleEscape    contained +''+
+syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start='"' skip='\\"' end='"'
+            \ contains=yamlEscape
+            \ nextgroup=yamlKeyValueDelimiter
+syn region yamlFlowString matchgroup=yamlFlowStringDelimiter start="'" skip="''"  end="'"
+            \ contains=yamlSingleEscape
+            \ nextgroup=yamlKeyValueDelimiter
+syn match  yamlEscape contained '\\\%([\\"abefnrtv\^0_ NLP\n]\|x\x\x\|u\x\{4}\|U\x\{8}\)'
+syn match  yamlSingleEscape contained "''"
+
+syn match yamlBlockScalarHeader contained '\s\+\zs[|>]\%([+-]\=[1-9]\|[1-9]\=[+-]\)\='
+
+syn cluster yamlFlow contains=yamlFlowString,yamlFlowMapping,yamlFlowCollection
+syn cluster yamlFlow      add=yamlFlowMappingKey,yamlFlowMappingMerge
+syn cluster yamlFlow      add=yamlConstant,yamlPlainScalar,yamlFloat
+syn cluster yamlFlow      add=yamlTimestamp,yamlInteger,yamlMappingKeyStart
+syn cluster yamlFlow      add=yamlComment
+syn region yamlFlowMapping    matchgroup=yamlFlowIndicator start='{' end='}' contains=@yamlFlow
+syn region yamlFlowCollection matchgroup=yamlFlowIndicator start='\[' end='\]' contains=@yamlFlow
+
+execute 'syn match yamlPlainScalar /'.s:ns_plain_out.'/'
+execute 'syn match yamlPlainScalar contained /'.s:ns_plain_in.'/'
+
+syn match yamlMappingKeyStart '?\ze\s'
+syn match yamlMappingKeyStart '?' contained
+
+execute 'syn match yamlFlowMappingKey /'.s:ns_plain_in.'\ze\s*:/ contained '.
+            \'nextgroup=yamlKeyValueDelimiter'
+syn match yamlFlowMappingMerge /<<\ze\s*:/ contained nextgroup=yamlKeyValueDelimiter
+
+syn match yamlBlockCollectionItemStart '^\s*\zs-\%(\s\+-\)*\s' nextgroup=yamlBlockMappingKey,yamlBlockMappingMerge
+execute 'syn match yamlBlockMappingKey /^\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ '.
+            \'nextgroup=yamlKeyValueDelimiter'
+execute 'syn match yamlBlockMappingKey /\s*\zs'.s:ns_plain_out.'\ze\s*:\%(\s\|$\)/ contained '.
+            \'nextgroup=yamlKeyValueDelimiter'
+syn match yamlBlockMappingMerge /^\s*\zs<<\ze:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter
+syn match yamlBlockMappingMerge /<<\ze\s*:\%(\s\|$\)/ nextgroup=yamlKeyValueDelimiter contained
 
-" TODO: sexagecimal and fixed (20:30.15 and 1,230.15)
-syn match   yamlNumber          display
-                                \ '\<[+-]\=\d\+\%(\.\d\+\%([eE][+-]\=\d\+\)\=\)\='
-syn match   yamlNumber          display '0\o\+'
-syn match   yamlNumber          display '0x\x\+'
-syn match   yamlNumber          display '([+-]\=[iI]nf)'
-syn match   yamlNumber          display '(NaN)'
+syn match   yamlKeyValueDelimiter /\s*:/ contained
+syn match   yamlKeyValueDelimiter /\s*:/ contained
+
+syn keyword yamlConstant true True TRUE false False FALSE
+syn keyword yamlConstant null Null NULL
+syn match   yamlConstant '\<\~\>'
+
+syn match   yamlTimestamp /\%([\[\]{}, \t]\@!\p\)\@<!\%(\d\{4}-\d\d\=-\d\d\=\%(\%([Tt]\|\s\+\)\%(\d\d\=\):\%(\d\d\):\%(\d\d\)\%(\.\%(\d*\)\)\=\%(\s*\%(Z\|[+-]\d\d\=\%(:\d\d\)\=\)\)\=\)\=\)\%([\[\]{}, \t]\@!\p\)\@!/
+
+syn match   yamlInteger /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(0\%(b[0-1_]\+\|[0-7_]\+\|x[0-9a-fA-F_]\+\)\=\|\%([1-9][0-9_]*\%(:[0-5]\=\d\)\+\)\)\)\%([\[\]{}, \t]\@!\p\)\@!/
+syn match   yamlFloat   /\%([\[\]{}, \t]\@!\p\)\@<!\%([+-]\=\%(\%(\d[0-9_]*\)\.[0-9_]*\%([eE][+-]\d\+\)\=\|\.[0-9_]\+\%([eE][-+][0-9]\+\)\=\|\d[0-9_]*\%(:[0-5]\=\d\)\+\.[0-9_]*\|\.\%(inf\|Inf\|INF\)\)\|\%(\.\%(nan\|NaN\|NAN\)\)\)\%([\[\]{}, \t]\@!\p\)\@!/
 
-syn match   yamlConstant        '\<[~yn]\>'
-syn keyword yamlConstant        true True TRUE false False FALSE
-syn keyword yamlConstant        yes Yes on ON no No off OFF
-syn keyword yamlConstant        null Null NULL nil Nil NIL
+execute 'syn match yamlNodeTag '.string(s:c_ns_tag_property)
+execute 'syn match yamlAnchor  '.string(s:c_ns_anchor_property)
+execute 'syn match yamlAlias   '.string(s:c_ns_alias_node)
+
+syn match yamlDocumentStart '^---\ze\%(\s\|$\)'
+syn match yamlDocumentEnd   '^\.\.\.\ze\%(\s\|$\)'
 
-syn match   yamlTimestamp       '\d\d\d\d-\%(1[0-2]\|\d\)-\%(3[0-2]\|2\d\|1\d\|\d\)\%( \%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d [+-]\%([01]\d\|2[0-3]\):[0-5]\d\|t\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\d\d[+-]\%([01]\d\|2[0-3]\):[0-5]\d\|T\%([01]\d\|2[0-3]\):[0-5]\d:[0-5]\d.\dZ\)\='
+hi def link yamlTodo                     Todo
+hi def link yamlComment                  Comment
+
+hi def link yamlDocumentStart            PreProc
+hi def link yamlDocumentEnd              PreProc
 
-syn region  yamlDocumentHeader  start='---' end='$' contains=yamlDirective
-syn match   yamlDocumentEnd     '\.\.\.'
+hi def link yamlDirectiveName            Keyword
 
-syn match   yamlDirective       contained '%[^:]\+:.\+'
+hi def link yamlTAGDirective             yamlDirectiveName
+hi def link yamlTagHandle                String
+hi def link yamlTagPrefix                String
 
-hi def link yamlTodo            Todo
-hi def link yamlComment         Comment
-hi def link yamlDocumentHeader  PreProc
-hi def link yamlDocumentEnd     PreProc
-hi def link yamlDirective       Keyword
-hi def link yamlNodeProperty    Type
-hi def link yamlAnchor          Type
-hi def link yamlAlias           Type
-hi def link yamlDelimiter       Delimiter
-hi def link yamlBlock           Operator
-hi def link yamlOperator        Operator
-hi def link yamlKey             Identifier
-hi def link yamlString          String
-hi def link yamlStringDelimiter yamlString
-hi def link yamlEscape          SpecialChar
-hi def link yamlSingleEscape    SpecialChar
-hi def link yamlNumber          Number
-hi def link yamlConstant        Constant
-hi def link yamlTimestamp       Number
+hi def link yamlYAMLDirective            yamlDirectiveName
+hi def link yamlReservedDirective        Error
+hi def link yamlYAMLVersion              Number
+
+hi def link yamlString                   String
+hi def link yamlFlowString               yamlString
+hi def link yamlFlowStringDelimiter      yamlString
+hi def link yamlEscape                   SpecialChar
+hi def link yamlSingleEscape             SpecialChar
+
+hi def link yamlBlockCollectionItemStart Label
+hi def link yamlBlockMappingKey          Identifier
+hi def link yamlBlockMappingMerge        Special
+
+hi def link yamlFlowMappingKey           Identifier
+hi def link yamlFlowMappingMerge         Special
+
+hi def link yamlMappingKeyStart          Special
+hi def link yamlFlowIndicator            Special
+hi def link yamlKeyValueDelimiter        Special
+
+hi def link yamlConstant                 Constant
+
+hi def link yamlAnchor                   Type
+hi def link yamlAlias                    Type
+hi def link yamlNodeTag                  Type
+
+hi def link yamlInteger                  Number
+hi def link yamlFloat                    Float
+hi def link yamlTimestamp                Number
 
 let b:current_syntax = "yaml"
 
+unlet s:ns_word_char s:ns_uri_char s:c_verbatim_tag s:c_named_tag_handle s:c_secondary_tag_handle s:c_primary_tag_handle s:c_tag_handle s:ns_tag_char s:c_ns_shorthand_tag s:c_non_specific_tag s:c_ns_tag_property s:c_ns_anchor_char s:c_ns_anchor_name s:c_ns_anchor_property s:c_ns_alias_node s:ns_char s:ns_directive_name s:ns_local_tag_prefix s:ns_global_tag_prefix s:ns_tag_prefix s:c_indicator s:ns_plain_safe_out s:c_flow_indicator s:ns_plain_safe_in s:ns_plain_first_in s:ns_plain_first_out s:ns_plain_char_in s:ns_plain_char_out s:ns_plain_out s:ns_plain_in
+
 let &cpo = s:cpo_save
 unlet s:cpo_save
+
--- a/uninstal.txt
+++ b/uninstal.txt
@@ -55,8 +55,8 @@ 4. If you completely want to delete vim,
    skip the next step.
 
 5. Delete the distributed files.  If you followed the directions, these will
-   be located in a directory like "C:\vim\vim72".  If the $VIM environment
-   variable is set, the directory will be $VIM\vim72.  Delete the "vim72"
+   be located in a directory like "C:\vim\vim73".  If the $VIM environment
+   variable is set, the directory will be $VIM\vim73.  Delete the "vim73"
    directory and all that is in it.  Warning: If you changed any of the
    distributed files, or added some of your own files, you might want to save
    these first.  But normally you would not have changed or added files here.