changeset 5277:42bf9264e64e

Update runtime files.
author Bram Moolenaar <bram@vim.org>
date Sat, 03 Aug 2013 18:35:36 +0200
parents be570e7912d6
children d96f16667cc4
files runtime/doc/autocmd.txt runtime/doc/editing.txt runtime/doc/eval.txt runtime/doc/indent.txt runtime/doc/quickfix.txt runtime/doc/tags runtime/doc/todo.txt runtime/doc/version7.txt runtime/filetype.vim runtime/ftplugin/perl.vim runtime/ftplugin/perl6.vim runtime/ftplugin/tt2html.vim runtime/ftplugin/xs.vim runtime/indent/erlang.vim runtime/indent/perl.vim runtime/indent/perl6.vim runtime/indent/php.vim runtime/syntax/doxygen.vim runtime/syntax/erlang.vim runtime/syntax/lynx.vim runtime/syntax/mailcap.vim runtime/syntax/perl.vim runtime/syntax/perl6.vim runtime/syntax/pod.vim runtime/syntax/tidy.vim runtime/syntax/tt2.vim runtime/syntax/tt2html.vim runtime/syntax/tt2js.vim runtime/syntax/upstreamlog.vim runtime/syntax/usserverlog.vim runtime/syntax/usw2kagtlog.vim runtime/syntax/wget.vim
diffstat 32 files changed, 681 insertions(+), 647 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.4b.  Last change: 2013 Jun 15
+*autocmd.txt*   For Vim version 7.4b.  Last change: 2013 Aug 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -952,7 +952,8 @@ the autocommand is executed.  This is di
 
 							*file-pattern*
 The pattern is interpreted like mostly used in file names:
-	*	matches any sequence of characters
+	*	matches any sequence of characters; Unusal: includes path
+		separators
 	?	matches any single character
 	\?	matches a '?'
 	.	matches a '.'
--- a/runtime/doc/editing.txt
+++ b/runtime/doc/editing.txt
@@ -1,4 +1,4 @@
-*editing.txt*   For Vim version 7.4b.  Last change: 2013 Feb 07
+*editing.txt*   For Vim version 7.4b.  Last change: 2013 Aug 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -185,12 +185,13 @@ If you want to automatically save the ch
 that does not work for all commands.
 
 If you want to keep the changed buffer without saving it, switch on the
-'hidden' option.  See |hidden-buffer|.
+'hidden' option.  See |hidden-buffer|.  Some commands work like this even when
+'hidden' is not set, check the help for the command.
 
 ==============================================================================
 2. Editing a file					*edit-a-file*
 
-							*:e* *:edit*
+							*:e* *:edit* *reload*
 :e[dit] [++opt] [+cmd]	Edit the current file.  This is useful to re-edit the
 			current file, when it has been changed outside of Vim.
 			This fails when changes have been made to the current
@@ -199,7 +200,7 @@ 2. Editing a file					*edit-a-file*
 			Also see |++opt| and |+cmd|.
 			{Vi: no ++opt}
 
-							*:edit!*
+							*:edit!* *discard*
 :e[dit]! [++opt] [+cmd]
 			Edit the current file always.  Discard any changes to
 			the current buffer.  This is useful if you want to
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*	For Vim version 7.4b.  Last change: 2013 Jun 11
+*eval.txt*	For Vim version 7.4b.  Last change: 2013 Aug 03
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5884,6 +5884,9 @@ system({expr} [, {input}])				*system()*
 <		To make the result more system-independent, the shell output
 		is filtered to replace <CR> with <NL> for Macintosh, and
 		<CR><NL> with <NL> for DOS-like systems.
+		To avoid the string being truncated at a NUL, all NUL
+		characters are replaced with SOH (0x01).
+
 		The command executed is constructed using several options:
 	'shell' 'shellcmdflag' 'shellxquote' {expr} 'shellredir' {tmp} 'shellxquote'
 		({tmp} is an automatically generated file name).
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt*    For Vim version 7.4b.  Last change: 2013 Jun 13
+*indent.txt*    For Vim version 7.4b.  Last change: 2013 Aug 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
--- a/runtime/doc/quickfix.txt
+++ b/runtime/doc/quickfix.txt
@@ -1,4 +1,4 @@
-*quickfix.txt*  For Vim version 7.4b.  Last change: 2013 Mar 07
+*quickfix.txt*  For Vim version 7.4b.  Last change: 2013 Aug 03
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -899,6 +899,8 @@ invalid.
 Special characters in 'errorformat' are comma and backslash.  See
 |efm-entries| for how to deal with them.  Note that a literal "%" is matched
 by "%%", thus it is not escaped with a backslash.
+Keep in mind that in the `:make` and `:grep` output all NUL characters are
+replaced with SOH (0x01).
 
 Note: By default the difference between upper and lowercase is ignored.  If
 you want to match case, add "\C" to the pattern |/\C|.
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5378,6 +5378,7 @@ dip	motion.txt	/*dip*
 dircolors.vim	syntax.txt	/*dircolors.vim*
 dis	motion.txt	/*dis*
 disable-menus	gui.txt	/*disable-menus*
+discard	editing.txt	/*discard*
 distribute-script	usr_41.txt	/*distribute-script*
 distribution	intro.txt	/*distribution*
 diw	motion.txt	/*diw*
@@ -7508,6 +7509,7 @@ register-faq	sponsor.txt	/*register-faq*
 register-variable	eval.txt	/*register-variable*
 registers	change.txt	/*registers*
 regular-expression	pattern.txt	/*regular-expression*
+reload	editing.txt	/*reload*
 reltime()	eval.txt	/*reltime()*
 reltimestr()	eval.txt	/*reltimestr()*
 remote.txt	remote.txt	/*remote.txt*
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.4b.  Last change: 2013 Jul 28
+*todo.txt*      For Vim version 7.4b.  Last change: 2013 Aug 03
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -34,7 +34,7 @@ not be repeated below, unless there is e
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Syntax file updates. (Doug Kearns, Jul 28)
+PHP indent script. (John Wellesz, Aug 2)
 
 Python: ":py raw_input('prompt')" doesn't work. (Manu Hack)
 
@@ -106,9 +106,6 @@ carried over when using :global. (Christ
 Bug with 'cursorline' in diff mode.  Line being scrolled into view gets
 highlighted as the cursor line.  (Alessandro Ivaldi, 2013 Jun 4)
 
-Bug when setting Visual area manually and 'selection' is exclusive, includes
-one character too much. (Ingo Karkat, 2013 Jul 26)
-
 Patch to add the bufferlist() function. (Yegappan Lakshmanan, 2013 May 5)
 May 17: with winlist() and tabpagelist().
 May 19: with local variables.
@@ -211,8 +208,6 @@ 2012 Aug 11)  Disallow :new when BufUnlo
 
 Issue 72: 'autochdir' causes problems for :vimgrep.
 
-'autochdir' causes problems for setbufvar(). (Ben Fritz, 2013 Jul 16)
-
 Session file creation: 'autochdir' causes trouble.  Keep it off until after
 loading all files.
 
@@ -308,9 +303,6 @@ Patch to pass list to or(), and() and xo
 Patch to improve "it" and "at" text object matching. (Christian Brabandt, 2011
 Nov 20)
 
-Windows 7 confirm() dialog can be taller than the screen. (David Fishburn,
-2013 Jul 9)  Does not count the height of the buttons?
-
 Patch to improve GUI find/replace dialog. (Christian Brabandt, 2012 May 26)
 Update Jun 2.
 
@@ -933,6 +925,9 @@ probably causes this.
 'scrollbind' is not respected when deleting lines or undo. (Milan Vancura,
 2009 Jan 16)
 
+Patch to support strikethrough next to bold and italic. (Christian Brabandt,
+2013 Jul 30)
+
 Document that default font in Athena can be set with resources:
    XtDefaultFont: "9x15"
    XtDefaultFontSet: "9x15"
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.4b.  Last change: 2013 Jul 28
+*version7.txt*  For Vim version 7.4b.  Last change: 2013 Aug 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -10262,6 +10262,11 @@ Other:
 	Lua interface now also uses userdata binded to Vim structures. (Taro 
 	Muraoka, Luis Carvalho)
 
+	glob() and autocommand patterns used to work with the undocumented
+	"\{n,m\}" item from a regexp.  "\{" is now used for a literal "{", as
+	this is normal in shell file patterns.  Now used "\\\{n,m\}" to get
+	"\{n,m}" in the regexp pattern.
+
 Added							*added-7.4*
 -----
 
@@ -10349,8 +10354,7 @@ Other:
 	Added |v:windowid| variable containing current window number in GUI 
 	Vim. (Christian J. Robinson, Lech Lorens)
 
-	Added rxvt-unicode and >xterm-277 mouse support. (Yiding Jia, Hayaki 
-	Saito)
+	Added rxvt-unicode and SGR mouse support. (Yiding Jia, Hayaki Saito)
 
 
 All changes in 7.4						*fixed-7.4*
--- 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:	2013 Jul 21
+" Last Change:	2013 Aug 03
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -755,15 +755,15 @@ au BufNewFile,BufRead *.ged,lltxxxxx.txt
 au BufNewFile,BufRead *.git/COMMIT_EDITMSG	setf gitcommit
 au BufNewFile,BufRead *.git/MERGE_MSG		setf gitcommit
 au BufNewFile,BufRead *.git/config,.gitconfig,.gitmodules setf gitconfig
-au BufNewFile,BufRead *.git/modules/**/COMMIT_EDITMSG setf gitcommit
-au BufNewFile,BufRead *.git/modules/**/config	setf gitconfig
+au BufNewFile,BufRead *.git/modules/*/COMMIT_EDITMSG setf gitcommit
+au BufNewFile,BufRead *.git/modules/*/config	setf gitconfig
 au BufNewFile,BufRead */.config/git/config	setf gitconfig
 au BufNewFile,BufRead git-rebase-todo		setf gitrebase
 au BufNewFile,BufRead .msg.[0-9]*
       \ if getline(1) =~ '^From.*# This line is ignored.$' |
       \   setf gitsendemail |
       \ endif
-au BufNewFile,BufRead *.git/**
+au BufNewFile,BufRead *.git/*
       \ if getline(1) =~ '^\x\{40\}\>\|^ref: ' |
       \   setf git |
       \ endif
@@ -777,7 +777,7 @@ au BufNewFile,BufRead *.gp,.gprc		setf g
 " GPG
 au BufNewFile,BufRead */.gnupg/options		setf gpg
 au BufNewFile,BufRead */.gnupg/gpg.conf		setf gpg
-au BufNewFile,BufRead */usr/**/gnupg/options.skel setf gpg
+au BufNewFile,BufRead */usr/*/gnupg/options.skel setf gpg
 
 " gnash(1) configuration files
 au BufNewFile,BufRead gnashrc,.gnashrc,gnashpluginrc,.gnashpluginrc setf gnash
@@ -928,24 +928,14 @@ au BufNewFile,BufRead indentrc			setf in
 au BufNewFile,BufRead *.inf,*.INF		setf inform
 
 " Initng
-au BufNewFile,BufRead */etc/initng/**/*.i,*.ii	setf initng
+au BufNewFile,BufRead */etc/initng/*/*.i,*.ii	setf initng
 
 " Innovation Data Processing
-au BufRead,BufNewFile UPSTREAM.DAT,upstream.dat 	setf upstreamdat
-au BufRead,BufNewFile UPSTREAM.*.DAT,upstream.*.dat 	setf upstreamdat
-au BufRead,BufNewFile *.UPSTREAM.DAT,*.upstream.dat 	setf upstreamdat
-au BufRead,BufNewFile UPSTREAM.LOG,upstream.log 	setf upstreamlog
-au BufRead,BufNewFile UPSTREAM.*.LOG,upstream.*.log 	setf upstreamlog
-au BufRead,BufNewFile *.UPSTREAM.LOG,*.upstream.log 	setf upstreamlog
-au BufRead,BufNewFile UPSTREAMInstall.log,upstreaminstall.log setf upstreaminstalllog
-au BufRead,BufNewFile UPSTREAMInstall.*.log,upstreaminstall.*.log setf upstreaminstalllog
-au BufRead,BufNewFile *.UPSTREAMInstall.log,*.upstreaminstall.log setf upstreaminstalllog
-au BufRead,BufNewFile USSERVER.LOG,usserver.log 	setf usserverlog
-au BufRead,BufNewFile USSERVER.*.LOG,usserver.*.log 	setf usserverlog
-au BufRead,BufNewFile *.USSERVER.LOG,*.usserver.log 	setf usserverlog
-au BufRead,BufNewFile USW2KAgt.log,usw2kagt.log 	setf usw2kagtlog
-au BufRead,BufNewFile USW2KAgt.*.log,usw2kagt.*.log 	setf usw2kagtlog
-au BufRead,BufNewFile *.USW2KAgt.log,*.usw2kagt.log 	setf usw2kagtlog
+au BufRead,BufNewFile upstream.dat\c,upstream.*.dat\c,*.upstream.dat\c 	setf upstreamdat
+au BufRead,BufNewFile upstream.log\c,upstream.*.log\c,*.upstream.log\c 	setf upstreamlog
+au BufRead,BufNewFile upstreaminstall.log\c,upstreaminstall.*.log\c,*.upstreaminstall.log\c setf upstreaminstalllog
+au BufRead,BufNewFile usserver.log\c,usserver.*.log\c,*.usserver.log\c 	setf usserverlog
+au BufRead,BufNewFile usw2kagt.log\c,usw2kagt.*.log\c,*.usw2kagt.log\c 	setf usw2kagtlog
 
 " Ipfilter
 au BufNewFile,BufRead ipf.conf,ipf6.conf,ipf.rules	setf ipfilter
@@ -1092,7 +1082,7 @@ au BufNewFile,BufRead *.m4
 au BufNewFile,BufRead *.mgp			setf mgp
 
 " Mail (for Elm, trn, mutt, muttng, rn, slrn)
-au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
+au BufNewFile,BufRead snd.\d\+,.letter,.letter.\d\+,.followup,.article,.article.\d\+,pico.\d\+,mutt{ng,}-*-\w\+,mutt[[:alnum:]_-]\\\{6\},ae\d\+.txt,/tmp/SLRN[0-9A-Z.]\+,*.eml setf mail
 
 " Mail aliases
 au BufNewFile,BufRead */etc/mail/aliases,*/etc/aliases	setf mailaliases
@@ -2561,7 +2551,7 @@ au BufNewFile,BufRead [mM]akefile*		call
 au BufNewFile,BufRead [rR]akefile*		call s:StarSetf('ruby')
 
 " Mail (also matches muttrc.vim, so this is below the other checks)
