changeset 3513:1b584a6f446c

Updated runtime files.
author Bram Moolenaar <bram@vim.org>
date Fri, 18 May 2012 13:46:39 +0200
parents 5ad05e745fda
children ec4ab9d832b0
files runtime/doc/eval.txt runtime/doc/evim-fr.1 runtime/doc/evim-fr.UTF-8.1 runtime/doc/helphelp.txt runtime/doc/options.txt runtime/doc/os_win32.txt runtime/doc/pattern.txt runtime/doc/todo.txt runtime/doc/vim-fr.1 runtime/doc/vim-fr.UTF-8.1 runtime/doc/vimdiff-fr.1 runtime/doc/vimdiff-fr.UTF-8.1 runtime/doc/vimtutor-fr.1 runtime/doc/vimtutor-fr.UTF-8.1 runtime/doc/xxd-fr.1 runtime/doc/xxd-fr.UTF-8.1 runtime/filetype.vim runtime/ftplugin/dosbatch.vim runtime/ftplugin/zimbu.vim runtime/indent/liquid.vim runtime/indent/zimbu.vim runtime/macros/less.bat runtime/macros/less.sh runtime/macros/less.vim runtime/syntax/awk.vim runtime/syntax/c.vim runtime/syntax/cl.vim runtime/syntax/crontab.vim runtime/syntax/debchangelog.vim runtime/syntax/debcontrol.vim runtime/syntax/debsources.vim runtime/syntax/ninja.vim runtime/syntax/progress.vim runtime/syntax/resolv.vim runtime/syntax/scheme.vim runtime/syntax/uil.vim runtime/syntax/xdefaults.vim runtime/syntax/zimbu.vim
diffstat 38 files changed, 894 insertions(+), 320 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.3.  Last change: 2012 Apr 30
+*eval.txt*	For Vim version 7.3.  Last change: 2012 May 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2317,7 +2317,7 @@ col({expr})	The result is a Number, whic
 		position given with {expr}.  The accepted positions are:
 		    .	    the cursor position
 		    $	    the end of the cursor line (the result is the
-			    number of characters in the cursor line plus one)
+			    number of bytes in the cursor line plus one)
 		    'x	    position of mark x (if the mark is not set, 0 is
 			    returned)
 		Additionally {expr} can be [lnum, col]: a |List| with the line
@@ -4874,7 +4874,7 @@ search({pattern} [, {flags} [, {stopline
 		A zero value is equal to not giving the argument.
 
 		When the {timeout} argument is given the search stops when
-		more than this many milli seconds have passed.	Thus when
+		more than this many milliseconds have passed.	Thus when
 		{timeout} is 500 the search stops after half a second.
 		The value must not be negative.  A zero value is like not
 		giving the argument.
--- a/runtime/doc/evim-fr.1
+++ b/runtime/doc/evim-fr.1
@@ -54,3 +54,4 @@ Voir le menu Aide/Remerciements ou ":hel
 .SH TRADUCTION
 Cette page de manuel a été traduite David Blanchet.
 <david.blanchet@free.fr> 2005-03-26.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/doc/evim-fr.UTF-8.1
+++ b/runtime/doc/evim-fr.UTF-8.1
@@ -54,3 +54,4 @@ Voir le menu Aide/Remerciements ou ":hel
 .SH TRADUCTION
 Cette page de manuel a été traduite David Blanchet.
 <david.blanchet@free.fr> 2005-03-26.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/doc/helphelp.txt
+++ b/runtime/doc/helphelp.txt
@@ -1,4 +1,4 @@
-*helphelp.txt*	For Vim version 7.3.  Last change: 2010 Sep 14
+*helphelp.txt*	For Vim version 7.3.  Last change: 2012 May 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -218,11 +218,12 @@ files.  Vim will search for all help in 
 This is only available when compiled with the |+multi_lang| feature.
 
 At this moment translations are available for:
-	Chinese - multiple authors
-	French  - translated by David Blanchet
-	Italian - translated by Antonio Colombo
-	Polish  - translated by Mikolaj Machowski
-	Russian - translated by Vassily Ragosin
+	Chinese  - multiple authors
+	French   - translated by David Blanchet
+	Italian  - translated by Antonio Colombo
+	Japanese - multiple authors
+	Polish   - translated by Mikolaj Machowski
+	Russian  - translated by Vassily Ragosin
 See the Vim website to find them: http://www.vim.org/translations.php
 
 A set of translated help files consists of these files:
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.3.  Last change: 2012 Apr 28
+*options.txt*	For Vim version 7.3.  Last change: 2012 May 16
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -1047,6 +1047,11 @@ A jump table for the options with a shor
 	When $TMPDIR, $TMP or $TEMP is not defined, it is not used for the
 	default value.  "/tmp/*" is only used for Unix.
 
+	WARNING: Not having a backup file means that when Vim fails to write
+	your buffer correctly and then, for whatever reason, Vim exits, you
+	lose both the original file and what you were writing.  Only disable
+	backups if you don't care about losing the file.
+
 	Note that environment variables are not expanded.  If you want to use
 	$HOME you must expand it explicitly, e.g.: >
 		:let backupskip = escape(expand('$HOME'), '\') . '/tmp/*'
@@ -8140,8 +8145,13 @@ A jump table for the options with a shor
 			{not in Vi}
 	Make a backup before overwriting a file.  The backup is removed after
 	the file was successfully written, unless the 'backup' option is
-	also on.  Reset this option if your file system is almost full.  See
-	|backup-table| for another explanation.
+	also on.
+	WARNING: Switching this option off means that when Vim fails to write
+	your buffer correctly and then, for whatever reason, Vim exits, you
+	lose both the original file and what you were writing.  Only reset
+	this option if your file system is almost full and it makes the write
+	fail (and make sure not to exit Vim until the write was successful).
+	See |backup-table| for another explanation.
 	When the 'backupskip' pattern matches, a backup is not made anyway.
 	NOTE: This option is set to the default value when 'compatible' is
 	set.
--- a/runtime/doc/os_win32.txt
+++ b/runtime/doc/os_win32.txt
@@ -1,4 +1,4 @@
-*os_win32.txt*  For Vim version 7.3.  Last change: 2011 Aug 14
+*os_win32.txt*  For Vim version 7.3.  Last change: 2012 May 18
 
 
 		  VIM REFERENCE MANUAL    by George Reilly
@@ -314,8 +314,8 @@ A. When using :! to run an external comm
    not have to be closed before Vim.
    To avoid this special treatment, use ":! start".
    There are two optional arguments (see the next Q):
-       /min  the window will be minimized.
-       /b"   no console window will be opened
+       /min  the window will be minimized
+       /b    no console window will be opened
    You can use only one of these flags at a time.  A second one will be
    treated as the start of the command.
 
--- a/runtime/doc/pattern.txt
+++ b/runtime/doc/pattern.txt
@@ -1,4 +1,4 @@
-*pattern.txt*   For Vim version 7.3.  Last change: 2011 Nov 26
+*pattern.txt*   For Vim version 7.3.  Last change: 2012 May 18
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -637,10 +637,10 @@ overview.
 							*/\@!*
 \@!	Matches with zero width if the preceding atom does NOT match at the
 	current position. |/zero-width| {not in Vi}
-	Like '(?!pattern)" in Perl.
+	Like "(?!pattern)" in Perl.
 	Example			matches ~
 	foo\(bar\)\@!		any "foo" not followed by "bar"
-	a.\{-}p\@!		"a", "ap", "aap", "app", etc. not immediately
+	a.\{-}p\@!		"a", "ap", "app", "appp", etc. not immediately
 				followed by a "p"
 	if \(\(then\)\@!.\)*$	"if " not followed by "then"
 
@@ -648,7 +648,7 @@ overview.
 	does not match.  "a.*p\@!" will match from an "a" to the end of the
 	line, because ".*" can match all characters in the line and the "p"
 	doesn't match at the end of the line.  "a.\{-}p\@!" will match any
-	"a", "ap", "aap", etc. that isn't followed by a "p", because the "."
+	"a", "ap", "app", etc. that isn't followed by a "p", because the "."
 	can match a "p" and "p\@!" doesn't match after that.
 
 	You can't use "\@!" to look for a non-match before the matching
@@ -667,7 +667,7 @@ overview.
 							*/\@<=*
 \@<=	Matches with zero width if the preceding atom matches just before what
 	follows. |/zero-width| {not in Vi}
-	Like '(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
+	Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
 	Example			matches ~
 	\(an\_s\+\)\@<=file	"file" after "an" and white space or an
 				end-of-line
@@ -691,7 +691,7 @@ overview.
 	before what follows.  Thus this matches if there is no position in the
 	current or previous line where the atom matches such that it ends just
 	before what follows.  |/zero-width| {not in Vi}
-	Like '(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
+	Like "(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
 	The match with the preceding atom is made to end just before the match
 	with what follows, thus an atom that ends in ".*" will work.
 	Warning: This can be slow (because many positions need to be checked
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.3.  Last change: 2012 May 01
+*todo.txt*      For Vim version 7.3.  Last change: 2012 May 18
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,28 +34,49 @@ not be repeated below, unless there is e
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-patch to fix helphelp.txt from Ken Takata.  https://gist.github.com/2559599
-
 Go through more coverity reports.
 
 Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
 
-Stack trace of crash: http://vpaste.net/GBt9S
-(Alexandre Provencio)
+Bug caused by patch 7.3.449. (Alex Afros, May 16)
+
+Add link to i/OS version on download page:
+http://applidium.com/en/applications/vim/
+
+Patch to fix helptags for multi-byte encoding. (Yasuhiro Matsumoto, 2012 May
+10)
 
 GTK: problem with 'L' in 'guioptions' changing the window width.
 (Aaron Cornelius, 2012 Feb 6)
 
+Patch for completefunction. (Mtsushita Shougo, 2012 May 11)
+
 Patch: home_replace() does not work whtn 8.3 filename. (Yasuhiro
 Matsumoto, 2012 Apr 18)  Asked for another version of the patch.
 
+Javascript file where indent gets stuck on: GalaxyMaster, 2012 May 3.
+
+Gvim startup hangs in Ubuntu 12.04. (Yasuhiro Matsumoto, 2012 May 2)
+Patch available on github.  Updated May 8 and May 9?.
+
+Spell checking: "zg" doesn't pick up the "ß" character. (Axel Bender, 2012 May
+1)  Christian Brabandt reports a crash when doing something similar. (May 2)
+Fix for this: Christian Brabandt, 2012 May 9.
+
+Patch to avoid a crash when using MEM_PROFILE. (Dominique Pelle, 2012 May 14)
+
 Win32: When a directory name contains an exclamation mark, completion doesn't
 complete the contents of the directory.  No escaping for the "!"? (Jan
 Stocker, 2012 Jan 5)
 
 Issue 54: document behavior of -complete, also expands arg.
 
+Patch to make ":diffupdate" check for buffers changed outside of Vim.
+(Christian Brabandt, 2012 May 13, update later)
+
 Cursor on wrong line after ":copen". (John Beckett, 2012 Apr 30)
+Fix by Christian Brabandt, 2012 May 2.  But calling changed_window_setting()
+would be a simpler solution.
 
 Syntax update problem in one buffer opened in two windows, bottom window is
 not correctly updated. (Paul Harris, 2012 Feb 27)
@@ -72,6 +93,13 @@ URXVT:
 - Use urxvt mouse support also in xterm.  Explanations:
   http://www.midnight-commander.org/ticket/2662
 
+Patches from Debian for python ftplugin. (Thilo Six, 2012 May 6)
+Also patches from Debian for Spanish translations.
+
+Patch for IBM z/OS makefile. (Stephen Bovy, 2012 Apr 26)
+Patch for configure (Stephen Bovy, 2012 Apr 28)
+Updates later. Context diff May 7.
+
 When running Vim in silent ex mode, an existing swapfile causes Vim to wait
 for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
 Do give the prompt? Quit with an error?
@@ -106,8 +134,8 @@ Patch Sep 18.
 Patch for has('unnamedplus') docs. (Tony Mechelynck, 2011 Sep 27)
 And one for gui_x11.txt.
 
-Patch for Python: add pyeval()(zyx, 2012 Apr 15, update Apr 16)
-Also changes for Lua.  Update Apr 19.  Update Apr 22.
+Patch for Python: add pyeval() and vim.bindeval() (zyx, 2012 Apr 15, update
+Apr 16) Also changes for Lua.  Update Apr 19.  Update Apr 22.
 
 ":cd" doesn't work when current directory path contains "**".
 finddir() has the same problem.  (Yukihiro Nakadaira, 2012 Jan 10)
@@ -153,6 +181,9 @@ Needs more work.  Pinged 2012 Jan 4.
 'list' is set.  (Dennis Preiser)
 Patch 7.3.116 was the wrong solution.
 Christian Brabandt has another incomplete patch. (2011 Jul 13)
+Also: Alignment in help with tabs gets messed up, esp. at ":help index".
+Probably need to make a tab work like there was no concealing.  Possibly with
+an option.  Like line wrapping works as if there is no concealing.
 
 'cursorline' is drawn incorrectly in diff mode. Patch by Christian Brabandt,
 2012 Apr 2.
@@ -271,10 +302,6 @@ When setting a local option value from t
 indicates this, so that ":verbose set" can give a hint.  Check with options in
 the help file.
 
-Patch for IBM z/OS makefile. (Stephen Bovy, 2012 Apr 26)
-Patch for configure (Stephen Bovy, 2012 Apr 28)
-Updates later.
-
 After patch 7.3.097 still get E15. (Yukihiro Nakadaira, 2011 Jan 18)
 Also for another example (ZyX, 2011 Jan 24)
 
--- a/runtime/doc/vim-fr.1
+++ b/runtime/doc/vim-fr.1
@@ -586,3 +586,4 @@ Cette page de manuel a été traduite par Richard Hitier.
 .br
 Cette page de manuel a été mise à jour par David Blanchet.
 <david.blanchet@free.fr> 2006-04-10.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/doc/vim-fr.UTF-8.1
+++ b/runtime/doc/vim-fr.UTF-8.1
@@ -586,3 +586,4 @@ Cette page de manuel a été traduite par Richard Hitier.
 .br
 Cette page de manuel a été mise à jour par David Blanchet.
 <david.blanchet@free.fr> 2006-04-10.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/doc/vimdiff-fr.1
+++ b/runtime/doc/vimdiff-fr.1
@@ -14,7 +14,7 @@ démarre
 .B Vim
 avec deux (ou trois ou quatre) fichiers.
 Chaque fichier est ouvert dans sa propre fenêtre.
-Les différences entres ces fichiers sont mises en surbrillance.
+Les différences entre ces fichiers sont mises en surbrillance.
 C'est un outil très pratique pour visualiser et reporter les
 changements entre deux versions d'un même fichier.
 .PP
@@ -51,3 +51,4 @@ Voir ":help credits" dans
 .SH TRADUCTION
 Cette page de manuel a été traduite par David Blanchet
 <david.blanchet@free.fr> 2005-03-12.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/doc/vimdiff-fr.UTF-8.1
+++ b/runtime/doc/vimdiff-fr.UTF-8.1
@@ -14,7 +14,7 @@ démarre
 .B Vim
 avec deux (ou trois ou quatre) fichiers.
 Chaque fichier est ouvert dans sa propre fenêtre.
-Les différences entres ces fichiers sont mises en surbrillance.
+Les différences entre ces fichiers sont mises en surbrillance.
 C'est un outil très pratique pour visualiser et reporter les
 changements entre deux versions d'un même fichier.
 .PP
@@ -51,3 +51,4 @@ Voir ":help credits" dans
 .SH TRADUCTION
 Cette page de manuel a été traduite par David Blanchet
 <david.blanchet@free.fr> 2005-03-12.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/doc/vimtutor-fr.1
+++ b/runtime/doc/vimtutor-fr.1
@@ -3,7 +3,7 @@
 vimtutor \- tutoriel Vim
 .SH SYNOPSIS
 .br
-.B vimtutor [-g] [langue]
+.B vimtutor [\-g] [langue]
 .SH DESCRIPTION
 .B Vimtutor
 lance le tutoriel
@@ -17,7 +17,7 @@ est utile pour les personnes souhaitant apprendre leurs premières commandes
 .B Vim
 \.
 .PP
-L'argument optionnel -g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM
+L'argument optionnel \-g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM
 graphique de vim est disponible, ou le lance avec vim si gvim n'est pas
 disponible.
 .PP
@@ -57,3 +57,4 @@ vim(1)
 .SH TRADUCTION
 Cette page de manuel a été traduite par David Blanchet
 <david.blanchet@free.fr> 2004-12-27.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/doc/vimtutor-fr.UTF-8.1
+++ b/runtime/doc/vimtutor-fr.UTF-8.1
@@ -3,7 +3,7 @@
 vimtutor \- tutoriel Vim
 .SH SYNOPSIS
 .br
-.B vimtutor [-g] [langue]
+.B vimtutor [\-g] [langue]
 .SH DESCRIPTION
 .B Vimtutor
 lance le tutoriel
@@ -17,7 +17,7 @@ est utile pour les personnes souhaitant apprendre leurs premières commandes
 .B Vim
 \.
 .PP
-L'argument optionnel -g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM
+L'argument optionnel \-g lance vimtutor avec gvim plutôt qu'avec vim, si l'IHM
 graphique de vim est disponible, ou le lance avec vim si gvim n'est pas
 disponible.
 .PP
@@ -57,3 +57,4 @@ vim(1)
 .SH TRADUCTION
 Cette page de manuel a été traduite par David Blanchet
 <david.blanchet@free.fr> 2004-12-27.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/doc/xxd-fr.1
+++ b/runtime/doc/xxd-fr.1
@@ -393,3 +393,4 @@ Modifications mineures par Bram Moolenaa
 .SH TRADUCTION
 Cette page de manuel a été traduite par David Blanchet
 <david.blanchet@free.fr> 2004-12-24.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/doc/xxd-fr.UTF-8.1
+++ b/runtime/doc/xxd-fr.UTF-8.1
@@ -393,3 +393,4 @@ Modifications mineures par Bram Moolenaa
 .SH TRADUCTION
 Cette page de manuel a été traduite par David Blanchet
 <david.blanchet@free.fr> 2004-12-24.
+Mise à jour 2012-05-06, Dominique Pellé <dominique.pelle@gmail.com>
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2012 Apr 18
+" Last Change:	2012 May 18
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -1842,7 +1842,7 @@ au BufNewFile,BufRead .zsh*,.zlog*,.zcom
 au BufNewFile,BufRead *.zsh			setf zsh
 
 " Scheme
-au BufNewFile,BufRead *.scm,*.ss		setf scheme
+au BufNewFile,BufRead *.scm,*.ss,*.rkt		setf scheme
 
 " Screen RC
 au BufNewFile,BufRead .screenrc,screenrc	setf screen
@@ -2371,6 +2371,9 @@ au BufNewFile,BufRead *.yaml,*.yml		setf
 " yum conf (close enough to dosini)
 au BufNewFile,BufRead */etc/yum.conf 		setf dosini
 
+" Zimbu
+au BufNewFile,BufRead *.zu 			setf zimbu
+
 " Zope
 "   dtml (zope dynamic template markup language), pt (zope page template),
 "   cpt (zope form controller page template)
--- a/runtime/ftplugin/dosbatch.vim
+++ b/runtime/ftplugin/dosbatch.vim
@@ -1,7 +1,7 @@
 " Vim filetype plugin file
 " Language:    MS-DOS .bat files
 " Maintainer:  Mike Williams <mrw@eandem.co.uk>
-" Last Change: 24th April 2012
+" Last Change: 8th May 2012
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
@@ -11,6 +11,9 @@ endif
 " Don't load another plugin for this buffer
 let b:did_ftplugin = 1
 
+let s:cpo_save = &cpo
+set cpo&vim
+
 " BAT comment formatting
 setlocal comments=b:rem,b:@rem,b:REM,b:@REM,:::
 setlocal formatoptions-=t formatoptions+=rol
@@ -20,4 +23,8 @@ if has("gui_win32") && !exists("b:browse
   let b:browsefilter = "DOS Batch Files (*.bat, *.cmd)\t*.bat;*.cmd\nAll Files (*.*)\t*.*\n"
 endif
 
-let b:undo_ftplugin = "setlocal comments< formatoptions< | unlet! b:browsefiler"
+let b:undo_ftplugin = "setlocal comments< formatoptions<"
+    \ . "| unlet! b:browsefiler"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/zimbu.vim
@@ -0,0 +1,146 @@
+" Vim filetype plugin file
+" Language:	Zimbu
+" Maintainer:	Bram Moolenaar <Bram@vim.org>
+" Last Change:	2012 May 17
+
+" Only do this when not done yet for this buffer
+if exists("b:did_ftplugin")
+  finish
+endif
+
+" Don't load another plugin for this buffer
+let b:did_ftplugin = 1
+
+" Using line continuation here.
+let s:cpo_save = &cpo
+set cpo-=C
+
+let b:undo_ftplugin = "setl fo< com< ofu< | if has('vms') | setl isk< | endif"
+
+" Set 'formatoptions' to break comment lines but not other lines,
+" and insert the comment leader when hitting <CR> or using "o".
+setlocal fo-=t fo+=croql
+
+" Set completion with CTRL-X CTRL-O to autoloaded function.
+if exists('&ofu')
+  setlocal ofu=ccomplete#Complete
+endif
+
+" Set 'comments' to format dashed lists in comments.
+" And to keep Zudocu comment characters.
+setlocal comments=sO:#\ -,mO:#\ \ ,:#=,:#-,:#%,:#
+
+setlocal errorformat^=%f\ line\ %l\ col\ %c:\ %m,ERROR:\ %m
+
+" When the matchit plugin is loaded, this makes the % command skip parens and
+" braces in comments.
+let b:match_words = '\(^\s*\)\@<=\(MODULE\|CLASS\|INTERFACE\|BITS\|ENUM\|SHARED\|FUNC\|REPLACE\|DEFINE\|PROC\|EQUAL\|MAIN\|IF\|GENERATE_IF\|WHILE\|REPEAT\|WITH\|DO\|FOR\|SWITCH\|TRY\)\>\|{\s*$:\(^\s*\)\@<=\(ELSE\|ELSEIF\|GENERATE_ELSE\|GENERATE_ELSEIF\|CATCH\|FINALLY\)\>:\(^\s*\)\@<=}\|\<UNTIL\>'
+
+let b:match_skip = 's:comment\|string\|zimbuchar'
+
+setlocal tw=78
+setlocal et sts=2 sw=2
+
+" Does replace when a dot, space or closing brace is typed.
+func! GCUpperDot(what)
+  let col = col(".") - strlen(a:what)
+  if v:char != ' ' && v:char != "\r" && v:char != "\x1b" && v:char != '.' && v:char != ')' && v:char != '}'
+    " no space or dot after the typed text
+    let g:got_char = v:char
+    return a:what
+  endif
+  if col > 1 && getline('.')[col - 2] != ' '
+    " no space before the typed text
+    let g:got_char = 999
+    return a:what
+  endif
+  let synName = synIDattr(synID(line("."), col(".") - 2, 1), "name")
+  if synName =~ 'Comment\|String\|zimbuCregion\|\<c'
+    " inside a comment or C code
+    let g:got_char = 777
+    return a:what
+  endif
+    let g:got_char = 1111
+  return toupper(a:what)
+endfunc
+
+" Does not replace when a dot is typed.
+func! GCUpper(what)
+  if v:char != ' ' && v:char != "\r" && v:char != "\x1b" && v:char != ')'
+    " no space after the typed text
+    let g:got_char = v:char
+    return a:what
+  endif
+  return GCUpperDot(a:what)
+endfunc
+
+" Only replaces when a space is typed.
+func! GCUpperSpace(what)
+  if v:char != ' '
+    " no space after the typed text
+    let g:got_char = v:char
+    return a:what
+  endif
+  return GCUpperDot(a:what)
+endfunc
+
+iabbr <buffer> <expr> alias GCUpperSpace("alias")
+iabbr <buffer> <expr> arg GCUpperDot("arg")
+iabbr <buffer> <expr> bad GCUpper("bad")
+iabbr <buffer> <expr> break GCUpper("break")
+iabbr <buffer> <expr> case GCUpperSpace("case")
+iabbr <buffer> <expr> catch GCUpperSpace("catch")
+iabbr <buffer> <expr> check GCUpperDot("check")
+iabbr <buffer> <expr> class GCUpperSpace("class")
+iabbr <buffer> <expr> shared GCUpperSpace("shared")
+iabbr <buffer> <expr> continue GCUpper("continue")
+iabbr <buffer> <expr> default GCUpper("default")
+iabbr <buffer> <expr> extends GCUpper("extends")
+iabbr <buffer> <expr> do GCUpper("do")
+iabbr <buffer> <expr> else GCUpper("else")
+iabbr <buffer> <expr> elseif GCUpperSpace("elseif")
+iabbr <buffer> <expr> enum GCUpperSpace("enum")
+iabbr <buffer> <expr> exit GCUpper("exit")
+iabbr <buffer> <expr> false GCUpper("false")
+iabbr <buffer> <expr> fail GCUpper("fail")
+iabbr <buffer> <expr> finally GCUpper("finally")
+iabbr <buffer> <expr> for GCUpperSpace("for")
+iabbr <buffer> <expr> func GCUpperSpace("func")
+iabbr <buffer> <expr> if GCUpperSpace("if")
+iabbr <buffer> <expr> import GCUpperSpace("import")
+iabbr <buffer> <expr> in GCUpperSpace("in")
+iabbr <buffer> <expr> io GCUpperDot("io")
+iabbr <buffer> <expr> main GCUpper("main")
+iabbr <buffer> <expr> module GCUpperSpace("module")
+iabbr <buffer> <expr> new GCUpper("new")
+iabbr <buffer> <expr> nil GCUpper("nil")
+iabbr <buffer> <expr> ok GCUpper("ok")
+iabbr <buffer> <expr> proc GCUpperSpace("proc")
+iabbr <buffer> <expr> proceed GCUpper("proceed")
+iabbr <buffer> <expr> return GCUpper("return")
+iabbr <buffer> <expr> step GCUpperSpace("step")
+iabbr <buffer> <expr> switch GCUpperSpace("switch")
+iabbr <buffer> <expr> sys GCUpperDot("sys")
+iabbr <buffer> <expr> this GCUpperDot("this")
+iabbr <buffer> <expr> throw GCUpperSpace("throw")
+iabbr <buffer> <expr> try GCUpper("try")
+iabbr <buffer> <expr> to GCUpperSpace("to")
+iabbr <buffer> <expr> true GCUpper("true")
+iabbr <buffer> <expr> until GCUpperSpace("until")
+iabbr <buffer> <expr> while GCUpperSpace("while")
+iabbr <buffer> <expr> repeat GCUpper("repeat")
+
+nnoremap <silent> <buffer> [[ m`:call ZimbuGoStartBlock()<CR>
+nnoremap <silent> <buffer> ]] m`:call ZimbuGoEndBlock()<CR>
+
+" Using a function makes sure the search pattern is restored
+func! ZimbuGoStartBlock()
+  ?^\s*\(FUNC\|PROC\|MAIN\|ENUM\|CLASS\|INTERFACE\)\>
+endfunc
+func! ZimbuGoEndBlock()
+  /^\s*\(FUNC\|PROC\|MAIN\|ENUM\|CLASS\|INTERFACE\)\>
+endfunc
+
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
--- a/runtime/indent/liquid.vim
+++ b/runtime/indent/liquid.vim
@@ -1,7 +1,7 @@
 " Vim indent file
 " Language:     Liquid
 " Maintainer:   Tim Pope <vimNOSPAM@tpope.org>
-" Last Change:	2010 May 21
+" Last Change:  2012 May 07
 
 if exists('b:did_indent')
   finish
@@ -54,9 +54,8 @@ function! GetLiquidIndent(...)
   let line  = substitute(line,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
   let line .= matchstr(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+')
   let cline = substitute(cline,'\C^\%(\s*{%\s*end\w*\s*%}\)\+','','')
-  let ind += &sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|tablerow\|capture\)\>')
+  let ind += &sw * s:count(line,'{%\s*\%(if\|elsif\|else\|unless\|ifchanged\|case\|when\|for\|empty\|tablerow\|capture\)\>')
   let ind -= &sw * s:count(line,'{%\s*end\%(if\|unless\|ifchanged\|case\|for\|tablerow\|capture\)\>')
-  let ind += &sw * s:count(line,'{%\s*\%(elsif\|else\|when\|empty\)\>')
   let ind -= &sw * s:count(cline,'{%\s*\%(elsif\|else\|when\|empty\)\>')
   let ind -= &sw * s:count(cline,'{%\s*end\w*$')
   return ind
new file mode 100644
--- /dev/null
+++ b/runtime/indent/zimbu.vim
@@ -0,0 +1,123 @@
+" Vim indent file
+" Language:	Zimbu
+" Maintainer:	Bram Moolenaar <Bram@vim.org>
+" Last Change:	2012 May 17
+
+" Only load this indent file when no other was loaded.
+if exists("b:did_indent")
+   finish
+endif
+let b:did_indent = 1
+
+setlocal ai nolisp nocin
+setlocal indentexpr=GetZimbuIndent(v:lnum)
+setlocal indentkeys=0{,0},!^F,o,O,0=ELSE,0=ELSEIF,0=CASE,0=DEFAULT,0=FINALLY
+
+" We impose recommended defaults: no Tabs, 'shiftwidth' = 2
+setlocal sw=2 et
+
+let b:undo_indent = "setl et< ai< indentexpr="
+
+" Only define the function once.
+if exists("*GetZimbuIndent")
+  finish
+endif
+
+" Come here when loading the script the first time.
+
+let s:maxoff = 50	" maximum number of lines to look backwards for ()
+
+func GetZimbuIndent(lnum)
+  let prevLnum = prevnonblank(a:lnum - 1)
+  if prevLnum == 0
+    " This is the first non-empty line, use zero indent.
+    return 0
+  endif
+
+  " Taken from Python indenting:
+  " If the previous line is inside parenthesis, use the indent of the starting
+  " line.
+  " Trick: use the non-existing "dummy" variable to break out of the loop when
+  " going too far back.
+  call cursor(prevLnum, 1)
+  let parlnum = searchpair('(\|{\|\[', '', ')\|}\|\]', 'nbW',
+	  \ "line('.') < " . (prevLnum - s:maxoff) . " ? dummy :"
+	  \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
+	  \ . " =~ '\\(Comment\\|String\\|Char\\)$'")
+  if parlnum > 0
+    let plindent = indent(parlnum)
+    let plnumstart = parlnum
+  else
+    let plindent = indent(prevLnum)
+    let plnumstart = prevLnum
+  endif
+
+
+  " When inside parenthesis: If at the first line below the parenthesis add
+  " two 'shiftwidth', otherwise same as previous line.
+  " i = (a
+  "       + b
+  "       + c)
+  call cursor(a:lnum, 1)
+  let p = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
+	  \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
+	  \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
+	  \ . " =~ '\\(Comment\\|String\\|Char\\)$'")
+  if p > 0
+    if p == prevLnum
+      " When the start is inside parenthesis, only indent one 'shiftwidth'.
+      let pp = searchpair('(\|{\|\[', '', ')\|}\|\]', 'bW',
+	  \ "line('.') < " . (a:lnum - s:maxoff) . " ? dummy :"
+	  \ . " synIDattr(synID(line('.'), col('.'), 1), 'name')"
+	  \ . " =~ '\\(Comment\\|String\\|Char\\)$'")
+      if pp > 0
+	return indent(prevLnum) + &sw
+      endif
+      return indent(prevLnum) + &sw * 2
+    endif
+    if plnumstart == p
+      return indent(prevLnum)
+    endif
+    return plindent
+  endif
+
+  let prevline = getline(prevLnum)
+  let thisline = getline(a:lnum)
+
+  " If this line is not a comment and the previous one is then move the
+  " previous line further back.
+  if thisline !~ '^\s*#'
+    while prevline =~ '^\s*#'
+      let prevLnum = prevnonblank(prevLnum - 1)
+      if prevLnum == 0
+	" Only comment lines before this, no indent
+	return 0
+      endif
+      let prevline = getline(prevLnum)
+      let plindent = indent(prevLnum)
+    endwhile
+  endif
+
+  if prevline =~ '^\s*\(IF\|\|ELSEIF\|ELSE\|GENERATE_IF\|\|GENERATE_ELSEIF\|GENERATE_ELSE\|WHILE\|REPEAT\|TRY\|CATCH\|FINALLY\|FOR\|DO\|SWITCH\|CASE\|DEFAULT\|FUNC\|VIRTUAL\|ABSTRACT\|DEFINE\|REPLACE\|FINAL\|PROC\|MAIN\|NEW\|ENUM\|CLASS\|BITS\|MODULE\|SHARED\)\>'
+    let plindent += &sw
+  endif
+  if thisline =~ '^\s*\(}\|ELSEIF\>\|ELSE\>\|CATCH\|FINALLY\|GENERATE_ELSEIF\>\|GENERATE_ELSE\>\|UNTIL\>\)'
+    let plindent -= &sw
+  endif
+  if thisline =~ '^\s*\(CASE\>\|DEFAULT\>\)' && prevline !~ '^\s*SWITCH\>'
+    let plindent -= &sw
+  endif
+
+  " line up continued comment that started after some code
+  "   String something   # comment comment
+  "                      # comment
+  if a:lnum == prevLnum + 1 && thisline =~ '^\s*#' && prevline !~ '^\s*#'
+    let n = match(prevline, '#')
+    if n > 1
+      let plindent = n
+    endif
+  endif
+
+  return plindent
+endfunc
+
new file mode 100644
--- /dev/null
+++ b/runtime/macros/less.bat
@@ -0,0 +1,10 @@
+@echo off
+rem batch file to start Vim with less.vim.
+rem Read stdin if no arguments were given.
+rem Written by Ken Takata.
+
+if "%1"=="" (
+  vim --cmd "let no_plugin_maps = 1" -c "runtime! macros/less.vim" -
+) else (
+  vim --cmd "let no_plugin_maps = 1" -c "runtime! macros/less.vim" %*
+)
--- a/runtime/macros/less.sh
+++ b/runtime/macros/less.sh
@@ -1,16 +1,24 @@
 #!/bin/sh
 # Shell script to start Vim with less.vim.
-# Read stdin if no arguments were given.
+# Read stdin if no arguments were given and stdin was redirected.
 
 if test -t 1; then
- if test $# = 0; then
-   vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' -
+  if test $# = 0; then
+    if test -t 0; then
+      echo "Missing filename" 1>&2
+      exit
+    fi
+    vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' -
   else
-   vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' "$@"
+    vim --cmd 'let no_plugin_maps = 1' -c 'runtime! macros/less.vim' "$@"
   fi
 else
   # Output is not a terminal, cat arguments or stdin
   if test $# = 0; then
+    if test -t 0; then
+      echo "Missing filename" 1>&2
+      exit
+    fi
     cat
   else
     cat "$@"
--- a/runtime/macros/less.vim
+++ b/runtime/macros/less.vim
@@ -92,7 +92,8 @@ map <Esc><Space> <Space>
 fun! s:NextPage()
   if line(".") == line("$")
     if argidx() + 1 >= argc()
-      quit
+      " Don't quit at the end of the last file
+      return
     endif
     next
     1
--- a/runtime/syntax/awk.vim
+++ b/runtime/syntax/awk.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	awk, nawk, gawk, mawk
 " Maintainer:	Antonio Colombo <azc100@gmail.com>
-" Last Change:	2012 Jan 31
+" Last Change:	2012 May 18
 
 " AWK  ref.  is: Alfred V. Aho, Brian W. Kernighan, Peter J. Weinberger
 " The AWK Programming Language, Addison-Wesley, 1988
@@ -90,7 +90,7 @@ syn match   awkRegExp	contained "[?.*{}|
 
 " String and Character constants
 " Highlight special characters (those which have a backslash) differently
-syn region  awkString	start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=awkSpecialCharacter,awkSpecialPrintf
+syn region  awkString	start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=@Spell,awkSpecialCharacter,awkSpecialPrintf
 syn match   awkSpecialCharacter contained "\\."
 
 " Some of these combinations may seem weird, but they work.
@@ -132,7 +132,7 @@ syn case match
 " Put this above those to override them.
 " Put this in a 'match "\<printf\=\>.*;\="' to make it not override
 " less/greater than (most of the time), but it won't work yet because
-" keywords allways have precedence over match & region.
+" keywords always have precedence over match & region.
 " File I/O: (print foo, bar > "filename") & for nawk (getline < "filename")
 "syn match  awkFileIO		contained ">"
 "syn match  awkFileIO		contained "<"
@@ -141,7 +141,7 @@ syn case match
 syn match  awkSemicolon	";"
 syn match  awkComma		","
 
-syn match  awkComment	"#.*" contains=awkTodo
+syn match  awkComment	"#.*" contains=@Spell,awkTodo
 
 syn match  awkLineSkip	"\\$"
 
@@ -158,7 +158,7 @@ syn sync ccomment awkArray maxlines=10
 
 " define the default highlighting
 " For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlightling yet
+" For version 5.8 and later: only when an item doesn't have highlighting yet
 if version >= 508 || !exists("did_awk_syn_inits")
   if version < 508
     let did_awk_syn_inits = 1
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2012 Jan 14
+" Last Change:	2012 May 03
 
 " Quit when a (custom) syntax file was already loaded
 if exists("b:current_syntax")
@@ -34,7 +34,7 @@ if !exists("c_no_utf")
   syn match	cSpecial	display contained "\\\(u\x\{4}\|U\x\{8}\)"
 endif
 if exists("c_no_cformat")
-  syn region	cString		start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell
+  syn region	cString		start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend
   " cCppString: same as cString, but ends at end of line
   syn region	cCppString	start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,@Spell
 else
@@ -44,7 +44,7 @@ else
     syn match	cFormat		display "%\(\d\+\$\)\=[-+' #0*]*\(\d*\|\*\|\*\d\+\$\)\(\.\(\d*\|\*\|\*\d\+\$\)\)\=\([hlL]\|ll\)\=\([bdiuoxXDOUfeEgGcCsSpn]\|\[\^\=.[^]]*\]\)" contained
   endif
   syn match	cFormat		display "%%" contained
-  syn region	cString		start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell
+  syn region	cString		start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
   " cCppString: same as cString, but ends at end of line
   syn region	cCppString	start=+L\="+ skip=+\\\\\|\\"\|\\$+ excludenl end=+"+ end='$' contains=cSpecial,cFormat,@Spell
 endif
@@ -64,9 +64,9 @@ syn match	cSpecialCharacter display "L'\
 
 if !exists("c_no_c11") " ISO C11
   if exists("c_no_cformat")
-    syn region	cString		start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell
+    syn region	cString		start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,@Spell extend
   else
-    syn region	cString		start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell
+    syn region	cString		start=+\%(U\|u8\=\)"+ skip=+\\\\\|\\"+ end=+"+ contains=cSpecial,cFormat,@Spell extend
   endif
   syn match	cCharacter	"[Uu]'[^\\]'"
   syn match	cCharacter	"[Uu]'[^']*'" contains=cSpecial
@@ -127,7 +127,7 @@ else
   syn match	cErrInBracket	display contained "[);{}]\|<%\|%>"
 endif
 
-syntax region	cBadBlock	keepend extend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
+syntax region	cBadBlock	keepend start="{" end="}" contained containedin=cParen,cBracket,cBadBlock transparent fold
 
 "integer number, or floating point number without a dot and with "f".
 syn case ignore
@@ -331,7 +331,7 @@ syn region	cIncluded	display contained s
 syn match	cIncluded	display contained "<[^>]*>"
 syn match	cInclude	display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=cIncluded
 "syn match cLineSkip	"\\$"
-syn cluster	cPreProcGroup	contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti
+syn cluster	cPreProcGroup	contains=cPreCondit,cIncluded,cInclude,cDefine,cErrInParen,cErrInBracket,cUserLabel,cSpecial,cOctalZero,cCppOutWrapper,cCppInWrapper,@cCppOutInGroup,cFormat,cNumber,cFloat,cOctal,cOctalError,cNumbersCom,cString,cCommentSkip,cCommentString,cComment2String,@cCommentGroup,cCommentStartError,cParen,cBracket,cMulti,cBadBlock
 syn region	cDefine		start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
 syn region	cPreProc	start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@cPreProcGroup,@Spell
 
--- a/runtime/syntax/cl.vim
+++ b/runtime/syntax/cl.vim
@@ -1,22 +1,25 @@
 " Vim syntax file
-" Language:	cl ("Clever Language" by Multibase, http://www.mbase.com.au)
-" Filename extensions: *.ent, *.eni
-" Maintainer:	Philip Uren <philuSPAX@ieee.org> - Remove SPAX spam block
-" Last update:	Wed Apr 12 08:47:18 EST 2006
-" $Id: cl.vim,v 1.3 2006/04/12 21:43:28 vimboss Exp $
+" Language:		CL
+"			(pronounced alphabetically, and NOT known as Clever)
+"			(CL was created by Multibase, http://www.mbase.com.au)
+" Filename extensions:	*.ent
+"			*.eni
+" Maintainer:		Philip Uren	<philuSPAX@ieee.org> Remove SPAX spam block
+" Version:              4
+" Last Change:		May 11 2012
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
 if version < 600
-	syntax clear
+    syntax clear
 elseif exists("b:current_syntax")
-	finish
+    finish
 endif
 
 if version >= 600
-	setlocal iskeyword=@,48-57,_,-,
+    setlocal iskeyword=@,48-57,_,-,
 else
-	set iskeyword=@,48-57,_,-,
+    set iskeyword=@,48-57,_,-,
 endif
 
 syn case ignore
@@ -24,87 +27,87 @@ syn case ignore
 syn sync lines=300
 
 "If/else/elsif/endif and while/wend mismatch errors
-syn match	clifError		"\<wend\>"
-syn match	clifError		"\<elsif\>"
-syn match	clifError		"\<else\>"
-syn match	clifError		"\<endif\>"
+syn match   clifError	    "\<wend\>"
+syn match   clifError	    "\<elsif\>"
+syn match   clifError	    "\<else\>"
+syn match   clifError	    "\<endif\>"
 
-syn match	clSpaceError		"\s\+$"
+syn match   clSpaceError    "\s\+$"
 
 " If and while regions
-syn region	clLoop		transparent matchgroup=clWhile start="\<while\>" matchgroup=clWhile end="\<wend\>" contains=ALLBUT,clBreak,clProcedure
-syn region	clIf		transparent matchgroup=clConditional start="\<if\>" matchgroup=clConditional end="\<endif\>"   contains=ALLBUT,clBreak,clProcedure
+syn region  clLoop	transparent matchgroup=clWhile start="\<while\>" matchgroup=clWhile end="\<wend\>" contains=ALLBUT,clBreak,clProcedure
+syn region  clIf	transparent matchgroup=clConditional start="\<if\>" matchgroup=clConditional end="\<endif\>"   contains=ALLBUT,clBreak,clProcedure
 
 " Make those TODO notes and debugging stand out!
-syn keyword	clTodo		contained	TODO BUG DEBUG FIX
-syn match	clNeedsWork	contained	"NEED[S]*\s\s*WORK"
-syn keyword	clDebug		contained	debug
+syn keyword clTodo	contained   TODO BUG DEBUG FIX
+syn match   clNeedsWork	contained   "NEED[S]*\s\s*WORK"
+syn keyword clDebug	contained   debug
 
-syn match	clComment	"#.*$"		contains=clTodo,clNeedsWork
-syn region	clProcedure	oneline		start="^\s*[{}]" end="$"
-syn match	clInclude	"^\s*include\s.*"
+syn match   clComment	"#.*$"	    contains=clTodo,clNeedsWork
+syn region  clProcedure	oneline	    start="^\s*[{}]" end="$"
+syn match   clInclude	"^\s*include\s.*"
 
 " We don't put "debug" in the clSetOptions;
 " we contain it in clSet so we can make it stand out.
-syn keyword	clSetOptions	transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim
-syn match	clSet		"^\s*set\s.*" contains=clSetOptions,clDebug
+syn keyword clSetOptions    transparent aauto abort align convert E fill fnum goback hangup justify null_exit output rauto rawprint rawdisplay repeat skip tab trim
+syn match   clSet	"^\s*set\s.*" contains=clSetOptions,clDebug
 
-syn match	clPreProc	"^\s*#P.*"
+syn match   clPreProc	"^\s*#P.*"
 
-syn keyword	clConditional	else elsif
-syn keyword	clWhile		continue endloop
+syn keyword clConditional   else elsif
+syn keyword clWhile	continue endloop
 " 'break' needs to be a region so we can sync on it above.
-syn region	clBreak		oneline start="^\s*break" end="$"
+syn region  clBreak	oneline start="^\s*break" end="$"
 
-syn match	clOperator	"[!;|)(:.><+*=-]"
+syn match   clOperator	"[!;|)(:.><+*=-]"
 
-syn match	clNumber	"\<\d\+\(u\=l\=\|lu\|f\)\>"
+syn match   clNumber	"\<\d\+\(u\=l\=\|lu\|f\)\>"
 
-syn region	clString	matchgroup=clQuote	start=+"+ end=+"+	skip=+\\"+
-syn region	clString	matchgroup=clQuote	start=+'+ end=+'+	skip=+\\'+
+syn region  clString	matchgroup=clQuote  start=+"+ end=+"+	skip=+\\"+
+syn region  clString	matchgroup=clQuote  start=+'+ end=+'+	skip=+\\'+
 
-syn keyword	clReserved	ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH
+syn keyword clReserved	ERROR EXIT INTERRUPT LOCKED LREPLY MODE MCOL MLINE MREPLY NULL REPLY V1 V2 V3 V4 V5 V6 V7 V8 V9 ZERO BYPASS GOING_BACK AAUTO ABORT ABORT ALIGN BIGE CONVERT FNUM GOBACK HANGUP JUSTIFY NEXIT OUTPUT RAUTO RAWDISPLAY RAWPRINT REPEAT SKIP TAB TRIM LCOUNT PCOUNT PLINES SLINES SCOLS MATCH LMATCH
 
-syn keyword	clFunction	asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match
+syn keyword clFunction	asc asize chr name random slen srandom day getarg getcgi getenv lcase scat sconv sdel skey smult srep substr sword trim ucase match
 
-syn keyword	clStatement	clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do
+syn keyword clStatement	clear clear_eol clear_eos close copy create unique with where empty define define ldefine delay_form delete escape exit_block exit_do exit_process field fork format get getfile getnext getprev goto head join maintain message no_join on_eop on_key on_exit on_delete openin openout openapp pause popenin popenout popenio print put range read redisplay refresh restart_block screen select sleep text unlock write and not or do
 
 " Define the default highlighting.
 " For version 5.7 and earlier: only when not done already
 " For version 5.8 and later: only when an item doesn't have highlighting yet
-if	version >= 508 || !exists("did_cl_syntax_inits")
-	if	version < 508
-		let did_cl_syntax_inits = 1
-		command -nargs=+ HiLink hi link <args>
-	else
-		command -nargs=+ HiLink hi def link <args>
-	endif
+if  version >= 508 || !exists("did_cl_syntax_inits")
+    if	version < 508
+	let did_cl_syntax_inits = 1
+	command -nargs=+ HiLink hi link <args>
+    else
+	command -nargs=+ HiLink hi def link <args>
+    endif
 
-	HiLink clifError	Error
-	HiLink clSpaceError	Error
-	HiLink clWhile		Repeat
-	HiLink clConditional	Conditional
-	HiLink clDebug		Debug
-	HiLink clNeedsWork	Todo
-	HiLink clTodo		Todo
-	HiLink clComment	Comment
-	HiLink clProcedure	Procedure
-	HiLink clBreak		Procedure
-	HiLink clInclude	Include
-	HiLink clSetOption	Statement
-	HiLink clSet		Identifier
-	HiLink clPreProc	PreProc
-	HiLink clOperator	Operator
-	HiLink clNumber		Number
-	HiLink clString		String
-	HiLink clQuote		Delimiter
-	HiLink clReserved	Identifier
-	HiLink clFunction	Function
-	HiLink clStatement	Statement
+    HiLink clifError	Error
+    HiLink clSpaceError	Error
+    HiLink clWhile	Repeat
+    HiLink clConditional    Conditional
+    HiLink clDebug	Debug
+    HiLink clNeedsWork	Todo
+    HiLink clTodo	Todo
+    HiLink clComment	Comment
+    HiLink clProcedure	Procedure
+    HiLink clBreak	Procedure
+    HiLink clInclude	Include
+    HiLink clSetOption	Statement
+    HiLink clSet	Identifier
+    HiLink clPreProc	PreProc
+    HiLink clOperator	Operator
+    HiLink clNumber	Number
+    HiLink clString	String
+    HiLink clQuote	Delimiter
+    HiLink clReserved	Identifier
+    HiLink clFunction	Function
+    HiLink clStatement	Statement
 
-	delcommand HiLink
+    delcommand HiLink
 endif
 
 let b:current_syntax = "cl"
 
-" vim: ts=8 sw=8
+" vim: ts=8 sw=4
--- a/runtime/syntax/crontab.vim
+++ b/runtime/syntax/crontab.vim
@@ -5,7 +5,7 @@
 " License: This file can be redistribued and/or modified under the same terms
 "   as Vim itself.
 " Filenames: /tmp/crontab.* used by "crontab -e"
-" Last Change: 2011-04-21
+" Last Change: 2012-05-16
 "
 " crontab line format:
 " Minutes   Hours   Days   Months   Days_of_Week   Commands # comments
@@ -22,16 +22,14 @@ syntax match crontabMin "^\s*[-0-9/,.*]\
 syntax match crontabHr "\s[-0-9/,.*]\+" nextgroup=crontabDay skipwhite contained
 syntax match crontabDay "\s[-0-9/,.*]\+" nextgroup=crontabMnth skipwhite contained
 
-syntax case ignore
 syntax match crontabMnth "\s[-a-z0-9/,.*]\+" nextgroup=crontabDow skipwhite contained
 syntax keyword crontabMnth12 contained jan feb mar apr may jun jul aug sep oct nov dec
 
 syntax match crontabDow "\s[-a-z0-9/,.*]\+" nextgroup=crontabCmd skipwhite contained
 syntax keyword crontabDow7 contained sun mon tue wed thu fri sat
 
-syntax case match
 syntax region crontabCmd start="\S" end="$" skipwhite contained keepend contains=crontabPercent
-syntax match crontabCmnt "^\s*#.*"
+syntax match crontabCmnt "^\s*#.*" contains=@Spell
 syntax match crontabPercent "[^\\]%.*"lc=1 contained
 
 syntax match crontabNick "^\s*@\(reboot\|yearly\|annually\|monthly\|weekly\|daily\|midnight\|hourly\)\>" nextgroup=crontabCmd skipwhite
--- a/runtime/syntax/debchangelog.vim
+++ b/runtime/syntax/debchangelog.vim
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2011 June 01
+" Last Change: 2012 April 29
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debchangelog.vim
 
 " Standard syntax initialization
@@ -19,7 +19,7 @@ syn case ignore
 " Define some common expressions we can use later on
 syn match debchangelogName	contained "^[[:alnum:]][[:alnum:].+-]\+ "
 syn match debchangelogUrgency	contained "; urgency=\(low\|medium\|high\|critical\|emergency\)\( \S.*\)\="
-syn match debchangelogTarget	contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(lenny|squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|maverick|natty|oneiric)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
+syn match debchangelogTarget	contained "\v %(frozen|unstable|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze)-%(backports%(-sloppy)=|volatile)|%(hardy|lucid|natty|oneiric|precise|quantal)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
 syn match debchangelogVersion	contained "(.\{-})"
 syn match debchangelogCloses	contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
 syn match debchangelogLP	contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
--- a/runtime/syntax/debcontrol.vim
+++ b/runtime/syntax/debcontrol.vim
@@ -3,7 +3,7 @@
 " Maintainer:  Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainers: Gerfried Fuchs <alfie@ist.org>
 "                     Wichert Akkerman <wakkerma@debian.org>
-" Last Change: 2011 Sep 17
+" Last Change: 2011 Dec 09
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debcontrol.vim
 
 " Standard syntax initialization
@@ -28,7 +28,7 @@ syn match debcontrolArchitecture contain
 syn match debcontrolMultiArch contained "\%(no\|foreign\|allowed\|same\)"
 syn match debcontrolName contained "[a-z0-9][a-z0-9+.-]\+"
 syn match debcontrolPriority contained "\(extra\|important\|optional\|required\|standard\)"
-syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
+syn match debcontrolSection contained "\v((contrib|non-free|non-US/main|non-US/contrib|non-US/non-free|restricted|universe|multiverse)/)?(admin|cli-mono|comm|database|debian-installer|debug|devel|doc|editors|education|electronics|embedded|fonts|games|gnome|gnustep|gnu-r|graphics|hamradio|haskell|httpd|interpreters|introspection|java|kde|kernel|libs|libdevel|lisp|localization|mail|math|metapackages|misc|net|news|ocaml|oldlibs|otherosfs|perl|php|python|ruby|science|shells|sound|text|tex|utils|vcs|video|web|x11|xfce|zope)"
 syn match debcontrolPackageType contained "u\?deb"
 syn match debcontrolVariable contained "\${.\{-}}"
 syn match debcontrolDmUpload contained "\cyes"
--- a/runtime/syntax/debsources.vim
+++ b/runtime/syntax/debsources.vim
@@ -2,7 +2,7 @@
 " Language:     Debian sources.list
 " Maintainer:   Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org>
 " Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
-" Last Change: 2011 June 01
+" Last Change: 2012 April 29
 " URL: http://anonscm.debian.org/hg/pkg-vim/vim/raw-file/unstable/runtime/syntax/debsources.vim
 
 " Standard syntax initialization
@@ -23,7 +23,7 @@ syn match debsourcesComment        /#.*/
 
 " Match uri's
 syn match debsourcesUri            +\(http://\|ftp://\|[rs]sh://\|debtorrent://\|\(cdrom\|copy\|file\):\)[^' 	<>"]\++
-syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\(lenny\|squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|maverick\|natty\|oneiric\)\([-[:alnum:]_./]*\)+
+syn match debsourcesDistrKeyword   +\([[:alnum:]_./]*\)\(squeeze\|wheezy\|\(old\)\=stable\|testing\|unstable\|sid\|rc-buggy\|experimental\|hardy\|lucid\|natty\|oneiric\|precise\|quantal\)\([-[:alnum:]_./]*\)+
 
 " Associate our matches and regions with pretty colours
 hi def link debsourcesLine            Error
--- a/runtime/syntax/ninja.vim
+++ b/runtime/syntax/ninja.vim
@@ -1,8 +1,8 @@
 " ninja build file syntax.
 " Language: ninja build file as described at
 "           http://martine.github.com/ninja/manual.html
-" Version: 1.0
-" Last Change: 2012 Jan 04
+" Version: 1.1
+" Last Change: 2012/05/13
 " Maintainer: Nicolas Weber <nicolasweber@gmx.de>
 
 " ninja lexer and parser are at
@@ -15,6 +15,8 @@ endif
 
 syn case match
 
+syn match ninjaComment /#.*/
+
 " Toplevel statements are the ones listed here and
 " toplevel variable assignments (ident '=' value).
 " lexer.in.cc, ReadToken() and parsers.cc, Parse()
@@ -53,6 +55,7 @@ syn match   ninjaVar       "\${[a-zA-Z0-
 " order-only dependency ||
 syn match ninjaOperator "\(=\|:\||\|||\)\ze\s"
 
+hi def link ninjaComment Comment
 hi def link ninjaKeyword Keyword
 hi def link ninjaRuleCommand Statement
 hi def link ninjaWrapLineOperator ninjaOperator
--- a/runtime/syntax/progress.vim
+++ b/runtime/syntax/progress.vim
@@ -3,21 +3,25 @@
 " Filename extensions:	*.p (collides with Pascal),
 "			*.i (collides with assembler)
 "			*.w (collides with cweb)
-" Maintainer:		Philip Uren		<philuSPAX@ieee.org> Remove "SPAX" spam block
-" Contributors:         Chris Ruprecht		<chrup@mac.com> (Chris, where are you now?)
-"			Mikhail Kuperblum	<mikhail@whasup.com>
-"			John Florian		<jflorian@voyager.net>
-" Last Change:		Wed Apr 12 08:55:35 EST 2006
-" $Id: progress.vim,v 1.3 2006/04/12 21:48:47 vimboss Exp $
+" Maintainer:		Philip Uren	    <philuSPAX@ieee.org> Remove SPAX spam block
+" Contributors:         Chris Ruprecht	    <chris@ruprecht.org>
+"			Philip Uren	    <philu@computer.org>
+"			Mikhail Kuperblum   <mikhail@whasup.com>
+"			John Florian	    <jflorian@voyager.net>
+" Version:              11
+" Last Change:		May 11 2012
 
-" For version 5.x: Clear all syntax items
+" For version 5.x: Clear all syntax item
 " For version 6.x: Quit when a syntax file was already loaded
 if version < 600
-	syntax clear
+    syntax clear
 elseif exists("b:current_syntax")
-	finish
+    finish
 endif
 
+let s:cpo_save = &cpo
+set cpo&vim
+
 if version >= 600
   setlocal iskeyword=@,48-57,_,-,!,#,$,%
 else
@@ -30,159 +34,250 @@ set expandtab
 syn case ignore
 
 " Progress Blocks of code and mismatched "end." errors.
-syn match	ProgressEndError	"\<end\>"
-syn region	ProgressDoBlock		transparent matchgroup=ProgressDo start="\<do\>" matchgroup=ProgressDo end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction
-syn region	ProgressForBlock	transparent matchgroup=ProgressFor start="\<for\>" matchgroup=ProgressFor end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction
-syn region	ProgressRepeatBlock	transparent matchgroup=ProgressRepeat start="\<repeat\>" matchgroup=ProgressRepeat end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction
-syn region	ProgressCaseBlock	transparent matchgroup=ProgressCase start="\<case\>" matchgroup=ProgressCase end="\<end\scase\>\|\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction
+syn match   ProgressEndError	    "\<end\>"
+syn region ProgressDoBlock transparent matchgroup=ProgressDo start="\<do\>" matchgroup=ProgressDo end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction
+syn region ProgressForBlock transparent matchgroup=ProgressFor start="\<for\>" matchgroup=ProgressFor end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction
+syn region ProgressRepeatBlock transparent matchgroup=ProgressRepeat start="\<repeat\>" matchgroup=ProgressRepeat end="\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction
+syn region ProgressCaseBlock transparent matchgroup=ProgressCase start="\<case\>" matchgroup=ProgressCase end="\<end\scase\>\|\<end\>" contains=ALLBUT,ProgressProcedure,ProgressFunction
 
 " These are Progress reserved words,
 " and they could go in ProgressReserved,
 " but I found it more helpful to highlight them in a different color.
-syn keyword	ProgressConditional	if else then when otherwise
-syn keyword	ProgressFor		each where
+syn keyword ProgressConditional	if else then when otherwise
+syn keyword ProgressFor		    each where
 
 " Make those TODO and debugging notes stand out!
-syn keyword	ProgressTodo		contained	TODO BUG FIX
-syn keyword	ProgressDebug		contained	DEBUG
-syn keyword	ProgressDebug		debugger
-syn match  	ProgressTodo            contained	"NEED[S]*\s\s*WORK"
+syn keyword ProgressTodo	    contained	TODO BUG FIX
+syn keyword ProgressDebug	    contained	DEBUG
+syn keyword ProgressDebug			debugger
 
 " If you like to highlight the whole line of
 " the start and end of procedures
 " to make the whole block of code stand out:
-syn match	ProgressProcedure	"^\s*procedure.*"
-syn match	ProgressProcedure	"^\s*end\s\s*procedure.*"
-syn match	ProgressFunction	"^\s*function.*"
-syn match	ProgressFunction	"^\s*end\s\s*function.*"
+syn match ProgressProcedure	"^\s*procedure.*"
+syn match ProgressProcedure	"^\s*end\s\s*procedure.*"
+syn match ProgressFunction	"^\s*function.*"
+syn match ProgressFunction	"^\s*end\s\s*function.*"
 " ... otherwise use this:
 " syn keyword ProgressFunction	procedure function
 
-syn keyword	ProgressReserved	accum[ulate] active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending] assign at attr[-space]
-syn keyword	ProgressReserved	authorization auto-ret[urn] avail[able] back[ground] before-h[ide] begins bell between blank break btos by call can-do can-find
-syn keyword	ProgressReserved	center[ed] character check chr clear clipboard col colon color col[umn] column-lab[el] col[umns] compiler connected control count-of
-syn keyword	ProgressReserved	cpstream create ctos current current-changed current-lang[uage] current-window current_date curs[or] database dataservers
-syn keyword	ProgressReserved	dbcodepage dbcollation dbname dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimal decimals declare
-syn keyword	ProgressReserved	def default default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] disp
-syn keyword	ProgressReserved	disp[lay] distinct dos down drop editing enable encode entry error-stat[us] escape etime except exclusive
-syn keyword	ProgressReserved	exclusive[-lock] exclusive-web-us[er] exists export false fetch field field[s] file-info[rmation] fill find find-case-sensitive
-syn keyword	ProgressReserved	find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first first-of focus font form form[at]
-syn keyword	ProgressReserved	fram[e] frame-col frame-db frame-down frame-field frame-file frame-inde[x] frame-line frame-name frame-row frame-val[ue]
-syn keyword	ProgressReserved	from from-c[hars] from-p[ixels] gateway[s] get-byte get-codepage[s] get-coll[ations] get-key-val[ue] getbyte global go-on
-syn keyword	ProgressReserved	go-pend[ing] grant graphic-e[dge] group having header help hide import in index indicator input input-o[utput] insert
-syn keyword	ProgressReserved	integer into is is-attr[-space] join kblabel key-code key-func[tion] key-label keycode keyfunc[tion] keylabel keys keyword label
-syn keyword	ProgressReserved	last last-even[t] last-key last-of lastkey ldbname leave library like line-count[er] listi[ng] locked lookup machine-class
-syn keyword	ProgressReserved	map member message message-lines mouse mpe new next next-prompt no no-attr[-space] no-error no-f[ill] no-help no-hide no-label[s]
-syn keyword	ProgressReserved	no-lock no-map no-mes[sage] no-pause no-prefe[tch] no-undo no-val[idate] no-wait not null num-ali[ases] num-dbs num-entries
-syn keyword	ProgressReserved	of off old on open opsys option or os-append os-command os-copy os-create-dir os-delete os-dir os-drive[s] os-error os-rename
-syn keyword	ProgressReserved	os2 os400 output overlay page page-bot[tom] page-num[ber] page-top param[eter] pause pdbname persist[ent] pixels
-syn keyword	ProgressReserved	preproc[ess] privileges proc-ha[ndle] proc-st[atus] process program-name Progress prompt prompt[-for] promsgs propath provers[ion]
-syn keyword	ProgressReserved	put put-byte put-key-val[ue] putbyte query query-tuning quit r-index rcode-informatio[n] readkey recid record-len[gth] rect[angle]
-syn keyword	ProgressReserved	release reposition retain retry return return-val[ue] revert revoke run save schema screen screen-io screen-lines
-syn keyword	ProgressReserved	scroll sdbname search seek select self session set setuser[id] share[-lock] shared show-stat[s] skip some space status stream
-syn keyword	ProgressReserved	stream-io string-xref system-dialog table term term[inal] text text-cursor text-seg[-growth] this-procedure time title
-syn keyword	ProgressReserved	to today top-only trans trans[action] trigger triggers trim true underl[ine] undo unform[atted] union unique unix up update
-syn keyword	ProgressReserved	use-index use-revvideo use-underline user user[id] using v6frame value values variable view view-as vms wait-for web-con[text]
-syn keyword	ProgressReserved	window window-maxim[ized] window-minim[ized] window-normal with work-tab[le] workfile write xcode xref yes _cbit
-syn keyword	ProgressReserved	_control _list _memory _msg _pcontrol _serial[-num] _trace 
+syn keyword ProgressReserved	accum[ulate] active-form active-window add alias all alter ambig[uous] analyz[e] and any apply as asc[ending]
+syn keyword ProgressReserved	assign asynchronous at attr[-space] audit-control audit-policy authorization auto-ret[urn] avail[able] back[ground]
+syn keyword ProgressReserved	before-h[ide] begins bell between big-endian blank break buffer-comp[are] buffer-copy by by-pointer by-variant-point[er] call
+syn keyword ProgressReserved	can-do can-find case case-sen[sitive] cast center[ed] check chr clear clipboard codebase-locator colon color column-lab[el]
+syn keyword ProgressReserved	col[umns] com-self compiler connected control copy-lob count-of cpstream create current current-changed current-lang[uage]
+syn keyword ProgressReserved	current-window current_date curs[or] database dataservers dataset dataset-handle db-remote-host dbcodepage dbcollation dbname
+syn keyword ProgressReserved	dbparam dbrest[rictions] dbtaskid dbtype dbvers[ion] dde deblank debug-list debugger decimals declare default
+syn keyword ProgressReserved	default-noxl[ate] default-window def[ine] delete delimiter desc[ending] dict[ionary] disable discon[nect] disp[lay] distinct do dos
+syn keyword ProgressReserved	down drop dynamic-cast dynamic-func[tion] dynamic-new each editing else enable encode end entry error-stat[us] escape
+syn keyword ProgressReserved	etime event-procedure except exclusive[-lock] exclusive-web[-user] exists export false fetch field[s] file-info[rmation]
+syn keyword ProgressReserved	fill find find-case-sensitive find-global find-next-occurrence find-prev-occurrence find-select find-wrap-around first
+syn keyword ProgressReserved	first-of focus font for form[at] fram[e] frame-col frame-db frame-down frame-field frame-file frame-inde[x] frame-line
+syn keyword ProgressReserved	frame-name frame-row frame-val[ue] from from-c[hars] from-p[ixels] function-call-type gateway[s] get-attr-call-type get-byte
+syn keyword ProgressReserved	get-codepage[s] get-coll[ations] get-column get-error-column get-error-row get-file-name get-file-offse[t] get-key-val[ue]
+syn keyword ProgressReserved	get-message-type get-row getbyte global go-on go-pend[ing] grant graphic-e[dge] group having header help hide host-byte-order if
+syn keyword ProgressReserved	import in index indicator input input-o[utput] insert into is is-attr[-space] join kblabel key-code key-func[tion] key-label
+syn keyword ProgressReserved	keycode keyfunc[tion] keylabel keys keyword label last last-even[t] last-key last-of lastkey ldbname leave library like
+syn keyword ProgressReserved	like-sequential line-count[er] listi[ng] little-endian locked log-manager lookup machine-class map member message message-lines mouse
+syn keyword ProgressReserved	mpe new next next-prompt no no-attr[-space] no-error no-f[ill] no-help no-hide no-label[s] no-lobs no-lock no-map
+syn keyword ProgressReserved	no-mes[sage] no-pause no-prefe[tch] no-return-val[ue] no-undo no-val[idate] no-wait not now null num-ali[ases] num-dbs num-entries
+syn keyword ProgressReserved	of off old on open opsys option or os-append os-command os-copy os-create-dir os-delete os-dir os-drive[s] os-error
+syn keyword ProgressReserved	os-rename otherwise output overlay page page-bot[tom] page-num[ber] page-top param[eter] password-field pause pdbname
+syn keyword ProgressReserved	persist[ent] pixels preproc[ess] privileges proc-ha[ndle] proc-st[atus] procedure-call-type process profiler program-name progress
+syn keyword ProgressReserved	prompt[-for] promsgs propath provers[ion] publish put put-byte put-key-val[ue] putbyte query query-tuning quit r-index
+syn keyword ProgressReserved	rcode-info[rmation] read-available read-exact-num readkey recid record-len[gth] rect[angle] release repeat reposition retain retry return
+syn keyword ProgressReserved	return-val[ue] revert revoke row-created row-deleted row-modified row-unmodified run save sax-comple[te] sax-parser-error
+syn keyword ProgressReserved	sax-running sax-uninitialized sax-write-begin sax-write-complete sax-write-content sax-write-element sax-write-error
+syn keyword ProgressReserved	sax-write-idle sax-write-tag schema screen screen-io screen-lines scroll sdbname search search-self search-target security-policy
+syn keyword ProgressReserved	seek select self session set set-attr-call-type setuser[id] share[-lock] shared show-stat[s] skip some source-procedure
+syn keyword ProgressReserved	space status stream stream-handle stream-io string-xref subscribe super system-dialog table table-handle target-procedure
+syn keyword ProgressReserved	term[inal] text text-cursor text-seg[-grow] then this-object this-procedure time title to today top-only trans[action] trigger
+syn keyword ProgressReserved	triggers trim true underl[ine] undo unform[atted] union unique unix unless-hidden unsubscribe up update use-index use-revvideo
+syn keyword ProgressReserved	use-underline user[id] using value values view view-as wait-for web-con[text] when where while window window-delayed-min[imize]
+syn keyword ProgressReserved	window-maxim[ized] window-minim[ized] window-normal with work-tab[le] workfile write xcode xcode-session-key xref xref-xml yes
 
 " Strings. Handles embedded quotes.
 " Note that, for some reason, Progress doesn't use the backslash, "\"
 " as the escape character; it uses tilde, "~".
-syn region	ProgressString		matchgroup=ProgressQuote	start=+"+ end=+"+	skip=+\~'\|\~\~+
-syn region	ProgressString		matchgroup=ProgressQuote	start=+'+ end=+'+	skip=+\~'\|\~\~+
+syn region ProgressString   matchgroup=ProgressQuote	start=+"+ end=+"+   skip=+\~'\|\~\~+
+syn region ProgressString   matchgroup=ProgressQuote	start=+'+ end=+'+   skip=+\~'\|\~\~+
 
-syn match	ProgressIdentifier	"\<[a-zA-Z_%#]+\>()"
+syn match  ProgressIdentifier		"\<[a-zA-Z_][a-zA-Z0-9_]*\>()"
 
-" syn match	ProgressDelimiter	"()"
+" syn match  ProgressDelimiter		"()"
 
-syn match	ProgressMatrixDelimiter	"[][]"
-" If you prefer you can highlight the range
-"syn match	ProgressMatrixDelimiter	"[\d\+\.\.\d\+]"
+syn match  ProgressMatrixDelimiter  "[][]"
+" If you prefer you can highlight the range:
+"syn match  ProgressMatrixDelimiter	"[\d\+\.\.\d\+]"
 
-syn match	ProgressNumber		"\<\-\=\d\+\(u\=l\=\|lu\|f\)\>"
-syn match	ProgressByte		"\$[0-9a-fA-F]\+"
+syn match  ProgressNumber		"\<\-\=\d\+\(u\=l\=\|lu\|f\)\>"
+syn match  ProgressByte			"\$[0-9a-fA-F]\+"
 
 " More values: Logicals, and Progress's unknown value, ?.
-syn match	ProgressNumber		"?"
-syn keyword	ProgressNumber		true false yes no
+syn match   ProgressNumber		"?"
+syn keyword ProgressNumber		true false yes no
 
 " If you don't like tabs:
-syn match	ProgressShowTab		"\t"
+syn match ProgressShowTab "\t"
 
-" If you don't like white space on the end of lines:
-" syn match	ProgressSpaceError	"\s\+$"
+" If you don't like white space on the end of lines, uncomment this:
+" syn match   ProgressSpaceError "\s\+$"
 
-syn region	ProgressComment		start="/\*" end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebug
-syn region	ProgressInclude		start="^[ 	]*[{][^&]" end="[}]" contains=ProgressPreProc,ProgressOperator,ProgressString,ProgressComment
-syn region	ProgressPreProc		start="&" end="\>" contained
+syn region ProgressComment	start="/\*"  end="\*/" contains=ProgressComment,ProgressTodo,ProgressDebug
+syn region ProgressInclude	start="^[   ]*[{]" end="[}]" contains=ProgressPreProc,ProgressOperator,ProgressString,ProgressComment
+syn region ProgressPreProc	start="&" end="\>" contained
 
 " This next line works reasonably well.
-" syn match	ProgressOperator        "[!;|)(:.><+*=-]"
+" syn match ProgressOperator        "[!;|)(:.><+*=-]"
 "
 " Progress allows a '-' to be part of an identifier.  To be considered
 " the subtraction/negation operation operator it needs a non-word
 " character on either side.  Also valid are cases where the minus
 " operation appears at the beginning or end of a line.
 " This next line trips up on "no-undo" etc.
-" syn match	ProgressOperator	"[!;|)(:.><+*=]\|\W-\W\|^-\W\|\W-$"
-syn match	ProgressOperator	"[!;|)(:.><+*=]\|\s-\s\|^-\s\|\s-$"
+" syn match ProgressOperator    "[!;|)(:.><+*=]\|\W-\W\|^-\W\|\W-$"
+syn match ProgressOperator      "[!;|)(:.><+*=]\|\s-\s\|^-\s\|\s-$"
 
-syn keyword	ProgressOperator	<= <> >= abs[olute] accelerator across add-first add-last advise alert-box allow-replication ansi-only anywhere append appl-alert[-boxes] application as-cursor ask-overwrite
-syn keyword	ProgressOperator	attach[ment] auto-end-key auto-endkey auto-go auto-ind[ent] auto-resize auto-z[ap] available-formats ave[rage] avg backward[s] base-key batch[-mode] bgc[olor] binary
-syn keyword	ProgressOperator	bind-where block-iteration-display border-bottom border-bottom-ch[ars] border-bottom-pi[xels] border-left border-left-char[s] border-left-pixe[ls] border-right border-right-cha[rs]
-syn keyword	ProgressOperator	border-right-pix[els] border-t[op] border-t[op-chars] border-top-pixel[s] both bottom box box-select[able] browse browse-header buffer buffer-chars buffer-lines
-syn keyword	ProgressOperator	button button[s] byte cache cache-size can-query can-set cancel-break cancel-button caps careful-paint case-sensitive cdecl char[acter] character_length charset
-syn keyword	ProgressOperator	checked choose clear-select[ion] close code codepage codepage-convert col-of colon-align[ed] color-table column-bgc[olor] column-dcolor column-fgc[olor] column-font
-syn keyword	ProgressOperator	column-label-bgc[olor] column-label-dcolor column-label-fgc[olor] column-label-font column-of column-pfc[olor] column-sc[rolling] combo-box command compile complete
-syn keyword	ProgressOperator	connect constrained contents context context-pop[up] control-containe[r] c[ontrol-form] convert-to-offse[t] convert count cpcase cpcoll cpint[ernal] cplog
-syn keyword	ProgressOperator	cpprint cprcodein cprcodeout cpterm crc-val[ue] c[reate-control] create-result-list-entry create-test-file current-column current-environm[ent] current-iteration
-syn keyword	ProgressOperator	current-result-row current-row-modified current-value cursor-char cursor-line cursor-offset data-entry-retur[n] data-t[ype] date date-f[ormat] day db-references
-syn keyword	ProgressOperator	dcolor dde-error dde-i[d] dde-item dde-name dde-topic debu[g] dec[imal] default-b[utton] default-extensio[n] defer-lob-fetch define defined delete-char delete-current-row
-syn keyword	ProgressOperator	delete-line delete-selected-row delete-selected-rows deselect-focused-row deselect-rows deselect-selected-row d[esign-mode] dialog-box dialog-help dir disabled display-message
-syn keyword	ProgressOperator	display-t[ype] double drag-enabled drop-down drop-down-list dump dynamic echo edge edge[-chars] edge-p[ixels] editor empty end-key endkey entered eq error error-col[umn]
-syn keyword	ProgressOperator	error-row event-t[ype] event[s] exclusive-id execute exp expand extended extent external extract fetch-selected-row fgc[olor] file file-name file-off[set] file-type
-syn keyword	ProgressOperator	filename fill-in filled filters first-child first-column first-proc[edure] first-tab-i[tem] fixed-only float focused-row font-based-layout font-table force-file
-syn keyword	ProgressOperator	fore[ground] form-input forward[s] frame-spa[cing] frame-x frame-y frequency from-cur[rent] full-height full-height-char[s] full-height-pixe[ls] full-pathn[ame]
-syn keyword	ProgressOperator	full-width full-width[-chars] full-width-pixel[s] ge get get-blue[-value] g[et-char-property] get-double get-dynamic get-file get-float get-green[-value]
-syn keyword	ProgressOperator	get-iteration get-license get-long get-message get-number get-pointer-value get-red[-value] get-repositioned-row get-selected-wid[get] get-short get-signature get-size
-syn keyword	ProgressOperator	get-string get-tab-item get-text-height get-text-height-char[s] get-text-height-pixe[ls] get-text-width get-text-width-c[hars] get-text-width-pixel[s] get-unsigned-short
-syn keyword	ProgressOperator	grayed grid-factor-horizont[al] grid-factor-vert[ical] grid-set grid-snap grid-unit-height grid-unit-height-cha[rs] grid-unit-height-pix[els] grid-unit-width grid-unit-width-char[s]
-syn keyword	ProgressOperator	grid-unit-width-pixe[ls] grid-visible gt handle height height[-chars] height-p[ixels] help-con[text] helpfile-n[ame] hidden hint hori[zontal] hwnd image image-down
-syn keyword	ProgressOperator	image-insensitive image-size image-size-c[hars] image-size-pixel[s] image-up immediate-display index-hint indexed-reposition info[rmation] init init[ial] initial-dir
-syn keyword	ProgressOperator	initial-filter initiate inner inner-chars inner-lines insert-b[acktab] insert-file insert-row insert-string insert-t[ab] int[eger] internal-entries is-lead-byte
-syn keyword	ProgressOperator	is-row-selected is-selected item items-per-row join-by-sqldb keep-frame-z-ord[er] keep-messages keep-tab-order key keyword-all label-bgc[olor] label-dc[olor] label-fgc[olor]
-syn keyword	ProgressOperator	label-font label-pfc[olor] labels language[s] large large-to-small last-child last-tab-i[tem] last-proce[dure] lc le leading left left-align[ed] left-trim length
-syn keyword	ProgressOperator	line list-events list-items list-query-attrs list-set-attrs list-widgets load l[oad-control] load-icon load-image load-image-down load-image-insensitive load-image-up
-syn keyword	ProgressOperator	load-mouse-point[er] load-small-icon log logical lookahead lower lt manual-highlight margin-extra margin-height margin-height-ch[ars] margin-height-pi[xels] margin-width
-syn keyword	ProgressOperator	margin-width-cha[rs] margin-width-pix[els] matches max max-chars max-data-guess max-height max-height[-chars] max-height-pixel[s] max-rows max-size max-val[ue] max-width
-syn keyword	ProgressOperator	max-width[-chars] max-width-p[ixels] maximize max[imum] memory menu menu-bar menu-item menu-k[ey] menu-m[ouse] menubar message-area message-area-font message-line
-syn keyword	ProgressOperator	min min-height min-height[-chars] min-height-pixel[s] min-size min-val[ue] min-width min-width[-chars] min-width-p[ixels] min[imum] mod modified mod[ulo] month mouse-p[ointer]
-syn keyword	ProgressOperator	movable move-after-tab-i[tem] move-before-tab-[item] move-col[umn] move-to-b[ottom] move-to-eof move-to-t[op] multiple multiple-key multitasking-interval must-exist
-syn keyword	ProgressOperator	name native ne new-row next-col[umn] next-sibling next-tab-ite[m] next-value no-apply no-assign no-bind-where no-box no-column-scroll[ing] no-convert no-current-value
-syn keyword	ProgressOperator	no-debug no-drag no-echo no-index-hint no-join-by-sqldb no-lookahead no-row-markers no-scrolling no-separate-connection no-separators no-und[erline] no-word-wrap
-syn keyword	ProgressOperator	none num-but[tons] num-col[umns] num-copies num-formats num-items num-iterations num-lines num-locked-colum[ns] num-messages num-results num-selected num-selected-rows
-syn keyword	ProgressOperator	num-selected-widgets num-tabs num-to-retain numeric numeric-f[ormat] octet_length ok ok-cancel on-frame[-border] ordered-join ordinal orientation os-getenv outer
-syn keyword	ProgressOperator	outer-join override owner page-size page-wid[th] paged parent partial-key pascal pathname pfc[olor] pinnable pixels-per-colum[n] pixels-per-row popup-m[enu] popup-o[nly]
-syn keyword	ProgressOperator	position precision presel[ect] prev prev-col[umn] prev-sibling prev-tab-i[tem] primary printer-control-handle printer-setup private-d[ata] profiler Progress-s[ource]
-syn keyword	ProgressOperator	publish put-double put-float put-long put-short put-string put-unsigned-short query-off-end question radio-buttons radio-set random raw raw-transfer read-file read-only
-syn keyword	ProgressOperator	real recursive refresh refreshable replace replace-selection-text replication-create replication-delete replication-write request resiza[ble] resize retry-cancel
-syn keyword	ProgressOperator	return-ins[erted] return-to-start-di[r] reverse-from right right-align[ed] right-trim round row row-ma[rkers] row-of rowid rule rule-row rule-y save-as save-file
-syn keyword	ProgressOperator	screen-val[ue] scroll-bars scroll-delta scroll-horiz-value scroll-offset scroll-to-current-row scroll-to-i[tem] scroll-to-selected-row scroll-vert-value scrollable
-syn keyword	ProgressOperator	scrollbar-horizo[ntal] scrollbar-vertic[al] scrolled-row-positio[n] scrolling se-check-pools se-enable-of[f] se-enable-on se-num-pools se-use-messa[ge] section select-focused-row
-syn keyword	ProgressOperator	select-next-row select-prev-row select-repositioned-row select-row selectable selected selected-items selection-end selection-list selection-start selection-text
-syn keyword	ProgressOperator	send sensitive separate-connection separators set-blue[-value] set-break set-cell-focus set-contents set-dynamic set-green[-value] set-leakpoint set-pointer-valu[e]
-syn keyword	ProgressOperator	s[et-property] set-red[-value] set-repositioned-row set-selection set-size set-wait[-state] side-lab side-lab[e] side-lab[el] side-label-handl[e] side-lab[els] silent
-syn keyword	ProgressOperator	simple single size size-c[hars] size-p[ixels] slider smallint sort source source-procedure sql sqrt start status-area status-area-font status-bar stdcall stenciled stop stoppe[d]
-syn keyword	ProgressOperator	stored-proc[edure] string sub-ave[rage] sub-count sub-max[imum] sub-me[nu] sub-menu-help sub-min[imum] sub-total subscribe subst[itute] substr[ing] subtype sum super suppress-warning[s]
-syn keyword	ProgressOperator	system-alert-box[es] system-help tab-position tabbable target target-procedure temp-dir[ectory] temp-table terminate text-selected three-d through thru tic-marks time-source title-bgc[olor]
-syn keyword	ProgressOperator	title-dc[olor] title-fgc[olor] title-fo[nt] to-rowid toggle-box tool-bar top topic total trailing trunc[ate] type unbuff[ered] unique-id unload unsubscribe upper use use-dic[t-exps]
-syn keyword	ProgressOperator	use-filename use-text v6display valid-event valid-handle validate validate-condition validate-message var[iable] vert[ical] virtual-height virtual-height-c[hars]
-syn keyword	ProgressOperator	virtual-height-pixel[s] virtual-width virtual-width-ch[ars] virtual-width-pi[xels] visible wait warning weekday widget widget-e[nter] widget-h[andle] widget-l[eave]
-syn keyword	ProgressOperator	widget-pool width width[-chars] width-p[ixels] window-name window-sta[te] window-sys[tem] word-wrap x-of y-of year yes-no yes-no-cancel _dcm
+syn keyword ProgressOperator	<= <> >=
+syn keyword ProgressOperator	abs[olute] accelerator accept-changes accept-row-changes across active actor add-buffer add-calc-col[umn]
+syn keyword ProgressOperator	add-columns-from add-events-proc[edure] add-fields-from add-first add-header-entry add-index-field add-interval add-last
+syn keyword ProgressOperator	add-like-col[umn] add-like-field add-like-index add-new-field add-new-index add-rel[ation] add-schema-location add-source-buffer
+syn keyword ProgressOperator	add-super-proc[edure] adm-data advise after-buffer after-rowid after-table alert-box allow-column-searching allow-replication alternate-key
+syn keyword ProgressOperator	always-on-top ansi-only anywhere append append-child appl-alert[-boxes] appl-context-id application apply-callback appserver-info
+syn keyword ProgressOperator	appserver-password appserver-userid array-m[essage] ask-overwrite assembly async-request-count async-request-handle attach-data-source
+syn keyword ProgressOperator	attached-pairlist attach attribute-names audit-enabled audit-event-context authentication-failed auto-comp[letion] auto-delete
+syn keyword ProgressOperator	auto-delete-xml auto-end-key auto-endkey auto-go auto-ind[ent] auto-resize auto-synchronize auto-val[idate] auto-z[ap] automatic
+syn keyword ProgressOperator	available-formats ave[rage] avg backward[s] base-ade base-key basic-logging batch[-mode] batch-size before-buffer before-rowid
+syn keyword ProgressOperator	before-table begin-event-group bgc[olor] binary bind bind-where blob block-iteration-display border-b[ottom-chars]
+syn keyword ProgressOperator	border-bottom-p[ixels] border-l[eft-chars] border-left-p[ixels] border-r[ight-chars] border-right-p[ixels] border-t[op-chars]
+syn keyword ProgressOperator	border-top-p[ixels] both bottom box box-select[able] browse buffer buffer-chars buffer-create buffer-delete buffer-field buffer-handle
+syn keyword ProgressOperator	buffer-lines buffer-n[ame] buffer-releas[e] buffer-validate buffer-value button[s] by-reference by-value byte bytes-read
+syn keyword ProgressOperator	bytes-written cache cache-size call-name call-type can-crea[te] can-dele[te] can-query can-read can-set can-writ[e] cancel-break
+syn keyword ProgressOperator	cancel-button cancel-requests cancelled caps careful-paint catch cdecl chained char[acter] character_length charset checked
+syn keyword ProgressOperator	child-buffer child-num choose class class-type clear-appl-context clear-log clear-select[ion] clear-sort-arrow[s]
+syn keyword ProgressOperator	client-connection-id client-principal client-tty client-type client-workstation clob clone-node close close-log code codepage
+syn keyword ProgressOperator	codepage-convert col-of collate colon-align[ed] color-table column-bgc[olor] column-codepage column-dcolor column-fgc[olor]
+syn keyword ProgressOperator	column-font column-movable column-of column-pfc[olor] column-read-only column-resizable column-sc[rolling] com-handle combo-box
+syn keyword ProgressOperator	command compare[s] compile complete config-name connect constructor contents context context-help context-help-file
+syn keyword ProgressOperator	context-help-id context-pop[up] control-box control-fram[e] convert convert-to-offs[et] copy-dataset copy-sax-attributes
+syn keyword ProgressOperator	copy-temp-table count cpcase cpcoll cpint[ernal] cplog cpprint cprcodein cprcodeout cpterm crc-val[ue] create-like
+syn keyword ProgressOperator	create-like-sequential create-node create-node-namespace create-result-list-entry create-test-file current-column current-env[ironment]
+syn keyword ProgressOperator	current-iteration current-query current-result-row current-row-modified current-value cursor-char cursor-line cursor-offset data-b[ind]
+syn keyword ProgressOperator	data-entry-ret[urn] data-rel[ation] data-source data-source-complete-map data-source-modified data-source-rowid data-t[ype] date
+syn keyword ProgressOperator	date-f[ormat] day db-references dcolor dde-error dde-i[d] dde-item dde-name dde-topic debu[g] debug-alert
+syn keyword ProgressOperator	declare-namespace decrypt default-buffer-handle default-but[ton] default-commit default-ex[tension] default-string
+syn keyword ProgressOperator	default-value define-user-event-manager defined delete-char delete-current-row delete-header-entry delete-line delete-node
+syn keyword ProgressOperator	delete-result-list-entry delete-selected-row delete-selected-rows descript[ion] deselect-focused-row deselect-rows deselect-selected-row
+syn keyword ProgressOperator	destructor detach-data-source dialog-box dir directory disable-auto-zap disable-connections disable-dump-triggers
+syn keyword ProgressOperator	disable-load-triggers disabled display-message display-timezone display-t[ype] domain-description domain-name domain-type double
+syn keyword ProgressOperator	drag-enabled drop-down drop-down-list drop-target dump dump-logging-now dynamic dynamic-current-value dynamic-next-value echo
+syn keyword ProgressOperator	edge[-chars] edge-p[ixels] edit-can-paste edit-can-undo edit-clear edit-copy edit-cut edit-paste edit-undo editor empty
+syn keyword ProgressOperator	empty-dataset empty-temp-table enable-connections enabled encoding encrypt encrypt-audit-mac-key encryption-salt end-document
+syn keyword ProgressOperator	end-element end-event-group end-file-drop end-key end-user-prompt endkey entered entry-types-list eq error error-col[umn]
+syn keyword ProgressOperator	error-object-detail error-row error-stack-trace error-string event-group-id event-procedure-context event-t[ype] events exclusive-id
+syn keyword ProgressOperator	execute execution-log exp expand expandable expire explicit export-principal extended extent external extract
+syn keyword ProgressOperator	fetch-selected-row fgc[olor] file file-create-d[ate] file-create-t[ime] file-mod-d[ate] file-mod-t[ime] file-name file-off[set]
+syn keyword ProgressOperator	file-size file-type filename fill-in fill-mode fill-where-string filled filters final finally find-by-rowid find-current
+syn keyword ProgressOperator	find-first find-last find-unique finder first-async[-request] first-buffer first-child first-column first-data-source
+syn keyword ProgressOperator	first-dataset first-form first-object first-proc[edure] first-query first-serv[er] first-server-socket first-socket
+syn keyword ProgressOperator	first-tab-i[tem] fit-last-column fix-codepage fixed-only flat-button float focused-row focused-row-selected font-table force-file
+syn keyword ProgressOperator	fore[ground] foreign-key-hidden form-input form-long-input formatte[d] forward-only forward[s] fragmen[t] frame-spa[cing] frame-x
+syn keyword ProgressOperator	frame-y frequency from-cur[rent] full-height[-chars] full-height-p[ixels] full-pathn[ame] full-width[-chars]
+syn keyword ProgressOperator	full-width-p[ixels] function ge generate-pbe-key generate-pbe-salt generate-random-key generate-uuid get get-attribute get-attribute-node
+syn keyword ProgressOperator	get-binary-data get-bits get-blue[-value] get-browse-col[umn] get-buffer-handle get-byte-order get-bytes get-bytes-available
+syn keyword ProgressOperator	get-callback-proc-context get-callback-proc-name get-cgi-list get-cgi-long-value get-cgi-value get-changes get-child get-child-rel[ation]
+syn keyword ProgressOperator	get-config-value get-curr[ent] get-dataset-buffer get-dir get-document-element get-double get-dropped-file get-dynamic get-file
+syn keyword ProgressOperator	get-firs[t] get-float get-green[-value] get-header-entr[y] get-index-by-namespace-name get-index-by-qname get-iteration get-last
+syn keyword ProgressOperator	get-localname-by-index get-long get-message get-next get-node get-number get-parent get-pointer-value get-prev get-printers get-property
+syn keyword ProgressOperator	get-qname-by-index get-red[-value] get-rel[ation] get-repositioned-row get-rgb[-value] get-selected[-widget] get-serialized get-short
+syn keyword ProgressOperator	get-signature get-size get-socket-option get-source-buffer get-string get-tab-item get-text-height[-chars] get-text-height-p[ixels]
+syn keyword ProgressOperator	get-text-width[-chars] get-text-width-p[ixels] get-top-buffer get-type-by-index get-type-by-namespace-name get-type-by-qname
+syn keyword ProgressOperator	get-unsigned-long get-unsigned-short get-uri-by-index get-value-by-index get-value-by-namespace-name get-value-by-qname
+syn keyword ProgressOperator	get-wait[-state] grayed grid-factor-h[orizontal] grid-factor-v[ertical] grid-snap grid-unit-height[-chars] grid-unit-height-p[ixels]
+syn keyword ProgressOperator	grid-unit-width[-chars] grid-unit-width-p[ixels] grid-visible group-box gt guid handle handler has-lobs has-records height[-chars]
+syn keyword ProgressOperator	height-p[ixels] help-topic hex-decode hex-encode hidden hint hori[zontal] html-charset html-end-of-line html-end-of-page
+syn keyword ProgressOperator	html-frame-begin html-frame-end html-header-begin html-header-end html-title-begin html-title-end hwnd icfparam[eter] icon
+syn keyword ProgressOperator	ignore-current-mod[ified] image image-down image-insensitive image-size image-size-c[hars] image-size-p[ixels] image-up immediate-display
+syn keyword ProgressOperator	implements import-node import-principal in-handle increment-exclusive-id index-hint index-info[rmation] indexed-reposition
+syn keyword ProgressOperator	info[rmation] inherit-bgc[olor] inherit-fgc[olor] inherits init[ial] initial-dir initial-filter initialize-document-type initiate
+syn keyword ProgressOperator	inner inner-chars inner-lines input-value insert-attribute insert-b[acktab] insert-before insert-file insert-row
+syn keyword ProgressOperator	insert-string insert-t[ab] instantiating-procedure int[eger] interface internal-entries interval invoke is-clas[s]
+syn keyword ProgressOperator	is-codepage-fixed is-column-codepage is-lead-byte is-open is-parameter-set is-row-selected is-selected is-xml iso-date item
+syn keyword ProgressOperator	items-per-row join-by-sqldb keep-connection-open keep-frame-z[-order] keep-messages keep-security-cache keep-tab-order key
+syn keyword ProgressOperator	keyword-all label-bgc[olor] label-dc[olor] label-fgc[olor] label-font label-pfc[olor] labels landscape language[s] large
+syn keyword ProgressOperator	large-to-small last-async[-request] last-batch last-child last-form last-object last-proce[dure] last-serv[er] last-server-socket
+syn keyword ProgressOperator	last-socket last-tab-i[tem] lc le leading left left-align[ed] left-trim length line list-events list-item-pairs list-items
+syn keyword ProgressOperator	list-property-names list-query-attrs list-set-attrs list-widgets literal-question load load-domains load-icon load-image load-image-down
+syn keyword ProgressOperator	load-image-insensitive load-image-up load-mouse-p[ointer] load-picture load-small-icon lob-dir local-host local-name local-port
+syn keyword ProgressOperator	locator-column-number locator-line-number locator-public-id locator-system-id locator-type lock-registration log log-audit-event
+syn keyword ProgressOperator	log-entry-types log-threshold logfile-name logging-level logical login-expiration-timestamp login-host login-state logout long[char]
+syn keyword ProgressOperator	longchar-to-node-value lookahead lower lt mandatory manual-highlight margin-extra margin-height[-chars] margin-height-p[ixels]
+syn keyword ProgressOperator	margin-width[-chars] margin-width-p[ixels] mark-new mark-row-state matches max-button max-chars max-data-guess max-height[-chars]
+syn keyword ProgressOperator	max-height-p[ixels] max-rows max-size max-val[ue] max-width[-chars] max-width-p[ixels] maximize max[imum] maximum-level memory memptr
+syn keyword ProgressOperator	memptr-to-node-value menu menu-bar menu-item menu-k[ey] menu-m[ouse] menubar merge-by-field merge-changes merge-row-changes message-area
+syn keyword ProgressOperator	message-area-font method min-button min-column-width-c[hars] min-column-width-p[ixels] min-height[-chars] min-height-p[ixels]
+syn keyword ProgressOperator	min-schema-marshal min-size min-val[ue] min-width[-chars] min-width-p[ixels] min[imum] modified mod[ulo] month mouse-p[ointer] movable
+syn keyword ProgressOperator	move-after[-tab-item] move-befor[e-tab-item] move-col[umn] move-to-b[ottom] move-to-eof move-to-t[op] mtime multi-compile multiple
+syn keyword ProgressOperator	multiple-key multitasking-interval must-exist must-understand name namespace-prefix namespace-uri native ne needs-appserver-prompt
+syn keyword ProgressOperator	needs-prompt nested new-instance new-row next-col[umn] next-rowid next-sibling next-tab-ite[m] next-value no-apply
+syn keyword ProgressOperator	no-array-m[essage] no-assign no-attr-l[ist] no-auto-validate no-bind-where no-box no-console no-convert no-current-value no-debug
+syn keyword ProgressOperator	no-drag no-echo no-empty-space no-focus no-index-hint no-inherit-bgc[olor] no-inherit-fgc[olor] no-join-by-sqldb no-lookahead
+syn keyword ProgressOperator	no-row-markers no-schema-marshal no-scrollbar-v[ertical] no-separate-connection no-separators no-tab[-stop] no-und[erline]
+syn keyword ProgressOperator	no-word-wrap node-value node-value-to-longchar node-value-to-memptr nonamespace-schema-location none normalize not-active
+syn keyword ProgressOperator	num-buffers num-but[tons] num-child-relations num-children num-col[umns] num-copies num-dropped-files num-fields num-formats
+syn keyword ProgressOperator	num-header-entries num-items num-iterations num-lines num-locked-col[umns] num-log-files num-messages num-parameters num-references
+syn keyword ProgressOperator	num-relations num-repl[aced] num-results num-selected-rows num-selected[-widgets] num-source-buffers num-tabs num-to-retain
+syn keyword ProgressOperator	num-top-buffers num-visible-col[umns] numeric numeric-dec[imal-point] numeric-f[ormat] numeric-sep[arator] object ok ok-cancel
+syn keyword ProgressOperator	on-frame[-border] ordered-join ordinal orientation origin-handle origin-rowid os-getenv outer outer-join override owner owner-document
+syn keyword ProgressOperator	page-size page-wid[th] paged parent parent-buffer parent-rel[ation] parse-status partial-key pascal pathname
+syn keyword ProgressOperator	pbe-hash-alg[orithm] pbe-key-rounds perf[ormance] persistent-cache-disabled persistent-procedure pfc[olor] pixels-per-col[umn]
+syn keyword ProgressOperator	pixels-per-row popup-m[enu] popup-o[nly] portrait position precision prefer-dataset prepare-string prepared presel[ect] prev
+syn keyword ProgressOperator	prev-col[umn] prev-sibling prev-tab-i[tem] primary printer printer-control-handle printer-hdc printer-name printer-port
+syn keyword ProgressOperator	printer-setup private private-d[ata] proce[dure] procedure-name progress-s[ource] property protected proxy proxy-password
+syn keyword ProgressOperator	proxy-userid public public-id published-events put-bits put-bytes put-double put-float put-long put-short put-string
+syn keyword ProgressOperator	put-unsigned-long put-unsigned-short query-close query-off-end query-open query-prepare question quoter radio-buttons radio-set random
+syn keyword ProgressOperator	raw raw-transfer read read-file read-only read-xml read-xmlschema real recursive reference-only refresh
+syn keyword ProgressOperator	refresh-audit-policy refreshable register-domain reject-changes reject-row-changes rejected relation-fi[elds] relations-active remote
+syn keyword ProgressOperator	remote-host remote-port remove-attribute remove-child remove-events-proc[edure] remove-super-proc[edure] replace replace-child
+syn keyword ProgressOperator	replace-selection-text replication-create replication-delete replication-write reposition-back[ward] reposition-forw[ard] reposition-to-row
+syn keyword ProgressOperator	reposition-to-rowid request reset resiza[ble] resize restart-row restart-rowid result retain-s[hape] retry-cancel return-ins[erted]
+syn keyword ProgressOperator	return-to-start-di[r] return-value-data-type returns reverse-from rgb-v[alue] right right-align[ed] right-trim roles round rounded
+syn keyword ProgressOperator	routine-level row row-height[-chars] row-height-p[ixels] row-ma[rkers] row-of row-resizable row-state rowid rule run-proc[edure]
+syn keyword ProgressOperator	save-as save-file save-row-changes save-where-string sax-attributes sax-parse sax-parse-first sax-parse-next sax-reader
+syn keyword ProgressOperator	sax-writer schema-change schema-location schema-marshal schema-path screen-val[ue] scroll-bars scroll-delta scroll-offset
+syn keyword ProgressOperator	scroll-to-current-row scroll-to-i[tem] scroll-to-selected-row scrollable scrollbar-h[orizontal] scrollbar-v[ertical]
+syn keyword ProgressOperator	scrolled-row-pos[ition] scrolling seal seal-timestamp section select-all select-focused-row select-next-row select-prev-row select-row
+syn keyword ProgressOperator	selectable selected selection-end selection-list selection-start selection-text send sensitive separate-connection
+syn keyword ProgressOperator	separator-fgc[olor] separators server server-connection-bo[und] server-connection-bound-re[quest] server-connection-co[ntext]
+syn keyword ProgressOperator	server-connection-id server-operating-mode server-socket session-end session-id set-actor set-appl-context set-attribute
+syn keyword ProgressOperator	set-attribute-node set-blue[-value] set-break set-buffers set-byte-order set-callback set-callback-procedure set-client set-commit
+syn keyword ProgressOperator	set-connect-procedure set-contents set-db-client set-dynamic set-green[-value] set-input-source set-must-understand set-node
+syn keyword ProgressOperator	set-numeric-form[at] set-option set-output-destination set-parameter set-pointer-val[ue] set-property set-read-response-procedure
+syn keyword ProgressOperator	set-red[-value] set-repositioned-row set-rgb[-value] set-rollback set-selection set-serialized set-size set-socket-option
+syn keyword ProgressOperator	set-sort-arrow set-wait[-state] short show-in-task[bar] side-label-h[andle] side-lab[els] silent simple single single-character size
+syn keyword ProgressOperator	size-c[hars] size-p[ixels] skip-deleted-rec[ord] slider small-icon small-title smallint soap-fault soap-fault-actor
+syn keyword ProgressOperator	soap-fault-code soap-fault-detail soap-fault-string soap-header soap-header-entryref socket sort sort-ascending sort-number source
+syn keyword ProgressOperator	sql sqrt ssl-server-name standalone start-document start-element start[ing] startup-parameters state-detail static
+syn keyword ProgressOperator	status-area status-area-font stdcall stop stop-parsing stoppe[d] stored-proc[edure] stretch-to-fit strict string string-value
+syn keyword ProgressOperator	sub-ave[rage] sub-count sub-max[imum] sub-menu sub-menu-help sub-min[imum] sub-total subst[itute] substr[ing] subtype sum
+syn keyword ProgressOperator	super-proc[edures] suppress-namespace-processing suppress-w[arnings] suspend symmetric-encryption-algorithm symmetric-encryption-iv
+syn keyword ProgressOperator	symmetric-encryption-key symmetric-support synchronize system-alert[-boxes] system-help system-id tab-position tab-stop table-crc-list
+syn keyword ProgressOperator	table-list table-num[ber] target temp-dir[ectory] temp-table temp-table-prepar[e] terminate text-selected three-d through throw
+syn keyword ProgressOperator	thru tic-marks time-source timezone title-bgc[olor] title-dc[olor] title-fgc[olor] title-fo[nt] to-rowid toggle-box
+syn keyword ProgressOperator	tooltip tooltips top top-nav-query topic total tracking-changes trailing trans-init-proc[edure] transaction-mode
+syn keyword ProgressOperator	transpar[ent] trunc[ate] ttcodepage type type-of unbox unbuff[ered] unique-id unique-match unload unsigned-byte unsigned-integer
+syn keyword ProgressOperator	unsigned-long unsigned-short update-attribute upper url url-decode url-encode url-password url-userid use use-dic[t-exps]
+syn keyword ProgressOperator	use-filename use-text use-widget-pool user-id valid-event valid-handle valid-object validate validate-expressio[n]
+syn keyword ProgressOperator	validate-message validate-seal validate-xml validation-enabled var[iable] verb[ose] version vert[ical] view-first-column-on-reopen
+syn keyword ProgressOperator	virtual-height[-chars] virtual-height-p[ixels] virtual-width[-chars] virtual-width-p[ixels] visible void wait warning weekday where-string
+syn keyword ProgressOperator	widget widget-e[nter] widget-h[andle] widget-id widget-l[eave] widget-pool width[-chars] width-p[ixels] window-name
+syn keyword ProgressOperator	window-sta[te] window-sys[tem] word-index word-wrap work-area-height-p[ixels] work-area-width-p[ixels] work-area-x work-area-y
+syn keyword ProgressOperator	write-cdata write-characters write-comment write-data-element write-empty-element write-entity-ref write-external-dtd
+syn keyword ProgressOperator	write-fragment write-message write-processing-instruction write-status write-xml write-xmlschema x x-document x-noderef x-of
+syn keyword ProgressOperator	xml-data-type xml-node-name xml-node-type xml-schema-pat[h] xml-suppress-namespace-processing y y-of year year-offset yes-no
+syn keyword ProgressOperator	yes-no-cancel
 
-syn keyword	ProgressType		char[acter] int[eger] format
-syn keyword	ProgressType		var[iable] log[ical] da[te]
+syn keyword ProgressType    char[acter] int[eger] int64 dec[imal] log[ical] da[te] datetime datetime-tz
 
 syn sync lines=800
 
@@ -190,42 +285,45 @@ syn sync lines=800
 " For version 5.7 and earlier: only when not done already
 " For version 5.8 and later: only when an item doesn't have highlighting yet
 if version >= 508 || !exists("did_progress_syntax_inits")
-  if version < 508
+    if version < 508
 	let did_progress_syntax_inits = 1
 	command -nargs=+ HiLink hi link <args>
-  else
+    else
 	command -nargs=+ HiLink hi def link <args>
-  endif
+    endif
 
-  " The default methods for highlighting. Can be overridden later.
-  HiLink ProgressByte			Number
-  HiLink ProgressCase			Repeat
-  HiLink ProgressComment		Comment
-  HiLink ProgressConditional		Conditional
-  HiLink ProgressDebug			Debug
-  HiLink ProgressDo			Repeat
-  HiLink ProgressEndError		Error
-  HiLink ProgressFor			Repeat
-  HiLink ProgressFunction		Procedure
-  HiLink ProgressIdentifier		Identifier
-  HiLink ProgressInclude		Include
-  HiLink ProgressMatrixDelimiter	Identifier
-  HiLink ProgressNumber			Number
-  HiLink ProgressOperator		Operator
-  HiLink ProgressPreProc		PreProc
-  HiLink ProgressProcedure		Procedure
-  HiLink ProgressQuote			Delimiter
-  HiLink ProgressRepeat			Repeat
-  HiLink ProgressReserved		Statement
-  HiLink ProgressSpaceError		Error
-  HiLink ProgressString			String
-  HiLink ProgressTodo			Todo
-  HiLink ProgressType			Statement
-  HiLink ProgressShowTab		Error
+    " The default methods for highlighting. Can be overridden later.
+    HiLink ProgressByte		    Number
+    HiLink ProgressCase		    Repeat
+    HiLink ProgressComment	    Comment
+    HiLink ProgressConditional	    Conditional
+    HiLink ProgressDebug		Debug
+    HiLink ProgressDo			Repeat
+    HiLink ProgressEndError	    Error
+    HiLink ProgressFor		    Repeat
+    HiLink ProgressFunction	    Procedure
+    HiLink ProgressIdentifier		Identifier
+    HiLink ProgressInclude	    Include
+    HiLink ProgressMatrixDelimiter  Identifier
+    HiLink ProgressNumber		Number
+    HiLink ProgressOperator	    Operator
+    HiLink ProgressPreProc	    PreProc
+    HiLink ProgressProcedure		Procedure
+    HiLink ProgressQuote		Delimiter
+    HiLink ProgressRepeat		Repeat
+    HiLink ProgressReserved	    Statement
+    HiLink ProgressSpaceError		Error
+    HiLink ProgressString		String
+    HiLink ProgressTodo		    Todo
+    HiLink ProgressType		    Statement
+    HiLink ProgressShowTab	    Error
 
-  delcommand HiLink
+    delcommand HiLink
 endif
 
 let b:current_syntax = "progress"
 
-" vim: ts=8 sw=8
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: ts=8 sw=4
--- a/runtime/syntax/resolv.vim
+++ b/runtime/syntax/resolv.vim
@@ -2,9 +2,9 @@
 " Language: resolver configuration file
 " Maintainer: David Necas (Yeti) <yeti@physics.muni.cz>
 " Original Maintaner: Radu Dineiu <littledragon@altern.org>
-" License: This file can be redistribued and/or modified under the same terms
+" License: This file can be redistributed and/or modified under the same terms
 "   as Vim itself.
-" Last Change: 2012-02-21
+" Last Change: 2012-05-15
 
 if version < 600
 	syntax clear
@@ -14,7 +14,7 @@ endif
 
 " Errors, comments and operators
 syn match resolvError /./
-syn match resolvComment /\s*[#;].*$/
+syn match resolvComment /\s*[#;].*$/ contains=@Spell
 syn match resolvOperator /[\/:]/ contained
 
 " IP
@@ -25,8 +25,7 @@ syn match resolvIPSpecial /\%(127\.\d\{1
 " General
 syn match resolvIP contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}/ contains=@resolvIPCluster
 syn match resolvIPNetmask contained /\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\/\%(\%(\d\{1,4}\.\)\{,3}\d\{1,4}\)\)\?/ contains=resolvOperator,@resolvIPCluster
-syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_.]*/
-syn match resolvDomainname contained /[-0-9A-Za-z_.]\+/
+syn match resolvHostname contained /\w\{-}\.[-0-9A-Za-z_\.]*/
 
 " Particular
 syn match resolvIPNameserver contained /\%(\%(\d\{1,4}\.\)\{3}\d\{1,4}\%(\s\|$\)\)\+/ contains=@resolvIPCluster
@@ -36,7 +35,7 @@ syn match resolvIPNetmaskSortList contai
 " Identifiers
 syn match resolvNameserver /^\s*nameserver\>/ nextgroup=resolvIPNameserver skipwhite
 syn match resolvLwserver /^\s*lwserver\>/ nextgroup=resolvIPNameserver skipwhite
-syn match resolvDomain /^\s*domain\>/ nextgroup=resolvDomainname skipwhite
+syn match resolvDomain /^\s*domain\>/ nextgroup=resolvHostname skipwhite
 syn match resolvSearch /^\s*search\>/ nextgroup=resolvHostnameSearch skipwhite
 syn match resolvSortList /^\s*sortlist\>/ nextgroup=resolvIPNetmaskSortList skipwhite
 syn match resolvOptions /^\s*options\>/ nextgroup=resolvOption skipwhite
@@ -61,7 +60,6 @@ if version >= 508 || !exists("did_config
 	HiLink resolvIP Number
 	HiLink resolvIPNetmask Number
 	HiLink resolvHostname String
-	HiLink resolvDomainname String
 	HiLink resolvOption String
 
 	HiLink resolvIPNameserver Number
--- a/runtime/syntax/scheme.vim
+++ b/runtime/syntax/scheme.vim
@@ -1,6 +1,6 @@
 " Vim syntax file
 " Language:	Scheme (R5RS + some R6RS extras)
-" Last Change:	2012 Feb 04
+" Last Change:	2012 May 13
 " Maintainer:	Sergey Khorev <sergey.khorev@gmail.com>
 " Original author:	Dirk van Deun <dirk@igwe.vub.ac.be>
 
@@ -157,11 +157,11 @@ syn region schemeStruc matchgroup=Delimi
 syn region schemeStruc matchgroup=Delimiter start="#\[" matchgroup=Delimiter end="\]" contains=ALL
 
 " Simple literals:
-syn region schemeString start=+\%(\\\)\@<!"+ skip=+\\[\\"]+ end=+"+
+syn region schemeString start=+\%(\\\)\@<!"+ skip=+\\[\\"]+ end=+"+ contains=@Spell
 
 " Comments:
 
-syn match	schemeComment	";.*$"
+syn match	schemeComment	";.*$" contains=@Spell
 
 
 " Writing out the complete description of Scheme numerals without
@@ -192,7 +192,7 @@ syn match schemeCharacter "#\\x[0-9a-fA-
 if exists("b:is_mzscheme") || exists("is_mzscheme")
     " MzScheme extensions
     " multiline comment
-    syn region	schemeComment start="#|" end="|#"
+    syn region	schemeComment start="#|" end="|#" contains=@Spell
 
     " #%xxx are the special MzScheme identifiers
     syn match schemeOther "#%[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
@@ -250,7 +250,7 @@ endif
 
 if exists("b:is_chicken") || exists("is_chicken")
     " multiline comment
-    syntax region schemeMultilineComment start=/#|/ end=/|#/ contains=schemeMultilineComment
+    syntax region schemeMultilineComment start=/#|/ end=/|#/ contains=@Spell,schemeMultilineComment
 
     syn match schemeOther "##[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
     syn match schemeExtSyntax "#:[-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
@@ -265,7 +265,7 @@ if exists("b:is_chicken") || exists("is_
     syn keyword schemeExtFunc ##core#inline ##sys#error ##sys#update-errno
 
     " here-string
-    syn region schemeString start=+#<<\s*\z(.*\)+ end=+^\z1$+
+    syn region schemeString start=+#<<\s*\z(.*\)+ end=+^\z1$+ contains=@Spell
 
     if filereadable(expand("<sfile>:p:h")."/cpp.vim")
 	unlet! b:current_syntax
@@ -285,7 +285,7 @@ if exists("b:is_chicken") || exists("is_
 
     " suggested by Alex Queiroz
     syn match schemeExtSyntax "#![-a-z!$%&*/:<=>?^_~0-9+.@#%]\+"
-    syn region schemeString start=+#<#\s*\z(.*\)+ end=+^\z1$+
+    syn region schemeString start=+#<#\s*\z(.*\)+ end=+^\z1$+ contains=@Spell
 endif
 
 " Synchronization and the wrapping up...
--- a/runtime/syntax/uil.vim
+++ b/runtime/syntax/uil.vim
@@ -1,10 +1,9 @@
 " Vim syntax file
 " Language:	Motif UIL (User Interface Language)
 " Maintainer:	Thomas Koehler <jean-luc@picard.franken.de>
-" Last Change:	2009 Dec 04
+" Last Change:	2012 May 14
 " URL:		http://gott-gehabt.de/800_wer_wir_sind/thomas/Homepage/Computer/vim/syntax/uil.vim
 
-
 " Quit when a syntax file was already loaded
 if version < 600
    syntax clear
@@ -21,22 +20,22 @@ syn keyword uilType	user_defined	xbitmap
 
 syn keyword uilTodo contained	TODO
 
-" String and Character contstants
+" String and Character constants
 " Highlight special characters (those which have a backslash) differently
 syn match   uilSpecial contained "\\\d\d\d\|\\."
-syn region  uilString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=uilSpecial
+syn region  uilString		start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=@Spell,uilSpecial
 syn match   uilCharacter	"'[^\\]'"
-syn region  uilString		start=+'+  skip=+\\\\\|\\"+  end=+'+  contains=uilSpecial
+syn region  uilString		start=+'+  skip=+\\\\\|\\"+  end=+'+  contains=@Spell,uilSpecial
 syn match   uilSpecialCharacter	"'\\.'"
 syn match   uilSpecialStatement	"Xm[^ =(){}]*"
 syn match   uilSpecialFunction	"MrmNcreateCallback"
 syn match   uilRessource	"XmN[^ =(){}]*"
 
 syn match  uilNumber		"-\=\<\d*\.\=\d\+\(e\=f\=\|[uU]\=[lL]\=\)\>"
-syn match  uilNumber		"0[xX][0-9a-fA-F]\+\>"
+syn match  uilNumber		"0[xX]\x\+\>"
 
-syn region uilComment		start="/\*"  end="\*/" contains=uilTodo
-syn match  uilComment		"!.*" contains=uilTodo
+syn region uilComment		start="/\*"  end="\*/" contains=@Spell,uilTodo
+syn match  uilComment		"!.*" contains=@Spell,uilTodo
 syn match  uilCommentError	"\*/"
 
 syn region uilPreCondit		start="^#\s*\(if\>\|ifdef\>\|ifndef\>\|elif\>\|else\>\|endif\>\)"  skip="\\$"  end="$" contains=uilComment,uilString,uilCharacter,uilNumber,uilCommentError
--- a/runtime/syntax/xdefaults.vim
+++ b/runtime/syntax/xdefaults.vim
@@ -33,7 +33,7 @@ endif
 
 
 " syn region  xdefaultsLabel   start=+^[^:]\{-}:+he=e-1 skip=+\\+ end="$"
-syn match   xdefaultsLabel   +[^:]\{-}:+he=e-1                       contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd
+syn match   xdefaultsLabel   +^[^:]\{-}:+he=e-1                       contains=xdefaultsPunct,xdefaultsSpecial,xdefaultsLineEnd
 syn region  xdefaultsValue   keepend start=+:+lc=1 skip=+\\+ end=+$+ contains=xdefaultsSpecial,xdefaultsLabel,xdefaultsLineEnd
 
 syn match   xdefaultsSpecial	contained +#override+
@@ -75,9 +75,9 @@ endif
 syn region	xdefaultsIncluded	contained start=+"+ skip=+\\\\\|\\"+ end=+"+
 syn match	xdefaultsIncluded	contained "<[^>]*>"
 syn match	xdefaultsInclude	"^\s*#\s*include\>\s*["<]" contains=xdefaultsIncluded
-syn cluster	xdefaultsPreProcGroup	contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine
-syn region	xdefaultsDefine		start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine
-syn region	xdefaultsPreProc	start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine
+syn cluster	xdefaultsPreProcGroup	contains=xdefaultsPreProc,xdefaultsIncluded,xdefaultsInclude,xdefaultsDefine,xdefaultsCppOut,xdefaultsCppOut2,xdefaultsCppSkip
+syn region	xdefaultsDefine		start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue
+syn region	xdefaultsPreProc	start="^\s*#\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@xdefaultsPreProcGroup,xdefaultsCommentH,xdefaultsErrorLine,xdefaultsLabel,xdefaultsValue
 
 
 
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/zimbu.vim
@@ -0,0 +1,130 @@
+" Vim syntax file
+" Language:	Zimbu
+" Maintainer:	Bram Moolenaar
+" Last Change:	2012 May 17
+
+if exists("b:current_syntax")
+  finish
+endif
+
+syn include @Ccode syntax/c.vim
+
+syn keyword zimbuTodo		TODO FIXME XXX contained
+syn match   zimbuNoBar          "|" contained
+syn match   zimbuParam  	"|[^| ]\+|" contained contains=zimbuNoBar
+syn match   zimbuComment	"#.*$" contains=zimbuTodo,zimbuParam,@Spell
+
+syn match   zimbuChar	"'\\\=.'"
+
+syn keyword zimbuBasicType	bool status
+syn keyword zimbuBasicType	int1 int2 int3 int4 int5 int6 int7
+syn keyword zimbuBasicType	int9 int10 int11 int12 int13 int14 int15
+syn keyword zimbuBasicType	int int8 int16 int32 int64 bigInt
+syn keyword zimbuBasicType	nat nat8 byte nat16 nat32 nat64 bigNat
+syn keyword zimbuBasicType	nat1 nat2 nat3 nat4 nat5 nat6 nat7
+syn keyword zimbuBasicType	nat9 nat10 nat11 nat12 nat13 nat14 nat15
+syn keyword zimbuBasicType	float float32 float64 float80 float128
+syn keyword zimbuBasicType	fixed1 fixed2 fixed3 fixed4 fixed5 fixed6
+syn keyword zimbuBasicType	fixed7 fixed8 fixed9 fixed10 fixed11 fixed12
+syn keyword zimbuBasicType	fixed13 fixed14 fixed15
+
+syn keyword zimbuCompType	string stringval cstring varstring
+syn keyword zimbuCompType	bytes varbytes
+syn keyword zimbuCompType	tuple array list dict multiDict set multiSet
+syn keyword zimbuCompType	complex complex32 complex64 complex80 complex128
+syn keyword zimbuCompType	proc func def thread evalThread lock cond pipe
+
+syn keyword zimbuType   VAR ANY USE GET
+syn match zimbuType	"IO.File"
+syn match zimbuType	"IO.Stat"
+
+syn keyword zimbuStatement IF ELSE ELSEIF WHILE REPEAT FOR IN TO STEP
+syn keyword zimbuStatement DO UNTIL SWITCH WITH
+syn keyword zimbuStatement TRY CATCH FINALLY
+syn keyword zimbuStatement GENERATE_IF GENERATE_ELSE GENERATE_ELSEIF
+syn keyword zimbuStatement CASE DEFAULT FINAL ABSTRACT VIRTUAL DEFINE REPLACE
+syn keyword zimbuStatement IMPLEMENTS EXTENDS PARENT LOCAL
+syn keyword zimbuStatement PART ALIAS CONNECT WRAP
+syn keyword zimbuStatement BREAK CONTINUE PROCEED
+syn keyword zimbuStatement RETURN EXIT THROW
+syn keyword zimbuStatement IMPORT AS OPTIONS MAIN
+syn keyword zimbuStatement INTERFACE MODULE ENUM BITS SHARED
+syn match zimbuStatement "\<\(FUNC\|PROC\|DEF\)\>"
+syn match zimbuStatement "\<CLASS\>"
+syn match zimbuStatement "}"
+
+syn match zimbuAttribute "@backtrace=no\>"
+syn match zimbuAttribute "@backtrace=yes\>"
+syn match zimbuAttribute "@abstract\>"
+syn match zimbuAttribute "@earlyInit\>"
+syn match zimbuAttribute "@default\>"
+syn match zimbuAttribute "@define\>"
+syn match zimbuAttribute "@replace\>"
+syn match zimbuAttribute "@final\>"
+
+syn match zimbuAttribute "@private\>"
+syn match zimbuAttribute "@protected\>"
+syn match zimbuAttribute "@public\>"
+syn match zimbuAttribute "@file\>"
+syn match zimbuAttribute "@directory\>"
+syn match zimbuAttribute "@read=private\>"
+syn match zimbuAttribute "@read=protected\>"
+syn match zimbuAttribute "@read=public\>"
+syn match zimbuAttribute "@read=file\>"
+syn match zimbuAttribute "@read=directory\>"
+syn match zimbuAttribute "@items=private\>"
+syn match zimbuAttribute "@items=protected\>"
+syn match zimbuAttribute "@items=public\>"
+syn match zimbuAttribute "@items=file\>"
+syn match zimbuAttribute "@items=directory\>"
+
+syn keyword zimbuMethod NEW EQUAL COPY COMPARE SIZE GET SET
+
+syn keyword zimbuOperator IS ISNOT ISA ISNOTA
+
+syn keyword zimbuModule  ARG CHECK E IO PROTO SYS HTTP ZC ZWT TIME THREAD
+
+syn match zimbuString  +"\([^"\\]\|\\.\)*\("\|$\)+
+syn match zimbuString  +R"\([^"]\|""\)*\("\|$\)+
+syn region zimbuString  start=+'''+ end=+'''+
+
+syn keyword zimbuFixed  TRUE FALSE NIL THIS THISTYPE FAIL OK
+syn keyword zimbuError  NULL
+
+" trailing whitespace
+syn match   zimbuSpaceError   display excludenl "\S\s\+$"ms=s+1
+" mixed tabs and spaces
+syn match   zimbuSpaceError   display " \+\t"
+syn match   zimbuSpaceError   display "\t\+ "
+
+syn match zimbuUses contained "uses([a-zA-Z_ ,]*)"
+syn match zimbuBlockComment contained " #.*"
+
+syn region zimbuCregion matchgroup=zimbuCblock start="^>>>" end="^<<<.*" contains=@Ccode,zimbuUses,zimbuBlockComment keepend
+
+syn sync minlines=2000
+
+hi def link zimbuBasicType	Type
+hi def link zimbuCompType	Type
+hi def link zimbuType		Type
+hi def link zimbuStatement	Statement
+hi def link zimbuOperator	Statement
+hi def link zimbuMethod		PreProc
+hi def link zimbuModule		PreProc
+hi def link zimbuUses		PreProc
+hi def link zimbuAttribute	PreProc
+hi def link zimbuString		Constant
+hi def link zimbuChar		Constant
+hi def link zimbuFixed		Constant
+hi def link zimbuComment	Comment
+hi def link zimbuBlockComment	Comment
+hi def link zimbuCblock		Comment
+hi def link zimbuTodo		Todo
+hi def link zimbuParam		Constant
+hi def link zimbuNoBar		Ignore
+hi def link zimbuSpaceError	Error
+hi def link zimbuError		Error
+
+let b:current_syntax = "zimbu"
+
+" vim: ts=8