-au BufNewFile,BufRead mutt[[:alnum:]._-]\{6\}	setf mail
+au BufNewFile,BufRead mutt[[:alnum:]._-]\\\{6\}	setf mail
 
 " Modconf
 au BufNewFile,BufRead */etc/modutils/*
--- a/runtime/ftplugin/perl.vim
+++ b/runtime/ftplugin/perl.vim
@@ -3,7 +3,7 @@
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 
 if exists("b:did_ftplugin") | finish | endif
 let b:did_ftplugin = 1
--- a/runtime/ftplugin/perl6.vim
+++ b/runtime/ftplugin/perl6.vim
@@ -3,7 +3,7 @@
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 " Contributors:  Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
 "
 " Based on ftplugin/perl.vim by Dan Sharp <dwsharp at hotmail dot com>
--- a/runtime/ftplugin/tt2html.vim
+++ b/runtime/ftplugin/tt2html.vim
@@ -2,7 +2,7 @@
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
--- a/runtime/ftplugin/xs.vim
+++ b/runtime/ftplugin/xs.vim
@@ -3,7 +3,7 @@
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 
 " Only do this when not done yet for this buffer
 if exists("b:did_ftplugin")
--- a/runtime/indent/erlang.vim
+++ b/runtime/indent/erlang.vim
@@ -4,7 +4,7 @@
 " Contributors: Edwin Fine <efine145_nospam01 at usa dot net>
 "               Pawel 'kTT' Salata <rockplayer.pl@gmail.com>
 "               Ricardo Catalinas Jiménez <jimenezrick@gmail.com>
-" Last Update:  2013-Jun-01
+" Last Update:  2013-Jul-21
 " License:      Vim license
 " URL:          https://github.com/hcs42/vim-erlang
 
@@ -85,7 +85,7 @@ function! s:CalcVCol(line, first_index, 
 
   while 0 <= i && i <= last_index
 
-    if line[i] == "\t"
+    if line[i] ==# "\t"
       " Example (when tabstop == 4):
       "
       " vcol + tab -> next_vcol
@@ -132,7 +132,7 @@ function! s:GetTokensFromLine(line, stri
 
   if a:string_continuation
     let i = matchend(a:line, '^\%([^"\\]\|\\.\)*"', 0)
-    if i == -1
+    if i ==# -1
       call s:Log('    Whole line is string continuation -> ignore')
       return []
     else
@@ -141,7 +141,7 @@ function! s:GetTokensFromLine(line, stri
     endif
   elseif a:atom_continuation
     let i = matchend(a:line, "^\\%([^'\\\\]\\|\\\\.\\)*'", 0)
-    if i == -1
+    if i ==# -1
       call s:Log('    Whole line is quoted atom continuation -> ignore')
       return []
     else
@@ -155,24 +155,24 @@ function! s:GetTokensFromLine(line, stri
     let next_vcol = ''
 
     " Spaces
-    if a:line[i] == ' '
+    if a:line[i] ==# ' '
       let next_i = matchend(a:line, ' *', i + 1)
 
     " Tabs
-    elseif a:line[i] == "\t"
+    elseif a:line[i] ==# "\t"
       let next_i = matchend(a:line, '\t*', i + 1)
 
       " See example in s:CalcVCol
       let next_vcol = (vcol / a:tabstop + (next_i - i)) * a:tabstop
 
     " Comment
-    elseif a:line[i] == '%'
+    elseif a:line[i] ==# '%'
       let next_i = linelen
 
     " String token: "..."
-    elseif a:line[i] == '"'
+    elseif a:line[i] ==# '"'
       let next_i = matchend(a:line, '\%([^"\\]\|\\.\)*"', i + 1)
-      if next_i == -1
+      if next_i ==# -1
         call add(indtokens, ['<string_start>', vcol, i])
       else
         let next_vcol = s:CalcVCol(a:line, i, next_i - 1, vcol, a:tabstop)
@@ -180,9 +180,9 @@ function! s:GetTokensFromLine(line, stri
       endif
 
     " Quoted atom token: '...'
-    elseif a:line[i] == "'"
+    elseif a:line[i] ==# "'"
       let next_i = matchend(a:line, "\\%([^'\\\\]\\|\\\\.\\)*'", i + 1)
-      if next_i == -1
+      if next_i ==# -1
         call add(indtokens, ['<quoted_atom_start>', vcol, i])
       else
         let next_vcol = s:CalcVCol(a:line, i, next_i - 1, vcol, a:tabstop)
@@ -197,16 +197,16 @@ function! s:GetTokensFromLine(line, stri
       call add(indtokens, [a:line[(i):(next_i - 1)], vcol, i])
 
     " Character token: $<char> (as in: $a)
-    elseif a:line[i] == '$'
+    elseif a:line[i] ==# '$'
       call add(indtokens, ['$.', vcol, i])
       let next_i = i + 2
 
     " Dot token: .
-    elseif a:line[i] == '.'
+    elseif a:line[i] ==# '.'
 
       let next_i = i + 1
 
-      if i + 1 == linelen || a:line[i + 1] =~# '[[:blank:]%]'
+      if i + 1 ==# linelen || a:line[i + 1] =~# '[[:blank:]%]'
         " End of clause token: . (as in: f() -> ok.)
         call add(indtokens, ['<end_of_clause>', vcol, i])
 
@@ -218,7 +218,7 @@ function! s:GetTokensFromLine(line, stri
       endif
 
     " Equal sign
-    elseif a:line[i] == '='
+    elseif a:line[i] ==# '='
       " This is handled separately so that "=<<" will be parsed as
       " ['=', '<<'] instead of ['=<', '<']. Although Erlang parses it
       " currently in the latter way, that may be fixed some day.
@@ -246,7 +246,7 @@ function! s:GetTokensFromLine(line, stri
 
     endif
 
-    if next_vcol == ''
+    if next_vcol ==# ''
       let vcol += next_i - i
     else
       let vcol = next_vcol
@@ -264,7 +264,7 @@ endfunction
 function! s:GetIndtokenAtCol(indtokens, col)
   let i = 0
   while i < len(a:indtokens)
-    if a:indtokens[i][2] == a:col
+    if a:indtokens[i][2] ==# a:col
       return [1, i]
     elseif a:indtokens[i][2] > a:col
       return [0, s:IndentError('No token at col ' . a:col . ', ' .
@@ -343,14 +343,14 @@ endfunction
 function! s:TokenizeLine(lnum, direction)
 
   call s:Log('Tokenizing starts from line ' . a:lnum)
-  if a:direction == 'up'
+  if a:direction ==# 'up'
     let lnum = prevnonblank(a:lnum)
-  else " a:direction == 'down'
+  else " a:direction ==# 'down'
     let lnum = nextnonblank(a:lnum)
   endif
 
   " We hit the beginning or end of the file
-  if lnum == 0
+  if lnum ==# 0
     let indtokens = []
     call s:Log('  We hit the beginning or end of the file.')
 
@@ -392,13 +392,13 @@ endfunction
 function! s:FindIndToken(lnum, dir)
   let lnum = a:lnum
   while 1
-    let lnum += (a:dir == 'up' ? -1 : 1)
+    let lnum += (a:dir ==# 'up' ? -1 : 1)
     let [lnum, indtokens] = s:TokenizeLine(lnum, a:dir)
-    if lnum == 0
+    if lnum ==# 0
       " We hit the beginning or end of the file
       return []
     elseif !empty(indtokens)
-      return indtokens[a:dir == 'up' ? -1 : 0]
+      return indtokens[a:dir ==# 'up' ? -1 : 0]
     endif
   endwhile
 endfunction
@@ -593,7 +593,7 @@ endfunction
 "   indent -- integer
 function! s:BeginElementFoundIfEmpty(stack, token, curr_vcol, stored_vcol, sw)
   if empty(a:stack)
-    if a:stored_vcol == -1
+    if a:stored_vcol ==# -1
       call s:Log('    "' . a:token . '" directly preceeds LTI -> return')
       return [1, a:curr_vcol + a:sw]
     else
@@ -630,10 +630,10 @@ function! s:BeginElementFound(stack, tok
                                              \a:stored_vcol, a:sw)
   if ret | return [ret, res] | endif
 
-  if a:stack[0] == a:end_token
+  if a:stack[0] ==# a:end_token
     call s:Log('    "' . a:token . '" pops "' . a:end_token . '"')
     call s:Pop(a:stack)
-    if !empty(a:stack) && a:stack[0] == 'align_to_begin_element'
+    if !empty(a:stack) && a:stack[0] ==# 'align_to_begin_element'
       call s:Pop(a:stack)
       if empty(a:stack)
         return [1, a:curr_vcol]
@@ -664,7 +664,7 @@ endfunction
 "   should_return: bool -- if true, the caller should return `indent` to Vim
 "   indent -- integer
 function! s:BeginningOfClauseFound(stack, token, stored_vcol)
-  if !empty(a:stack) && a:stack[0] == 'when'
+  if !empty(a:stack) && a:stack[0] ==# 'when'
     call s:Log('    BeginningOfClauseFound: "when" found in stack')
     call s:Pop(a:stack)
     if empty(a:stack)
@@ -673,13 +673,13 @@ function! s:BeginningOfClauseFound(stack
     else
       return [1, s:UnexpectedToken(a:token, a:stack)]
     endif
-  elseif !empty(a:stack) && a:stack[0] == '->'
+  elseif !empty(a:stack) && a:stack[0] ==# '->'
     call s:Log('    BeginningOfClauseFound: "->" found in stack')
     call s:Pop(a:stack)
     if empty(a:stack)
       call s:Log('    Stack is ["->"], so LTI is in function body -> return')
       return [1, a:stored_vcol + &sw]
-    elseif a:stack[0] == ';'
+    elseif a:stack[0] ==# ';'
       call s:Pop(a:stack)
       if empty(a:stack)
         call s:Log('    Stack is ["->", ";"], so LTI is in a function head ' .
@@ -713,7 +713,7 @@ endfunction
 function! s:SearchEndPair(lnum, curr_col)
   return s:SearchPair(
          \ a:lnum, a:curr_col,
-         \ '\<\%(case\|try\|begin\|receive\|if\)\>\|' .
+         \ '\C\<\%(case\|try\|begin\|receive\|if\)\>\|' .
          \ '\<fun\>\%(\s\|\n\|%.*$\)*(',
          \ '',
          \ '\<end\>')
@@ -754,7 +754,7 @@ function! s:ErlangCalcIndent2(lnum, stac
     let [lnum, indtokens] = s:TokenizeLine(lnum, 'up')
 
     " Hit the start of the file
-    if lnum == 0
+    if lnum ==# 0
       let [ret, res] = s:BeginningOfClauseFound(stack, 'beginning_of_file',
                                                \stored_vcol)
       if ret | return res | endif
@@ -774,11 +774,11 @@ function! s:ErlangCalcIndent2(lnum, stac
         return s:IndentError('Stack too long', token, stack)
       endif
 
-      if token == '<end_of_clause>'
+      if token ==# '<end_of_clause>'
         let [ret, res] = s:BeginningOfClauseFound(stack, token, stored_vcol)
         if ret | return res | endif
 
-        if stored_vcol == -1
+        if stored_vcol ==# -1
           call s:Log('    End of clause directly preceeds LTI -> return')
           return 0
         else
@@ -788,14 +788,14 @@ function! s:ErlangCalcIndent2(lnum, stac
 
       elseif stack == ['prev_term_plus']
         if token =~# '[a-zA-Z_@]' ||
-         \ token == '<string>' || token == '<string_start>' ||
-         \ token == '<quoted_atom>' || token == '<quoted_atom_start>'
+         \ token ==# '<string>' || token ==# '<string_start>' ||
+         \ token ==# '<quoted_atom>' || token ==# '<quoted_atom_start>'
           call s:Log('    previous token found: curr_vcol + plus = ' .
                     \curr_vcol . " + " . plus)
           return curr_vcol + plus
         endif
 
-      elseif token == 'begin'
+      elseif token ==# 'begin'
         let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
                                             \stored_vcol, 'end', &sw)
         if ret | return res | endif
@@ -812,10 +812,10 @@ function! s:ErlangCalcIndent2(lnum, stac
 
       " This branch is not Emacs-compatible
       elseif (index(['of', 'receive', 'after', 'if'], token) != -1 ||
-           \  (token == 'catch' && !s:IsCatchStandalone(lnum, i))) &&
+           \  (token ==# 'catch' && !s:IsCatchStandalone(lnum, i))) &&
            \ !last_token_of_line &&
-           \ (empty(stack) || stack == ['when'] || stack == ['->'] ||
-           \  stack == ['->', ';'])
+           \ (empty(stack) || stack ==# ['when'] || stack ==# ['->'] ||
+           \  stack ==# ['->', ';'])
 
         " If we are after of/receive, but these are not the last
         " tokens of the line, we want to indent like this:
@@ -865,12 +865,12 @@ function! s:ErlangCalcIndent2(lnum, stac
         " stack = ['when']  =>  LTI is in a guard
         if empty(stack)
           " pass
-        elseif (token == 'case' && stack[0] == 'of') ||
-             \ (token == 'if') ||
-             \ (token == 'try' && (stack[0] == 'of' ||
-             \                     stack[0] == 'catch' ||
-             \                     stack[0] == 'after')) ||
-             \ (token == 'receive')
+        elseif (token ==# 'case' && stack[0] ==# 'of') ||
+             \ (token ==# 'if') ||
+             \ (token ==# 'try' && (stack[0] ==# 'of' ||
+             \                     stack[0] ==# 'catch' ||
+             \                     stack[0] ==# 'after')) ||
+             \ (token ==# 'receive')
 
           " From the indentation point of view, the keyword
           " (of/catch/after/end) before the LTI is what counts, so
@@ -880,8 +880,8 @@ function! s:ErlangCalcIndent2(lnum, stac
           " This way when we reach case/try/receive (i.e. now),
           " there is at most one of/catch/after/end token in the
           " stack.
-          if token == 'case' || token == 'try' ||
-           \ (token == 'receive' && stack[0] == 'after')
+          if token ==# 'case' || token ==# 'try' ||
+           \ (token ==# 'receive' && stack[0] ==# 'after')
             call s:Pop(stack)
           endif
 
@@ -889,21 +889,21 @@ function! s:ErlangCalcIndent2(lnum, stac
             call s:Log('    LTI is in a condition; matching ' .
                       \'"case/if/try/receive" found')
             let stored_vcol = curr_vcol + &sw
-          elseif stack[0] == 'align_to_begin_element'
+          elseif stack[0] ==# 'align_to_begin_element'
             call s:Pop(stack)
             let stored_vcol = curr_vcol
-          elseif len(stack) > 1 && stack[0] == '->' && stack[1] == ';'
+          elseif len(stack) > 1 && stack[0] ==# '->' && stack[1] ==# ';'
             call s:Log('    LTI is in a condition; matching ' .
                       \'"case/if/try/receive" found')
             call s:Pop(stack)
             call s:Pop(stack)
             let stored_vcol = curr_vcol + &sw
-          elseif stack[0] == '->'
+          elseif stack[0] ==# '->'
             call s:Log('    LTI is in a branch; matching ' .
                       \'"case/if/try/receive" found')
             call s:Pop(stack)
             let stored_vcol = curr_vcol + 2 * &sw
-          elseif stack[0] == 'when'
+          elseif stack[0] ==# 'when'
             call s:Log('    LTI is in a guard; matching ' .
                       \'"case/if/try/receive" found')
             call s:Pop(stack)
@@ -916,11 +916,11 @@ function! s:ErlangCalcIndent2(lnum, stac
                                             \stored_vcol, 'end', &sw)
         if ret | return res | endif
 
-      elseif token == 'fun'
+      elseif token ==# 'fun'
         let next_indtoken = s:NextIndToken(lnum, i)
         call s:Log('    Next indtoken = ' . string(next_indtoken))
 
-        if !empty(next_indtoken) && next_indtoken[0] == '('
+        if !empty(next_indtoken) && next_indtoken[0] ==# '('
           " We have an anonymous function definition
           " (e.g. "fun () -> ok end")
 
@@ -931,15 +931,15 @@ function! s:ErlangCalcIndent2(lnum, stac
           if empty(stack)
             call s:Log('    LTI is in a condition; matching "fun" found')
             let stored_vcol = curr_vcol + &sw
-          elseif len(stack) > 1 && stack[0] == '->' && stack[1] == ';'
+          elseif len(stack) > 1 && stack[0] ==# '->' && stack[1] ==# ';'
             call s:Log('    LTI is in a condition; matching "fun" found')
             call s:Pop(stack)
             call s:Pop(stack)
-          elseif stack[0] == '->'
+          elseif stack[0] ==# '->'
             call s:Log('    LTI is in a branch; matching "fun" found')
             call s:Pop(stack)
             let stored_vcol = curr_vcol + 2 * &sw
-          elseif stack[0] == 'when'
+          elseif stack[0] ==# 'when'
             call s:Log('    LTI is in a guard; matching "fun" found')
             call s:Pop(stack)
             let stored_vcol = curr_vcol + 2 * &sw + 2
@@ -952,31 +952,31 @@ function! s:ErlangCalcIndent2(lnum, stac
           " Pass: we have a function reference (e.g. "fun f/0")
         endif
 
-      elseif token == '['
+      elseif token ==# '['
         " Emacs compatibility
         let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
                                             \stored_vcol, ']', 1)
         if ret | return res | endif
 
-      elseif token == '<<'
+      elseif token ==# '<<'
         " Emacs compatibility
         let [ret, res] = s:BeginElementFound(stack, token, curr_vcol,
                                             \stored_vcol, '>>', 2)
         if ret | return res | endif
 
-      elseif token == '(' || token == '{'
+      elseif token ==# '(' || token ==# '{'
 
-        let end_token = (token == '(' ? ')' :
-                        \token == '{' ? '}' : 'error')
+        let end_token = (token ==# '(' ? ')' :
+                        \token ==# '{' ? '}' : 'error')
 
         if empty(stack)
           " We found the opening paren whose block contains the LTI.
           let mode = 'inside'
-        elseif stack[0] == end_token
+        elseif stack[0] ==# end_token
           call s:Log('    "' . token . '" pops "' . end_token . '"')
           call s:Pop(stack)
 
-          if !empty(stack) && stack[0] == 'align_to_begin_element'
+          if !empty(stack) && stack[0] ==# 'align_to_begin_element'
             " We found the opening paren whose closing paren
             " starts LTI
             let mode = 'align_to_begin_element'
@@ -989,7 +989,7 @@ function! s:ErlangCalcIndent2(lnum, stac
           return s:UnexpectedToken(token, stack)
         endif
 
-        if mode == 'inside' || mode == 'align_to_begin_element'
+        if mode ==# 'inside' || mode ==# 'align_to_begin_element'
 
           if last_token_of_line && i != 0
             " Examples: {{{
@@ -1013,10 +1013,10 @@ function! s:ErlangCalcIndent2(lnum, stac
             "       } % LTI
             " }}}
             let stack = ['prev_term_plus']
-            let plus = (mode == 'inside' ? 2 : 1)
+            let plus = (mode ==# 'inside' ? 2 : 1)
             call s:Log('    "' . token .
                       \'" token found at end of line -> find previous token')
-          elseif mode == 'align_to_begin_element'
+          elseif mode ==# 'align_to_begin_element'
             " Examples: {{{
             "
             " mode == 'align_to_begin_element' && !last_token_of_line
@@ -1040,7 +1040,7 @@ function! s:ErlangCalcIndent2(lnum, stac
             call s:Log('    "' . token . '" token (whose closing token ' .
                       \'starts LTI) found -> return')
             return curr_vcol
-          elseif stored_vcol == -1
+          elseif stored_vcol ==# -1
             " Examples: {{{
             "
             " mode == 'inside' && stored_vcol == -1 && !last_token_of_line
@@ -1097,13 +1097,13 @@ function! s:ErlangCalcIndent2(lnum, stac
           call s:Push(stack, token)
 
         " We don't have searchpair optimization for '>>'
-        elseif token == '>>'
+        elseif token ==# '>>'
           call s:Push(stack, token)
 
-        elseif token == 'end'
+        elseif token ==# 'end'
           let [lnum_new, col_new] = s:SearchEndPair(lnum, curr_col)
 
-          if lnum_new == 0
+          if lnum_new ==# 0
             return s:IndentError('Matching token for "end" not found',
                                 \token, stack)
           else
@@ -1126,14 +1126,14 @@ function! s:ErlangCalcIndent2(lnum, stac
 
           " We have to escape '[', because this string will be interpreted as a
           " regexp
-          let open_paren = (token == ')' ? '(' :
-                           \token == ']' ? '\[' :
+          let open_paren = (token ==# ')' ? '(' :
+                           \token ==# ']' ? '\[' :
                            \               '{')
 
           let [lnum_new, col_new] = s:SearchPair(lnum, curr_col,
                                                 \open_paren, '', token)
 
-          if lnum_new == 0
+          if lnum_new ==# 0
             return s:IndentError('Matching token not found',
                                 \token, stack)
           else
@@ -1154,7 +1154,7 @@ function! s:ErlangCalcIndent2(lnum, stac
           endif
         endif
 
-      elseif token == ';'
+      elseif token ==# ';'
 
         if empty(stack)
           call s:Push(stack, ';')
@@ -1177,12 +1177,12 @@ function! s:ErlangCalcIndent2(lnum, stac
           return s:UnexpectedToken(token, stack)
         endif
 
-      elseif token == '->'
+      elseif token ==# '->'
 
         if empty(stack) && !last_token_of_line
           call s:Log('    LTI is in expression after arrow -> return')
           return stored_vcol
-        elseif empty(stack) || stack[0] == ';' || stack[0] == 'end'
+        elseif empty(stack) || stack[0] ==# ';' || stack[0] ==# 'end'
           " stack = [';']  -> LTI is either a branch or in a guard
           " stack = ['->']  ->  LTI is a condition
           " stack = ['->', ';']  -> LTI is a branch
@@ -1204,10 +1204,10 @@ function! s:ErlangCalcIndent2(lnum, stac
           return s:UnexpectedToken(token, stack)
         endif
 
-      elseif token == 'when'
+      elseif token ==# 'when'
 
         " Pop all ';' from the top of the stack
-        while !empty(stack) && stack[0] == ';'
+        while !empty(stack) && stack[0] ==# ';'
           call s:Pop(stack)
         endwhile
 
@@ -1245,10 +1245,10 @@ function! s:ErlangCalcIndent2(lnum, stac
           return s:UnexpectedToken(token, stack)
         endif
 
-      elseif token == 'of' || token == 'after' ||
-           \ (token == 'catch' && !s:IsCatchStandalone(lnum, i))
+      elseif token ==# 'of' || token ==# 'after' ||
+           \ (token ==# 'catch' && !s:IsCatchStandalone(lnum, i))
 
-        if token == 'after'
+        if token ==# 'after'
           " If LTI is between an 'after' and the corresponding
           " 'end', then let's return
           let [ret, res] = s:BeginElementFoundIfEmpty(stack, token, curr_vcol,
@@ -1256,9 +1256,9 @@ function! s:ErlangCalcIndent2(lnum, stac
           if ret | return res | endif
         endif
 
-        if empty(stack) || stack[0] == '->' || stack[0] == 'when'
+        if empty(stack) || stack[0] ==# '->' || stack[0] ==# 'when'
           call s:Push(stack, token)
-        elseif stack[0] == 'catch' || stack[0] == 'after' || stack[0] == 'end'
+        elseif stack[0] ==# 'catch' || stack[0] ==# 'after' || stack[0] ==# 'end'
           " Pass: From the indentation point of view, the keyword
           " (of/catch/after/end) before the LTI is what counts, so
           " if the stack already has a catch/after/end, we don't
@@ -1269,7 +1269,7 @@ function! s:ErlangCalcIndent2(lnum, stac
           return s:UnexpectedToken(token, stack)
         endif
 
-      elseif token == '||' && empty(stack) && !last_token_of_line
+      elseif token ==# '||' && empty(stack) && !last_token_of_line
 
         call s:Log('    LTI is in expression after "||" -> return')
         return stored_vcol
@@ -1279,12 +1279,12 @@ function! s:ErlangCalcIndent2(lnum, stac
 
       endif
 
-      if empty(stack) || stack[0] == '->' || stack[0] == 'when'
+      if empty(stack) || stack[0] ==# '->' || stack[0] ==# 'when'
         let stored_vcol = curr_vcol
         let semicolon_abscol = ''
         call s:Log('    Misc token when the stack is empty or has "->" ' .
                   \'-> setting stored_vcol to ' . stored_vcol)
-      elseif stack[0] == ';'
+      elseif stack[0] ==# ';'
         let semicolon_abscol = curr_vcol
         call s:Log('    Setting semicolon-stored_vcol to ' . stored_vcol)
       endif
@@ -1331,17 +1331,17 @@ function! ErlangIndent()
                     \'^\(\s*\)\(\%(end\|of\|catch\|after\)\>\|[)\]}]\|>>\)')
 
   " If the line has a special beginning, but not a standalone catch
-  if !empty(ml) && !(ml[2] == 'catch' && s:IsCatchStandalone(v:lnum, 0))
+  if !empty(ml) && !(ml[2] ==# 'catch' && s:IsCatchStandalone(v:lnum, 0))
 
     let curr_col = len(ml[1])
 
     " If we can be sure that there is synchronization in the Erlang
     " syntax, we use searchpair to make the script quicker.
-    if ml[2] == 'end' && exists('b:erlang_syntax_synced')
+    if ml[2] ==# 'end' && exists('b:erlang_syntax_synced')
 
       let [lnum, col] = s:SearchEndPair(v:lnum, curr_col)
 
-      if lnum == 0
+      if lnum ==# 0
         return s:IndentError('Matching token for "end" not found',
                             \'end', [])
       else
--- a/runtime/indent/perl.vim
+++ b/runtime/indent/perl.vim
@@ -3,7 +3,7 @@
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-24
 
 " Suggestions and improvements by :
 "   Aaron J. Sherman (use syntax for hints)
@@ -133,6 +133,7 @@ function! GetPerlIndent()
             if synid == ""
                         \ || synid == "perlMatchStartEnd"
                         \ || synid == "perlHereDoc"
+                        \ || synid == "perlBraces"
                         \ || synid =~ "^perlFiledescStatement"
                         \ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
                 let brace = strpart(line, bracepos, 1)
@@ -149,6 +150,7 @@ function! GetPerlIndent()
             let synid = synIDattr(synID(v:lnum, bracepos, 0), "name")
             if synid == ""
                         \ || synid == "perlMatchStartEnd"
+                        \ || synid == "perlBraces"
                         \ || synid =~ '^perl\(Sub\|Block\|Package\)Fold'
                 let ind = ind - &sw
             endif
--- a/runtime/indent/perl6.vim
+++ b/runtime/indent/perl6.vim
@@ -3,7 +3,7 @@
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 " Contributors:  Andy Lester <andy@petdance.com>
 "                Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
 "
--- a/runtime/indent/php.vim
+++ b/runtime/indent/php.vim
@@ -3,8 +3,8 @@
 " Author:	John Wellesz <John.wellesz (AT) teaser (DOT) fr>
 " URL:		http://www.2072productions.com/vim/indent/php.vim
 " Home:		https://github.com/2072/PHP-Indenting-for-VIm
-" Last Change:	2013 May 10th
-" Version:	1.37
+" Last Change:	2013 August 2nd
+" Version:	1.38
 "
 "
 "	Type :help php-indent for available options
@@ -303,7 +303,7 @@ function! FindTheSwitchIndent (lnum) " {
 
 endfunction "}}}
 
-
+let s:SynPHPMatchGroups = {'phpParent':1, 'Delimiter':1, 'Define':1, 'Storageclass':1, 'Structure':1, 'Exception':1}
 function! IslinePHP (lnum, tofind) " {{{
     let cline = getline(a:lnum)
 
@@ -319,7 +319,7 @@ function! IslinePHP (lnum, tofind) " {{{
 
     let synname = synIDattr(synID(a:lnum, coltotest, 0), "name")
 
-    if synname =~ '^php' || synname=="Delimiter" || synname =~? '^javaScript'
+    if get(s:SynPHPMatchGroups, synname) || synname =~ '^php' ||  synname =~? '^javaScript'
 	return synname
     else
 	return ""
--- a/runtime/syntax/doxygen.vim
+++ b/runtime/syntax/doxygen.vim
@@ -2,7 +2,7 @@
 " Language:     doxygen on top of c, cpp, idl, java, php
 " Maintainer:   Michael Geddes <vimmer@frog.wheelycreek.net>
 " Author:       Michael Geddes
-" Last Change:  Jan 2009
+" Last Change:  Jan 2009 (\tparam by Domnique Pelle, Aug 2013)
 " Version:      1.23
 "
 " Copyright 2004-2008 Michael Geddes
@@ -179,7 +179,7 @@ endif
 
   " Match parameters and retvals (highlighting the first word as special).
   syn match doxygenParamDirection contained "\v\[(\s*in>((]\s*\[|\s*,\s*)out>)=|out>((]\s*\[|\s*,\s*)in>)=)\]" nextgroup=doxygenParamName skipwhite
-  syn keyword doxygenParam contained param nextgroup=doxygenParamName,doxygenParamDirection skipwhite
+  syn keyword doxygenParam contained param tparam nextgroup=doxygenParamName,doxygenParamDirection skipwhite
   syn match doxygenParamName contained +[A-Za-z0-9_:]\++ nextgroup=doxygenSpecialMultilineDesc skipwhite
   syn keyword doxygenRetval contained retval throw exception nextgroup=doxygenParamName skipwhite
 
--- a/runtime/syntax/erlang.vim
+++ b/runtime/syntax/erlang.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:     Erlang (http://www.erlang.org)
 " Maintainer:   Csaba Hoch <csaba.hoch@gmail.com>
-" Last Update:  2013-Jun-01
+" Last Update:  2013-Jul-25
 " License:      Vim license
 " URL:          https://github.com/hcs42/vim-erlang
 
@@ -36,6 +36,9 @@ elseif exists("b:current_syntax")
     finish
 endif
 
+let s:cpo_save = &cpo
+set cpo&vim
+
 " Case sensitive
 syn case match
 
@@ -87,13 +90,13 @@ syn match erlangRecord   '#\s*\l[[:alnum
 syn match erlangBitType '\%(\/\%(\s\|\n\|%.*\n\)*\)\@<=\%(integer\|float\|binary\|bytes\|bitstring\|bits\|binary\|utf8\|utf16\|utf32\|signed\|unsigned\|big\|little\|native\|unit\)\%(\%(\s\|\n\|%.*\n\)*-\%(\s\|\n\|%.*\n\)*\%(integer\|float\|binary\|bytes\|bitstring\|bits\|binary\|utf8\|utf16\|utf32\|signed\|unsigned\|big\|little\|native\|unit\)\)*' contains=erlangComment
 
 " Constants and Directives
-syn match erlangUnknownAttribute '-\%(\s\|\n\|%.*\n\)*\l[[:alnum:]_@]*' contains=erlangComment
-syn match erlangAttribute '-\%(\s\|\n\|%.*\n\)*\%(behaviou\=r\|compile\|export\|file\|import\|module\|author\|copyright\|doc\|vsn\|on_load\|export_type\)' contains=erlangComment
-syn match erlangInclude   '-\%(\s\|\n\|%.*\n\)*\%(include\|include_lib\)\>' contains=erlangComment
-syn match erlangRecordDef '-\%(\s\|\n\|%.*\n\)*record\>' contains=erlangComment
-syn match erlangDefine    '-\%(\s\|\n\|%.*\n\)*\%(define\|undef\)\>' contains=erlangComment
-syn match erlangPreCondit '-\%(\s\|\n\|%.*\n\)*\%(ifdef\|ifndef\|else\|endif\)\>' contains=erlangComment
-syn match erlangType      '-\%(\s\|\n\|%.*\n\)*\%(spec\|type\|opaque\|callback\)\>' contains=erlangComment
+syn match erlangUnknownAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\l[[:alnum:]_@]*' contains=erlangComment
+syn match erlangAttribute '^\s*-\%(\s\|\n\|%.*\n\)*\%(behaviou\=r\|compile\|export\(_type\)\=\|file\|import\|module\|author\|copyright\|doc\|vsn\|on_load\)\>' contains=erlangComment
+syn match erlangInclude   '^\s*-\%(\s\|\n\|%.*\n\)*\%(include\|include_lib\)\>' contains=erlangComment
+syn match erlangRecordDef '^\s*-\%(\s\|\n\|%.*\n\)*record\>' contains=erlangComment
+syn match erlangDefine    '^\s*-\%(\s\|\n\|%.*\n\)*\%(define\|undef\)\>' contains=erlangComment
+syn match erlangPreCondit '^\s*-\%(\s\|\n\|%.*\n\)*\%(ifdef\|ifndef\|else\|endif\)\>' contains=erlangComment
+syn match erlangType      '^\s*-\%(\s\|\n\|%.*\n\)*\%(spec\|type\|opaque\|callback\)\>' contains=erlangComment
 
 " Keywords
 syn keyword erlangKeyword after begin case catch cond end fun if let of query
@@ -141,7 +144,8 @@ let b:erlang_syntax_synced = 1
 " Define the default highlighting. See ":help group-name" for the groups and
 " their colors.
 
-let s:old_style = (exists("g:erlang_old_style_highlight") && g:erlang_old_style_highlight == 1)
+let s:old_style = (exists("g:erlang_old_style_highlight") &&
+                  \g:erlang_old_style_highlight == 1)
 
 " 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
@@ -255,4 +259,7 @@ endif
 
 let b:current_syntax = "erlang"
 
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
 " vim: sw=2 et
--- a/runtime/syntax/lynx.vim
+++ b/runtime/syntax/lynx.vim
@@ -1,10 +1,9 @@
 " Vim syntax file
 " Language:	Lynx configuration file (lynx.cfg)
 " Maintainer:	Doug Kearns <dougkearns@gmail.com>
-" URL:		http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/lynx.vim
-" Last Change:	2007 Mar 20
+" Last Change:	2013 Jun 20
 
-" Lynx 2.8.5
+" Lynx 2.8.7
 
 if exists("b:current_syntax")
   finish
@@ -13,77 +12,124 @@ endif
 let s:cpo_save = &cpo
 set cpo&vim
 
-syn match   lynxLeadingWS  "^\s*" transparent nextgroup=lynxOption
+syn match lynxStart "^" transparent skipwhite nextgroup=lynxOption
 
-syn match   lynxComment    "\(^\|\s\+\)#.*$" contains=lynxTodo
-
-syn keyword lynxTodo	   TODO NOTE FIXME XXX contained
+syn match lynxComment "\(^\|\s\+\)#.*$" contains=lynxTodo
 
-syn match   lynxDelimiter  ":" contained nextgroup=lynxBoolean,lynxNumber
+syn keyword lynxTodo TODO NOTE FIXME XXX contained
 
-syn case ignore
-syn keyword lynxBoolean    TRUE FALSE contained
-syn case match
-
-syn match   lynxNumber	   "-\=\<\d\+\>" contained
+syn match lynxDelimiter ":" skipwhite nextgroup=lynxBoolean,lynxNumber,lynxNone,lynxRCOption
 
 syn case ignore
-syn keyword lynxOption ACCEPT_ALL_COOKIES ALERTSECS ALWAYS_RESUBMIT_POSTS ALWAYS_TRUSTED_EXEC ASSUME_CHARSET
-		     \ ASSUMED_COLOR ASSUMED_DOC_CHARSET_CHOICE ASSUME_LOCAL_CHARSET ASSUME_UNREC_CHARSET AUTO_UNCACHE_DIRLISTS
-		     \ BIBP_BIBHOST BIBP_GLOBAL_SERVER BLOCK_MULTI_BOOKMARKS BOLD_H1 BOLD_HEADERS
-		     \ BOLD_NAME_ANCHORS CASE_SENSITIVE_ALWAYS_ON CHARACTER_SET CHARSETS_DIRECTORY CHARSET_SWITCH_RULES
-		     \ CHECKMAIL COLLAPSE_BR_TAGS COLOR CONNECT_TIMEOUT COOKIE_ACCEPT_DOMAINS
-		     \ COOKIE_FILE COOKIE_LOOSE_INVALID_DOMAINS COOKIE_QUERY_INVALID_DOMAINS COOKIE_REJECT_DOMAINS COOKIE_SAVE_FILE
-		     \ COOKIE_STRICT_INVALID_DOMAINS CSO_PROXY CSWING_PATH DEBUGSECS DEFAULT_BOOKMARK_FILE
-		     \ DEFAULT_CACHE_SIZE DEFAULT_EDITOR DEFAULT_INDEX_FILE DEFAULT_KEYPAD_MODE DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS
-		     \ DEFAULT_USER_MODE DEFAULT_VIRTUAL_MEMORY_SIZE DIRED_MENU DISPLAY_CHARSET_CHOICE DOWNLOADER
-		     \ EMACS_KEYS_ALWAYS_ON ENABLE_LYNXRC ENABLE_SCROLLBACK EXTERNAL FINGER_PROXY
-		     \ FOCUS_WINDOW FORCE_8BIT_TOUPPER FORCE_COOKIE_PROMPT FORCE_EMPTY_HREFLESS_A FORCE_SSL_COOKIES_SECURE
-		     \ FORCE_SSL_PROMPT FORMS_OPTIONS FTP_PASSIVE FTP_PROXY GLOBAL_EXTENSION_MAP
-		     \ GLOBAL_MAILCAP GOPHER_PROXY GOTOBUFFER HELPFILE HIDDEN_LINK_MARKER
-		     \ HISTORICAL_COMMENTS HTMLSRC_ATTRNAME_XFORM HTMLSRC_TAGNAME_XFORM HTTP_PROXY HTTPS_PROXY
-		     \ INCLUDE INFOSECS JUMPBUFFER JUMPFILE JUMP_PROMPT
-		     \ JUSTIFY JUSTIFY_MAX_VOID_PERCENT KEYBOARD_LAYOUT KEYMAP LEFTARROW_IN_TEXTFIELD_PROMPT
-		     \ LIST_FORMAT LIST_NEWS_DATES LIST_NEWS_NUMBERS LOCAL_DOMAIN LOCALE_CHARSET
-		     \ LOCAL_EXECUTION_LINKS_ALWAYS_ON LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE LOCALHOST_ALIAS LYNXCGI_DOCUMENT_ROOT LYNXCGI_ENVIRONMENT
-		     \ LYNX_HOST_NAME LYNX_SIG_FILE MAIL_ADRS MAIL_SYSTEM_ERROR_LOGGING MAKE_LINKS_FOR_ALL_IMAGES
-		     \ MAKE_PSEUDO_ALTS_FOR_INLINES MESSAGESECS MINIMAL_COMMENTS MULTI_BOOKMARK_SUPPORT NCR_IN_BOOKMARKS
-		     \ NEWS_CHUNK_SIZE NEWS_MAX_CHUNK NEWS_POSTING NEWSPOST_PROXY NEWS_PROXY
-		     \ NEWSREPLY_PROXY NNTP_PROXY NNTPSERVER NO_DOT_FILES NO_FILE_REFERER
-		     \ NO_FORCED_CORE_DUMP NO_FROM_HEADER NO_ISMAP_IF_USEMAP NONRESTARTING_SIGWINCH NO_PROXY
-		     \ NO_REFERER_HEADER NO_TABLE_CENTER NUMBER_FIELDS_ON_LEFT NUMBER_LINKS_ON_LEFT OUTGOING_MAIL_CHARSET
-		     \ PARTIAL PARTIAL_THRES PERSISTENT_COOKIES PERSONAL_EXTENSION_MAP PERSONAL_MAILCAP
-		     \ PREFERRED_CHARSET PREFERRED_LANGUAGE PREPEND_BASE_TO_SOURCE PREPEND_CHARSET_TO_SOURCE PRETTYSRC
-		     \ PRETTYSRC_SPEC PRETTYSRC_VIEW_NO_ANCHOR_NUMBERING PRINTER QUIT_DEFAULT_YES REFERER_WITH_QUERY
-		     \ REPLAYSECS REUSE_TEMPFILES RULE RULESFILE SAVE_SPACE
-		     \ SCAN_FOR_BURIED_NEWS_REFS SCREEN_SIZE SCROLLBAR SCROLLBAR_ARROW SEEK_FRAG_AREA_IN_CUR
-		     \ SEEK_FRAG_MAP_IN_CUR SET_COOKIES SHOW_CURSOR SHOW_KB_NAME SHOW_KB_RATE
-		     \ SNEWSPOST_PROXY SNEWS_PROXY SNEWSREPLY_PROXY SOFT_DQUOTES SOURCE_CACHE
-		     \ SOURCE_CACHE_FOR_ABORTED STARTFILE STRIP_DOTDOT_URLS SUBSTITUTE_UNDERSCORES SUFFIX
-		     \ SUFFIX_ORDER SYSTEM_EDITOR SYSTEM_MAIL SYSTEM_MAIL_FLAGS TAGSOUP
-		     \ TEXTFIELDS_NEED_ACTIVATION TIMEOUT TRIM_INPUT_FIELDS TRUSTED_EXEC TRUSTED_LYNXCGI
-		     \ UNDERLINE_LINKS UPLOADER URL_DOMAIN_PREFIXES URL_DOMAIN_SUFFIXES USE_FIXED_RECORDS
-		     \ USE_MOUSE USE_SELECT_POPUPS VERBOSE_IMAGES VIEWER VI_KEYS_ALWAYS_ON
-		     \ WAIS_PROXY XLOADIMAGE_COMMAND contained nextgroup=lynxDelimiter
-syn keyword lynxOption BZIP2_PATH CHMOD_PATH COMPRESS_PATH COPY_PATH GZIP_PATH
-		     \ INSTALL_PATH MKDIR_PATH MV_PATH RLOGIN_PATH RMDIR_PATH
-		     \ RM_PATH TAR_PATH TELNET_PATH TN3270_PATH TOUCH_PATH
-		     \ UNCOMPRESS_PATH UNZIP_PATH UUDECODE_PATH ZCAT_PATH ZIP_PATH contained nextgroup=lynxDelimiter
+syn keyword lynxBoolean TRUE FALSE ON OFF contained
+syn keyword lynxNone    NONE		  contained
 syn case match
 
-" NOTE: set this if you want the cfg2html.pl formatting directives to be highlighted
-if exists("lynx_formatting_directives")
-  syn match lynxFormatDir  "^\.\(h1\|h2\)\s.*$"
-  syn match lynxFormatDir  "^\.\(ex\|nf\)\(\s\+\d\+\)\=$"
-  syn match lynxFormatDir  "^\.fi$"
-endif
+syn match lynxNumber "-\=\<\d\+\>" contained
+
+"{{{ Options
+syn case ignore
+syn keyword lynxOption ACCEPT_ALL_COOKIES ALERTSECS ALWAYS_RESUBMIT_POSTS
+	\ ALWAYS_TRUSTED_EXEC ANONFTP_PASSWORD ASSUMED_COLOR
+	\ ASSUMED_DOC_CHARSET_CHOICE ASSUME_CHARSET ASSUME_LOCAL_CHARSET
+	\ ASSUME_UNREC_CHARSET AUTO_SESSION AUTO_UNCACHE_DIRLISTS BAD_HTML
+	\ BIBP_BIBHOST BIBP_GLOBAL_SERVER BLOCK_MULTI_BOOKMARKS BOLD_H1
+	\ BOLD_HEADERS BOLD_NAME_ANCHORS BOOKMARK_FILE BROKEN_FTP_EPSV
+	\ BROKEN_FTP_RETR BZIP2_PATH CASE_SENSITIVE_ALWAYS_ON
+	\ CASE_SENSITIVE_SEARCHING CHARACTER_SET CHARSETS_DIRECTORY
+	\ CHARSET_SWITCH_RULES CHECKMAIL CHMOD_PATH COLLAPSE_BR_TAGS COLOR
+	\ COLOR_STYLE COMPRESS_PATH CONNECT_TIMEOUT COOKIE_ACCEPT_DOMAINS
+	\ COOKIE_FILE COOKIE_LOOSE_INVALID_DOMAINS
+	\ COOKIE_QUERY_INVALID_DOMAINS COOKIE_REJECT_DOMAINS COOKIE_SAVE_FILE
+	\ COOKIE_STRICT_INVALID_DOMAINS COPY_PATH CSO_PROXY CSWING_PATH
+	\ DEBUGSECS DEFAULT_BOOKMARK_FILE DEFAULT_CACHE_SIZE DEFAULT_COLORS
+	\ DEFAULT_EDITOR DEFAULT_INDEX_FILE DEFAULT_KEYPAD_MODE
+	\ DEFAULT_KEYPAD_MODE_IS_NUMBERS_AS_ARROWS DEFAULT_USER_MODE
+	\ DEFAULT_VIRTUAL_MEMORY_SIZE DELAYSECS DIRED_MENU DIR_LIST_ORDER
+	\ DIR_LIST_STYLE DISPLAY DISPLAY_CHARSET_CHOICE DOWNLOADER EMACS_KEYS
+	\ EMACS_KEYS_ALWAYS_ON ENABLE_LYNXRC ENABLE_SCROLLBACK EXTERNAL
+	\ FILE_EDITOR FILE_SORTING_METHOD FINGER_PROXY FOCUS_WINDOW
+	\ FORCE_8BIT_TOUPPER FORCE_COOKIE_PROMPT FORCE_EMPTY_HREFLESS_A
+	\ FORCE_SSL_COOKIES_SECURE FORCE_SSL_PROMPT FORMS_OPTIONS FTP_FORMAT
+	\ FTP_PASSIVE FTP_PROXY GLOBAL_EXTENSION_MAP GLOBAL_MAILCAP
+	\ GOPHER_PROXY GOTOBUFFER GZIP_PATH HELPFILE HIDDEN_LINK_MARKER
+	\ HISTORICAL_COMMENTS HTMLSRC_ATTRNAME_XFORM HTMLSRC_TAGNAME_XFORM
+	\ HTTPS_PROXY HTTP_PROXY INCLUDE INFLATE_PATH INFOSECS INSTALL_PATH
+	\ JUMPBUFFER JUMPFILE JUMP_PROMPT JUSTIFY JUSTIFY_MAX_VOID_PERCENT
+	\ KBLAYOUT KEYBOARD_LAYOUT KEYMAP KEYPAD_MODE
+	\ LEFTARROW_IN_TEXTFIELD_PROMPT LINEEDIT_MODE LIST_FORMAT
+	\ LIST_NEWS_DATES LIST_NEWS_NUMBERS LOCALE_CHARSET LOCALHOST_ALIAS
+	\ LOCAL_DOMAIN LOCAL_EXECUTION_LINKS_ALWAYS_ON
+	\ LOCAL_EXECUTION_LINKS_ON_BUT_NOT_REMOTE LYNXCGI_DOCUMENT_ROOT
+	\ LYNXCGI_ENVIRONMENT LYNX_HOST_NAME LYNX_SIG_FILE MAIL_ADRS
+	\ MAIL_SYSTEM_ERROR_LOGGING MAKE_LINKS_FOR_ALL_IMAGES
+	\ MAKE_PSEUDO_ALTS_FOR_INLINES MAX_COOKIES_BUFFER MAX_COOKIES_DOMAIN
+	\ MAX_COOKIES_GLOBAL MESSAGESECS MINIMAL_COMMENTS MKDIR_PATH
+	\ MULTI_BOOKMARK MULTI_BOOKMARK_SUPPORT MV_PATH NCR_IN_BOOKMARKS
+	\ NESTED_TABLES NEWSPOST_PROXY NEWSREPLY_PROXY NEWS_CHUNK_SIZE
+	\ NEWS_MAX_CHUNK NEWS_POSTING NEWS_PROXY NNTPSERVER NNTP_PROXY
+	\ NONRESTARTING_SIGWINCH NO_DOT_FILES NO_FILE_REFERER
+	\ NO_FORCED_CORE_DUMP NO_FROM_HEADER NO_ISMAP_IF_USEMAP NO_MARGINS
+	\ NO_PAUSE NO_PROXY NO_REFERER_HEADER NO_TABLE_CENTER NO_TITLE
+	\ NUMBER_FIELDS_ON_LEFT NUMBER_LINKS_ON_LEFT OUTGOING_MAIL_CHARSET
+	\ PARTIAL PARTIAL_THRES PERSISTENT_COOKIES PERSONAL_EXTENSION_MAP
+	\ PERSONAL_MAILCAP PERSONAL_MAIL_ADDRESS POSITIONABLE_EDITOR
+	\ PREFERRED_CHARSET PREFERRED_ENCODING PREFERRED_LANGUAGE
+	\ PREFERRED_MEDIA_TYPES PREPEND_BASE_TO_SOURCE
+	\ PREPEND_CHARSET_TO_SOURCE PRETTYSRC PRETTYSRC_SPEC
+	\ PRETTYSRC_VIEW_NO_ANCHOR_NUMBERING PRINTER QUIT_DEFAULT_YES RAW_MODE
+	\ READ_TIMEOUT REFERER_WITH_QUERY REPLAYSECS REUSE_TEMPFILES
+	\ RLOGIN_PATH RM_PATH RMDIR_PATH RULE RULESFILE
+	\ RUN_ALL_EXECUTION_LINKS RUN_EXECUTION_LINKS_LOCAL SAVE_SPACE
+	\ SCAN_FOR_BURIED_NEWS_REFS SCREEN_SIZE SCROLLBAR SCROLLBAR_ARROW
+	\ SEEK_FRAG_AREA_IN_CUR SEEK_FRAG_MAP_IN_CUR SELECT_POPUPS
+	\ SEND_USERAGENT SESSION_FILE SESSION_LIMIT SET_COOKIES SETFONT_PATH
+	\ SHOW_COLOR SHOW_CURSOR SHOW_DOTFILES SHOW_KB_NAME SHOW_KB_RATE
+	\ SNEWSPOST_PROXY SNEWSREPLY_PROXY SNEWS_PROXY SOFT_DQUOTES
+	\ SOURCE_CACHE SOURCE_CACHE_FOR_ABORTED SSL_CERT_FILE STARTFILE
+	\ STATUS_BUFFER_SIZE STRIP_DOTDOT_URLS SUBSTITUTE_UNDERSCORES
+	\ SUB_BOOKMARKS SUFFIX SUFFIX_ORDER SYSLOG_REQUESTED_URLS SYSLOG_TEXT
+	\ SYSTEM_EDITOR SYSTEM_MAIL SYSTEM_MAIL_FLAGS TAGSOUP TAR_PATH
+	\ TELNET_PATH TEXTFIELDS_NEED_ACTIVATION TIMEOUT TN3270_PATH
+	\ TOUCH_PATH TRIM_INPUT_FIELDS TRUSTED_EXEC TRUSTED_LYNXCGI
+	\ UNCOMPRESS_PATH UNDERLINE_LINKS UNZIP_PATH UPLOADER
+	\ URL_DOMAIN_PREFIXES URL_DOMAIN_SUFFIXES USERAGENT USER_MODE
+	\ USE_FIXED_RECORDS USE_MOUSE USE_SELECT_POPUPS UUDECODE_PATH
+	\ VERBOSE_IMAGES VIEWER VISITED_LINKS VI_KEYS VI_KEYS_ALWAYS_ON
+	\ WAIS_PROXY XHTML_PARSING XLOADIMAGE_COMMAND ZCAT_PATH ZIP_PATH
+	\ contained nextgroup=lynxDelimiter
+syn keyword lynxRCOption accept_all_cookies assume_charset auto_session
+	\ bookmark_file case_sensitive_searching character_set
+	\ cookie_accept_domains cookie_file cookie_loose_invalid_domains
+	\ cookie_query_invalid_domains cookie_reject_domains
+	\ cookie_strict_invalid_domains dir_list_style display emacs_keys
+	\ file_editor file_sorting_method force_cookie_prompt force_ssl_prompt
+	\ ftp_passive kblayout keypad_mode lineedit_mode locale_charset
+	\ make_links_for_all_images make_pseudo_alts_for_inlines
+	\ multi_bookmark no_pause personal_mail_address preferred_charset
+	\ preferred_encoding preferred_language preferred_media_types raw_mode
+	\ run_all_execution_links run_execution_links_on_local_files scrollbar
+	\ select_popups send_useragent session_file set_cookies show_color
+	\ show_cursor show_dotfiles show_kb_rate sub_bookmarks tagsoup
+	\ underline_links user_mode useragent verbose_images vi_keys
+	\ visited_links
+	\ contained nextgroup=lynxDelimiter
+syn case match
+" }}}
+
+" cfg2html.pl formatting directives
+syn match lynxFormatDir  "^\.h\d\s.*$"
+syn match lynxFormatDir  "^\.\(ex\|nf\)\(\s\+\d\+\)\=$"
+syn match lynxFormatDir  "^\.fi$"
 
 hi def link lynxBoolean		Boolean
 hi def link lynxComment		Comment
 hi def link lynxDelimiter	Special
 hi def link lynxFormatDir	Special
+hi def link lynxNone		Constant
 hi def link lynxNumber		Number
 hi def link lynxOption		Identifier
+hi def link lynxRCOption	lynxOption
 hi def link lynxTodo		Todo
 
 let b:current_syntax = "lynx"
@@ -91,4 +137,4 @@ let b:current_syntax = "lynx"
 let &cpo = s:cpo_save
 unlet s:cpo_save
 
-" vim: ts=8
+" vim: ts=8 fdm=marker:
--- a/runtime/syntax/mailcap.vim
+++ b/runtime/syntax/mailcap.vim
@@ -1,54 +1,35 @@
 " Vim syntax file
 " Language:	Mailcap configuration file
-" Maintainer:	Doug Kearns <djkea2@gus.gscit.monash.edu.au>
-" Last Change:	2004 Nov 27
-" URL:		http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/mailcap.vim
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2013 Jun 01
 
-" 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
-elseif exists("b:current_syntax")
+if exists("b:current_syntax")
   finish
 endif
 
-syn match  mailcapComment	"^#.*"
+syn match  mailcapComment "^#.*"
 
-syn region mailcapString	start=+"+ end=+"+ contains=mailcapSpecial oneline
+syn region mailcapString start=+"+ end=+"+ contains=mailcapSpecial oneline
 
-syn match  mailcapDelimiter	"\\\@<!;"
+syn match  mailcapDelimiter "\\\@<!;"
 
-syn match  mailcapSpecial	"\\\@<!%[nstF]"
-syn match  mailcapSpecial	"\\\@<!%{[^}]*}"
+syn match  mailcapSpecial "\\\@<!%[nstF]"
+syn match  mailcapSpecial "\\\@<!%{[^}]*}"
 
 syn case ignore
-syn match  mailcapFlag		"\(=\s*\)\@<!\<\(needsterminal\|copiousoutput\|x-\w\+\)\>"
-syn match  mailcapFieldname	"\<\(compose\|composetyped\|print\|edit\|test\|x11-bitmap\|nametemplate\|textualnewlines\|description\|x-\w+\)\>\ze\s*="
-syn match  mailcapTypeField	"^\(text\|image\|audio\|video\|application\|message\|multipart\|model\|x-[[:graph:]]\+\)\(/\(\*\|[[:graph:]]\+\)\)\=\ze\s*;"
+syn match  mailcapFlag	    "\(=\s*\)\@<!\<\(needsterminal\|copiousoutput\|x-\w\+\)\>"
+syn match  mailcapFieldname "\<\(compose\|composetyped\|print\|edit\|test\|x11-bitmap\|nametemplate\|textualnewlines\|description\|x-\w+\)\>\ze\s*="
+syn match  mailcapTypeField "^\(text\|image\|audio\|video\|application\|message\|multipart\|model\|x-[[:graph:]]\+\)\(/\(\*\|[[:graph:]]\+\)\)\=\ze\s*;"
 syn case match
 
-" 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_mailcap_syntax_inits")
-  if version < 508
-    let did_mailcap_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink mailcapComment		Comment
-  HiLink mailcapDelimiter	Delimiter
-  HiLink mailcapFlag		Statement
-  HiLink mailcapFieldname	Statement
-  HiLink mailcapSpecial		Identifier
-  HiLink mailcapTypeField	Type
-  HiLink mailcapString		String
-
-  delcommand HiLink
-endif
+hi def link mailcapComment	Comment
+hi def link mailcapDelimiter	Delimiter
+hi def link mailcapFlag		Statement
+hi def link mailcapFieldname	Statement
+hi def link mailcapSpecial	Identifier
+hi def link mailcapTypeField	Type
+hi def link mailcapString	String
 
 let b:current_syntax = "mailcap"
 
-" vim: tabstop=8
+" vim: ts=8
--- a/runtime/syntax/perl.vim
+++ b/runtime/syntax/perl.vim
@@ -3,7 +3,7 @@
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      http://github.com/vim-perl/vim-perl/tree/master
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-23
 " Contributors:  Andy Lester <andy@petdance.com>
 "                Hinrik Örn Sigurðsson <hinrik.sig@gmail.com>
 "                Lukas Mai <l.mai.web.de>
@@ -68,6 +68,7 @@ endif
 
 syn cluster perlTop		contains=TOP
 
+syn region perlBraces start="{" end="}" transparent extend
 
 " All keywords
 "
@@ -416,8 +417,6 @@ if exists("perl_fold")
     if exists("perl_fold_anonymous_subs") && perl_fold_anonymous_subs
       syn region perlSubFold     start="\<sub\>[^\n;]*{" end="}" transparent fold keepend extend
       syn region perlSubFold     start="\<\%(BEGIN\|END\|CHECK\|INIT\)\>\s*{" end="}" transparent fold keepend
-
-      syn region perlBraces start="{" end="}" transparent extend
     else
       syn region perlSubFold     start="^\z(\s*\)\<sub\>.*[^};]$" end="^\z1}\s*\%(#.*\)\=$" transparent fold keepend
       syn region perlSubFold start="^\z(\s*\)\<\%(BEGIN\|END\|CHECK\|INIT\|UNITCHECK\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend
--- a/runtime/syntax/perl6.vim
+++ b/runtime/syntax/perl6.vim
@@ -3,7 +3,7 @@
 " Maintainer:    vim-perl <vim-perl@googlegroups.com>
 " Homepage:      http://github.com/vim-perl/vim-perl/tree/master
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 
 " Contributors:  Luke Palmer <fibonaci@babylonia.flatirons.org>
 "                Moritz Lenz <moritz@faui2k3.org>
--- a/runtime/syntax/pod.vim
+++ b/runtime/syntax/pod.vim
@@ -4,7 +4,7 @@
 " Previously:    Scott Bigham <dsb@killerbunnies.org>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 
 " To add embedded POD documentation highlighting to your syntax file, add
 " the commands:
--- a/runtime/syntax/tidy.vim
+++ b/runtime/syntax/tidy.vim
@@ -1,161 +1,144 @@
 " Vim syntax file
-" Language:	HMTL Tidy configuration file ( /etc/tidyrc ~/.tidyrc )
-" Maintainer:	Doug Kearns <djkea2@gus.gscit.monash.edu.au>
-" URL:		http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/tidy.vim
-" Last Change:	2005 Oct 06
+" Language:	HMTL Tidy configuration file (/etc/tidyrc ~/.tidyrc)
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2013 June 01
 
-" 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
-elseif exists("b:current_syntax")
+if exists("b:current_syntax")
   finish
 endif
 
-if version < 600
-  set iskeyword=@,48-57,-
-else
-  setlocal iskeyword=@,48-57,-
-endif
+setlocal iskeyword=@,48-57,-
 
-syn match	tidyComment		"^\s*//.*$" contains=tidyTodo
-syn match	tidyComment		"^\s*#.*$"  contains=tidyTodo
-syn keyword	tidyTodo		TODO NOTE FIXME XXX contained
+syn match	tidyComment	"^\s*//.*$" contains=tidyTodo
+syn match	tidyComment	"^\s*#.*$"  contains=tidyTodo
+syn keyword	tidyTodo	TODO NOTE FIXME XXX contained
 
-syn match	tidyAssignment		"^[a-z0-9-]\+:\s*.*$" contains=tidyOption,@tidyValue,tidyDelimiter
-syn match	tidyDelimiter		":" contained
+syn match	tidyAssignment	"^[a-z0-9-]\+:\s*.*$" contains=tidyOption,@tidyValue,tidyDelimiter
+syn match	tidyDelimiter	":" contained
 
 syn match	tidyNewTagAssignment	"^new-\l\+-tags:\s*.*$" contains=tidyNewTagOption,tidyNewTagDelimiter,tidyNewTagValue,tidyDelimiter
 syn match	tidyNewTagDelimiter	"," contained
 syn match	tidyNewTagValue		"\<\w\+\>" contained
 
 syn case ignore
-syn keyword	tidyBoolean		t[rue] f[alse] y[es] n[o] contained
+syn keyword	tidyBoolean t[rue] f[alse] y[es] n[o] contained
 syn case match
-syn match	tidyDoctype		"\<omit\|auto\|strict\|loose\|transitional\|user\>" contained
+syn match	tidyDoctype "\<\%(omit\|auto\|strict\|loose\|transitional\|user\)\>" contained
 " NOTE: use match rather than keyword here so that tidyEncoding 'raw' does not
 "       always have precedence over tidyOption 'raw'
-syn match	tidyEncoding		"\<\(ascii\|latin0\|latin1\|raw\|utf8\|iso2022\|mac\|utf16le\|utf16be\|utf16\|win1252\|ibm858\|big5\|shiftjis\)\>" contained
-syn match	tidyNewline		"\<\(LF\|CRLF\|CR\)\>"
-syn match	tidyNumber		"\<\d\+\>" contained
-syn match	tidyRepeat		"\<keep-first\|keep-last\>" contained
-syn region	tidyString		start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
-syn region	tidyString		start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
-syn cluster	tidyValue		contains=tidyBoolean,tidyDoctype,tidyEncoding,tidyNewline,tidyNumber,tidyRepeat,tidyString
+syn match	tidyEncoding	"\<\%(ascii\|latin0\|latin1\|raw\|utf8\|iso2022\|mac\|utf16le\|utf16be\|utf16\|win1252\|ibm858\|big5\|shiftjis\)\>" contained
+syn match	tidyNewline	"\<\%(LF\|CRLF\|CR\)\>"
+syn match	tidyNumber	"\<\d\+\>" contained
+syn match	tidyRepeat	"\<\%(keep-first\|keep-last\)\>" contained
+syn region	tidyString	start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
+syn region	tidyString	start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
+syn cluster	tidyValue	contains=tidyBoolean,tidyDoctype,tidyEncoding,tidyNewline,tidyNumber,tidyRepeat,tidyString
 
-syn match	tidyOption		"^accessibility-check"		contained
-syn match	tidyOption		"^add-xml-decl"			contained
-syn match	tidyOption		"^add-xml-pi"			contained
-syn match	tidyOption		"^add-xml-space"		contained
-syn match	tidyOption		"^alt-text"			contained
-syn match	tidyOption		"^ascii-chars"			contained
-syn match	tidyOption		"^assume-xml-procins"		contained
-syn match	tidyOption		"^bare"				contained
-syn match	tidyOption		"^break-before-br"		contained
-syn match	tidyOption		"^char-encoding"		contained
-syn match	tidyOption		"^clean"			contained
-syn match	tidyOption		"^css-prefix"			contained
-syn match	tidyOption		"^doctype"			contained
-syn match	tidyOption		"^doctype-mode"			contained
-syn match	tidyOption		"^drop-empty-paras"		contained
-syn match	tidyOption		"^drop-font-tags"		contained
-syn match	tidyOption		"^drop-proprietary-attributes"	contained
-syn match	tidyOption		"^enclose-block-text"		contained
-syn match	tidyOption		"^enclose-text"			contained
-syn match	tidyOption		"^error-file"			contained
-syn match	tidyOption		"^escape-cdata"			contained
-syn match	tidyOption		"^fix-backslash"		contained
-syn match	tidyOption		"^fix-bad-comments"		contained
-syn match	tidyOption		"^fix-uri"			contained
-syn match	tidyOption		"^force-output"			contained
-syn match	tidyOption		"^gnu-emacs"			contained
-syn match	tidyOption		"^gnu-emacs-file"		contained
-syn match	tidyOption		"^hide-comments"		contained
-syn match	tidyOption		"^hide-endtags"			contained
-syn match	tidyOption		"^indent"			contained
-syn match	tidyOption		"^indent-attributes"		contained
-syn match	tidyOption		"^indent-cdata"			contained
-syn match	tidyOption		"^indent-spaces"		contained
-syn match	tidyOption		"^input-encoding"		contained
-syn match	tidyOption		"^input-xml"			contained
-syn match	tidyOption		"^join-classes"			contained
-syn match	tidyOption		"^join-styles"			contained
-syn match	tidyOption		"^keep-time"			contained
-syn match	tidyOption		"^language"			contained
-syn match	tidyOption		"^literal-attributes"		contained
-syn match	tidyOption		"^logical-emphasis"		contained
-syn match	tidyOption		"^lower-literals"		contained
-syn match	tidyOption		"^markup"			contained
-syn match	tidyOption		"^merge-divs"			contained
-syn match	tidyOption		"^ncr"				contained
-syn match	tidyOption		"^newline"			contained
-syn match	tidyOption		"^numeric-entities"		contained
-syn match	tidyOption		"^output-bom"			contained
-syn match	tidyOption		"^output-encoding"		contained
-syn match	tidyOption		"^output-file"			contained
-syn match	tidyOption		"^output-html"			contained
-syn match	tidyOption		"^output-xhtml"			contained
-syn match	tidyOption		"^output-xml"			contained
-syn match	tidyOption		"^punctuation-wrap"		contained
-syn match	tidyOption		"^quiet"			contained
-syn match	tidyOption		"^quote-ampersand"		contained
-syn match	tidyOption		"^quote-marks"			contained
-syn match	tidyOption		"^quote-nbsp"			contained
-syn match	tidyOption		"^raw"				contained
-syn match	tidyOption		"^repeated-attributes"		contained
-syn match	tidyOption		"^replace-color"		contained
-syn match	tidyOption		"^show-body-only"		contained
-syn match	tidyOption		"^show-errors"			contained
-syn match	tidyOption		"^show-warnings"		contained
-syn match	tidyOption		"^slide-style"			contained
-syn match	tidyOption		"^split"			contained
-syn match	tidyOption		"^tab-size"			contained
-syn match	tidyOption		"^tidy-mark"			contained
-syn match	tidyOption		"^uppercase-attributes"		contained
-syn match	tidyOption		"^uppercase-tags"		contained
-syn match	tidyOption		"^word-2000"			contained
-syn match	tidyOption		"^wrap"				contained
-syn match	tidyOption		"^wrap-asp"			contained
-syn match	tidyOption		"^wrap-attributes"		contained
-syn match	tidyOption		"^wrap-jste"			contained
-syn match	tidyOption		"^wrap-php"			contained
-syn match	tidyOption		"^wrap-script-literals"		contained
-syn match	tidyOption		"^wrap-sections"		contained
-syn match	tidyOption		"^write-back"			contained
-syn match	tidyOption		"^vertical-space"		contained
-syn match	tidyNewTagOption	"^new-blocklevel-tags"		contained
-syn match	tidyNewTagOption	"^new-empty-tags"		contained
-syn match	tidyNewTagOption	"^new-inline-tags"		contained
-syn match	tidyNewTagOption	"^new-pre-tags"			contained
+syn match tidyOption "^accessibility-check"		contained
+syn match tidyOption "^add-xml-decl"			contained
+syn match tidyOption "^add-xml-pi"			contained
+syn match tidyOption "^add-xml-space"			contained
+syn match tidyOption "^alt-text"			contained
+syn match tidyOption "^anchor-as-name"			contained
+syn match tidyOption "^ascii-chars"			contained
+syn match tidyOption "^assume-xml-procins"		contained
+syn match tidyOption "^bare"				contained
+syn match tidyOption "^break-before-br"			contained
+syn match tidyOption "^char-encoding"			contained
+syn match tidyOption "^clean"				contained
+syn match tidyOption "^css-prefix"			contained
+syn match tidyOption "^decorate-inferred-ul"		contained
+syn match tidyOption "^doctype"				contained
+syn match tidyOption "^doctype-mode"			contained
+syn match tidyOption "^drop-empty-paras"		contained
+syn match tidyOption "^drop-font-tags"			contained
+syn match tidyOption "^drop-proprietary-attributes"	contained
+syn match tidyOption "^enclose-block-text"		contained
+syn match tidyOption "^enclose-text"			contained
+syn match tidyOption "^error-file"			contained
+syn match tidyOption "^escape-cdata"			contained
+syn match tidyOption "^fix-backslash"			contained
+syn match tidyOption "^fix-bad-comments"		contained
+syn match tidyOption "^fix-uri"				contained
+syn match tidyOption "^force-output"			contained
+syn match tidyOption "^gnu-emacs"			contained
+syn match tidyOption "^gnu-emacs-file"			contained
+syn match tidyOption "^hide-comments"			contained
+syn match tidyOption "^hide-endtags"			contained
+syn match tidyOption "^indent"				contained
+syn match tidyOption "^indent-attributes"		contained
+syn match tidyOption "^indent-cdata"			contained
+syn match tidyOption "^indent-spaces"			contained
+syn match tidyOption "^input-encoding"			contained
+syn match tidyOption "^input-xml"			contained
+syn match tidyOption "^join-classes"			contained
+syn match tidyOption "^join-styles"			contained
+syn match tidyOption "^keep-time"			contained
+syn match tidyOption "^language"			contained
+syn match tidyOption "^literal-attributes"		contained
+syn match tidyOption "^logical-emphasis"		contained
+syn match tidyOption "^lower-literals"			contained
+syn match tidyOption "^markup"				contained
+syn match tidyOption "^merge-divs"			contained
+syn match tidyOption "^merge-spans"			contained
+syn match tidyOption "^ncr"				contained
+syn match tidyOption "^newline"				contained
+syn match tidyOption "^numeric-entities"		contained
+syn match tidyOption "^output-bom"			contained
+syn match tidyOption "^output-encoding"			contained
+syn match tidyOption "^output-file"			contained
+syn match tidyOption "^output-html"			contained
+syn match tidyOption "^output-xhtml"			contained
+syn match tidyOption "^output-xml"			contained
+syn match tidyOption "^preserve-entities"		contained
+syn match tidyOption "^punctuation-wrap"		contained
+syn match tidyOption "^quiet"				contained
+syn match tidyOption "^quote-ampersand"			contained
+syn match tidyOption "^quote-marks"			contained
+syn match tidyOption "^quote-nbsp"			contained
+syn match tidyOption "^raw"				contained
+syn match tidyOption "^repeated-attributes"		contained
+syn match tidyOption "^replace-color"			contained
+syn match tidyOption "^show-body-only"			contained
+syn match tidyOption "^show-errors"			contained
+syn match tidyOption "^show-warnings"			contained
+syn match tidyOption "^slide-style"			contained
+syn match tidyOption "^sort-attributes"			contained
+syn match tidyOption "^split"				contained
+syn match tidyOption "^tab-size"			contained
+syn match tidyOption "^tidy-mark"			contained
+syn match tidyOption "^uppercase-attributes"		contained
+syn match tidyOption "^uppercase-tags"			contained
+syn match tidyOption "^word-2000"			contained
+syn match tidyOption "^wrap"				contained
+syn match tidyOption "^wrap-asp"			contained
+syn match tidyOption "^wrap-attributes"			contained
+syn match tidyOption "^wrap-jste"			contained
+syn match tidyOption "^wrap-php"			contained
+syn match tidyOption "^wrap-script-literals"		contained
+syn match tidyOption "^wrap-sections"			contained
+syn match tidyOption "^write-back"			contained
+syn match tidyOption "^vertical-space"			contained
 
-" 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_tidy_syn_inits")
-  if version < 508
-    let did_tidy_syn_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
+syn match tidyNewTagOption "^new-blocklevel-tags"	contained
+syn match tidyNewTagOption "^new-empty-tags"		contained
+syn match tidyNewTagOption "^new-inline-tags"		contained
+syn match tidyNewTagOption "^new-pre-tags"		contained
 
-  HiLink tidyBoolean		Boolean
-  HiLink tidyComment		Comment
-  HiLink tidyDelimiter		Special
-  HiLink tidyDoctype		Constant
-  HiLink tidyEncoding		Constant
-  HiLink tidyNewline		Constant
-  HiLink tidyNewTagDelimiter	Special
-  HiLink tidyNewTagOption	Identifier
-  HiLink tidyNewTagValue	Constant
-  HiLink tidyNumber		Number
-  HiLink tidyOption		Identifier
-  HiLink tidyRepeat		Constant
-  HiLink tidyString		String
-  HiLink tidyTodo		Todo
-
-  delcommand HiLink
-endif
+hi def link tidyBoolean		Boolean
+hi def link tidyComment		Comment
+hi def link tidyDelimiter	Special
+hi def link tidyDoctype		Constant
+hi def link tidyEncoding	Constant
+hi def link tidyNewline		Constant
+hi def link tidyNewTagDelimiter	Special
+hi def link tidyNewTagOption	Identifier
+hi def link tidyNewTagValue	Constant
+hi def link tidyNumber		Number
+hi def link tidyOption		Identifier
+hi def link tidyRepeat		Constant
+hi def link tidyString		String
+hi def link tidyTodo		Todo
 
 let b:current_syntax = "tidy"
 
--- a/runtime/syntax/tt2.vim
+++ b/runtime/syntax/tt2.vim
@@ -3,7 +3,7 @@
 " Author:        Moriki, Atsushi <4woods+vim@gmail.com>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 "
 " Instration:
 "   put tt2.vim and tt2html.vim in to your syntax diretory.
--- a/runtime/syntax/tt2html.vim
+++ b/runtime/syntax/tt2html.vim
@@ -3,7 +3,7 @@
 " Author:        Moriki, Atsushi <4woods+vim@gmail.com>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 
 if exists("b:current_syntax")
     finish
--- a/runtime/syntax/tt2js.vim
+++ b/runtime/syntax/tt2js.vim
@@ -3,7 +3,7 @@
 " Author:        Yates, Peter <pd.yates@gmail.com>
 " Homepage:      http://github.com/vim-perl/vim-perl
 " Bugs/requests: http://github.com/vim-perl/vim-perl/issues
-" Last Change:   2013 Jul 24
+" Last Change:   2013-07-21
 
 if exists("b:current_syntax")
     finish
--- a/runtime/syntax/upstreamlog.vim
+++ b/runtime/syntax/upstreamlog.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:             Innovation Data Processing upstream.log file
 " Maintainer:           Rob Owens <rowens@fdrinnovation.com>
-" Latest Revision:      2013-06-17
+" Latest Revision:      2013-07-26
 
 " Quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -18,17 +18,28 @@ syn match upstreamlog_MsgW /Msg #\(Agt\|
 " Processes:
 syn region upstreamlog_Process start="(" end=")" contained
 " IP Address:
-syn match upstreamlog_IPaddr / \d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
+syn match upstreamlog_IPaddr /\( \|(\)\zs\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
 " Profile:
-syn region upstreamlog_Profile start="Profile name \zs" end="\"\S\{1,8}\""
-syn region upstreamlog_Profile start=" Profile: \zs" end="\S\{1,8}"
-syn region upstreamlog_Profile start="  Profile: \zs" end="\ze, "
-syn region upstreamlog_Profile start="Backup Profile: \zs" end="\ze Version date"
-syn region upstreamlog_Profile start="Full of \zs" end="\ze$"
-syn region upstreamlog_Profile start="Incr. of \zs" end="\ze$"
+syn match upstreamlog_Profile /Using default configuration for profile \zs\S\{1,8}\ze/
+syn match upstreamlog_Profile /Now running profile \zs\S\{1,8}\ze/
+syn match upstreamlog_Profile /in profile set \zs\S\{1,8}\ze/
+syn match upstreamlog_Profile /Migrate disk backup from profile \zs\S\{1,8}\ze/
+syn match upstreamlog_Profile /Profileset=\zs\S\{1,8}\ze,/
+syn match upstreamlog_Profile /Vault \(disk\|tape\) backup to vault \d\{1,4} from profile \zs\S\{1,8}\ze/
+syn match upstreamlog_Profile /Profile name \zs\"\S\{1,8}\"/
+syn match upstreamlog_Profile / Profile: \zs\S\{1,8}/
+syn match upstreamlog_Profile /  Profile: \zs\S\{1,8}\ze, /
+syn match upstreamlog_Profile /, profile: \zs\S\{1,8}\ze,/
+syn match upstreamlog_Profile /found Profile: \zs\S\{1,8}\ze,/
+syn match upstreamlog_Profile /Backup Profile: \zs\ze Version date/
+syn match upstreamlog_Profile /Full of \zs\S\{1,8}\ze$/
+syn match upstreamlog_Profile /Incr. of \zs\S\{1,8}\ze$/
+syn match upstreamlog_Profile /Profile=\zs\S\{1,8}\ze,/
 " Target:
 syn region upstreamlog_Target start="Computer: \zs" end="\ze[\]\)]" 
 syn region upstreamlog_Target start="Computer name \zs" end="\ze," 
+syn region upstreamlog_Target start="request to registered name \zs" end=" "
+
 
 hi def link upstreamlog_Date	Underlined
 hi def link upstreamlog_MsgD	Type
--- a/runtime/syntax/usserverlog.vim
+++ b/runtime/syntax/usserverlog.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:             Innovation Data Processing usserver.log file
 " Maintainer:           Rob Owens <rowens@fdrinnovation.com>
-" Latest Revision:      2013-06-17
+" Latest Revision:      2013-07-26
 
 " Quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -9,40 +9,51 @@ if exists("b:current_syntax")
 endif
 
 " Date:
-syn match usserver_Date /\u\l\l \u\l\l\s\{1,2}\d\{1,2} \d\d:\d\d:\d\d \d\d\d\d/
+syn match usserverlog_Date /\u\l\l \u\l\l\s\{1,2}\d\{1,2} \d\d:\d\d:\d\d \d\d\d\d/
 " Msg Types:
-syn match usserver_MsgD /Msg #\(Agt\|PC\|Srv\)\d\{4,5}D/ nextgroup=usserver_Process skipwhite
-syn match usserver_MsgE /Msg #\(Agt\|PC\|Srv\)\d\{4,5}E/ nextgroup=usserver_Process skipwhite
-syn match usserver_MsgI /Msg #\(Agt\|PC\|Srv\)\d\{4,5}I/ nextgroup=usserver_Process skipwhite
-syn match usserver_MsgW /Msg #\(Agt\|PC\|Srv\)\d\{4,5}W/ nextgroup=usserver_Process skipwhite
+syn match usserverlog_MsgD /Msg #\(Agt\|PC\|Srv\)\d\{4,5}D/ nextgroup=usserverlog_Process skipwhite
+syn match usserverlog_MsgE /Msg #\(Agt\|PC\|Srv\)\d\{4,5}E/ nextgroup=usserverlog_Process skipwhite
+syn match usserverlog_MsgI /Msg #\(Agt\|PC\|Srv\)\d\{4,5}I/ nextgroup=usserverlog_Process skipwhite
+syn match usserverlog_MsgW /Msg #\(Agt\|PC\|Srv\)\d\{4,5}W/ nextgroup=usserverlog_Process skipwhite
 " Processes:
-syn region usserver_Process start="(" end=")" contained
+syn region usserverlog_Process start="(" end=")" contained
 " IP Address:
-syn match usserver_IPaddr /\( \|(\)\zs\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
+syn match usserverlog_IPaddr /\( \|(\)\zs\d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
 " Profile:
-syn region usserver_Profile start="Profile name \zs" end="\"\S\{1,8}\""
-syn region usserver_Profile start=" Profile: \zs" end="\S\{1,8}"
-syn region usserver_Profile start=", profile: \zs" end="\S\{1,8}\ze,"
-syn region usserver_Profile start=" profile \zs" end="\S\{1,8}"
-syn region usserver_Profile start="  Profile: \zs" end="\ze, "
-syn region usserver_Profile start="Backup Profile: \zs" end="\ze Version date"
-syn region usserver_Profile start="Full of \zs" end="\ze$"
-syn region usserver_Profile start="Incr. of \zs" end="\ze$"
-syn region usserver_Profile start="Profile=\zs" end="\S\{1,8}\ze,"
+syn match usserverlog_Profile /Using default configuration for profile \zs\S\{1,8}\ze/
+syn match usserverlog_Profile /Now running profile \zs\S\{1,8}\ze/
+syn match usserverlog_Profile /in profile set \zs\S\{1,8}\ze/
+syn match usserverlog_Profile /Migrate disk backup from profile \zs\S\{1,8}\ze/
+syn match usserverlog_Profile /Using profile prefix for profile \zs\S\{1,8}\ze/
+syn match usserverlog_Profile /Add\/update profile \zs\S\{1,8}\ze/
+syn match usserverlog_Profile /Profileset=\zs\S\{1,8}\ze,/
+syn match usserverlog_Profile /profileset=\zs\S\{1,8}\ze/
+syn match usserverlog_Profile /Vault \(disk\|tape\) backup to vault \d\{1,4} from profile \zs\S\{1,8}\ze/
+syn match usserverlog_Profile /Profile name \zs\"\S\{1,8}\"/
+syn match usserverlog_Profile / Profile: \zs\S\{1,8}/
+syn match usserverlog_Profile /  Profile: \zs\S\{1,8}\ze, /
+syn match usserverlog_Profile /, profile: \zs\S\{1,8}\ze,/
+syn match usserverlog_Profile /Expecting Profile: \zs\S\{1,8}\ze,/
+syn match usserverlog_Profile /found Profile: \zs\S\{1,8}\ze,/
+syn match usserverlog_Profile /Profile \zs\S\{1,8} \zeis a member of group: /
+syn match usserverlog_Profile /Backup Profile: \zs\ze Version date/
+syn match usserverlog_Profile /Full of \zs\S\{1,8}\ze$/
+syn match usserverlog_Profile /Incr. of \zs\S\{1,8}\ze$/
+syn match usserverlog_Profile /Profile=\zs\S\{1,8}\ze,/
 " Target:
-syn region usserver_Target start="Computer: \zs" end="\ze[\]\)]" 
-syn region usserver_Target start="Computer name \zs" end="\ze," 
-syn region usserver_Target start="Registration add request successful \zs" end="$"
-syn region usserver_Target start="request to registered name \zs" end=" "
-syn region usserver_Target start=", sending to \zs" end="$"
+syn region usserverlog_Target start="Computer: \zs" end="\ze[\]\)]" 
+syn region usserverlog_Target start="Computer name \zs" end="\ze," 
+syn region usserverlog_Target start="Registration add request successful \zs" end="$"
+syn region usserverlog_Target start="request to registered name \zs" end=" "
+syn region usserverlog_Target start=", sending to \zs" end="$"
 
-hi def link usserver_Date	Underlined
-hi def link usserver_MsgD	Type
-hi def link usserver_MsgE	Error
-hi def link usserver_MsgW	Constant
-hi def link usserver_Process	Statement
-hi def link usserver_IPaddr	Identifier
-hi def link usserver_Profile	Identifier
-hi def link usserver_Target	Identifier
+hi def link usserverlog_Date	Underlined
+hi def link usserverlog_MsgD	Type
+hi def link usserverlog_MsgE	Error
+hi def link usserverlog_MsgW	Constant
+hi def link usserverlog_Process	Statement
+hi def link usserverlog_IPaddr	Identifier
+hi def link usserverlog_Profile	Identifier
+hi def link usserverlog_Target	Identifier
 
-let b:current_syntax = "usserver"
+let b:current_syntax = "usserverlog"
--- a/runtime/syntax/usw2kagtlog.vim
+++ b/runtime/syntax/usw2kagtlog.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:             Innovation Data Processing USW2KAgt.log file
 " Maintainer:           Rob Owens <rowens@fdrinnovation.com>
-" Latest Revision:      2013-06-17
+" Latest Revision:      2013-07-26
 
 " Quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -9,40 +9,41 @@ if exists("b:current_syntax")
 endif
 
 " Date:
-syn match usw2kagentlog_Date /\u\l\l \u\l\l\s\{1,2}\d\{1,2} \d\d:\d\d:\d\d \d\d\d\d/
+syn match usw2kagtlog_Date /\u\l\l \u\l\l\s\{1,2}\d\{1,2} \d\d:\d\d:\d\d \d\d\d\d/
 " Msg Types:
-syn match usw2kagentlog_MsgD /Msg #\(Agt\|PC\|Srv\)\d\{4,5}D/ nextgroup=usw2kagentlog_Process skipwhite
-syn match usw2kagentlog_MsgE /Msg #\(Agt\|PC\|Srv\)\d\{4,5}E/ nextgroup=usw2kagentlog_Process skipwhite
-syn match usw2kagentlog_MsgI /Msg #\(Agt\|PC\|Srv\)\d\{4,5}I/ nextgroup=usw2kagentlog_Process skipwhite
-syn match usw2kagentlog_MsgW /Msg #\(Agt\|PC\|Srv\)\d\{4,5}W/ nextgroup=usw2kagentlog_Process skipwhite
+syn match usw2kagtlog_MsgD /Msg #\(Agt\|PC\|Srv\)\d\{4,5}D/ nextgroup=usw2kagtlog_Process skipwhite
+syn match usw2kagtlog_MsgE /Msg #\(Agt\|PC\|Srv\)\d\{4,5}E/ nextgroup=usw2kagtlog_Process skipwhite
+syn match usw2kagtlog_MsgI /Msg #\(Agt\|PC\|Srv\)\d\{4,5}I/ nextgroup=usw2kagtlog_Process skipwhite
+syn match usw2kagtlog_MsgW /Msg #\(Agt\|PC\|Srv\)\d\{4,5}W/ nextgroup=usw2kagtlog_Process skipwhite
 " Processes:
-syn region usw2kagentlog_Process start="(" end=")" contained
-syn region usw2kagentlog_Process start="Starting the processing for a \zs\"" end="\ze client request"
-syn region usw2kagentlog_Process start="Ending the processing for a \zs\"" end="\ze client request"
+syn region usw2kagtlog_Process start="(" end=")" contained
+syn region usw2kagtlog_Process start="Starting the processing for a \zs\"" end="\ze client request"
+syn region usw2kagtlog_Process start="Ending the processing for a \zs\"" end="\ze client request"
 " IP Address:
-syn match usw2kagentlog_IPaddr / \d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
+syn match usw2kagtlog_IPaddr / \d\{1,3}\.\d\{1,3}\.\d\{1,3}\.\d\{1,3}/
 " Profile:
-syn region usw2kagentlog_Profile start="Profile name \zs" end="\"\S\{1,8}\""
-syn region usw2kagentlog_Profile start=" Profile: \zs" end="\S\{1,8}"
-syn region usw2kagentlog_Profile start="  Profile: \zs" end="\ze, "
-syn region usw2kagentlog_Profile start="Backup Profile: \zs" end="\ze Version date"
-syn region usw2kagentlog_Profile start="Full of \zs" end="\ze$"
-syn region usw2kagentlog_Profile start="Incr. of \zs" end="\ze$"
-syn region usw2kagentlog_Profile start="profile name \zs\"" end="\""
+
+syn match usw2kagtlog_Profile /Profile name \zs\"\S\{1,8}\"/
+syn match usw2kagtlog_Profile / Profile: \zs\S\{1,8}/
+syn match usw2kagtlog_Profile /  Profile: \zs\S\{1,8}\ze, /
+syn match usw2kagtlog_Profile /Backup Profile: \zs\ze Version date/
+syn match usw2kagtlog_Profile /Full of \zs\S\{1,8}\ze$/
+syn match usw2kagtlog_Profile /Incr. of \zs\S\{1,8}\ze$/
+syn match usw2kagtlog_Profile /profile name "\zs\S\{1,8}\ze"/
 " Target:
-syn region usw2kagentlog_Target start="Computer: \zs" end="\ze[\]\)]" 
-syn region usw2kagentlog_Target start="Computer name \zs" end="\ze," 
+syn region usw2kagtlog_Target start="Computer: \zs" end="\ze[\]\)]" 
+syn region usw2kagtlog_Target start="Computer name \zs" end="\ze," 
 " Agent Keywords:
-syn keyword usw2kagentlog_Agentword opened closed
+syn keyword usw2kagtlog_Agentword opened closed
 
-hi def link usw2kagentlog_Date		Underlined
-hi def link usw2kagentlog_MsgD		Type
-hi def link usw2kagentlog_MsgE		Error
-hi def link usw2kagentlog_MsgW		Constant
-hi def link usw2kagentlog_Process	Statement
-hi def link usw2kagentlog_IPaddr	Identifier
-hi def link usw2kagentlog_Profile	Identifier
-hi def link usw2kagentlog_Target	Identifier
-hi def link usw2kagentlog_Agentword	Special
+hi def link usw2kagtlog_Date		Underlined
+hi def link usw2kagtlog_MsgD		Type
+hi def link usw2kagtlog_MsgE		Error
+hi def link usw2kagtlog_MsgW		Constant
+hi def link usw2kagtlog_Process		Statement
+hi def link usw2kagtlog_IPaddr		Identifier
+hi def link usw2kagtlog_Profile		Identifier
+hi def link usw2kagtlog_Target		Identifier
+hi def link usw2kagtlog_Agentword	Special
 
 let b:current_syntax = "usw2kagentlog"
--- a/runtime/syntax/wget.vim
+++ b/runtime/syntax/wget.vim
@@ -1,194 +1,189 @@
-" Wget syntax file
-" Filename:     wget.vim
-" Language:     Wget configuration file ( /etc/wgetrc ~/.wgetrc )
-" Maintainer:   Doug Kearns <djkea2@gus.gscit.monash.edu.au>
-" URL:          http://gus.gscit.monash.edu.au/~djkea2/vim/syntax/wget.vim
-" Last Change:  2005 Jul 24
+" Vim syntax file
+" Language:     Wget configuration file (/etc/wgetrc ~/.wgetrc)
+" Maintainer:	Doug Kearns <dougkearns@gmail.com>
+" Last Change:	2013 Jun 1
 
-" TODO: all commands are actually underscore and hyphen insensitive, though
-"       they are normally named as listed below
-
-" 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
-elseif exists("b:current_syntax")
+if exists("b:current_syntax")
   finish
 endif
 
-syn match   wgetComment "^\s*#.*$" contains=wgetTodo
+let s:cpo_save = &cpo
+set cpo&vim
+
+syn match wgetComment "#.*$" contains=wgetTodo contained
 
 syn keyword wgetTodo TODO NOTE FIXME XXX contained
 
-syn match   wgetAssignment "^\s*[A-Za-z0-9_-]\+\s*=\s*.*$" contains=wgetCommand,wgetAssignmentOperator,wgetString,wgetBoolean,wgetNumber,wgetValue,wgetQuota,wgetRestriction,wgetTime
-
-syn match   wgetAssignmentOperator "=" contained
-
-syn region  wgetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
-syn region  wgetString start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
-
-" Note: make this a match so that always_rest matches properly
-syn case ignore
-syn match   wgetBoolean	"\<on\|off\|always\|never\|1\|0\>" contained
-syn case match
-
-syn match   wgetNumber	"\<\d\+\|inf\>"		contained
-syn match   wgetQuota	"\<\d\+[kKmM]\?\>"	contained
-syn match   wgetTime	"\<\d\+[smhdw]\>"	contained
-
-syn case ignore
-syn keyword wgetValue	default binary mega giga micro contained
-syn case match
-
-syn match   wgetRestriction  "\<\%(windows\|unix\)\%(,nocontrol\)\=\>"	contained
-syn match   wgetRestriction  "\<nocontrol\>"				contained
+syn region wgetString start=+"+ skip=+\\\\\|\\"+ end=+"+ contained oneline
+syn region wgetString start=+'+ skip=+\\\\\|\\'+ end=+'+ contained oneline
 
 syn case ignore
-syn match wgetCommand "^\s*accept" contained
-syn match wgetCommand "^\s*add[-_]\=hostdir" contained
-syn match wgetCommand "^\s*always[-_]\=rest" contained
-syn match wgetCommand "^\s*background" contained
-syn match wgetCommand "^\s*backup[-_]\=converted" contained
-syn match wgetCommand "^\s*backups" contained
-syn match wgetCommand "^\s*base" contained
-syn match wgetCommand "^\s*bind[-_]\=address" contained
-syn match wgetCommand "^\s*ca[-_]\=certificate" contained
-syn match wgetCommand "^\s*ca[-_]\=directory" contained
-syn match wgetCommand "^\s*cache" contained
-syn match wgetCommand "^\s*certificate" contained
-syn match wgetCommand "^\s*certificate[-_]\=type" contained
-syn match wgetCommand "^\s*check[-_]\=certificate" contained
-syn match wgetCommand "^\s*connect[-_]\=timeout" contained
-syn match wgetCommand "^\s*continue" contained
-syn match wgetCommand "^\s*convert[-_]\=links" contained
-syn match wgetCommand "^\s*cookies" contained
-syn match wgetCommand "^\s*cut[-_]\=dirs" contained
-syn match wgetCommand "^\s*debug" contained
-syn match wgetCommand "^\s*delete[-_]\=after" contained
-syn match wgetCommand "^\s*dns[-_]\=cache" contained
-syn match wgetCommand "^\s*dns[-_]\=timeout" contained
-syn match wgetCommand "^\s*dir[-_]\=prefix" contained
-syn match wgetCommand "^\s*dir[-_]\=struct" contained
-syn match wgetCommand "^\s*domains" contained
-syn match wgetCommand "^\s*dot[-_]\=bytes" contained
-syn match wgetCommand "^\s*dots[-_]\=in[-_]\=line" contained
-syn match wgetCommand "^\s*dot[-_]\=spacing" contained
-syn match wgetCommand "^\s*dot[-_]\=style" contained
-syn match wgetCommand "^\s*egd[-_]\=file" contained
-syn match wgetCommand "^\s*exclude[-_]\=directories" contained
-syn match wgetCommand "^\s*exclude[-_]\=domains" contained
-syn match wgetCommand "^\s*follow[-_]\=ftp" contained
-syn match wgetCommand "^\s*follow[-_]\=tags" contained
-syn match wgetCommand "^\s*force[-_]\=html" contained
-syn match wgetCommand "^\s*ftp[-_]\=passw\(or\)\=d" contained
-syn match wgetCommand "^\s*ftp[-_]\=user" contained
-syn match wgetCommand "^\s*ftp[-_]\=proxy" contained
-syn match wgetCommand "^\s*glob" contained
-syn match wgetCommand "^\s*header" contained
-syn match wgetCommand "^\s*html[-_]\=extension" contained
-syn match wgetCommand "^\s*htmlify" contained
-syn match wgetCommand "^\s*http[-_]\=keep[-_]\=alive" contained
-syn match wgetCommand "^\s*http[-_]\=passwd" contained
-syn match wgetCommand "^\s*http[-_]\=password" contained
-syn match wgetCommand "^\s*http[-_]\=proxy" contained
-syn match wgetCommand "^\s*https[-_]\=proxy" contained
-syn match wgetCommand "^\s*http[-_]\=user" contained
-syn match wgetCommand "^\s*ignore[-_]\=length" contained
-syn match wgetCommand "^\s*ignore[-_]\=tags" contained
-syn match wgetCommand "^\s*include[-_]\=directories" contained
-syn match wgetCommand "^\s*inet4[-_]\=only" contained
-syn match wgetCommand "^\s*inet6[-_]\=only" contained
-syn match wgetCommand "^\s*input" contained
-syn match wgetCommand "^\s*keep[-_]\=session[-_]\=cookies" contained
-syn match wgetCommand "^\s*kill[-_]\=longer" contained
-syn match wgetCommand "^\s*limit[-_]\=rate" contained
-syn match wgetCommand "^\s*load[-_]\=cookies" contained
-syn match wgetCommand "^\s*logfile" contained
-syn match wgetCommand "^\s*login" contained
-syn match wgetCommand "^\s*mirror" contained
-syn match wgetCommand "^\s*netrc" contained
-syn match wgetCommand "^\s*no[-_]\=clobber" contained
-syn match wgetCommand "^\s*no[-_]\=parent" contained
-syn match wgetCommand "^\s*no[-_]\=proxy" contained
-" Note: this option is deprecated, use 'tries' instead
-syn match wgetCommand "^\s*numtries" contained
-syn match wgetCommand "^\s*output[-_]\=document" contained
-syn match wgetCommand "^\s*page[-_]\=requisites" contained
-syn match wgetCommand "^\s*passive[-_]\=ftp" contained
-syn match wgetCommand "^\s*passwd" contained
-syn match wgetCommand "^\s*password" contained
-syn match wgetCommand "^\s*post[-_]\=data" contained
-syn match wgetCommand "^\s*post[-_]\=file" contained
-syn match wgetCommand "^\s*prefer[-_]\=family" contained
-syn match wgetCommand "^\s*preserve[-_]\=permissions" contained
-syn match wgetCommand "^\s*private[-_]\=key" contained
-syn match wgetCommand "^\s*private[-_]\=key[-_]\=type" contained
-syn match wgetCommand "^\s*progress" contained
-syn match wgetCommand "^\s*protocol[-_]\=directories" contained
-syn match wgetCommand "^\s*proxy[-_]\=passwd" contained
-syn match wgetCommand "^\s*proxy[-_]\=password" contained
-syn match wgetCommand "^\s*proxy[-_]\=user" contained
-syn match wgetCommand "^\s*quiet" contained
-syn match wgetCommand "^\s*quota" contained
-syn match wgetCommand "^\s*random[-_]\=file" contained
-syn match wgetCommand "^\s*random[-_]\=wait" contained
-syn match wgetCommand "^\s*read[-_]\=timeout" contained
-syn match wgetCommand "^\s*reclevel" contained
-syn match wgetCommand "^\s*recursive" contained
-syn match wgetCommand "^\s*referer" contained
-syn match wgetCommand "^\s*reject" contained
-syn match wgetCommand "^\s*relative[-_]\=only" contained
-syn match wgetCommand "^\s*remove[-_]\=listing" contained
-syn match wgetCommand "^\s*restrict[-_]\=file[-_]\=names" contained
-syn match wgetCommand "^\s*retr[-_]\=symlinks" contained
-syn match wgetCommand "^\s*retry[-_]\=connrefused" contained
-syn match wgetCommand "^\s*robots" contained
-syn match wgetCommand "^\s*save[-_]\=cookies" contained
-syn match wgetCommand "^\s*save[-_]\=headers" contained
-syn match wgetCommand "^\s*secure[-_]\=protocol" contained
-syn match wgetCommand "^\s*server[-_]\=response" contained
-" Note: this option was removed in wget 1.8
-syn match wgetCommand "^\s*simple[-_]\=host[-_]\=check" contained
-syn match wgetCommand "^\s*span[-_]\=hosts" contained
-syn match wgetCommand "^\s*spider" contained
-syn match wgetCommand "^\s*strict[-_]\=comments" contained
-syn match wgetCommand "^\s*sslcertfile" contained
-syn match wgetCommand "^\s*sslcertkey" contained
-syn match wgetCommand "^\s*timeout" contained
-syn match wgetCommand "^\s*time[-_]\=stamping" contained
-syn match wgetCommand "^\s*tries" contained
-syn match wgetCommand "^\s*user" contained
-syn match wgetCommand "^\s*use[-_]\=proxy" contained
-syn match wgetCommand "^\s*user[-_]\=agent" contained
-syn match wgetCommand "^\s*verbose" contained
-syn match wgetCommand "^\s*wait" contained
-syn match wgetCommand "^\s*wait[-_]\=retry" contained
+syn keyword wgetBoolean on off contained
+syn keyword wgetNumber  inf    contained
 syn case match
 
-" 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_wget_syn_inits")
-  if version < 508
-    let did_wget_syn_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
+syn match wgetNumber "\<\%(\d\+\|inf\)\>" contained
+syn match wgetQuota  "\<\d\+[kKmM]\>"     contained
+syn match wgetTime   "\<\d\+[smhdw]\>"    contained
 
-  HiLink wgetAssignmentOperator Special
-  HiLink wgetBoolean            Boolean
-  HiLink wgetCommand            Identifier
-  HiLink wgetComment            Comment
-  HiLink wgetNumber             Number
-  HiLink wgetQuota              Number
-  HiLink wgetString             String
-  HiLink wgetTodo               Todo
-  HiLink wgetValue              Constant
+"{{{ Commands
+let s:commands = map([
+        \ "accept",
+	\ "add_hostdir",
+	\ "adjust_extension",
+	\ "always_rest",
+	\ "ask_password",
+	\ "auth_no_challenge",
+	\ "background",
+	\ "backup_converted",
+	\ "backups",
+	\ "base",
+	\ "bind_address",
+	\ "ca_certificate",
+	\ "ca_directory",
+	\ "cache",
+	\ "certificate",
+	\ "certificate_type",
+	\ "check_certificate",
+	\ "connect_timeout",
+	\ "content_disposition",
+	\ "continue",
+	\ "convert_links",
+	\ "cookies",
+	\ "cut_dirs",
+	\ "debug",
+	\ "default_page",
+	\ "delete_after",
+	\ "dns_cache",
+	\ "dns_timeout",
+	\ "dir_prefix",
+	\ "dir_struct",
+	\ "domains",
+	\ "dot_bytes",
+	\ "dots_in_line",
+	\ "dot_spacing",
+	\ "dot_style",
+	\ "egd_file",
+	\ "exclude_directories",
+	\ "exclude_domains",
+	\ "follow_ftp",
+	\ "follow_tags",
+	\ "force_html",
+	\ "ftp_passwd",
+	\ "ftp_password",
+	\ "ftp_user",
+	\ "ftp_proxy",
+	\ "glob",
+	\ "header",
+	\ "html_extension",
+	\ "htmlify",
+	\ "http_keep_alive",
+	\ "http_passwd",
+	\ "http_password",
+	\ "http_proxy",
+	\ "https_proxy",
+	\ "http_user",
+	\ "ignore_case",
+	\ "ignore_length",
+	\ "ignore_tags",
+	\ "include_directories",
+	\ "inet4_only",
+	\ "inet6_only",
+	\ "input",
+	\ "iri",
+	\ "keep_session_cookies",
+	\ "kill_longer",
+	\ "limit_rate",
+	\ "load_cookies",
+	\ "locale",
+	\ "local_encoding",
+	\ "logfile",
+	\ "login",
+	\ "max_redirect",
+	\ "mirror",
+	\ "netrc",
+	\ "no_clobber",
+	\ "no_parent",
+	\ "no_proxy",
+	\ "numtries",
+	\ "output_document",
+	\ "page_requisites",
+	\ "passive_ftp",
+	\ "passwd",
+	\ "password",
+	\ "post_data",
+	\ "post_file",
+	\ "prefer_family",
+	\ "preserve_permissions",
+	\ "private_key",
+	\ "private_key_type",
+	\ "progress",
+	\ "protocol_directories",
+	\ "proxy_passwd",
+	\ "proxy_password",
+	\ "proxy_user",
+	\ "quiet",
+	\ "quota",
+	\ "random_file",
+	\ "random_wait",
+	\ "read_timeout",
+	\ "reclevel",
+	\ "recursive",
+	\ "referer",
+	\ "reject",
+	\ "relative_only",
+	\ "remote_encoding",
+	\ "remove_listing",
+	\ "restrict_file_names",
+	\ "retr_symlinks",
+	\ "retry_connrefused",
+	\ "robots",
+	\ "save_cookies",
+	\ "save_headers",
+	\ "secure_protocol",
+	\ "server_response",
+	\ "show_all_dns_entries",
+	\ "simple_host_check",
+	\ "span_hosts",
+	\ "spider",
+	\ "strict_comments",
+	\ "sslcertfile",
+	\ "sslcertkey",
+	\ "timeout",
+	\ "time_stamping",
+	\ "use_server_timestamps",
+	\ "tries",
+	\ "trust_server_names",
+	\ "user",
+	\ "use_proxy",
+	\ "user_agent",
+	\ "verbose",
+	\ "wait",
+	\ "wait_retry"],
+	\ "substitute(v:val, '_', '[-_]\\\\=', 'g')")
+"}}}
 
-  delcommand HiLink
-endif
+syn case ignore
+for cmd in s:commands
+  exe 'syn match wgetCommand "' . cmd . '" nextgroup=wgetAssignmentOperator skipwhite contained'
+endfor
+syn case match
+
+syn match wgetStart "^" nextgroup=wgetCommand,wgetComment skipwhite
+syn match wgetAssignmentOperator "=" nextgroup=wgetString,wgetBoolean,wgetNumber,wgetQuota,wgetTime skipwhite contained
+
+hi def link wgetAssignmentOperator Special
+hi def link wgetBoolean		   Boolean
+hi def link wgetCommand		   Identifier
+hi def link wgetComment		   Comment
+hi def link wgetNumber		   Number
+hi def link wgetQuota		   Number
+hi def link wgetString		   String
+hi def link wgetTodo		   Todo
 
 let b:current_syntax = "wget"
 
-" vim: ts=8
+let &cpo = s:cpo_save
+unlet s:cpo_save
+
+" vim: ts=8 fdm=marker: